From aaf47484cea6a002c222ee95c8ed4e9f63b92de6 Mon Sep 17 00:00:00 2001
From: Amir Blum <amirgiraffe@gmail.com>
Date: Sat, 18 May 2024 06:58:59 +0300
Subject: [PATCH 001/123] docs: enhanced description for instrumentations in
 package.json (#2202)

* docs: enhanced description for instrumentations in package.json

* docs: also apply to new instrumentation kafkajs
---
 GUIDELINES.md                                 | 24 +++++++++++++++++++
 .../node/instrumentation-amqplib/package.json |  2 +-
 .../instrumentation-cucumber/package.json     |  2 +-
 .../instrumentation-dataloader/package.json   |  2 +-
 plugins/node/instrumentation-fs/package.json  |  2 +-
 .../node/instrumentation-kafkajs/package.json |  2 +-
 .../instrumentation-lru-memoizer/package.json |  2 +-
 .../instrumentation-mongoose/package.json     |  2 +-
 .../instrumentation-runtime-node/package.json |  2 +-
 .../instrumentation-socket.io/package.json    |  2 +-
 .../node/instrumentation-tedious/package.json |  2 +-
 .../node/instrumentation-undici/package.json  |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 .../package.json                              |  2 +-
 43 files changed, 66 insertions(+), 42 deletions(-)

diff --git a/GUIDELINES.md b/GUIDELINES.md
index 04bc219b14..69c3fe283a 100644
--- a/GUIDELINES.md
+++ b/GUIDELINES.md
@@ -197,3 +197,27 @@ Instrumentation may add additional patch/unpatch messages for specific functions
 - In situations where the patch logic is not trivial and it helps to specify patch events in the right context and nuances. `aws-lambda` logs additional properties extracted from the lambda framework and exposes them for troubleshooting.
 
 The cases above are not covered by the base class and offer additional context to the user troubleshooting an issue with the instrumentation.
+
+## package.json
+
+### Description
+
+Instrumentation should include a `description` field in the `package.json` file. The description targets human readers and is an opportunity to communicate the use case for the instrumented package and its semconv namespace. It should help users know whether the package fits their application, which is especially helpful if the package has a shortened or obscure name.
+
+The description should be written with this format when applicable:
+
+```text
+"OpenTelemetry instrumentation for `<instrumented-package-name>` <package short description>"
+```
+
+For example:
+
+```text
+"OpenTelemetry instrumentation for `express` http framework"
+"OpenTelemetry instrumentation for `winston` logger"
+"OpenTelemetry instrumentation for `redis` database client for Redis"
+```
+
+If the package is consumed directly, the description should state the package name in `<instrumented-package-name>`. Tools like `nestjs` and `aws-lambda` are examples of packages that are consumed indirectly.
+
+A short description should follow the package name, like "http framework", "logger", "database client for X", "messaging client", etc as appropriate in each case. It is preferable to use the semconv namespace semantics that are emitted by this instrumentation (`http`, `database`, `messaging`, `rpc`, `net`) to give quick context for the scope of the instrumentation.
diff --git a/plugins/node/instrumentation-amqplib/package.json b/plugins/node/instrumentation-amqplib/package.json
index 6634aad6bd..9910feedae 100644
--- a/plugins/node/instrumentation-amqplib/package.json
+++ b/plugins/node/instrumentation-amqplib/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-amqplib",
   "version": "0.37.0",
-  "description": "OpenTelemetry automatic instrumentation for the `amqplib` package",
+  "description": "OpenTelemetry instrumentation for the `amqplib` messaging client for RabbitMQ",
   "keywords": [
     "amqplib",
     "opentelemetry",
diff --git a/plugins/node/instrumentation-cucumber/package.json b/plugins/node/instrumentation-cucumber/package.json
index ee4b117fd0..2c0c17df13 100644
--- a/plugins/node/instrumentation-cucumber/package.json
+++ b/plugins/node/instrumentation-cucumber/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-cucumber",
   "version": "0.6.0",
-  "description": "OpenTelemetry cucumber automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `@cucumber/cucumber` automated tests runner",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/instrumentation-dataloader/package.json b/plugins/node/instrumentation-dataloader/package.json
index 5a4ef1ea76..08bdd706a7 100644
--- a/plugins/node/instrumentation-dataloader/package.json
+++ b/plugins/node/instrumentation-dataloader/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-dataloader",
   "version": "0.9.0",
-  "description": "OpenTelemetry instrumentation for dataloader",
+  "description": "OpenTelemetry instrumentation for `dataloader` data fetching layer",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/instrumentation-fs/package.json b/plugins/node/instrumentation-fs/package.json
index 3d41437cbb..9585a038d6 100644
--- a/plugins/node/instrumentation-fs/package.json
+++ b/plugins/node/instrumentation-fs/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-fs",
   "version": "0.12.0",
-  "description": "OpenTelemetry automatic instrumentation package for fs",
+  "description": "OpenTelemetry instrumentation for `node:fs` file system interactions module",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/instrumentation-kafkajs/package.json b/plugins/node/instrumentation-kafkajs/package.json
index 7e6ff384e1..52dffe870a 100644
--- a/plugins/node/instrumentation-kafkajs/package.json
+++ b/plugins/node/instrumentation-kafkajs/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-kafkajs",
   "version": "0.0.1",
-  "description": "OpenTelemetry automatic instrumentation package for kafkajs",
+  "description": "OpenTelemetry instrumentation for `kafkajs` messaging client for Apache Kafka",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/instrumentation-lru-memoizer/package.json b/plugins/node/instrumentation-lru-memoizer/package.json
index da739ec93e..6040807233 100644
--- a/plugins/node/instrumentation-lru-memoizer/package.json
+++ b/plugins/node/instrumentation-lru-memoizer/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-lru-memoizer",
   "version": "0.37.0",
-  "description": "OpenTelemetry automatic instrumentation package for lru-memoizer",
+  "description": "OpenTelemetry instrumentation for `lru-memoizer` function memoization using lru-cache",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/instrumentation-mongoose/package.json b/plugins/node/instrumentation-mongoose/package.json
index e67c4b4aa5..dc130c0c01 100644
--- a/plugins/node/instrumentation-mongoose/package.json
+++ b/plugins/node/instrumentation-mongoose/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-mongoose",
   "version": "0.38.1",
-  "description": "OpenTelemetry automatic instrumentation package for mongoose",
+  "description": "OpenTelemetry instrumentation for `mongoose` database object data modeling (ODM) library for MongoDB",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/instrumentation-runtime-node/package.json b/plugins/node/instrumentation-runtime-node/package.json
index 1d0759a869..dab1da13a3 100644
--- a/plugins/node/instrumentation-runtime-node/package.json
+++ b/plugins/node/instrumentation-runtime-node/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-runtime-node",
   "version": "0.4.0",
-  "description": "OpenTelemetry Node.js Performance measurement API automatic instrumentation package",
+  "description": "OpenTelemetry instrumentation for Node.js Performance measurement API",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/instrumentation-socket.io/package.json b/plugins/node/instrumentation-socket.io/package.json
index 7ec6a4e6b2..78c0d886f3 100644
--- a/plugins/node/instrumentation-socket.io/package.json
+++ b/plugins/node/instrumentation-socket.io/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-socket.io",
   "version": "0.39.0",
-  "description": "OpenTelemetry automatic instrumentation package for socket.io",
+  "description": "OpenTelemetry instrumentation for `socket.io` messaging server implementation for Socket.IO communication",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/instrumentation-tedious/package.json b/plugins/node/instrumentation-tedious/package.json
index 4474df3657..82ca565cc3 100644
--- a/plugins/node/instrumentation-tedious/package.json
+++ b/plugins/node/instrumentation-tedious/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-tedious",
   "version": "0.10.1",
-  "description": "OpenTelemetry instrumentation for `tedious`",
+  "description": "OpenTelemetry instrumentation for `tedious` database client for Microsoft SQL Server",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/instrumentation-undici/package.json b/plugins/node/instrumentation-undici/package.json
index d644222a56..90503fd16a 100644
--- a/plugins/node/instrumentation-undici/package.json
+++ b/plugins/node/instrumentation-undici/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-undici",
   "version": "0.2.0",
-  "description": "OpenTelemetry instrumentation for undici and Node.js fetch().",
+  "description": "OpenTelemetry instrumentation for `undici` http client and Node.js fetch()",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
index 425b3860b4..dd36bec2fc 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-aws-lambda",
   "version": "0.41.1",
-  "description": "OpenTelemetry AWS Lambda automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for AWS Lambda function invocations",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
index 0500a453ef..b0f973354c 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-aws-sdk",
   "version": "0.41.0",
-  "description": "OpenTelemetry automatic instrumentation for the `aws-sdk` package",
+  "description": "OpenTelemetry instrumentation for `aws-sdk` and `@aws-sdk/client-*` clients for various AWS services",
   "keywords": [
     "aws",
     "aws-sdk",
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/package.json b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
index e9721696df..a1f07c2fdd 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/package.json
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-bunyan",
   "version": "0.38.0",
-  "description": "OpenTelemetry instrumentation for bunyan",
+  "description": "OpenTelemetry instrumentation for `bunyan` logger",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/package.json b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
index 73ffc747d6..f8fd12f1b4 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/package.json
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-cassandra-driver",
   "version": "0.38.0",
-  "description": "OpenTelemetry instrumentation for cassandra-driver",
+  "description": "OpenTelemetry instrumentation for `cassandra-driver` database client library for Apache Cassandra",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-connect/package.json b/plugins/node/opentelemetry-instrumentation-connect/package.json
index 07e97d8ced..096c7c2717 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/package.json
+++ b/plugins/node/opentelemetry-instrumentation-connect/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-connect",
   "version": "0.36.1",
-  "description": "OpenTelemetry connect automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `connect` http middleware framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-dns/package.json b/plugins/node/opentelemetry-instrumentation-dns/package.json
index e43d0f8a44..5549781d25 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/package.json
+++ b/plugins/node/opentelemetry-instrumentation-dns/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-dns",
   "version": "0.36.1",
-  "description": "OpenTelemetry dns automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `node:dns` name resolution module",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-express/package.json b/plugins/node/opentelemetry-instrumentation-express/package.json
index 63ada7f239..489873a6d3 100644
--- a/plugins/node/opentelemetry-instrumentation-express/package.json
+++ b/plugins/node/opentelemetry-instrumentation-express/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-express",
   "version": "0.39.0",
-  "description": "OpenTelemetry express automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `express` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/package.json b/plugins/node/opentelemetry-instrumentation-fastify/package.json
index f8ab73c62d..056185aab4 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-fastify/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-fastify",
   "version": "0.36.1",
-  "description": "OpenTelemetry fastify automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `fastify` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
index 637560de0b..47178ec699 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-generic-pool",
   "version": "0.36.0",
-  "description": "OpenTelemetry Generic Pool automatic instrumentation package",
+  "description": "OpenTelemetry instrumentation for `generic-pool` resource pool for managing expensive resources",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/package.json b/plugins/node/opentelemetry-instrumentation-graphql/package.json
index bdcb66cc6e..30bcec5c80 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-graphql/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-graphql",
   "version": "0.40.0",
-  "description": "OpenTelemetry @opentelemetry/instrumentation-graphql automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `graphql` gql query language and runtime for GraphQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/package.json b/plugins/node/opentelemetry-instrumentation-hapi/package.json
index f0f454b0dc..497cedd37d 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/package.json
+++ b/plugins/node/opentelemetry-instrumentation-hapi/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-hapi",
   "version": "0.38.0",
-  "description": "OpenTelemetry Hapi automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `@hapi/hapi` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/package.json b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
index a8a4e57d5e..cf3760eeb6 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-ioredis",
   "version": "0.40.0",
-  "description": "OpenTelemetry ioredis automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `ioredis` database redis client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-knex/package.json b/plugins/node/opentelemetry-instrumentation-knex/package.json
index b88ab6dc6e..7705439ef1 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/package.json
+++ b/plugins/node/opentelemetry-instrumentation-knex/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-knex",
   "version": "0.36.1",
-  "description": "OpenTelemetry Knex automatic instrumentation package",
+  "description": "OpenTelemetry instrumentation for `knex` database SQL query builder",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-koa/package.json b/plugins/node/opentelemetry-instrumentation-koa/package.json
index e9bf3f472e..bd5f6c13f1 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/package.json
+++ b/plugins/node/opentelemetry-instrumentation-koa/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-koa",
   "version": "0.40.0",
-  "description": "OpenTelemetry Koa automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `koa` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/package.json b/plugins/node/opentelemetry-instrumentation-memcached/package.json
index bf47bf5d4a..7f07d8249e 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/package.json
+++ b/plugins/node/opentelemetry-instrumentation-memcached/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-memcached",
   "version": "0.36.0",
-  "description": "OpenTelemetry memcached automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `memcached` database client for memcached",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/package.json b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
index a0e9f36e85..6c78e98aa8 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-mongodb",
   "version": "0.43.0",
-  "description": "OpenTelemetry mongodb automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `mongodb` database client for MongoDB",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/package.json b/plugins/node/opentelemetry-instrumentation-mysql/package.json
index 7c8a6bec9e..f15ee457c2 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-mysql",
   "version": "0.38.1",
-  "description": "OpenTelemetry mysql automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `mysql` database client for MySQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/package.json b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
index 7ae9310af3..4c046988bd 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-mysql2",
   "version": "0.38.1",
-  "description": "OpenTelemetry mysql2 automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `mysql2` database client for MySQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
index cf31974c6b..444581907f 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-nestjs-core",
   "version": "0.37.1",
-  "description": "OpenTelemetry NestJS automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for NestJS server side applications framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-net/package.json b/plugins/node/opentelemetry-instrumentation-net/package.json
index b109a1c7c9..aa8a79ae53 100644
--- a/plugins/node/opentelemetry-instrumentation-net/package.json
+++ b/plugins/node/opentelemetry-instrumentation-net/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-net",
   "version": "0.36.0",
-  "description": "OpenTelemetry net module automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `node:net` network API module",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-pg/package.json b/plugins/node/opentelemetry-instrumentation-pg/package.json
index d12a2348e5..18c0de2ca1 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pg/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-pg",
   "version": "0.41.0",
-  "description": "OpenTelemetry postgres automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for `pg` and `pg-pool` database client for PostgreSQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-pino/package.json b/plugins/node/opentelemetry-instrumentation-pino/package.json
index 7cf0afeec6..49b263b9ca 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pino/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-pino",
   "version": "0.39.0",
-  "description": "OpenTelemetry instrumentation for pino",
+  "description": "OpenTelemetry instrumentation for `pino` logger",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/package.json b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
index 23d061c895..8aa653b1af 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-redis-4",
   "version": "0.39.0",
-  "description": "Automatic OpenTelemetry instrumentation for redis package version 4",
+  "description": "OpenTelemetry instrumentation for `redis` v4 database client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-redis/package.json b/plugins/node/opentelemetry-instrumentation-redis/package.json
index 4515a23f3d..89560460e9 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-redis",
   "version": "0.39.1",
-  "description": "Automatic OpenTelemetry instrumentation for redis package version 2 and 3",
+  "description": "OpenTelemetry instrumentation for `redis` v2 and v3 database client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-restify/package.json b/plugins/node/opentelemetry-instrumentation-restify/package.json
index 1113783ecc..54b5f1ec7a 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-restify/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-restify",
   "version": "0.38.0",
-  "description": "OpenTelemetry restify automatic instrumentation package",
+  "description": "OpenTelemetry instrumentation for `restify` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-router/package.json b/plugins/node/opentelemetry-instrumentation-router/package.json
index 7ea1a851e9..d9b5c2e621 100644
--- a/plugins/node/opentelemetry-instrumentation-router/package.json
+++ b/plugins/node/opentelemetry-instrumentation-router/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-router",
   "version": "0.37.0",
-  "description": "OpenTelemetry Router automatic instrumentation package",
+  "description": "OpenTelemetry instrumentation for `router` http middleware router",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/node/opentelemetry-instrumentation-winston/package.json b/plugins/node/opentelemetry-instrumentation-winston/package.json
index ecfd90546c..54d31f1d8c 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/package.json
+++ b/plugins/node/opentelemetry-instrumentation-winston/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-winston",
   "version": "0.37.0",
-  "description": "OpenTelemetry instrumentation for winston",
+  "description": "OpenTelemetry instrumentation for `winston` logger",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/package.json b/plugins/web/opentelemetry-instrumentation-document-load/package.json
index f849a1de3d..18c9a8cdda 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/package.json
+++ b/plugins/web/opentelemetry-instrumentation-document-load/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-document-load",
   "version": "0.38.0",
-  "description": "OpenTelemetry document-load automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for document load operations in browser applications",
   "main": "build/src/index.js",
   "module": "build/esm/index.js",
   "esnext": "build/esnext/index.js",
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/package.json b/plugins/web/opentelemetry-instrumentation-long-task/package.json
index 8e74d81397..1ec090c37c 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/package.json
+++ b/plugins/web/opentelemetry-instrumentation-long-task/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-long-task",
   "version": "0.38.0",
-  "description": "OpenTelemetry long task API automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for long task Web API",
   "main": "build/src/index.js",
   "module": "build/esm/index.js",
   "esnext": "build/esnext/index.js",
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
index d51c3877ea..46268e890c 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/instrumentation-user-interaction",
   "version": "0.38.0",
-  "description": "OpenTelemetry UserInteraction automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for user interactions as click events in a web application",
   "main": "build/src/index.js",
   "module": "build/esm/index.js",
   "esnext": "build/esnext/index.js",
diff --git a/plugins/web/opentelemetry-plugin-react-load/package.json b/plugins/web/opentelemetry-plugin-react-load/package.json
index 17da70c813..c1a8de2382 100644
--- a/plugins/web/opentelemetry-plugin-react-load/package.json
+++ b/plugins/web/opentelemetry-plugin-react-load/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@opentelemetry/plugin-react-load",
   "version": "0.30.1",
-  "description": "OpenTelemetry React loading automatic instrumentation package.",
+  "description": "OpenTelemetry instrumentation for React class component lifecycle methods",
   "main": "build/src/index.js",
   "module": "build/esm/index.js",
   "esnext": "build/esnext/index.js",

From 4a6403979417e5c6bddef98b77b7647c56e63876 Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Fri, 17 May 2024 21:19:31 -0700
Subject: [PATCH 002/123] docs: fix a typo (#2222)

---
 .../node/opentelemetry-resource-detector-github/README.md      | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/detectors/node/opentelemetry-resource-detector-github/README.md b/detectors/node/opentelemetry-resource-detector-github/README.md
index 31cdf85839..5bab37dacb 100644
--- a/detectors/node/opentelemetry-resource-detector-github/README.md
+++ b/detectors/node/opentelemetry-resource-detector-github/README.md
@@ -22,8 +22,7 @@ npm install --save @opentelemetry/resource-detector-github
 ## Usage
 
 ```js
-
-const { gitHubDetector } = require('@opentelemetry/opentelemetry-resource-detector-github')
+const { gitHubDetector } = require('@opentelemetry/resource-detector-github')
 
 async function run() {
   // Initialize GitHub Resource Detector

From aabd6aae5015ba61f6bb9578b67c5ea8c4b50f66 Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Fri, 17 May 2024 21:20:44 -0700
Subject: [PATCH 003/123] chore: fix some package dirs in component_owners
 metadata (#2221)

---
 .github/component_owners.yml | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/.github/component_owners.yml b/.github/component_owners.yml
index 0565ca3edf..065b03703b 100644
--- a/.github/component_owners.yml
+++ b/.github/component_owners.yml
@@ -17,6 +17,8 @@ components:
   detectors/node/opentelemetry-resource-detector-instana:
     - basti1302
     - kirrg001
+  incubator/opentelemetry-sampler-aws-xray:
+    - carolabadeer
   metapackages/auto-instrumentations-node:
     - dyladan
     - pichlermarc
@@ -34,8 +36,6 @@ components:
     - legendecas
   packages/opentelemetry-id-generator-aws-xray:
     - carolabadeer
-  packages/opentelemetry-sampler-aws-xray:
-    - carolabadeer
   packages/opentelemetry-propagation-utils:
     - dyladan
     - pichlermarc
@@ -113,7 +113,7 @@ components:
     - rauno56
   plugins/node/opentelemetry-instrumentation-net:
     - seemk
-  plugins/node/opentelemetry-instrumentation-runtime-node:
+  plugins/node/instrumentation-runtime-node:
     - d4nyll
   plugins/node/opentelemetry-instrumentation-pg:
     - maryliag
@@ -128,7 +128,7 @@ components:
     - rauno56
   plugins/node/opentelemetry-instrumentation-router:
     - rauno56
-  plugins/node/opentelemetry-instrumentation-undici:
+  plugins/node/instrumentation-undici:
     - david-luna
     - trentm
   plugins/node/opentelemetry-instrumentation-winston:
@@ -143,8 +143,6 @@ components:
     - obecny
   plugins/web/opentelemetry-plugin-react-load:
     - martinkuba
-  propagators/opentelemetry-propagator-grpc-census-binary: []
-    # Unmaintained?
   propagators/opentelemetry-propagator-instana:
     - basti1302
     - kirrg001

From 5ecab2cf903fe56ab83ee7f43bd5b0d4bbaa4ba1 Mon Sep 17 00:00:00 2001
From: Marylia Gutierrez <marylia.gutierrez@grafana.com>
Date: Sat, 18 May 2024 02:15:38 -0400
Subject: [PATCH 004/123] docs(detector-alibaba): add details about semantic
 conventions (#2130)

* docs(detector-alibaba): add details about semantic conventions

Add details about semantic conventions verion used.

* remove sem conv from title

---------

Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
---
 .../opentelemetry-resource-detector-alibaba-cloud/README.md     | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/README.md b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/README.md
index a8e8c40882..687558b444 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/README.md
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/README.md
@@ -28,6 +28,8 @@ const tracerProvider = new NodeTracerProvider({ resource });
 
 ## Available detectors
 
+This package uses `@opentelemetry/semantic-conventions` version `1.22+`, which implements Semantic Convention [Version 1.7.0](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/semantic_conventions/README.md)
+
 ### Alibaba Cloud Ecs Detector
 
 Populates `cloud` and `host` for processes running on [Alibaba Cloud ECS](https://www.alibabacloud.com/product/ecs). More info about Alibaba Instance Identities can be found [here](https://www.alibabacloud.com/help/en/ecs/user-guide/use-instance-identities).

From 02c945837e6980e9eb54e647b809c9a25b5b76e8 Mon Sep 17 00:00:00 2001
From: Emil Sivervik <emil@sivervik.com>
Date: Wed, 22 May 2024 02:21:27 +0200
Subject: [PATCH 005/123] docs(instr-ioredis): update ioredis instrumentation
 link to instrumentation options (#2227)

---
 plugins/node/opentelemetry-instrumentation-ioredis/src/types.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/src/types.ts b/plugins/node/opentelemetry-instrumentation-ioredis/src/types.ts
index 5d32116a67..f43849ec52 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/src/types.ts
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/src/types.ts
@@ -55,7 +55,7 @@ export interface RedisResponseCustomAttributeFunction {
 }
 
 /**
- * Options available for the IORedis Instrumentation (see [documentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation-ioredis#ioredis-instrumentation-options))
+ * Options available for the IORedis Instrumentation (see [documentation](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-ioredis/README.md#ioredis-instrumentation-options))
  */
 export interface IORedisInstrumentationConfig extends InstrumentationConfig {
   /** Custom serializer function for the db.statement tag */

From ec618920b9642b17df118c45cd0f0ab0d71507b7 Mon Sep 17 00:00:00 2001
From: Amir Blum <amirgiraffe@gmail.com>
Date: Wed, 22 May 2024 19:16:00 +0300
Subject: [PATCH 006/123] chore: remove duplicate version update in compile
 (#2224)

---
 .../node/opentelemetry-resource-detector-container/package.json | 2 +-
 plugins/node/instrumentation-amqplib/package.json               | 2 +-
 plugins/node/instrumentation-fs/package.json                    | 2 +-
 plugins/node/instrumentation-lru-memoizer/package.json          | 2 +-
 plugins/node/instrumentation-mongoose/package.json              | 2 +-
 plugins/node/instrumentation-socket.io/package.json             | 2 +-
 .../opentelemetry-instrumentation-document-load/package.json    | 2 +-
 .../web/opentelemetry-instrumentation-long-task/package.json    | 2 +-
 .../opentelemetry-instrumentation-user-interaction/package.json | 2 +-
 plugins/web/opentelemetry-plugin-react-load/package.json        | 2 +-
 10 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/detectors/node/opentelemetry-resource-detector-container/package.json b/detectors/node/opentelemetry-resource-detector-container/package.json
index 61b3e45616..5b31956c7b 100644
--- a/detectors/node/opentelemetry-resource-detector-container/package.json
+++ b/detectors/node/opentelemetry-resource-detector-container/package.json
@@ -8,7 +8,7 @@
   "scripts": {
     "clean": "rimraf build/*",
     "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../../",
-    "compile": "npm run version:update && tsc -p .",
+    "compile": "tsc -p .",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/resource-detector-container --include-dependencies",
diff --git a/plugins/node/instrumentation-amqplib/package.json b/plugins/node/instrumentation-amqplib/package.json
index 9910feedae..c26cc76170 100644
--- a/plugins/node/instrumentation-amqplib/package.json
+++ b/plugins/node/instrumentation-amqplib/package.json
@@ -27,7 +27,7 @@
   "repository": "open-telemetry/opentelemetry-js-contrib",
   "scripts": {
     "clean": "rimraf build/*",
-    "compile": "npm run version:update && tsc -p .",
+    "compile": "tsc -p .",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-amqplib --include-dependencies",
diff --git a/plugins/node/instrumentation-fs/package.json b/plugins/node/instrumentation-fs/package.json
index 9585a038d6..824dfaac4b 100644
--- a/plugins/node/instrumentation-fs/package.json
+++ b/plugins/node/instrumentation-fs/package.json
@@ -15,7 +15,7 @@
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
     "version:update": "node ../../../scripts/version-update.js",
-    "compile": "npm run version:update && tsc -p ."
+    "compile": "tsc -p ."
   },
   "keywords": [
     "fs",
diff --git a/plugins/node/instrumentation-lru-memoizer/package.json b/plugins/node/instrumentation-lru-memoizer/package.json
index 6040807233..dd3b46a81c 100644
--- a/plugins/node/instrumentation-lru-memoizer/package.json
+++ b/plugins/node/instrumentation-lru-memoizer/package.json
@@ -16,7 +16,7 @@
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
     "version:update": "node ../../../scripts/version-update.js",
-    "compile": "npm run version:update && tsc -p ."
+    "compile": "tsc -p ."
   },
   "keywords": [
     "lru-memoizer",
diff --git a/plugins/node/instrumentation-mongoose/package.json b/plugins/node/instrumentation-mongoose/package.json
index dc130c0c01..ab2b70d5b5 100644
--- a/plugins/node/instrumentation-mongoose/package.json
+++ b/plugins/node/instrumentation-mongoose/package.json
@@ -17,7 +17,7 @@
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
     "version:update": "node ../../../scripts/version-update.js",
-    "compile": "npm run version:update && tsc -p ."
+    "compile": "tsc -p ."
   },
   "keywords": [
     "mongodb",
diff --git a/plugins/node/instrumentation-socket.io/package.json b/plugins/node/instrumentation-socket.io/package.json
index 78c0d886f3..58459c97b6 100644
--- a/plugins/node/instrumentation-socket.io/package.json
+++ b/plugins/node/instrumentation-socket.io/package.json
@@ -16,7 +16,7 @@
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
     "version:update": "node ../../../scripts/version-update.js",
-    "compile": "npm run version:update && tsc -p ."
+    "compile": "tsc -p ."
   },
   "keywords": [
     "socket.io",
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/package.json b/plugins/web/opentelemetry-instrumentation-document-load/package.json
index 18c9a8cdda..75ecc372e0 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/package.json
+++ b/plugins/web/opentelemetry-instrumentation-document-load/package.json
@@ -14,7 +14,7 @@
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-document-load --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
-    "compile": "npm run version:update && tsc --build tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
+    "compile": "tsc --build tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
     "prepublishOnly": "npm run compile",
     "tdd": "wtr --watch",
     "test:browser": "wtr --coverage",
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/package.json b/plugins/web/opentelemetry-instrumentation-long-task/package.json
index 1ec090c37c..3b1ff6e500 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/package.json
+++ b/plugins/web/opentelemetry-instrumentation-long-task/package.json
@@ -14,7 +14,7 @@
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-user-interaction --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
-    "compile": "npm run version:update && tsc --build tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
+    "compile": "tsc --build tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
     "prepublishOnly": "npm run compile",
     "tdd": "karma start",
     "test:browser": "nyc karma start --single-run",
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
index 46268e890c..f7236de922 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
@@ -14,7 +14,7 @@
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-user-interaction --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
-    "compile": "npm run version:update && tsc --build tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
+    "compile": "tsc --build tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
     "prepublishOnly": "npm run compile",
     "tdd": "karma start",
     "test:browser": "nyc karma start --single-run",
diff --git a/plugins/web/opentelemetry-plugin-react-load/package.json b/plugins/web/opentelemetry-plugin-react-load/package.json
index c1a8de2382..3994d17b54 100644
--- a/plugins/web/opentelemetry-plugin-react-load/package.json
+++ b/plugins/web/opentelemetry-plugin-react-load/package.json
@@ -14,7 +14,7 @@
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/plugin-react-load --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
-    "compile": "npm run version:update && tsc --build tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
+    "compile": "tsc --build tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
     "prepublishOnly": "npm run compile",
     "tdd": "karma start",
     "test:browser": "nyc karma start --single-run",

From 8c578cd17b25b33390e4237596b9e5cbbc0d0b6d Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Wed, 22 May 2024 21:55:22 +0200
Subject: [PATCH 007/123] feat(instr-tedious): add support for v16 and v17
 (#2178)

Closes: #1656
Co-authored-by: gurke <katharina.irrgang@googlemail.com>
Co-authored-by: Trent Mick <trentm@gmail.com>
---
 package-lock.json                             | 888 +++++++++++-------
 .../src/test-utils.ts                         |  30 +-
 plugins/node/instrumentation-tedious/.tav.yml |   9 +-
 .../node/instrumentation-tedious/README.md    |   2 +-
 .../node/instrumentation-tedious/package.json |   3 +-
 .../src/instrumentation.ts                    |   2 +-
 .../test/instrumentation.test.ts              |  14 +-
 7 files changed, 582 insertions(+), 366 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 30b61cfd9a..96bfea2bfc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3858,30 +3858,28 @@
       }
     },
     "node_modules/@azure/identity": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-2.1.0.tgz",
-      "integrity": "sha512-BPDz1sK7Ul9t0l9YKLEa8PHqWU4iCfhGJ+ELJl6c8CP3TpJt2urNCbm0ZHsthmxRsYoMPbz2Dvzj30zXZVmAFw==",
+      "version": "3.4.2",
+      "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-3.4.2.tgz",
+      "integrity": "sha512-0q5DL4uyR0EZ4RXQKD8MadGH6zTIcloUoS/RVbCpNpej4pwte0xpqYxk8K97Py2RiuUvI7F4GXpoT4046VfufA==",
       "dev": true,
       "dependencies": {
         "@azure/abort-controller": "^1.0.0",
-        "@azure/core-auth": "^1.3.0",
+        "@azure/core-auth": "^1.5.0",
         "@azure/core-client": "^1.4.0",
         "@azure/core-rest-pipeline": "^1.1.0",
         "@azure/core-tracing": "^1.0.0",
-        "@azure/core-util": "^1.0.0",
+        "@azure/core-util": "^1.6.1",
         "@azure/logger": "^1.0.0",
-        "@azure/msal-browser": "^2.26.0",
-        "@azure/msal-common": "^7.0.0",
-        "@azure/msal-node": "^1.10.0",
+        "@azure/msal-browser": "^3.5.0",
+        "@azure/msal-node": "^2.5.1",
         "events": "^3.0.0",
         "jws": "^4.0.0",
         "open": "^8.0.0",
         "stoppable": "^1.1.0",
-        "tslib": "^2.2.0",
-        "uuid": "^8.3.0"
+        "tslib": "^2.2.0"
       },
       "engines": {
-        "node": ">=12.0.0"
+        "node": ">=14.0.0"
       }
     },
     "node_modules/@azure/identity/node_modules/events": {
@@ -3928,58 +3926,38 @@
       }
     },
     "node_modules/@azure/msal-browser": {
-      "version": "2.38.3",
-      "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.38.3.tgz",
-      "integrity": "sha512-2WuLFnWWPR1IdvhhysT18cBbkXx1z0YIchVss5AwVA95g7CU5CpT3d+5BcgVGNXDXbUU7/5p0xYHV99V5z8C/A==",
-      "deprecated": "A newer major version of this library is available. Please upgrade to the latest available version.",
+      "version": "3.13.0",
+      "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.13.0.tgz",
+      "integrity": "sha512-fD906nmJei3yE7la6DZTdUtXKvpwzJURkfsiz9747Icv4pit77cegSm6prJTKLQ1fw4iiZzrrWwxnhMLrTf5gQ==",
       "dev": true,
       "dependencies": {
-        "@azure/msal-common": "13.3.1"
+        "@azure/msal-common": "14.9.0"
       },
       "engines": {
         "node": ">=0.8.0"
       }
     },
-    "node_modules/@azure/msal-browser/node_modules/@azure/msal-common": {
-      "version": "13.3.1",
-      "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz",
-      "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
     "node_modules/@azure/msal-common": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-7.6.0.tgz",
-      "integrity": "sha512-XqfbglUTVLdkHQ8F9UQJtKseRr3sSnr9ysboxtoswvaMVaEfvyLtMoHv9XdKUfOc0qKGzNgRFd9yRjIWVepl6Q==",
+      "version": "14.9.0",
+      "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.9.0.tgz",
+      "integrity": "sha512-yzBPRlWPnTBeixxLNI3BBIgF5/bHpbhoRVuuDBnYjCyWRavaPUsKAHUDYLqpGkBLDciA6TCc6GOxN4/S3WiSxg==",
       "dev": true,
       "engines": {
         "node": ">=0.8.0"
       }
     },
     "node_modules/@azure/msal-node": {
-      "version": "1.18.4",
-      "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.4.tgz",
-      "integrity": "sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==",
-      "deprecated": "A newer major version of this library is available. Please upgrade to the latest available version.",
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.7.0.tgz",
+      "integrity": "sha512-wXD8LkUvHICeSWZydqg6o8Yvv+grlBEcmLGu+QEI4FcwFendbTEZrlSygnAXXSOCVaGAirWLchca35qrgpO6Jw==",
       "dev": true,
       "dependencies": {
-        "@azure/msal-common": "13.3.1",
+        "@azure/msal-common": "14.9.0",
         "jsonwebtoken": "^9.0.0",
         "uuid": "^8.3.0"
       },
       "engines": {
-        "node": "10 || 12 || 14 || 16 || 18"
-      }
-    },
-    "node_modules/@azure/msal-node/node_modules/@azure/msal-common": {
-      "version": "13.3.1",
-      "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz",
-      "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.0"
+        "node": ">=16"
       }
     },
     "node_modules/@babel/code-frame": {
@@ -11126,6 +11104,22 @@
         "@types/react": "*"
       }
     },
+    "node_modules/@types/readable-stream": {
+      "version": "4.0.12",
+      "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.12.tgz",
+      "integrity": "sha512-SCaw+bs9o/HCX1eTa3glTcQgW1oPxof49mqP2Qikik3xzTimNv2M4p43BQHhBuf7CwOJdQW0s1SrWU3MZxz6lw==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*",
+        "safe-buffer": "~5.1.1"
+      }
+    },
+    "node_modules/@types/readable-stream/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
     "node_modules/@types/redis": {
       "version": "2.8.32",
       "resolved": "https://registry.npmjs.org/@types/redis/-/redis-2.8.32.tgz",
@@ -15405,6 +15399,57 @@
         "node": ">= 14"
       }
     },
+    "node_modules/data-view-buffer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
+      "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.6",
+        "es-errors": "^1.3.0",
+        "is-data-view": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/data-view-byte-length": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
+      "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.7",
+        "es-errors": "^1.3.0",
+        "is-data-view": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/data-view-byte-offset": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz",
+      "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==",
+      "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.6",
+        "es-errors": "^1.3.0",
+        "is-data-view": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
     "node_modules/dataloader": {
       "version": "2.2.2",
       "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.2.2.tgz",
@@ -16282,18 +16327,22 @@
       "dev": true
     },
     "node_modules/es-abstract": {
-      "version": "1.22.4",
-      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.4.tgz",
-      "integrity": "sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==",
+      "version": "1.23.3",
+      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
+      "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
       "dev": true,
       "dependencies": {
         "array-buffer-byte-length": "^1.0.1",
         "arraybuffer.prototype.slice": "^1.0.3",
-        "available-typed-arrays": "^1.0.6",
+        "available-typed-arrays": "^1.0.7",
         "call-bind": "^1.0.7",
+        "data-view-buffer": "^1.0.1",
+        "data-view-byte-length": "^1.0.1",
+        "data-view-byte-offset": "^1.0.0",
         "es-define-property": "^1.0.0",
         "es-errors": "^1.3.0",
-        "es-set-tostringtag": "^2.0.2",
+        "es-object-atoms": "^1.0.0",
+        "es-set-tostringtag": "^2.0.3",
         "es-to-primitive": "^1.2.1",
         "function.prototype.name": "^1.1.6",
         "get-intrinsic": "^1.2.4",
@@ -16301,15 +16350,16 @@
         "globalthis": "^1.0.3",
         "gopd": "^1.0.1",
         "has-property-descriptors": "^1.0.2",
-        "has-proto": "^1.0.1",
+        "has-proto": "^1.0.3",
         "has-symbols": "^1.0.3",
-        "hasown": "^2.0.1",
+        "hasown": "^2.0.2",
         "internal-slot": "^1.0.7",
         "is-array-buffer": "^3.0.4",
         "is-callable": "^1.2.7",
-        "is-negative-zero": "^2.0.2",
+        "is-data-view": "^1.0.1",
+        "is-negative-zero": "^2.0.3",
         "is-regex": "^1.1.4",
-        "is-shared-array-buffer": "^1.0.2",
+        "is-shared-array-buffer": "^1.0.3",
         "is-string": "^1.0.7",
         "is-typed-array": "^1.1.13",
         "is-weakref": "^1.0.2",
@@ -16317,17 +16367,17 @@
         "object-keys": "^1.1.1",
         "object.assign": "^4.1.5",
         "regexp.prototype.flags": "^1.5.2",
-        "safe-array-concat": "^1.1.0",
+        "safe-array-concat": "^1.1.2",
         "safe-regex-test": "^1.0.3",
-        "string.prototype.trim": "^1.2.8",
-        "string.prototype.trimend": "^1.0.7",
-        "string.prototype.trimstart": "^1.0.7",
-        "typed-array-buffer": "^1.0.1",
-        "typed-array-byte-length": "^1.0.0",
-        "typed-array-byte-offset": "^1.0.0",
-        "typed-array-length": "^1.0.4",
+        "string.prototype.trim": "^1.2.9",
+        "string.prototype.trimend": "^1.0.8",
+        "string.prototype.trimstart": "^1.0.8",
+        "typed-array-buffer": "^1.0.2",
+        "typed-array-byte-length": "^1.0.1",
+        "typed-array-byte-offset": "^1.0.2",
+        "typed-array-length": "^1.0.6",
         "unbox-primitive": "^1.0.2",
-        "which-typed-array": "^1.1.14"
+        "which-typed-array": "^1.1.15"
       },
       "engines": {
         "node": ">= 0.4"
@@ -16337,19 +16387,19 @@
       }
     },
     "node_modules/es-aggregate-error": {
-      "version": "1.0.12",
-      "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.12.tgz",
-      "integrity": "sha512-j0PupcmELoVbYS2NNrsn5zcLLEsryQwP02x8fRawh7c2eEaPHwJFAxltZsqV7HJjsF57+SMpYyVRWgbVLfOagg==",
+      "version": "1.0.13",
+      "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.13.tgz",
+      "integrity": "sha512-KkzhUUuD2CUMqEc8JEqsXEMDHzDPE8RCjZeUBitsnB1eNcAJWQPiciKsMXe3Yytj4Flw1XLl46Qcf9OxvZha7A==",
       "dev": true,
       "dependencies": {
-        "define-data-property": "^1.1.1",
+        "define-data-property": "^1.1.4",
         "define-properties": "^1.2.1",
-        "es-abstract": "^1.22.3",
-        "es-errors": "^1.1.0",
+        "es-abstract": "^1.23.2",
+        "es-errors": "^1.3.0",
         "function-bind": "^1.1.2",
         "globalthis": "^1.0.3",
-        "has-property-descriptors": "^1.0.1",
-        "set-function-name": "^2.0.1"
+        "has-property-descriptors": "^1.0.2",
+        "set-function-name": "^2.0.2"
       },
       "engines": {
         "node": ">= 0.4"
@@ -16391,6 +16441,18 @@
       "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==",
       "dev": true
     },
+    "node_modules/es-object-atoms": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
+      "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
+      "dev": true,
+      "dependencies": {
+        "es-errors": "^1.3.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
     "node_modules/es-set-tostringtag": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
@@ -19317,9 +19379,9 @@
       }
     },
     "node_modules/hasown": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
-      "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+      "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
       "dependencies": {
         "function-bind": "^1.1.2"
       },
@@ -20182,6 +20244,21 @@
         "node": ">= 0.4"
       }
     },
+    "node_modules/is-data-view": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
+      "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==",
+      "dev": true,
+      "dependencies": {
+        "is-typed-array": "^1.1.13"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
     "node_modules/is-date-object": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
@@ -30731,13 +30808,13 @@
       "dev": true
     },
     "node_modules/safe-array-concat": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz",
-      "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==",
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
+      "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.5",
-        "get-intrinsic": "^1.2.2",
+        "call-bind": "^1.0.7",
+        "get-intrinsic": "^1.2.4",
         "has-symbols": "^1.0.3",
         "isarray": "^2.0.5"
       },
@@ -32465,14 +32542,15 @@
       }
     },
     "node_modules/string.prototype.trim": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
-      "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==",
+      "version": "1.2.9",
+      "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
+      "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1"
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.0",
+        "es-object-atoms": "^1.0.0"
       },
       "engines": {
         "node": ">= 0.4"
@@ -32482,28 +32560,31 @@
       }
     },
     "node_modules/string.prototype.trimend": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz",
-      "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==",
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
+      "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1"
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-object-atoms": "^1.0.0"
       },
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/string.prototype.trimstart": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
-      "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+      "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1"
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-object-atoms": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
       },
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
@@ -32860,96 +32941,6 @@
         "node": ">=8.0.0"
       }
     },
-    "node_modules/tedious": {
-      "version": "15.1.3",
-      "resolved": "https://registry.npmjs.org/tedious/-/tedious-15.1.3.tgz",
-      "integrity": "sha512-166EpRm5qknwhEisjZqz/mF7k14fXKJYHRg6XiAXVovd/YkyHJ3SG4Ppy89caPaNFfRr7PVYe+s4dAvKaCMFvw==",
-      "dev": true,
-      "dependencies": {
-        "@azure/identity": "^2.0.4",
-        "@azure/keyvault-keys": "^4.4.0",
-        "@js-joda/core": "^5.2.0",
-        "bl": "^5.0.0",
-        "es-aggregate-error": "^1.0.8",
-        "iconv-lite": "^0.6.3",
-        "js-md4": "^0.3.2",
-        "jsbi": "^4.3.0",
-        "native-duplexpair": "^1.0.0",
-        "node-abort-controller": "^3.0.1",
-        "punycode": "^2.1.0",
-        "sprintf-js": "^1.1.2"
-      },
-      "engines": {
-        "node": ">=14"
-      }
-    },
-    "node_modules/tedious/node_modules/bl": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz",
-      "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==",
-      "dev": true,
-      "dependencies": {
-        "buffer": "^6.0.3",
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.4.0"
-      }
-    },
-    "node_modules/tedious/node_modules/buffer": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
-      "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "dependencies": {
-        "base64-js": "^1.3.1",
-        "ieee754": "^1.2.1"
-      }
-    },
-    "node_modules/tedious/node_modules/iconv-lite": {
-      "version": "0.6.3",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
-      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
-      "dev": true,
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/tedious/node_modules/ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
-      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
     "node_modules/temp-dir": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
@@ -34328,9 +34319,9 @@
       }
     },
     "node_modules/typed-array-length": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz",
-      "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==",
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
+      "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
       "dev": true,
       "dependencies": {
         "call-bind": "^1.0.7",
@@ -35814,16 +35805,16 @@
       "dev": true
     },
     "node_modules/which-typed-array": {
-      "version": "1.1.14",
-      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz",
-      "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==",
+      "version": "1.1.15",
+      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+      "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
       "dev": true,
       "dependencies": {
-        "available-typed-arrays": "^1.0.6",
-        "call-bind": "^1.0.5",
+        "available-typed-arrays": "^1.0.7",
+        "call-bind": "^1.0.7",
         "for-each": "^0.3.3",
         "gopd": "^1.0.1",
-        "has-tostringtag": "^1.0.1"
+        "has-tostringtag": "^1.0.2"
       },
       "engines": {
         "node": ">= 0.4"
@@ -37843,7 +37834,8 @@
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
-        "tedious": "15.1.3",
+        "semver": "7.6.0",
+        "tedious": "17.0.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -37855,6 +37847,121 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
+    "plugins/node/instrumentation-tedious/node_modules/bl": {
+      "version": "6.0.12",
+      "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.12.tgz",
+      "integrity": "sha512-EnEYHilP93oaOa2MnmNEjAcovPS3JlQZOyzGXi3EyEpPhm9qWvdDp7BmAVEVusGzp8LlwQK56Av+OkDoRjzE0w==",
+      "dev": true,
+      "dependencies": {
+        "@types/readable-stream": "^4.0.0",
+        "buffer": "^6.0.3",
+        "inherits": "^2.0.4",
+        "readable-stream": "^4.2.0"
+      }
+    },
+    "plugins/node/instrumentation-tedious/node_modules/buffer": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+      "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "base64-js": "^1.3.1",
+        "ieee754": "^1.2.1"
+      }
+    },
+    "plugins/node/instrumentation-tedious/node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.x"
+      }
+    },
+    "plugins/node/instrumentation-tedious/node_modules/iconv-lite": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+      "dev": true,
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "plugins/node/instrumentation-tedious/node_modules/ieee754": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "plugins/node/instrumentation-tedious/node_modules/readable-stream": {
+      "version": "4.5.2",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+      "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
+      "dev": true,
+      "dependencies": {
+        "abort-controller": "^3.0.0",
+        "buffer": "^6.0.3",
+        "events": "^3.3.0",
+        "process": "^0.11.10",
+        "string_decoder": "^1.3.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      }
+    },
+    "plugins/node/instrumentation-tedious/node_modules/tedious": {
+      "version": "17.0.0",
+      "resolved": "https://registry.npmjs.org/tedious/-/tedious-17.0.0.tgz",
+      "integrity": "sha512-tXsl/kvDAFpnXU+ooEOQyrXdJFD0/OWvPq9i1bDhbOvoFGcrZURiXyUxbI8gJPsG6o2K5fs3HX6zRTSxuCUC5g==",
+      "dev": true,
+      "dependencies": {
+        "@azure/identity": "^3.4.1",
+        "@azure/keyvault-keys": "^4.4.0",
+        "@js-joda/core": "^5.5.3",
+        "bl": "^6.0.3",
+        "es-aggregate-error": "^1.0.9",
+        "iconv-lite": "^0.6.3",
+        "js-md4": "^0.3.2",
+        "jsbi": "^4.3.0",
+        "native-duplexpair": "^1.0.0",
+        "node-abort-controller": "^3.1.1",
+        "sprintf-js": "^1.1.2"
+      },
+      "engines": {
+        "node": ">=18"
+      }
+    },
     "plugins/node/instrumentation-undici": {
       "name": "@opentelemetry/instrumentation-undici",
       "version": "0.2.0",
@@ -42672,27 +42779,25 @@
       }
     },
     "@azure/identity": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-2.1.0.tgz",
-      "integrity": "sha512-BPDz1sK7Ul9t0l9YKLEa8PHqWU4iCfhGJ+ELJl6c8CP3TpJt2urNCbm0ZHsthmxRsYoMPbz2Dvzj30zXZVmAFw==",
+      "version": "3.4.2",
+      "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-3.4.2.tgz",
+      "integrity": "sha512-0q5DL4uyR0EZ4RXQKD8MadGH6zTIcloUoS/RVbCpNpej4pwte0xpqYxk8K97Py2RiuUvI7F4GXpoT4046VfufA==",
       "dev": true,
       "requires": {
         "@azure/abort-controller": "^1.0.0",
-        "@azure/core-auth": "^1.3.0",
+        "@azure/core-auth": "^1.5.0",
         "@azure/core-client": "^1.4.0",
         "@azure/core-rest-pipeline": "^1.1.0",
         "@azure/core-tracing": "^1.0.0",
-        "@azure/core-util": "^1.0.0",
+        "@azure/core-util": "^1.6.1",
         "@azure/logger": "^1.0.0",
-        "@azure/msal-browser": "^2.26.0",
-        "@azure/msal-common": "^7.0.0",
-        "@azure/msal-node": "^1.10.0",
+        "@azure/msal-browser": "^3.5.0",
+        "@azure/msal-node": "^2.5.1",
         "events": "^3.0.0",
         "jws": "^4.0.0",
         "open": "^8.0.0",
         "stoppable": "^1.1.0",
-        "tslib": "^2.2.0",
-        "uuid": "^8.3.0"
+        "tslib": "^2.2.0"
       },
       "dependencies": {
         "events": {
@@ -42732,45 +42837,29 @@
       }
     },
     "@azure/msal-browser": {
-      "version": "2.38.3",
-      "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.38.3.tgz",
-      "integrity": "sha512-2WuLFnWWPR1IdvhhysT18cBbkXx1z0YIchVss5AwVA95g7CU5CpT3d+5BcgVGNXDXbUU7/5p0xYHV99V5z8C/A==",
+      "version": "3.13.0",
+      "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.13.0.tgz",
+      "integrity": "sha512-fD906nmJei3yE7la6DZTdUtXKvpwzJURkfsiz9747Icv4pit77cegSm6prJTKLQ1fw4iiZzrrWwxnhMLrTf5gQ==",
       "dev": true,
       "requires": {
-        "@azure/msal-common": "13.3.1"
-      },
-      "dependencies": {
-        "@azure/msal-common": {
-          "version": "13.3.1",
-          "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz",
-          "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==",
-          "dev": true
-        }
+        "@azure/msal-common": "14.9.0"
       }
     },
     "@azure/msal-common": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-7.6.0.tgz",
-      "integrity": "sha512-XqfbglUTVLdkHQ8F9UQJtKseRr3sSnr9ysboxtoswvaMVaEfvyLtMoHv9XdKUfOc0qKGzNgRFd9yRjIWVepl6Q==",
+      "version": "14.9.0",
+      "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.9.0.tgz",
+      "integrity": "sha512-yzBPRlWPnTBeixxLNI3BBIgF5/bHpbhoRVuuDBnYjCyWRavaPUsKAHUDYLqpGkBLDciA6TCc6GOxN4/S3WiSxg==",
       "dev": true
     },
     "@azure/msal-node": {
-      "version": "1.18.4",
-      "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.18.4.tgz",
-      "integrity": "sha512-Kc/dRvhZ9Q4+1FSfsTFDME/v6+R2Y1fuMty/TfwqE5p9GTPw08BPbKgeWinE8JRHRp+LemjQbUZsn4Q4l6Lszg==",
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.7.0.tgz",
+      "integrity": "sha512-wXD8LkUvHICeSWZydqg6o8Yvv+grlBEcmLGu+QEI4FcwFendbTEZrlSygnAXXSOCVaGAirWLchca35qrgpO6Jw==",
       "dev": true,
       "requires": {
-        "@azure/msal-common": "13.3.1",
+        "@azure/msal-common": "14.9.0",
         "jsonwebtoken": "^9.0.0",
         "uuid": "^8.3.0"
-      },
-      "dependencies": {
-        "@azure/msal-common": {
-          "version": "13.3.1",
-          "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.3.1.tgz",
-          "integrity": "sha512-Lrk1ozoAtaP/cp53May3v6HtcFSVxdFrg2Pa/1xu5oIvsIwhxW6zSPibKefCOVgd5osgykMi5jjcZHv8XkzZEQ==",
-          "dev": true
-        }
       }
     },
     "@babel/code-frame": {
@@ -48329,10 +48418,88 @@
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
-        "tedious": "15.1.3",
+        "semver": "7.6.0",
+        "tedious": "17.0.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
+      },
+      "dependencies": {
+        "bl": {
+          "version": "6.0.12",
+          "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.12.tgz",
+          "integrity": "sha512-EnEYHilP93oaOa2MnmNEjAcovPS3JlQZOyzGXi3EyEpPhm9qWvdDp7BmAVEVusGzp8LlwQK56Av+OkDoRjzE0w==",
+          "dev": true,
+          "requires": {
+            "@types/readable-stream": "^4.0.0",
+            "buffer": "^6.0.3",
+            "inherits": "^2.0.4",
+            "readable-stream": "^4.2.0"
+          }
+        },
+        "buffer": {
+          "version": "6.0.3",
+          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+          "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+          "dev": true,
+          "requires": {
+            "base64-js": "^1.3.1",
+            "ieee754": "^1.2.1"
+          }
+        },
+        "events": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+          "dev": true
+        },
+        "iconv-lite": {
+          "version": "0.6.3",
+          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+          "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+          "dev": true,
+          "requires": {
+            "safer-buffer": ">= 2.1.2 < 3.0.0"
+          }
+        },
+        "ieee754": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+          "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "4.5.2",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+          "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
+          "dev": true,
+          "requires": {
+            "abort-controller": "^3.0.0",
+            "buffer": "^6.0.3",
+            "events": "^3.3.0",
+            "process": "^0.11.10",
+            "string_decoder": "^1.3.0"
+          }
+        },
+        "tedious": {
+          "version": "17.0.0",
+          "resolved": "https://registry.npmjs.org/tedious/-/tedious-17.0.0.tgz",
+          "integrity": "sha512-tXsl/kvDAFpnXU+ooEOQyrXdJFD0/OWvPq9i1bDhbOvoFGcrZURiXyUxbI8gJPsG6o2K5fs3HX6zRTSxuCUC5g==",
+          "dev": true,
+          "requires": {
+            "@azure/identity": "^3.4.1",
+            "@azure/keyvault-keys": "^4.4.0",
+            "@js-joda/core": "^5.5.3",
+            "bl": "^6.0.3",
+            "es-aggregate-error": "^1.0.9",
+            "iconv-lite": "^0.6.3",
+            "js-md4": "^0.3.2",
+            "jsbi": "^4.3.0",
+            "native-duplexpair": "^1.0.0",
+            "node-abort-controller": "^3.1.1",
+            "sprintf-js": "^1.1.2"
+          }
+        }
       }
     },
     "@opentelemetry/instrumentation-undici": {
@@ -50653,6 +50820,24 @@
         "@types/react": "*"
       }
     },
+    "@types/readable-stream": {
+      "version": "4.0.12",
+      "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.12.tgz",
+      "integrity": "sha512-SCaw+bs9o/HCX1eTa3glTcQgW1oPxof49mqP2Qikik3xzTimNv2M4p43BQHhBuf7CwOJdQW0s1SrWU3MZxz6lw==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*",
+        "safe-buffer": "~5.1.1"
+      },
+      "dependencies": {
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+          "dev": true
+        }
+      }
+    },
     "@types/redis": {
       "version": "2.8.32",
       "resolved": "https://registry.npmjs.org/@types/redis/-/redis-2.8.32.tgz",
@@ -54057,6 +54242,39 @@
       "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",
       "dev": true
     },
+    "data-view-buffer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
+      "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.6",
+        "es-errors": "^1.3.0",
+        "is-data-view": "^1.0.1"
+      }
+    },
+    "data-view-byte-length": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
+      "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.7",
+        "es-errors": "^1.3.0",
+        "is-data-view": "^1.0.1"
+      }
+    },
+    "data-view-byte-offset": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz",
+      "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.6",
+        "es-errors": "^1.3.0",
+        "is-data-view": "^1.0.1"
+      }
+    },
     "dataloader": {
       "version": "2.2.2",
       "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.2.2.tgz",
@@ -54767,18 +54985,22 @@
       "dev": true
     },
     "es-abstract": {
-      "version": "1.22.4",
-      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.4.tgz",
-      "integrity": "sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==",
+      "version": "1.23.3",
+      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
+      "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
       "dev": true,
       "requires": {
         "array-buffer-byte-length": "^1.0.1",
         "arraybuffer.prototype.slice": "^1.0.3",
-        "available-typed-arrays": "^1.0.6",
+        "available-typed-arrays": "^1.0.7",
         "call-bind": "^1.0.7",
+        "data-view-buffer": "^1.0.1",
+        "data-view-byte-length": "^1.0.1",
+        "data-view-byte-offset": "^1.0.0",
         "es-define-property": "^1.0.0",
         "es-errors": "^1.3.0",
-        "es-set-tostringtag": "^2.0.2",
+        "es-object-atoms": "^1.0.0",
+        "es-set-tostringtag": "^2.0.3",
         "es-to-primitive": "^1.2.1",
         "function.prototype.name": "^1.1.6",
         "get-intrinsic": "^1.2.4",
@@ -54786,15 +55008,16 @@
         "globalthis": "^1.0.3",
         "gopd": "^1.0.1",
         "has-property-descriptors": "^1.0.2",
-        "has-proto": "^1.0.1",
+        "has-proto": "^1.0.3",
         "has-symbols": "^1.0.3",
-        "hasown": "^2.0.1",
+        "hasown": "^2.0.2",
         "internal-slot": "^1.0.7",
         "is-array-buffer": "^3.0.4",
         "is-callable": "^1.2.7",
-        "is-negative-zero": "^2.0.2",
+        "is-data-view": "^1.0.1",
+        "is-negative-zero": "^2.0.3",
         "is-regex": "^1.1.4",
-        "is-shared-array-buffer": "^1.0.2",
+        "is-shared-array-buffer": "^1.0.3",
         "is-string": "^1.0.7",
         "is-typed-array": "^1.1.13",
         "is-weakref": "^1.0.2",
@@ -54802,33 +55025,33 @@
         "object-keys": "^1.1.1",
         "object.assign": "^4.1.5",
         "regexp.prototype.flags": "^1.5.2",
-        "safe-array-concat": "^1.1.0",
+        "safe-array-concat": "^1.1.2",
         "safe-regex-test": "^1.0.3",
-        "string.prototype.trim": "^1.2.8",
-        "string.prototype.trimend": "^1.0.7",
-        "string.prototype.trimstart": "^1.0.7",
-        "typed-array-buffer": "^1.0.1",
-        "typed-array-byte-length": "^1.0.0",
-        "typed-array-byte-offset": "^1.0.0",
-        "typed-array-length": "^1.0.4",
+        "string.prototype.trim": "^1.2.9",
+        "string.prototype.trimend": "^1.0.8",
+        "string.prototype.trimstart": "^1.0.8",
+        "typed-array-buffer": "^1.0.2",
+        "typed-array-byte-length": "^1.0.1",
+        "typed-array-byte-offset": "^1.0.2",
+        "typed-array-length": "^1.0.6",
         "unbox-primitive": "^1.0.2",
-        "which-typed-array": "^1.1.14"
+        "which-typed-array": "^1.1.15"
       }
     },
     "es-aggregate-error": {
-      "version": "1.0.12",
-      "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.12.tgz",
-      "integrity": "sha512-j0PupcmELoVbYS2NNrsn5zcLLEsryQwP02x8fRawh7c2eEaPHwJFAxltZsqV7HJjsF57+SMpYyVRWgbVLfOagg==",
+      "version": "1.0.13",
+      "resolved": "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.13.tgz",
+      "integrity": "sha512-KkzhUUuD2CUMqEc8JEqsXEMDHzDPE8RCjZeUBitsnB1eNcAJWQPiciKsMXe3Yytj4Flw1XLl46Qcf9OxvZha7A==",
       "dev": true,
       "requires": {
-        "define-data-property": "^1.1.1",
+        "define-data-property": "^1.1.4",
         "define-properties": "^1.2.1",
-        "es-abstract": "^1.22.3",
-        "es-errors": "^1.1.0",
+        "es-abstract": "^1.23.2",
+        "es-errors": "^1.3.0",
         "function-bind": "^1.1.2",
         "globalthis": "^1.0.3",
-        "has-property-descriptors": "^1.0.1",
-        "set-function-name": "^2.0.1"
+        "has-property-descriptors": "^1.0.2",
+        "set-function-name": "^2.0.2"
       }
     },
     "es-array-method-boxes-properly": {
@@ -54858,6 +55081,15 @@
       "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==",
       "dev": true
     },
+    "es-object-atoms": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
+      "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
+      "dev": true,
+      "requires": {
+        "es-errors": "^1.3.0"
+      }
+    },
     "es-set-tostringtag": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
@@ -57123,9 +57355,9 @@
       }
     },
     "hasown": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
-      "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+      "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
       "requires": {
         "function-bind": "^1.1.2"
       }
@@ -57804,6 +58036,15 @@
         "hasown": "^2.0.0"
       }
     },
+    "is-data-view": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
+      "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==",
+      "dev": true,
+      "requires": {
+        "is-typed-array": "^1.1.13"
+      }
+    },
     "is-date-object": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
@@ -66128,13 +66369,13 @@
       "dev": true
     },
     "safe-array-concat": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz",
-      "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==",
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
+      "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
       "dev": true,
       "requires": {
-        "call-bind": "^1.0.5",
-        "get-intrinsic": "^1.2.2",
+        "call-bind": "^1.0.7",
+        "get-intrinsic": "^1.2.4",
         "has-symbols": "^1.0.3",
         "isarray": "^2.0.5"
       },
@@ -67563,36 +67804,37 @@
       }
     },
     "string.prototype.trim": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
-      "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==",
+      "version": "1.2.9",
+      "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
+      "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
       "dev": true,
       "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1"
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.0",
+        "es-object-atoms": "^1.0.0"
       }
     },
     "string.prototype.trimend": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz",
-      "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==",
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
+      "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
       "dev": true,
       "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1"
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-object-atoms": "^1.0.0"
       }
     },
     "string.prototype.trimstart": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
-      "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+      "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
       "dev": true,
       "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1"
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-object-atoms": "^1.0.0"
       }
     },
     "strip-ansi": {
@@ -67848,64 +68090,6 @@
       "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==",
       "dev": true
     },
-    "tedious": {
-      "version": "15.1.3",
-      "resolved": "https://registry.npmjs.org/tedious/-/tedious-15.1.3.tgz",
-      "integrity": "sha512-166EpRm5qknwhEisjZqz/mF7k14fXKJYHRg6XiAXVovd/YkyHJ3SG4Ppy89caPaNFfRr7PVYe+s4dAvKaCMFvw==",
-      "dev": true,
-      "requires": {
-        "@azure/identity": "^2.0.4",
-        "@azure/keyvault-keys": "^4.4.0",
-        "@js-joda/core": "^5.2.0",
-        "bl": "^5.0.0",
-        "es-aggregate-error": "^1.0.8",
-        "iconv-lite": "^0.6.3",
-        "js-md4": "^0.3.2",
-        "jsbi": "^4.3.0",
-        "native-duplexpair": "^1.0.0",
-        "node-abort-controller": "^3.0.1",
-        "punycode": "^2.1.0",
-        "sprintf-js": "^1.1.2"
-      },
-      "dependencies": {
-        "bl": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz",
-          "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==",
-          "dev": true,
-          "requires": {
-            "buffer": "^6.0.3",
-            "inherits": "^2.0.4",
-            "readable-stream": "^3.4.0"
-          }
-        },
-        "buffer": {
-          "version": "6.0.3",
-          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
-          "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
-          "dev": true,
-          "requires": {
-            "base64-js": "^1.3.1",
-            "ieee754": "^1.2.1"
-          }
-        },
-        "iconv-lite": {
-          "version": "0.6.3",
-          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
-          "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
-          "dev": true,
-          "requires": {
-            "safer-buffer": ">= 2.1.2 < 3.0.0"
-          }
-        },
-        "ieee754": {
-          "version": "1.2.1",
-          "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
-          "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
-          "dev": true
-        }
-      }
-    },
     "temp-dir": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
@@ -68963,9 +69147,9 @@
       }
     },
     "typed-array-length": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz",
-      "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==",
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
+      "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
       "dev": true,
       "requires": {
         "call-bind": "^1.0.7",
@@ -70147,16 +70331,16 @@
       "dev": true
     },
     "which-typed-array": {
-      "version": "1.1.14",
-      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz",
-      "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==",
+      "version": "1.1.15",
+      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+      "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
       "dev": true,
       "requires": {
-        "available-typed-arrays": "^1.0.6",
-        "call-bind": "^1.0.5",
+        "available-typed-arrays": "^1.0.7",
+        "call-bind": "^1.0.7",
         "for-each": "^0.3.3",
         "gopd": "^1.0.1",
-        "has-tostringtag": "^1.0.1"
+        "has-tostringtag": "^1.0.2"
       }
     },
     "wide-align": {
diff --git a/packages/opentelemetry-test-utils/src/test-utils.ts b/packages/opentelemetry-test-utils/src/test-utils.ts
index aae38f160a..6edcddf4a3 100644
--- a/packages/opentelemetry-test-utils/src/test-utils.ts
+++ b/packages/opentelemetry-test-utils/src/test-utils.ts
@@ -18,7 +18,7 @@ import * as childProcess from 'child_process';
 import {
   HrTime,
   Span,
-  SpanAttributes,
+  Attributes,
   SpanKind,
   SpanStatus,
 } from '@opentelemetry/api';
@@ -29,6 +29,7 @@ import {
   hrTimeToMicroseconds,
 } from '@opentelemetry/core';
 import * as path from 'path';
+import * as fs from 'fs';
 
 const dockerRunCmds = {
   cassandra:
@@ -87,7 +88,7 @@ function run(cmd: string) {
 export const assertSpan = (
   span: ReadableSpan,
   kind: SpanKind,
-  attributes: SpanAttributes,
+  attributes: Attributes,
   events: TimedEvent[],
   status: SpanStatus
 ) => {
@@ -140,7 +141,7 @@ export interface TimedEvent {
   /** The name of the event. */
   name: string;
   /** The attributes of the event. */
-  attributes?: SpanAttributes;
+  attributes?: Attributes;
   /** Count of attributes of the event that were dropped due to collection limits */
   droppedAttributesCount?: number;
 }
@@ -153,11 +154,28 @@ export const getPackageVersion = (packageName: string) => {
   // "test-all-versions" tests that tend to install conflicting package
   // versions. Prefix the search paths with the cwd to include the workspace
   // dir.
-  const packagePath = require?.resolve(packageName, {
+  const mainPath = require?.resolve(packageName, {
     paths: [path.join(process.cwd(), 'node_modules')].concat(
       require?.main?.paths || []
     ),
   });
-  const packageJsonPath = path.join(path.dirname(packagePath), 'package.json');
-  return require(packageJsonPath).version;
+
+  // Some packages are resolved to a subfolder because their "main" points to it.
+  // As a consequence the "package.json" path is wrong and we get a MODULE_NOT_FOUND
+  // error. We should resolve the package folder from the closest `node_modules` ancestor.
+  // `tedious` package is an example
+  // {
+  //   "name: "tedious",
+  //   "main: "lib/tedious.js",
+  //   ...
+  // }
+  // resolving `packagePath` to `/path/to/opentelemetry-js-contrib/node_modules/tedious/lib/tedious.js`
+  const idx = mainPath.lastIndexOf('node_modules');
+  const pjPath = path.join(
+    mainPath.slice(0, idx),
+    'node_modules',
+    packageName,
+    'package.json'
+  );
+  return JSON.parse(fs.readFileSync(pjPath, 'utf8')).version;
 };
diff --git a/plugins/node/instrumentation-tedious/.tav.yml b/plugins/node/instrumentation-tedious/.tav.yml
index febeed20f0..0f4602307a 100644
--- a/plugins/node/instrumentation-tedious/.tav.yml
+++ b/plugins/node/instrumentation-tedious/.tav.yml
@@ -1,4 +1,7 @@
 tedious:
-  # 4.0.0 is broken: https://github.com/tediousjs/tedious/commit/4eceb48
-  versions: "1.11.0 || 1.14.0 || 2.7.1 || 3.0.1 || 4.2.0 || ^6.7.0 || 8.3.0 || 9.2.3 || 11.0.9 || 11.2.0 || 11.4.0 || ^11.8.0 || ^12.3.0 || ^13.2.0 || ^14.0.0 || ^15.0.0"
-  commands: npm run test
+  versions:
+    include: ">=1.11.0 <=17"
+    # 4.0.0 is broken: https://github.com/tediousjs/tedious/commit/4eceb48
+    exclude: "4.0.0"
+    mode: latest-majors
+  commands: npm run test
\ No newline at end of file
diff --git a/plugins/node/instrumentation-tedious/README.md b/plugins/node/instrumentation-tedious/README.md
index 48863d1a3c..d12d5b1982 100644
--- a/plugins/node/instrumentation-tedious/README.md
+++ b/plugins/node/instrumentation-tedious/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-tedious
 
 ## Supported Versions
 
-- `>=1.11.0 <=15`
+- `>=1.11.0 <=17`
 
 ## Usage
 
diff --git a/plugins/node/instrumentation-tedious/package.json b/plugins/node/instrumentation-tedious/package.json
index 82ca565cc3..959e8ab1e2 100644
--- a/plugins/node/instrumentation-tedious/package.json
+++ b/plugins/node/instrumentation-tedious/package.json
@@ -56,7 +56,8 @@
     "mocha": "7.2.0",
     "nyc": "15.1.0",
     "rimraf": "5.0.5",
-    "tedious": "15.1.3",
+    "semver": "7.6.0",
+    "tedious": "17.0.0",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/instrumentation-tedious/src/instrumentation.ts b/plugins/node/instrumentation-tedious/src/instrumentation.ts
index 78b11de517..b544ac9fe9 100644
--- a/plugins/node/instrumentation-tedious/src/instrumentation.ts
+++ b/plugins/node/instrumentation-tedious/src/instrumentation.ts
@@ -78,7 +78,7 @@ export class TediousInstrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         TediousInstrumentation.COMPONENT,
-        ['>=1.11.0 <=15'],
+        ['>=1.11.0 <18'],
         (moduleExports: typeof tedious) => {
           const ConnectionPrototype: any = moduleExports.Connection.prototype;
           for (const method of PATCHED_METHODS) {
diff --git a/plugins/node/instrumentation-tedious/test/instrumentation.test.ts b/plugins/node/instrumentation-tedious/test/instrumentation.test.ts
index 5a531e2815..662a352559 100644
--- a/plugins/node/instrumentation-tedious/test/instrumentation.test.ts
+++ b/plugins/node/instrumentation-tedious/test/instrumentation.test.ts
@@ -38,6 +38,7 @@ import * as assert from 'assert';
 import { TediousInstrumentation } from '../src';
 import makeApi from './api';
 import type { Connection, ConnectionConfig } from 'tedious';
+import * as semver from 'semver';
 
 const port = Number(process.env.MSSQL_PORT) || 1433;
 const database = process.env.MSSQL_DATABASE || 'master';
@@ -71,6 +72,15 @@ const config: ConnectionConfig & { userName: string; password: string } = {
   },
 };
 
+const processVersion = process.version;
+const tediousVersion = testUtils.getPackageVersion('tedious');
+const incompatVersions =
+  // tedious@16 removed support for node v14 https://github.com/tediousjs/tedious/releases/tag/v16.0.0
+  (semver.lt(processVersion, '15.0.0') &&
+    semver.gte(tediousVersion, '16.0.0')) ||
+  // tedious@17 removed support for node v16 and v19 https://github.com/tediousjs/tedious/releases/tag/v17.0.0
+  (semver.lt(processVersion, '17.0.0') && semver.gte(tediousVersion, '17.0.0'));
+
 describe('tedious', () => {
   let tedious: any;
   let contextManager: AsyncHooksContextManager;
@@ -81,7 +91,7 @@ describe('tedious', () => {
   const memoryExporter = new InMemorySpanExporter();
 
   before(function (done) {
-    if (!(shouldTest || shouldTestLocally)) {
+    if (!(shouldTest || shouldTestLocally) || incompatVersions) {
       // this.skip() workaround
       // https://github.com/mochajs/mocha/issues/2683#issuecomment-375629901
       this.test!.parent!.pending = true;
@@ -100,7 +110,7 @@ describe('tedious', () => {
 
   after(function () {
     if (shouldTestLocally) {
-      this.timeout(5000);
+      this.timeout(15000);
       testUtils.cleanUpDocker('mssql');
     }
   });

From 816611e47e71ce1478f4749fe7b6ba923b8d473a Mon Sep 17 00:00:00 2001
From: Ievgen Makukh <Samuron@users.noreply.github.com>
Date: Wed, 22 May 2024 23:32:59 +0300
Subject: [PATCH 008/123] perf(instrumentation-pg): do not split query to
 determine operation name (#2029)

Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
---
 plugins/node/opentelemetry-instrumentation-pg/src/utils.ts | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/plugins/node/opentelemetry-instrumentation-pg/src/utils.ts b/plugins/node/opentelemetry-instrumentation-pg/src/utils.ts
index f0325bbd77..a16ccc9cd0 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/src/utils.ts
+++ b/plugins/node/opentelemetry-instrumentation-pg/src/utils.ts
@@ -86,7 +86,12 @@ export function getQuerySpanName(
 }
 
 function parseNormalizedOperationName(queryText: string) {
-  const sqlCommand = queryText.split(' ')[0].toUpperCase();
+  const indexOfFirstSpace = queryText.indexOf(' ');
+  let sqlCommand =
+    indexOfFirstSpace === -1
+      ? queryText
+      : queryText.slice(0, indexOfFirstSpace);
+  sqlCommand = sqlCommand.toUpperCase();
 
   // Handle query text being "COMMIT;", which has an extra semicolon before the space.
   return sqlCommand.endsWith(';') ? sqlCommand.slice(0, -1) : sqlCommand;

From 69cd638b986612b98310be822cd584ebcd93c647 Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Wed, 22 May 2024 16:15:30 -0700
Subject: [PATCH 009/123] chore: update last deprecated usages of
 semantic-conventions pkg (#2210)

Refs: #2025
---
 .../opentelemetry-sampler-aws-xray/README.md  | 31 +++++++-------
 .../auto-instrumentations-node/README.md      |  4 +-
 .../src/resource-assertions.ts                | 42 +++++++++----------
 .../instrumentation-socket.io/test/utils.ts   |  4 +-
 .../test/mongodb-v3.test.ts                   | 14 ++++---
 .../test/mongodb-v4.test.ts                   |  6 +--
 .../test/mongodb-v5-v6.test.ts                |  6 +--
 .../test/utils.ts                             | 21 ++++++----
 8 files changed, 66 insertions(+), 62 deletions(-)

diff --git a/incubator/opentelemetry-sampler-aws-xray/README.md b/incubator/opentelemetry-sampler-aws-xray/README.md
index 96852f6ab0..3656050787 100644
--- a/incubator/opentelemetry-sampler-aws-xray/README.md
+++ b/incubator/opentelemetry-sampler-aws-xray/README.md
@@ -19,10 +19,7 @@ const { AWSXRayPropagator } = require("@opentelemetry/propagator-aws-xray");
 const { AWSXRayIdGenerator } = require("@opentelemetry/id-generator-aws-xray");
 
 
-// Initialize resource, trace exporter, span processor, and ID generator
-const _resource = Resource.default().merge(new Resource({
-        [SemanticResourceAttributes.SERVICE_NAME]: "remote-sampler-app",
-    }));
+// Initialize trace exporter, span processor, and ID generator
 const _traceExporter = new OTLPTraceExporter();
 const _spanProcessor = new BatchSpanProcessor(_traceExporter);
 const _tracerConfig = {
@@ -32,19 +29,19 @@ const _tracerConfig = {
 }
 
 const sdk = new opentelemetry.NodeSDK({
-        textMapPropagator: new AWSXRayPropagator(),
-        instrumentations: [
-            new HttpInstrumentation(),
-            new AwsInstrumentation({
-                suppressInternalInstrumentation: true
-            }),
-        ],
-        resource: _resource,
-        spanProcessor: _spanProcessor,
-        traceExporter: _traceExporter,
-    });
-
-    sdk.configureTracerProvider(_tracerConfig, _spanProcessor);
+    serviceName: "remote-sampler-app",
+    textMapPropagator: new AWSXRayPropagator(),
+    instrumentations: [
+        new HttpInstrumentation(),
+        new AwsInstrumentation({
+            suppressInternalInstrumentation: true
+        }),
+    ],
+    spanProcessor: _spanProcessor,
+    traceExporter: _traceExporter,
+});
+
+sdk.configureTracerProvider(_tracerConfig, _spanProcessor);
 
 ```
 
diff --git a/metapackages/auto-instrumentations-node/README.md b/metapackages/auto-instrumentations-node/README.md
index 6d74119d8d..221a0570a5 100644
--- a/metapackages/auto-instrumentations-node/README.md
+++ b/metapackages/auto-instrumentations-node/README.md
@@ -119,14 +119,14 @@ const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
 const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
 const { CollectorTraceExporter } = require('@opentelemetry/exporter-collector');
 const { Resource } = require('@opentelemetry/resources');
-const { SemanticResourceAttributes } = require('@opentelemetry/semantic-conventions');
+const { SEMRESATTRS_SERVICE_NAME } = require('@opentelemetry/semantic-conventions');
 const { SimpleSpanProcessor } = require('@opentelemetry/sdk-trace-base');
 const { registerInstrumentations } = require('@opentelemetry/instrumentation');
 
 const exporter = new CollectorTraceExporter();
 const provider = new NodeTracerProvider({
   resource: new Resource({
-    [SemanticResourceAttributes.SERVICE_NAME]: 'basic-service',
+    [SEMRESATTRS_SERVICE_NAME]: 'basic-service',
   }),
 });
 provider.addSpanProcessor(new SimpleSpanProcessor(exporter));
diff --git a/packages/opentelemetry-test-utils/src/resource-assertions.ts b/packages/opentelemetry-test-utils/src/resource-assertions.ts
index eb248d41d8..51b1419187 100644
--- a/packages/opentelemetry-test-utils/src/resource-assertions.ts
+++ b/packages/opentelemetry-test-utils/src/resource-assertions.ts
@@ -18,7 +18,6 @@ import { SDK_INFO } from '@opentelemetry/core';
 import * as assert from 'assert';
 import { Resource } from '@opentelemetry/resources';
 import {
-  SemanticResourceAttributes,
   SEMRESATTRS_CLOUD_ACCOUNT_ID,
   SEMRESATTRS_CLOUD_AVAILABILITY_ZONE,
   SEMRESATTRS_CLOUD_PROVIDER,
@@ -49,6 +48,7 @@ import {
   SEMRESATTRS_TELEMETRY_SDK_NAME,
   SEMRESATTRS_TELEMETRY_SDK_VERSION,
 } from '@opentelemetry/semantic-conventions';
+import * as semconv from '@opentelemetry/semantic-conventions';
 
 /**
  * Test utility method to validate a cloud resource
@@ -65,7 +65,7 @@ export const assertCloudResource = (
     zone?: string;
   }
 ) => {
-  assertHasOneLabel('CLOUD', resource);
+  assertHasOneLabel('cloud', resource);
   if (validations.provider)
     assert.strictEqual(
       resource.attributes[SEMRESATTRS_CLOUD_PROVIDER],
@@ -103,7 +103,7 @@ export const assertContainerResource = (
     imageTag?: string;
   }
 ) => {
-  assertHasOneLabel('CONTAINER', resource);
+  assertHasOneLabel('container', resource);
   if (validations.name)
     assert.strictEqual(
       resource.attributes[SEMRESATTRS_CONTAINER_NAME],
@@ -143,7 +143,7 @@ export const assertHostResource = (
     imageVersion?: string;
   }
 ) => {
-  assertHasOneLabel('HOST', resource);
+  assertHasOneLabel('host', resource);
   if (validations.id)
     assert.strictEqual(
       resource.attributes[SEMRESATTRS_HOST_ID],
@@ -191,7 +191,7 @@ export const assertK8sResource = (
     deploymentName?: string;
   }
 ) => {
-  assertHasOneLabel('K8S', resource);
+  assertHasOneLabel('k8s', resource);
   if (validations.clusterName)
     assert.strictEqual(
       resource.attributes[SEMRESATTRS_K8S_CLUSTER_NAME],
@@ -335,26 +335,26 @@ export const assertEmptyResource = (resource: Resource) => {
   assert.strictEqual(Object.keys(resource.attributes).length, 0);
 };
 
+/**
+ * Assert that the `resource` has at least one known attribute with the given
+ * `prefix`. By "known", we mean it is an attribute defined in semconv.
+ */
 const assertHasOneLabel = (prefix: string, resource: Resource): void => {
-  const hasOne = Object.entries(SemanticResourceAttributes).find(
-    ([key, value]) => {
-      return (
-        key.startsWith(prefix) &&
-        Object.prototype.hasOwnProperty.call(resource.attributes, value)
-      );
-    }
+  const semconvModPrefix = `SEMRESATTRS_${prefix.toUpperCase()}_`;
+  const knownAttrs: Set<string> = new Set(
+    Object.entries(semconv)
+      .filter(
+        ([k, v]) => typeof v === 'string' && k.startsWith(semconvModPrefix)
+      )
+      .map(([, v]) => v as string)
   );
 
+  const hasAttrs = Object.keys(resource.attributes).filter(k =>
+    knownAttrs.has(k)
+  );
   assert.ok(
-    hasOne,
+    hasAttrs.length > 0,
     'Resource must have one of the following attributes: ' +
-      Object.entries(SemanticResourceAttributes)
-        .reduce((result, [key, value]) => {
-          if (key.startsWith(prefix)) {
-            result.push(value);
-          }
-          return result;
-        })
-        .join(', ')
+      Array.from(knownAttrs).join(', ')
   );
 };
diff --git a/plugins/node/instrumentation-socket.io/test/utils.ts b/plugins/node/instrumentation-socket.io/test/utils.ts
index 86144d5f4d..1561a5ec4e 100644
--- a/plugins/node/instrumentation-socket.io/test/utils.ts
+++ b/plugins/node/instrumentation-socket.io/test/utils.ts
@@ -17,7 +17,7 @@ import { strict as assert } from 'assert';
 import * as http from 'http';
 import { AddressInfo } from 'net';
 
-import { SemanticAttributes } from '@opentelemetry/semantic-conventions';
+import { SEMATTRS_MESSAGING_SYSTEM } from '@opentelemetry/semantic-conventions';
 import { ReadableSpan } from '@opentelemetry/sdk-trace-base';
 import { getTestSpans } from '@opentelemetry/contrib-test-utils';
 
@@ -57,7 +57,7 @@ export const createServerInstance = (server?: http.Server) => {
 
 export const getSocketIoSpans = (): ReadableSpan[] =>
   getTestSpans().filter(
-    s => s.attributes[SemanticAttributes.MESSAGING_SYSTEM] === 'socket.io'
+    s => s.attributes[SEMATTRS_MESSAGING_SYSTEM] === 'socket.io'
   ) as ReadableSpan[];
 
 export const expectSpan = (
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v3.test.ts b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v3.test.ts
index 144c375c68..dba836dc3a 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v3.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v3.test.ts
@@ -33,7 +33,11 @@ const instrumentation = registerInstrumentationTesting(
 
 import type { MongoClient, Collection } from 'mongodb';
 import { assertSpans, accessCollection, DEFAULT_MONGO_HOST } from './utils';
-import { SemanticAttributes } from '@opentelemetry/semantic-conventions';
+import {
+  SEMATTRS_DB_STATEMENT,
+  SEMATTRS_NET_PEER_NAME,
+  SEMATTRS_NET_PEER_PORT,
+} from '@opentelemetry/semantic-conventions';
 
 describe('MongoDBInstrumentation-Tracing-v3', () => {
   function create(config: MongoDBInstrumentationConfig = {}) {
@@ -295,7 +299,7 @@ describe('MongoDBInstrumentation-Tracing-v3', () => {
             );
             const mongoSpan = spans.find(s => s.name === operationName);
             const dbStatement = JSON.parse(
-              mongoSpan!.attributes[SemanticAttributes.DB_STATEMENT] as string
+              mongoSpan!.attributes[SEMATTRS_DB_STATEMENT] as string
             );
             assert.strictEqual(dbStatement[key], '?');
             done();
@@ -341,7 +345,7 @@ describe('MongoDBInstrumentation-Tracing-v3', () => {
               );
               const mongoSpan = spans.find(s => s.name === operationName);
               const dbStatement = JSON.parse(
-                mongoSpan!.attributes[SemanticAttributes.DB_STATEMENT] as string
+                mongoSpan!.attributes[SEMATTRS_DB_STATEMENT] as string
               );
               assert.strictEqual(dbStatement[key], value);
               done();
@@ -580,11 +584,11 @@ describe('MongoDBInstrumentation-Tracing-v3', () => {
             (err, address) => {
               if (err) return done(err);
               assert.strictEqual(
-                mongoSpan.attributes[SemanticAttributes.NET_PEER_NAME],
+                mongoSpan.attributes[SEMATTRS_NET_PEER_NAME],
                 address
               );
               assert.strictEqual(
-                mongoSpan.attributes[SemanticAttributes.NET_PEER_PORT],
+                mongoSpan.attributes[SEMATTRS_NET_PEER_PORT],
                 process.env.MONGODB_PORT
                   ? parseInt(process.env.MONGODB_PORT)
                   : 27017
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v4.test.ts b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v4.test.ts
index 1a8af5f081..df2c48be5f 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v4.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v4.test.ts
@@ -35,7 +35,7 @@ const instrumentation = registerInstrumentationTesting(
 
 import type { MongoClient, Collection } from 'mongodb';
 import { assertSpans, accessCollection, DEFAULT_MONGO_HOST } from './utils';
-import { SemanticAttributes } from '@opentelemetry/semantic-conventions';
+import { SEMATTRS_DB_STATEMENT } from '@opentelemetry/semantic-conventions';
 
 describe('MongoDBInstrumentation-Tracing-v4', () => {
   function create(config: MongoDBInstrumentationConfig = {}) {
@@ -334,7 +334,7 @@ describe('MongoDBInstrumentation-Tracing-v4', () => {
             );
             const mongoSpan = spans.find(s => s.name === operationName);
             const dbStatement = JSON.parse(
-              mongoSpan!.attributes[SemanticAttributes.DB_STATEMENT] as string
+              mongoSpan!.attributes[SEMATTRS_DB_STATEMENT] as string
             );
             assert.strictEqual(dbStatement[key], '?');
             done();
@@ -380,7 +380,7 @@ describe('MongoDBInstrumentation-Tracing-v4', () => {
               );
               const mongoSpan = spans.find(s => s.name === operationName);
               const dbStatement = JSON.parse(
-                mongoSpan!.attributes[SemanticAttributes.DB_STATEMENT] as string
+                mongoSpan!.attributes[SEMATTRS_DB_STATEMENT] as string
               );
               assert.strictEqual(dbStatement[key], value);
               done();
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v5-v6.test.ts b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v5-v6.test.ts
index be6ac80ee0..546aba2e31 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v5-v6.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v5-v6.test.ts
@@ -44,7 +44,7 @@ let instrumentation: MongoDBInstrumentation;
 
 import type { MongoClient, Collection } from 'mongodb';
 import { assertSpans, accessCollection, DEFAULT_MONGO_HOST } from './utils';
-import { SemanticAttributes } from '@opentelemetry/semantic-conventions';
+import { SEMATTRS_DB_STATEMENT } from '@opentelemetry/semantic-conventions';
 
 describe('MongoDBInstrumentation-Tracing-v5', () => {
   function create(config: MongoDBInstrumentationConfig = {}) {
@@ -337,7 +337,7 @@ describe('MongoDBInstrumentation-Tracing-v5', () => {
             );
             const mongoSpan = spans.find(s => s.name === operationName);
             const dbStatement = JSON.parse(
-              mongoSpan!.attributes[SemanticAttributes.DB_STATEMENT] as string
+              mongoSpan!.attributes[SEMATTRS_DB_STATEMENT] as string
             );
             assert.strictEqual(dbStatement[key], '?');
             done();
@@ -383,7 +383,7 @@ describe('MongoDBInstrumentation-Tracing-v5', () => {
               );
               const mongoSpan = spans.find(s => s.name === operationName);
               const dbStatement = JSON.parse(
-                mongoSpan!.attributes[SemanticAttributes.DB_STATEMENT] as string
+                mongoSpan!.attributes[SEMATTRS_DB_STATEMENT] as string
               );
               assert.strictEqual(dbStatement[key], value);
               done();
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/test/utils.ts b/plugins/node/opentelemetry-instrumentation-mongodb/test/utils.ts
index a158cc9b16..07ce789975 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/test/utils.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/test/utils.ts
@@ -15,7 +15,13 @@
  */
 
 import { SpanKind, SpanStatusCode } from '@opentelemetry/api';
-import { SemanticAttributes } from '@opentelemetry/semantic-conventions';
+import {
+  SEMATTRS_DB_CONNECTION_STRING,
+  SEMATTRS_DB_OPERATION,
+  SEMATTRS_DB_STATEMENT,
+  SEMATTRS_DB_SYSTEM,
+  SEMATTRS_NET_PEER_NAME,
+} from '@opentelemetry/semantic-conventions';
 import { ReadableSpan } from '@opentelemetry/sdk-trace-base';
 import * as assert from 'assert';
 import type { MongoClient, MongoClientOptions, Collection } from 'mongodb';
@@ -93,28 +99,25 @@ export function assertSpans(
   assert.strictEqual(mongoSpan.name, expectedName);
   assert.strictEqual(mongoSpan.kind, expectedKind);
   assert.strictEqual(
-    mongoSpan.attributes[SemanticAttributes.DB_OPERATION],
+    mongoSpan.attributes[SEMATTRS_DB_OPERATION],
     expectedOperation
   );
+  assert.strictEqual(mongoSpan.attributes[SEMATTRS_DB_SYSTEM], 'mongodb');
   assert.strictEqual(
-    mongoSpan.attributes[SemanticAttributes.DB_SYSTEM],
-    'mongodb'
-  );
-  assert.strictEqual(
-    mongoSpan.attributes[SemanticAttributes.NET_PEER_NAME],
+    mongoSpan.attributes[SEMATTRS_NET_PEER_NAME],
     process.env.MONGODB_HOST || DEFAULT_MONGO_HOST
   );
   assert.strictEqual(mongoSpan.status.code, SpanStatusCode.UNSET);
   if (expectedConnString) {
     assert.strictEqual(
-      mongoSpan.attributes[SemanticAttributes.DB_CONNECTION_STRING],
+      mongoSpan.attributes[SEMATTRS_DB_CONNECTION_STRING],
       expectedConnString
     );
   }
 
   if (isEnhancedDatabaseReportingEnabled) {
     const dbStatement = JSON.parse(
-      mongoSpan.attributes[SemanticAttributes.DB_STATEMENT] as string
+      mongoSpan.attributes[SEMATTRS_DB_STATEMENT] as string
     );
     for (const key in dbStatement) {
       assert.notStrictEqual(dbStatement[key], '?');

From 0cef9fa95d065489b7349bfa0150ff858ed59157 Mon Sep 17 00:00:00 2001
From: Amir Blum <amirgiraffe@gmail.com>
Date: Thu, 23 May 2024 10:23:25 +0300
Subject: [PATCH 010/123] refactor: use package json auto generated export also
 for npm package name (#2203)

* refactor: rename VERSION to NPM_PACKAGE_VERSION

* refactor: use auto-generated NPM_PACKAGE_NAME

* fix: remove the NPM_ prefix from the auto generated names

* fix: use PACKAGE_NAME in host-metrics

* chore: apply also for new instrumentation kafkajs
---
 packages/opentelemetry-host-metrics/src/BaseMetrics.ts    | 6 +++---
 .../winston-transport/src/OpenTelemetryTransportV3.ts     | 4 ++--
 plugins/node/instrumentation-amqplib/src/amqplib.ts       | 6 +++---
 .../node/instrumentation-cucumber/src/instrumentation.ts  | 4 ++--
 .../instrumentation-dataloader/src/instrumentation.ts     | 4 ++--
 plugins/node/instrumentation-fs/src/instrumentation.ts    | 4 ++--
 .../node/instrumentation-kafkajs/src/instrumentation.ts   | 4 ++--
 .../instrumentation-lru-memoizer/src/instrumentation.ts   | 4 ++--
 plugins/node/instrumentation-mongoose/src/mongoose.ts     | 4 ++--
 .../instrumentation-runtime-node/src/instrumentation.ts   | 6 +++---
 plugins/node/instrumentation-socket.io/src/socket.io.ts   | 8 ++------
 .../node/instrumentation-tedious/src/instrumentation.ts   | 4 ++--
 plugins/node/instrumentation-undici/src/undici.ts         | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts  | 4 ++--
 .../src/OpenTelemetryBunyanStream.ts                      | 7 +++----
 .../src/instrumentation.ts                                | 6 +++---
 .../test/bunyan.test.ts                                   | 6 +++---
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 6 +++---
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 6 +++---
 .../src/instrumentation.ts                                | 6 +++---
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 6 +++---
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 8 ++------
 .../src/instrumentation.ts                                | 8 ++------
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 4 ++--
 .../src/instrumentation.ts                                | 6 +++---
 .../src/instrumentation.ts                                | 6 +++---
 .../src/BaseOpenTelemetryComponent.ts                     | 8 ++++----
 scripts/version-update.js                                 | 3 ++-
 47 files changed, 108 insertions(+), 120 deletions(-)

diff --git a/packages/opentelemetry-host-metrics/src/BaseMetrics.ts b/packages/opentelemetry-host-metrics/src/BaseMetrics.ts
index fa9453ff22..f314f79282 100644
--- a/packages/opentelemetry-host-metrics/src/BaseMetrics.ts
+++ b/packages/opentelemetry-host-metrics/src/BaseMetrics.ts
@@ -17,7 +17,7 @@
 import * as api from '@opentelemetry/api';
 import * as metrics from '@opentelemetry/sdk-metrics';
 
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 /**
  * Metrics Collector Configuration
@@ -33,7 +33,7 @@ export interface MetricsCollectorConfig {
   url?: string;
 }
 
-const DEFAULT_NAME = '@opentelemetry/host-metrics';
+const DEFAULT_NAME = PACKAGE_NAME;
 
 /**
  * Base Class for metrics
@@ -50,7 +50,7 @@ export abstract class BaseMetrics {
     if (!config.meterProvider) {
       this._logger.warn('No meter provider, using default');
     }
-    this._meter = meterProvider.getMeter(this._name, VERSION);
+    this._meter = meterProvider.getMeter(this._name, PACKAGE_VERSION);
   }
 
   /**
diff --git a/packages/winston-transport/src/OpenTelemetryTransportV3.ts b/packages/winston-transport/src/OpenTelemetryTransportV3.ts
index a7e164adce..e3a93b1b57 100644
--- a/packages/winston-transport/src/OpenTelemetryTransportV3.ts
+++ b/packages/winston-transport/src/OpenTelemetryTransportV3.ts
@@ -16,7 +16,7 @@
 
 import { Logger, logs } from '@opentelemetry/api-logs';
 import TransportStream = require('winston-transport');
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { emitLogRecord } from './utils';
 
 export class OpenTelemetryTransportV3 extends TransportStream {
@@ -24,7 +24,7 @@ export class OpenTelemetryTransportV3 extends TransportStream {
 
   constructor(options?: TransportStream.TransportStreamOptions) {
     super(options);
-    this._logger = logs.getLogger('@opentelemetry/winston-transport', VERSION);
+    this._logger = logs.getLogger(PACKAGE_NAME, PACKAGE_VERSION);
   }
 
   public override log(info: any, callback: () => void) {
diff --git a/plugins/node/instrumentation-amqplib/src/amqplib.ts b/plugins/node/instrumentation-amqplib/src/amqplib.ts
index c81e2b51a3..6cca9bfd80 100644
--- a/plugins/node/instrumentation-amqplib/src/amqplib.ts
+++ b/plugins/node/instrumentation-amqplib/src/amqplib.ts
@@ -72,15 +72,15 @@ import {
   normalizeExchange,
   unmarkConfirmChannelTracing,
 } from './utils';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 export class AmqplibInstrumentation extends InstrumentationBase {
   protected override _config!: AmqplibInstrumentationConfig;
 
   constructor(config: AmqplibInstrumentationConfig = {}) {
     super(
-      '@opentelemetry/instrumentation-amqplib',
-      VERSION,
+      PACKAGE_NAME,
+      PACKAGE_VERSION,
       Object.assign({}, DEFAULT_CONFIG, config)
     );
   }
diff --git a/plugins/node/instrumentation-cucumber/src/instrumentation.ts b/plugins/node/instrumentation-cucumber/src/instrumentation.ts
index 255b2a297c..42962feb78 100644
--- a/plugins/node/instrumentation-cucumber/src/instrumentation.ts
+++ b/plugins/node/instrumentation-cucumber/src/instrumentation.ts
@@ -38,7 +38,7 @@ import type {
 } from '@cucumber/cucumber/lib/support_code_library_builder/types';
 
 import { AttributeNames, CucumberInstrumentationConfig } from './types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 const hooks = ['Before', 'BeforeStep', 'AfterStep', 'After'] as const;
 const steps = ['Given', 'When', 'Then'] as const;
@@ -50,7 +50,7 @@ export class CucumberInstrumentation extends InstrumentationBase {
   private module: Cucumber | undefined;
 
   constructor(config: CucumberInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-cucumber', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   init(): InstrumentationNodeModuleDefinition[] {
diff --git a/plugins/node/instrumentation-dataloader/src/instrumentation.ts b/plugins/node/instrumentation-dataloader/src/instrumentation.ts
index adabc3c36d..ecfa6ac9aa 100644
--- a/plugins/node/instrumentation-dataloader/src/instrumentation.ts
+++ b/plugins/node/instrumentation-dataloader/src/instrumentation.ts
@@ -27,7 +27,7 @@ import {
   SpanKind,
 } from '@opentelemetry/api';
 import { DataloaderInstrumentationConfig } from './types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import type * as Dataloader from 'dataloader';
 
 const MODULE_NAME = 'dataloader';
@@ -45,7 +45,7 @@ type LoadManyFn = (typeof Dataloader.prototype)['loadMany'];
 
 export class DataloaderInstrumentation extends InstrumentationBase {
   constructor(config: DataloaderInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-dataloader', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   protected init() {
diff --git a/plugins/node/instrumentation-fs/src/instrumentation.ts b/plugins/node/instrumentation-fs/src/instrumentation.ts
index 08490f496b..57db632a0e 100644
--- a/plugins/node/instrumentation-fs/src/instrumentation.ts
+++ b/plugins/node/instrumentation-fs/src/instrumentation.ts
@@ -21,7 +21,7 @@ import {
   InstrumentationNodeModuleDefinition,
   isWrapped,
 } from '@opentelemetry/instrumentation';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import {
   CALLBACK_FUNCTIONS,
   PROMISE_FUNCTIONS,
@@ -53,7 +53,7 @@ function patchedFunctionWithOriginalProperties<
 
 export default class FsInstrumentation extends InstrumentationBase {
   constructor(config: FsInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-fs', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   init(): (
diff --git a/plugins/node/instrumentation-kafkajs/src/instrumentation.ts b/plugins/node/instrumentation-kafkajs/src/instrumentation.ts
index 09762e8e6f..ed3eeeea27 100644
--- a/plugins/node/instrumentation-kafkajs/src/instrumentation.ts
+++ b/plugins/node/instrumentation-kafkajs/src/instrumentation.ts
@@ -44,7 +44,7 @@ import type {
   Consumer,
 } from 'kafkajs';
 import { KafkaJsInstrumentationConfig } from './types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { bufferTextMapGetter } from './propagator';
 import {
   InstrumentationBase,
@@ -57,7 +57,7 @@ export class KafkaJsInstrumentation extends InstrumentationBase {
   protected override _config!: KafkaJsInstrumentationConfig;
 
   constructor(config: KafkaJsInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-kafkajs', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   protected init() {
diff --git a/plugins/node/instrumentation-lru-memoizer/src/instrumentation.ts b/plugins/node/instrumentation-lru-memoizer/src/instrumentation.ts
index 09112043d2..6224fe7edf 100644
--- a/plugins/node/instrumentation-lru-memoizer/src/instrumentation.ts
+++ b/plugins/node/instrumentation-lru-memoizer/src/instrumentation.ts
@@ -20,11 +20,11 @@ import {
   InstrumentationConfig,
   InstrumentationNodeModuleDefinition,
 } from '@opentelemetry/instrumentation';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 export default class LruMemoizerInstrumentation extends InstrumentationBase {
   constructor(config: InstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-lru-memoizer', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   init(): InstrumentationNodeModuleDefinition[] {
diff --git a/plugins/node/instrumentation-mongoose/src/mongoose.ts b/plugins/node/instrumentation-mongoose/src/mongoose.ts
index ff76b33735..0cd136f4fa 100644
--- a/plugins/node/instrumentation-mongoose/src/mongoose.ts
+++ b/plugins/node/instrumentation-mongoose/src/mongoose.ts
@@ -27,7 +27,7 @@ import {
   InstrumentationModuleDefinition,
   InstrumentationNodeModuleDefinition,
 } from '@opentelemetry/instrumentation';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import {
   SEMATTRS_DB_OPERATION,
   SEMATTRS_DB_STATEMENT,
@@ -61,7 +61,7 @@ export class MongooseInstrumentation extends InstrumentationBase {
   protected override _config!: MongooseInstrumentationConfig;
 
   constructor(config: MongooseInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-mongoose', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   override setConfig(config: MongooseInstrumentationConfig = {}) {
diff --git a/plugins/node/instrumentation-runtime-node/src/instrumentation.ts b/plugins/node/instrumentation-runtime-node/src/instrumentation.ts
index c7733e2de4..ba26129590 100644
--- a/plugins/node/instrumentation-runtime-node/src/instrumentation.ts
+++ b/plugins/node/instrumentation-runtime-node/src/instrumentation.ts
@@ -18,7 +18,7 @@ const { eventLoopUtilization } = performance;
 
 import { InstrumentationBase } from '@opentelemetry/instrumentation';
 
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { RuntimeNodeInstrumentationConfig } from './types';
 
 const ELUS_LENGTH = 2;
@@ -32,8 +32,8 @@ export class RuntimeNodeInstrumentation extends InstrumentationBase {
 
   constructor(config: RuntimeNodeInstrumentationConfig = {}) {
     super(
-      '@opentelemetry/instrumentation-runtime-node',
-      VERSION,
+      PACKAGE_NAME,
+      PACKAGE_VERSION,
       Object.assign({}, DEFAULT_CONFIG, config)
     );
   }
diff --git a/plugins/node/instrumentation-socket.io/src/socket.io.ts b/plugins/node/instrumentation-socket.io/src/socket.io.ts
index 5ed289c65b..9f8de7b534 100644
--- a/plugins/node/instrumentation-socket.io/src/socket.io.ts
+++ b/plugins/node/instrumentation-socket.io/src/socket.io.ts
@@ -37,7 +37,7 @@ import {
 } from '@opentelemetry/semantic-conventions';
 import { SocketIoInstrumentationConfig } from './types';
 import { SocketIoInstrumentationAttributes } from './AttributeNames';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import {
   extractRoomsAttributeValue,
   isPromise,
@@ -57,11 +57,7 @@ export class SocketIoInstrumentation extends InstrumentationBase {
   protected override _config!: SocketIoInstrumentationConfig;
 
   constructor(config: SocketIoInstrumentationConfig = {}) {
-    super(
-      '@opentelemetry/instrumentation-socket.io',
-      VERSION,
-      normalizeConfig(config)
-    );
+    super(PACKAGE_NAME, PACKAGE_VERSION, normalizeConfig(config));
   }
 
   protected init() {
diff --git a/plugins/node/instrumentation-tedious/src/instrumentation.ts b/plugins/node/instrumentation-tedious/src/instrumentation.ts
index b544ac9fe9..f701451421 100644
--- a/plugins/node/instrumentation-tedious/src/instrumentation.ts
+++ b/plugins/node/instrumentation-tedious/src/instrumentation.ts
@@ -34,7 +34,7 @@ import {
 import type * as tedious from 'tedious';
 import { TediousInstrumentationConfig } from './types';
 import { getSpanName, once } from './utils';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 const CURRENT_DATABASE = Symbol(
   'opentelemetry.instrumentation-tedious.current-database'
@@ -71,7 +71,7 @@ export class TediousInstrumentation extends InstrumentationBase {
   static readonly COMPONENT = 'tedious';
 
   constructor(config: TediousInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-tedious', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   protected init() {
diff --git a/plugins/node/instrumentation-undici/src/undici.ts b/plugins/node/instrumentation-undici/src/undici.ts
index ececad63c7..aa89c4f4ea 100644
--- a/plugins/node/instrumentation-undici/src/undici.ts
+++ b/plugins/node/instrumentation-undici/src/undici.ts
@@ -34,7 +34,7 @@ import {
   ValueType,
 } from '@opentelemetry/api';
 
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 import {
   ListenerRecord,
@@ -67,7 +67,7 @@ export class UndiciInstrumentation extends InstrumentationBase {
 
   private _httpClientDurationHistogram!: Histogram;
   constructor(config: UndiciInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-undici', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
     this.setConfig(config);
   }
 
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-aws-lambda/src/instrumentation.ts
index 6d475f91dc..0d8eb8a5e2 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/src/instrumentation.ts
@@ -57,7 +57,7 @@ import {
 } from 'aws-lambda';
 
 import { AwsLambdaInstrumentationConfig, EventContextExtractor } from './types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { env } from 'process';
 import { LambdaModule } from './internal-types';
 
@@ -80,7 +80,7 @@ export class AwsLambdaInstrumentation extends InstrumentationBase {
   protected override _config!: AwsLambdaInstrumentationConfig;
 
   constructor(config: AwsLambdaInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-aws-lambda', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
     if (this._config.disableAwsContextPropagation == null) {
       if (
         typeof env['OTEL_LAMBDA_DISABLE_AWS_CONTEXT_PROPAGATION'] ===
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts b/plugins/node/opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts
index d20d480180..cca362e293 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts
@@ -33,7 +33,7 @@ import {
   NormalizedRequest,
   NormalizedResponse,
 } from './types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import {
   InstrumentationBase,
   InstrumentationModuleDefinition,
@@ -78,7 +78,7 @@ export class AwsInstrumentation extends InstrumentationBase {
   private servicesExtensions: ServicesExtensions = new ServicesExtensions();
 
   constructor(config: AwsSdkInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-aws-sdk', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   override setConfig(config: AwsSdkInstrumentationConfig = {}) {
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/src/OpenTelemetryBunyanStream.ts b/plugins/node/opentelemetry-instrumentation-bunyan/src/OpenTelemetryBunyanStream.ts
index 8b3d1c8977..c82f967372 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/src/OpenTelemetryBunyanStream.ts
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/src/OpenTelemetryBunyanStream.ts
@@ -16,11 +16,10 @@
 
 import { logs, SeverityNumber, Logger } from '@opentelemetry/api-logs';
 import type { LogLevelString } from 'bunyan';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
-const DEFAULT_INSTRUMENTATION_SCOPE_NAME =
-  '@opentelemetry/instrumentation-bunyan';
-const DEFAULT_INSTRUMENTATION_SCOPE_VERSION = VERSION;
+const DEFAULT_INSTRUMENTATION_SCOPE_NAME = PACKAGE_NAME;
+const DEFAULT_INSTRUMENTATION_SCOPE_VERSION = PACKAGE_VERSION;
 
 // This block is a copy (modulo code style and TypeScript types) of the Bunyan
 // code that defines log level value and names. These values won't ever change
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts
index 0f218787ea..c2eb53bb58 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts
@@ -22,7 +22,7 @@ import {
   safeExecuteInTheMiddle,
 } from '@opentelemetry/instrumentation';
 import { BunyanInstrumentationConfig } from './types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { OpenTelemetryBunyanStream } from './OpenTelemetryBunyanStream';
 import type * as BunyanLogger from 'bunyan';
 import { SeverityNumber } from '@opentelemetry/api-logs';
@@ -35,8 +35,8 @@ const DEFAULT_CONFIG: BunyanInstrumentationConfig = {
 export class BunyanInstrumentation extends InstrumentationBase {
   constructor(config: BunyanInstrumentationConfig = {}) {
     super(
-      '@opentelemetry/instrumentation-bunyan',
-      VERSION,
+      PACKAGE_NAME,
+      PACKAGE_VERSION,
       Object.assign({}, DEFAULT_CONFIG, config)
     );
   }
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/test/bunyan.test.ts b/plugins/node/opentelemetry-instrumentation-bunyan/test/bunyan.test.ts
index deaf2fb1e7..b26c290b97 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/test/bunyan.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/test/bunyan.test.ts
@@ -33,7 +33,7 @@ import * as assert from 'assert';
 import * as sinon from 'sinon';
 import { Writable } from 'stream';
 import { BunyanInstrumentation, OpenTelemetryBunyanStream } from '../src';
-import { VERSION } from '../src/version';
+import { PACKAGE_VERSION } from '../src/version';
 
 import type * as BunyanLogger from 'bunyan';
 
@@ -219,7 +219,7 @@ describe('BunyanInstrumentation', () => {
         rec.instrumentationScope.name,
         '@opentelemetry/instrumentation-bunyan'
       );
-      assert.strictEqual(rec.instrumentationScope.version, VERSION);
+      assert.strictEqual(rec.instrumentationScope.version, PACKAGE_VERSION);
       assert.strictEqual(rec.spanContext, undefined);
 
       // spanContext
@@ -519,7 +519,7 @@ describe('OpenTelemetryBunyanStream', () => {
       rec.instrumentationScope.name,
       '@opentelemetry/instrumentation-bunyan'
     );
-    assert.strictEqual(rec.instrumentationScope.version, VERSION);
+    assert.strictEqual(rec.instrumentationScope.version, PACKAGE_VERSION);
     assert.strictEqual(rec.spanContext, undefined);
 
     // spanContext
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts
index f11ffab83e..3d90300b9c 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts
@@ -39,7 +39,7 @@ import {
   SEMATTRS_NET_PEER_NAME,
   SEMATTRS_NET_PEER_PORT,
 } from '@opentelemetry/semantic-conventions';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { EventEmitter } from 'events';
 import type * as CassandraDriver from 'cassandra-driver';
 
@@ -49,7 +49,7 @@ export class CassandraDriverInstrumentation extends InstrumentationBase {
   protected override _config!: CassandraDriverInstrumentationConfig;
 
   constructor(config: CassandraDriverInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-cassandra-driver', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   protected init() {
diff --git a/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts
index 5b57f5f7bb..0c1fde4956 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts
@@ -24,7 +24,7 @@ import {
   ConnectTypes,
 } from './enums/AttributeNames';
 import { PatchedRequest, Use, UseArgs, UseArgs2 } from './internal-types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import {
   InstrumentationBase,
   InstrumentationConfig,
@@ -43,7 +43,7 @@ export const ANONYMOUS_NAME = 'anonymous';
 /** Connect instrumentation for OpenTelemetry */
 export class ConnectInstrumentation extends InstrumentationBase {
   constructor(config: InstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-connect', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   init() {
diff --git a/plugins/node/opentelemetry-instrumentation-dns/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-dns/src/instrumentation.ts
index 0be1211a60..ae97438ddb 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-dns/src/instrumentation.ts
@@ -27,7 +27,7 @@ import {
 import { AddressFamily } from './enums/AddressFamily';
 import { DnsInstrumentationConfig } from './types';
 import * as utils from './utils';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import {
   LookupCallbackSignature,
   LookupPromiseSignature,
@@ -40,7 +40,7 @@ export class DnsInstrumentation extends InstrumentationBase {
   protected override _config!: DnsInstrumentationConfig;
 
   constructor(config: DnsInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-dns', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   init(): (
diff --git a/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
index 76da7ffe5f..8337a17427 100644
--- a/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
@@ -33,7 +33,7 @@ import {
   isLayerIgnored,
   storeLayerPath,
 } from './utils';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import {
   InstrumentationBase,
   InstrumentationNodeModuleDefinition,
@@ -52,7 +52,7 @@ import {
 /** Express instrumentation for OpenTelemetry */
 export class ExpressInstrumentation extends InstrumentationBase {
   constructor(config: ExpressInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-express', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   override setConfig(config: ExpressInstrumentationConfig = {}) {
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts
index 208a2e09a5..34871ee978 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts
@@ -41,14 +41,14 @@ import {
   safeExecuteInTheMiddleMaybePromise,
   startSpan,
 } from './utils';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 export const ANONYMOUS_NAME = 'anonymous';
 
 /** Fastify instrumentation for OpenTelemetry */
 export class FastifyInstrumentation extends InstrumentationBase {
   constructor(config: FastifyInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-fastify', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   override setConfig(config: FastifyInstrumentationConfig = {}) {
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts
index adefe5a7be..08b31e5eb1 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts
@@ -24,7 +24,7 @@ import {
 
 import type * as genericPool from 'generic-pool';
 
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 const MODULE_NAME = 'generic-pool';
 
@@ -33,7 +33,7 @@ export default class Instrumentation extends InstrumentationBase {
   private _isDisabled = false;
 
   constructor(config: InstrumentationConfig = {}) {
-    super(`@opentelemetry/instrumentation-${MODULE_NAME}`, VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   init() {
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-graphql/src/instrumentation.ts
index 32fc2f4507..e6e55cf118 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-graphql/src/instrumentation.ts
@@ -49,7 +49,7 @@ import {
   wrapFields,
 } from './utils';
 
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import * as api from '@opentelemetry/api';
 import type { PromiseOrValue } from 'graphql/jsutils/PromiseOrValue';
 import { GraphQLInstrumentationConfig } from './types';
@@ -66,8 +66,8 @@ const supportedVersions = ['>=14 <17'];
 export class GraphQLInstrumentation extends InstrumentationBase {
   constructor(config: GraphQLInstrumentationConfig = {}) {
     super(
-      '@opentelemetry/instrumentation-graphql',
-      VERSION,
+      PACKAGE_NAME,
+      PACKAGE_VERSION,
       Object.assign({}, DEFAULT_CONFIG, config)
     );
   }
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-hapi/src/instrumentation.ts
index 0b18fc5dfd..8fd9442974 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-hapi/src/instrumentation.ts
@@ -24,7 +24,7 @@ import {
 } from '@opentelemetry/instrumentation';
 
 import type * as Hapi from '@hapi/hapi';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import {
   HapiComponentName,
   HapiServerRouteInput,
@@ -50,7 +50,7 @@ import {
 /** Hapi instrumentation for OpenTelemetry */
 export class HapiInstrumentation extends InstrumentationBase {
   constructor(config: InstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-hapi', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   protected init() {
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-ioredis/src/instrumentation.ts
index 34930c354b..abf9e2c5e8 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/src/instrumentation.ts
@@ -33,7 +33,7 @@ import {
 import { safeExecuteInTheMiddle } from '@opentelemetry/instrumentation';
 import { endSpan } from './utils';
 import { defaultDbStatementSerializer } from '@opentelemetry/redis-common';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 const DEFAULT_CONFIG: IORedisInstrumentationConfig = {
   requireParentSpan: true,
@@ -44,8 +44,8 @@ export class IORedisInstrumentation extends InstrumentationBase {
 
   constructor(config: IORedisInstrumentationConfig = {}) {
     super(
-      '@opentelemetry/instrumentation-ioredis',
-      VERSION,
+      PACKAGE_NAME,
+      PACKAGE_VERSION,
       Object.assign({}, DEFAULT_CONFIG, config)
     );
   }
diff --git a/plugins/node/opentelemetry-instrumentation-knex/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-knex/src/instrumentation.ts
index 762b9d1455..c80ebbe55c 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-knex/src/instrumentation.ts
@@ -15,7 +15,7 @@
  */
 
 import * as api from '@opentelemetry/api';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import * as constants from './constants';
 import {
   InstrumentationBase,
@@ -45,8 +45,8 @@ const DEFAULT_CONFIG: types.KnexInstrumentationConfig = {
 export class KnexInstrumentation extends InstrumentationBase {
   constructor(config: types.KnexInstrumentationConfig = {}) {
     super(
-      `@opentelemetry/instrumentation-${constants.MODULE_NAME}`,
-      VERSION,
+      PACKAGE_NAME,
+      PACKAGE_VERSION,
       Object.assign({}, DEFAULT_CONFIG, config)
     );
   }
diff --git a/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts
index ab6c2927be..0598850569 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts
@@ -24,7 +24,7 @@ import {
 
 import type * as koa from 'koa';
 import { KoaContext, KoaLayerType, KoaInstrumentationConfig } from './types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { getMiddlewareMetadata, isLayerIgnored } from './utils';
 import { getRPCMetadata, RPCType } from '@opentelemetry/core';
 import {
@@ -36,7 +36,7 @@ import {
 /** Koa instrumentation for OpenTelemetry */
 export class KoaInstrumentation extends InstrumentationBase {
   constructor(config: KoaInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-koa', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   override setConfig(config: KoaInstrumentationConfig = {}) {
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts
index b72ab76896..600179254b 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts
@@ -29,7 +29,7 @@ import {
 } from '@opentelemetry/semantic-conventions';
 import * as utils from './utils';
 import { InstrumentationConfig } from './types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 export class Instrumentation extends InstrumentationBase {
   static readonly COMPONENT = 'memcached';
@@ -42,8 +42,8 @@ export class Instrumentation extends InstrumentationBase {
 
   constructor(config: InstrumentationConfig = {}) {
     super(
-      '@opentelemetry/instrumentation-memcached',
-      VERSION,
+      PACKAGE_NAME,
+      PACKAGE_VERSION,
       Object.assign({}, Instrumentation.DEFAULT_CONFIG, config)
     );
   }
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
index 7f9fa8e9c3..a1417a9487 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
@@ -50,7 +50,7 @@ import {
   V4ConnectionPool,
 } from './internal-types';
 import { V4Connect, V4Session } from './internal-types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { UpDownCounter } from '@opentelemetry/api';
 
 /** mongodb instrumentation plugin for OpenTelemetry */
@@ -61,7 +61,7 @@ export class MongoDBInstrumentation extends InstrumentationBase {
   protected override _config!: MongoDBInstrumentationConfig;
 
   constructor(config: MongoDBInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-mongodb', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   override _updateMetricInstruments() {
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-mysql/src/instrumentation.ts
index cf43c406e6..11eab4bf93 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-mysql/src/instrumentation.ts
@@ -42,7 +42,7 @@ import {
   getSpanName,
   getPoolName,
 } from './utils';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { UpDownCounter, MeterProvider } from '@opentelemetry/api';
 
 type getConnectionCallbackType = (
@@ -57,7 +57,7 @@ export class MySQLInstrumentation extends InstrumentationBase {
   private _connectionsUsage!: UpDownCounter;
 
   constructor(config: MySQLInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-mysql', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
     this._setMetricInstruments();
   }
 
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-mysql2/src/instrumentation.ts
index ade7fd117f..38f2ce8bd3 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/src/instrumentation.ts
@@ -35,7 +35,7 @@ import {
   getSpanName,
   once,
 } from './utils';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 type formatType = typeof mysqlTypes.format;
 
@@ -45,7 +45,7 @@ export class MySQL2Instrumentation extends InstrumentationBase {
   };
 
   constructor(config: MySQL2InstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-mysql2', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   protected init() {
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-nestjs-core/src/instrumentation.ts
index 9f90a7c1b8..a7b2380250 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/src/instrumentation.ts
@@ -25,12 +25,12 @@ import {
 import type { NestFactory } from '@nestjs/core/nest-factory.js';
 import type { RouterExecutionContext } from '@nestjs/core/router/router-execution-context.js';
 import type { Controller } from '@nestjs/common/interfaces';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import {
   SEMATTRS_HTTP_METHOD,
   SEMATTRS_HTTP_ROUTE,
   SEMATTRS_HTTP_URL,
 } from '@opentelemetry/semantic-conventions';
-import { VERSION } from './version';
 import { AttributeNames, NestType } from './enums';
 
 export class Instrumentation extends InstrumentationBase {
@@ -40,7 +40,7 @@ export class Instrumentation extends InstrumentationBase {
   };
 
   constructor(config: InstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-nestjs-core', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   init() {
diff --git a/plugins/node/opentelemetry-instrumentation-net/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-net/src/instrumentation.ts
index 1cac375019..567df7dee3 100644
--- a/plugins/node/opentelemetry-instrumentation-net/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-net/src/instrumentation.ts
@@ -34,14 +34,14 @@ import {
 import { TLSAttributes } from './types';
 import { NormalizedOptions, SocketEvent } from './internal-types';
 import { getNormalizedArgs, IPC_TRANSPORT } from './utils';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { Socket } from 'net';
 import { TLSSocket } from 'tls';
 import type * as net from 'net';
 
 export class NetInstrumentation extends InstrumentationBase {
   constructor(config: InstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-net', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   init(): InstrumentationNodeModuleDefinition[] {
diff --git a/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
index 38ccad0fe4..c6bee00999 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
@@ -39,12 +39,12 @@ import {
 import { PgInstrumentationConfig } from './types';
 import * as utils from './utils';
 import { addSqlCommenterComment } from '@opentelemetry/sql-common';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { SpanNames } from './enums/SpanNames';
 
 export class PgInstrumentation extends InstrumentationBase {
   constructor(config: PgInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-pg', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   protected init() {
diff --git a/plugins/node/opentelemetry-instrumentation-pino/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-pino/src/instrumentation.ts
index 96a0796cc5..f7dc81f034 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-pino/src/instrumentation.ts
@@ -27,7 +27,7 @@ import {
   safeExecuteInTheMiddle,
 } from '@opentelemetry/instrumentation';
 import { PinoInstrumentationConfig } from './types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 const pinoVersions = ['>=5.14.0 <10'];
 
@@ -39,7 +39,7 @@ const DEFAULT_LOG_KEYS = {
 
 export class PinoInstrumentation extends InstrumentationBase {
   constructor(config: PinoInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-pino', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   protected init() {
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-redis-4/src/instrumentation.ts
index 75ae380965..d62eceaa2c 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/src/instrumentation.ts
@@ -30,7 +30,7 @@ import {
 import { getClientAttributes } from './utils';
 import { defaultDbStatementSerializer } from '@opentelemetry/redis-common';
 import { RedisInstrumentationConfig } from './types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { SEMATTRS_DB_STATEMENT } from '@opentelemetry/semantic-conventions';
 import type { MultiErrorReply } from './internal-types';
 
@@ -57,7 +57,7 @@ export class RedisInstrumentation extends InstrumentationBase {
   protected override _config!: RedisInstrumentationConfig;
 
   constructor(config: RedisInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-redis-4', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   override setConfig(config: RedisInstrumentationConfig = {}) {
diff --git a/plugins/node/opentelemetry-instrumentation-redis/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-redis/src/instrumentation.ts
index 8d6f2ba88d..1d627b5820 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-redis/src/instrumentation.ts
@@ -25,7 +25,7 @@ import {
   getTracedInternalSendCommand,
 } from './utils';
 import { RedisInstrumentationConfig } from './types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 const DEFAULT_CONFIG: RedisInstrumentationConfig = {
   requireParentSpan: false,
@@ -37,7 +37,7 @@ export class RedisInstrumentation extends InstrumentationBase {
   protected override _config!: RedisInstrumentationConfig;
 
   constructor(config: RedisInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-redis', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   override setConfig(config: RedisInstrumentationConfig = {}) {
diff --git a/plugins/node/opentelemetry-instrumentation-restify/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-restify/src/instrumentation.ts
index a00c24ba98..5d4c7f39cb 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-restify/src/instrumentation.ts
@@ -21,7 +21,7 @@ import * as api from '@opentelemetry/api';
 import type { Server } from 'restify';
 import { LayerType } from './types';
 import { AttributeNames } from './enums/AttributeNames';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import * as constants from './constants';
 import {
   InstrumentationBase,
@@ -37,11 +37,7 @@ import type { RestifyInstrumentationConfig } from './types';
 
 export class RestifyInstrumentation extends InstrumentationBase {
   constructor(config: RestifyInstrumentationConfig = {}) {
-    super(
-      `@opentelemetry/instrumentation-${constants.MODULE_NAME}`,
-      VERSION,
-      config
-    );
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   private _moduleVersion?: string;
diff --git a/plugins/node/opentelemetry-instrumentation-router/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-router/src/instrumentation.ts
index fb02262e30..50803ab148 100644
--- a/plugins/node/opentelemetry-instrumentation-router/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-router/src/instrumentation.ts
@@ -28,7 +28,7 @@ import * as http from 'http';
 import type * as Router from 'router';
 
 import * as types from './internal-types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import * as constants from './constants';
 import * as utils from './utils';
 import AttributeNames from './enums/AttributeNames';
@@ -36,11 +36,7 @@ import LayerType from './enums/LayerType';
 
 export default class RouterInstrumentation extends InstrumentationBase {
   constructor(config: InstrumentationConfig = {}) {
-    super(
-      `@opentelemetry/instrumentation-${constants.MODULE_NAME}`,
-      VERSION,
-      config
-    );
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   private _moduleVersion?: string;
diff --git a/plugins/node/opentelemetry-instrumentation-winston/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-winston/src/instrumentation.ts
index 4d4b1cfcc5..dddb1c0835 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-winston/src/instrumentation.ts
@@ -31,14 +31,14 @@ import type {
   Winston3LogMethod,
   Winston3Logger,
 } from './internal-types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 const winston3Versions = ['>=3 <4'];
 const winstonPre3Versions = ['>=1 <3'];
 
 export class WinstonInstrumentation extends InstrumentationBase {
   constructor(config: WinstonInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-winston', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   protected init() {
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/src/instrumentation.ts b/plugins/web/opentelemetry-instrumentation-document-load/src/instrumentation.ts
index f3837177a0..cdde8cfefd 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/src/instrumentation.ts
+++ b/plugins/web/opentelemetry-instrumentation-document-load/src/instrumentation.ts
@@ -39,7 +39,7 @@ import {
   ResourceFetchCustomAttributeFunction,
 } from './types';
 import { AttributeNames } from './enums/AttributeNames';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import {
   SEMATTRS_HTTP_URL,
   SEMATTRS_HTTP_USER_AGENT,
@@ -62,7 +62,7 @@ export class DocumentLoadInstrumentation extends InstrumentationBase {
    * @param config
    */
   constructor(config: DocumentLoadInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-document-load', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   init() {}
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/src/instrumentation.ts b/plugins/web/opentelemetry-instrumentation-long-task/src/instrumentation.ts
index 7b17907a89..b77bae7a65 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/src/instrumentation.ts
+++ b/plugins/web/opentelemetry-instrumentation-long-task/src/instrumentation.ts
@@ -16,7 +16,7 @@
 import { hrTime } from '@opentelemetry/core';
 import { diag } from '@opentelemetry/api';
 import { InstrumentationBase } from '@opentelemetry/instrumentation';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import type {
   PerformanceLongTaskTiming,
   LongtaskInstrumentationConfig,
@@ -25,7 +25,7 @@ import type {
 const LONGTASK_PERFORMANCE_TYPE = 'longtask';
 
 export class LongTaskInstrumentation extends InstrumentationBase {
-  readonly version: string = VERSION;
+  readonly version: string = PACKAGE_VERSION;
 
   private _observer?: PerformanceObserver;
   override _config!: LongtaskInstrumentationConfig;
@@ -35,7 +35,7 @@ export class LongTaskInstrumentation extends InstrumentationBase {
    * @param config
    */
   constructor(config: LongtaskInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-long-task', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   init() {}
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/src/instrumentation.ts b/plugins/web/opentelemetry-instrumentation-user-interaction/src/instrumentation.ts
index ea05bddbf1..4a502b7051 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/src/instrumentation.ts
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/src/instrumentation.ts
@@ -34,7 +34,7 @@ import {
   WindowWithZone,
   ZoneTypeWithPrototype,
 } from './internal-types';
-import { VERSION } from './version';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 const ZONE_CONTEXT_KEY = 'OT_ZONE_CONTEXT';
 const EVENT_NAVIGATION_NAME = 'Navigation:';
@@ -50,7 +50,7 @@ function defaultShouldPreventSpanCreation() {
  * addEventListener of HTMLElement
  */
 export class UserInteractionInstrumentation extends InstrumentationBase {
-  readonly version = VERSION;
+  readonly version = PACKAGE_VERSION;
   readonly moduleName: string = 'user-interaction';
   private _spansData = new WeakMap<api.Span, SpanData>();
   private _zonePatched?: boolean;
@@ -68,7 +68,7 @@ export class UserInteractionInstrumentation extends InstrumentationBase {
   private _shouldPreventSpanCreation: ShouldPreventSpanCreation;
 
   constructor(config: UserInteractionInstrumentationConfig = {}) {
-    super('@opentelemetry/instrumentation-user-interaction', VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
     this._eventNames = new Set(config?.eventNames ?? DEFAULT_EVENT_NAMES);
     this._shouldPreventSpanCreation =
       typeof config?.shouldPreventSpanCreation === 'function'
diff --git a/plugins/web/opentelemetry-plugin-react-load/src/BaseOpenTelemetryComponent.ts b/plugins/web/opentelemetry-plugin-react-load/src/BaseOpenTelemetryComponent.ts
index 9b46621027..fa7b007d0a 100644
--- a/plugins/web/opentelemetry-plugin-react-load/src/BaseOpenTelemetryComponent.ts
+++ b/plugins/web/opentelemetry-plugin-react-load/src/BaseOpenTelemetryComponent.ts
@@ -19,7 +19,7 @@ import { isWrapped } from '@opentelemetry/core';
 import * as shimmer from 'shimmer';
 import { AttributeNames } from './enums/AttributeNames';
 import * as React from 'react';
-import { VERSION } from './version';
+import { PACKAGE_VERSION } from './version';
 import {
   RenderFunction,
   ComponentDidMountFunction,
@@ -58,7 +58,7 @@ export class BaseOpenTelemetryComponent extends React.Component {
   static setTracer(name: string, version?: string): void {
     BaseOpenTelemetryComponent._tracer = api.trace.getTracer(
       name,
-      version ? version : VERSION
+      version ? version : PACKAGE_VERSION
     );
   }
 
@@ -423,7 +423,7 @@ export class BaseOpenTelemetryComponent extends React.Component {
     BaseOpenTelemetryComponent._logger.debug(
       'applying patch to',
       this.moduleName,
-      VERSION
+      PACKAGE_VERSION
     );
 
     if (isWrapped(this.render)) {
@@ -536,7 +536,7 @@ export class BaseOpenTelemetryComponent extends React.Component {
     BaseOpenTelemetryComponent._logger.debug(
       'removing patch from',
       this.moduleName,
-      VERSION
+      PACKAGE_VERSION
     );
 
     shimmer.unwrap(this, 'render');
diff --git a/scripts/version-update.js b/scripts/version-update.js
index 77a4969bca..8b56a54b18 100644
--- a/scripts/version-update.js
+++ b/scripts/version-update.js
@@ -40,7 +40,8 @@ const content = `/*
  */
 
 // this is autogenerated file, see scripts/version-update.js
-export const VERSION = '${pjson.version}';
+export const PACKAGE_VERSION = '${pjson.version}';
+export const PACKAGE_NAME = '${pjson.name}';
 `;
 
 const fileUrl = path.join(appRoot, 'src', 'version.ts')

From 20bc736650431ed1fea5ce42345b8b93541fb76e Mon Sep 17 00:00:00 2001
From: mattcollier <902041+mattcollier@users.noreply.github.com>
Date: Thu, 23 May 2024 15:22:54 -0400
Subject: [PATCH 011/123] docs(undici): Fix NPM badge in README.md. (#2235)

---
 plugins/node/instrumentation-undici/README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/plugins/node/instrumentation-undici/README.md b/plugins/node/instrumentation-undici/README.md
index f26fee2352..014c61e537 100644
--- a/plugins/node/instrumentation-undici/README.md
+++ b/plugins/node/instrumentation-undici/README.md
@@ -100,5 +100,5 @@ Apache 2.0 - See [LICENSE][license-url] for more information.
 [discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
 [license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE
 [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
-[npm-url]: https://www.npmjs.com/package/@opentelemetry/instrumentation-router
-[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Finstrumentation-router.svg
+[npm-url]: https://www.npmjs.com/package/@opentelemetry/instrumentation-undici
+[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Finstrumentation-undici.svg

From 96eb7dcccddfbb6a06ad72c3865b44a4a2d153ac Mon Sep 17 00:00:00 2001
From: Lucas Ferreira <ferrelucas.silva@gmail.com>
Date: Fri, 24 May 2024 15:11:50 +0800
Subject: [PATCH 012/123] fix(instrumentation-mongoose): Fix instrumentation
 for Mongoose Model methods, save() and remove(), by passing options argument
 to original method calls (#2009)

* Fixing Mongoose instrumentation on Model methods with callback + tests

* Fixing and adding more tests

* Removing skip on existing failing test

* Renaming callback index variable

* use exported strings for attributes

* Defining args as IArguments and updating its values directly

* Fix lint issues

* Replacing tests with session option to use wtimeout to avoid the need of transactions in the instrumentation test

---------

Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
---
 .../instrumentation-mongoose/src/mongoose.ts  |  1 +
 .../instrumentation-mongoose/src/utils.ts     | 25 +++--
 .../test/mongoose.test.ts                     | 94 ++++++++++++++++---
 3 files changed, 99 insertions(+), 21 deletions(-)

diff --git a/plugins/node/instrumentation-mongoose/src/mongoose.ts b/plugins/node/instrumentation-mongoose/src/mongoose.ts
index 0cd136f4fa..827b42e7cd 100644
--- a/plugins/node/instrumentation-mongoose/src/mongoose.ts
+++ b/plugins/node/instrumentation-mongoose/src/mongoose.ts
@@ -330,6 +330,7 @@ export class MongooseInstrumentation extends InstrumentationBase {
           exec,
           originalThis,
           span,
+          args,
           self._config.responseHook,
           moduleVersion
         )
diff --git a/plugins/node/instrumentation-mongoose/src/utils.ts b/plugins/node/instrumentation-mongoose/src/utils.ts
index f556218c87..7f78bcc882 100644
--- a/plugins/node/instrumentation-mongoose/src/utils.ts
+++ b/plugins/node/instrumentation-mongoose/src/utils.ts
@@ -98,16 +98,23 @@ export function handleCallbackResponse(
   exec: Function,
   originalThis: any,
   span: Span,
+  args: IArguments,
   responseHook?: MongooseResponseCustomAttributesFunction,
   moduleVersion: string | undefined = undefined
 ) {
-  return exec.apply(originalThis, [
-    (err: Error, response: any) => {
-      err
-        ? setErrorStatus(span, err)
-        : applyResponseHook(span, response, responseHook, moduleVersion);
-      span.end();
-      return callback!(err, response);
-    },
-  ]);
+  let callbackArgumentIndex = 0;
+  if (args.length === 2) {
+    callbackArgumentIndex = 1;
+  }
+
+  args[callbackArgumentIndex] = (err: Error, response: any): any => {
+    err
+      ? setErrorStatus(span, err)
+      : applyResponseHook(span, response, responseHook, moduleVersion);
+
+    span.end();
+    return callback!(err, response);
+  };
+
+  return exec.apply(originalThis, args);
 }
diff --git a/plugins/node/instrumentation-mongoose/test/mongoose.test.ts b/plugins/node/instrumentation-mongoose/test/mongoose.test.ts
index b907300b69..3badef8d6d 100644
--- a/plugins/node/instrumentation-mongoose/test/mongoose.test.ts
+++ b/plugins/node/instrumentation-mongoose/test/mongoose.test.ts
@@ -66,8 +66,11 @@ describe('mongoose instrumentation', () => {
   beforeEach(async () => {
     instrumentation.disable();
     instrumentation.setConfig({
-      dbStatementSerializer: (_operation: string, payload) =>
-        JSON.stringify(payload),
+      dbStatementSerializer: (_operation: string, payload) => {
+        return JSON.stringify(payload, (key, value) => {
+          return key === 'session' ? '[Session]' : value;
+        });
+      },
     });
     instrumentation.enable();
     await loadUsers();
@@ -97,23 +100,90 @@ describe('mongoose instrumentation', () => {
     expect(statement.document).toEqual(expect.objectContaining(document));
   });
 
-  it('instrumenting save operation with callback', done => {
-    const document = {
-      firstName: 'Test first name',
-      lastName: 'Test last name',
-      email: 'test@example.com',
-    };
-    const user: IUser = new User(document);
+  describe('when save call does not have callback', async () => {
+    it('instrumenting save operation with option property set', async () => {
+      const document = {
+        firstName: 'Test first name',
+        lastName: 'Test last name',
+        email: 'test@example.com',
+      };
+      const user: IUser = new User(document);
+      await user.save({ wtimeout: 42 });
 
-    user.save(() => {
       const spans = getTestSpans();
-
       expect(spans.length).toBe(1);
       assertSpan(spans[0] as ReadableSpan);
       expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
       const statement = getStatement(spans[0] as ReadableSpan);
       expect(statement.document).toEqual(expect.objectContaining(document));
-      done();
+      expect(statement.options.wtimeout).toEqual(42);
+
+      const createdUser = await User.findById(user._id).lean();
+      expect(createdUser?._id.toString()).toEqual(user._id.toString());
+    });
+  });
+
+  describe('when save call has callback', async () => {
+    it('instrumenting save operation with promise and option property set', done => {
+      const document = {
+        firstName: 'Test first name',
+        lastName: 'Test last name',
+        email: 'test@example.com',
+      };
+      const user: IUser = new User(document);
+      user.save({ wtimeout: 42 }, async () => {
+        const spans = getTestSpans();
+        expect(spans.length).toBe(1);
+        assertSpan(spans[0] as ReadableSpan);
+        expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
+        const statement = getStatement(spans[0] as ReadableSpan);
+        expect(statement.document).toEqual(expect.objectContaining(document));
+        expect(statement.options.wtimeout).toEqual(42);
+
+        const createdUser = await User.findById(user._id).lean();
+        expect(createdUser?._id.toString()).toEqual(user._id.toString());
+        done();
+      });
+    });
+
+    it('instrumenting save operation with generic options and callback', done => {
+      const document = {
+        firstName: 'Test first name',
+        lastName: 'Test last name',
+        email: 'test@example.com',
+      };
+      const user: IUser = new User(document);
+
+      user.save({}, () => {
+        const spans = getTestSpans();
+
+        expect(spans.length).toBe(1);
+        assertSpan(spans[0] as ReadableSpan);
+        expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
+        const statement = getStatement(spans[0] as ReadableSpan);
+        expect(statement.document).toEqual(expect.objectContaining(document));
+        done();
+      });
+    });
+
+    it('instrumenting save operation with only callback', done => {
+      const document = {
+        firstName: 'Test first name',
+        lastName: 'Test last name',
+        email: 'test@example.com',
+      };
+      const user: IUser = new User(document);
+
+      user.save(() => {
+        const spans = getTestSpans();
+
+        expect(spans.length).toBe(1);
+        assertSpan(spans[0] as ReadableSpan);
+        expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
+        const statement = getStatement(spans[0] as ReadableSpan);
+        expect(statement.document).toEqual(expect.objectContaining(document));
+        done();
+      });
     });
   });
 

From 6f98deff857b7e3575e0420e2681ad373767e533 Mon Sep 17 00:00:00 2001
From: Mike Goldsmith <goldsmith.mike@gmail.com>
Date: Fri, 24 May 2024 21:08:57 +0100
Subject: [PATCH 013/123] feat: Add baggage key predicate to baggage span
 processor (#2212)

* feat: Add optional predicate func to baggage span processor
* add default behaviour to contructor comments
* rework processor to require predicate
* use filter when selecting baggage keys
* rename filter to predicate
* add regex example and test
* move types into types.ts

---------

Co-authored-by: Jamie Danielson <jamiedanielson@honeycomb.io>
---
 packages/baggage-span-processor/README.md     | 23 ++++-
 .../src/baggage-span-processor.ts             | 19 +++--
 packages/baggage-span-processor/src/index.ts  |  3 +-
 packages/baggage-span-processor/src/types.ts  | 26 ++++++
 .../test/baggage-span-processor.test.ts       | 84 ++++++++++++++++++-
 5 files changed, 143 insertions(+), 12 deletions(-)
 create mode 100644 packages/baggage-span-processor/src/types.ts

diff --git a/packages/baggage-span-processor/README.md b/packages/baggage-span-processor/README.md
index 0b6af08d91..273924d8d2 100644
--- a/packages/baggage-span-processor/README.md
+++ b/packages/baggage-span-processor/README.md
@@ -27,16 +27,16 @@ npm install --save @opentelemetry/baggage-span-processor
 
 ### Usage
 
-Add to the span processors during configuration:
+Add to the span processors that copies all baggage entries during configuration:
 
 ```javascript
-import { NodeSDK, tracing } from "@opentelemetry/sdk-node";
-import { BaggageSpanProcessor } from "@opentelemetry/baggage-span-processor";
+import { NodeSDK, tracing } from '@opentelemetry/sdk-node';
+import { ALLOW_ALL_BAGGAGE_KEYS, BaggageSpanProcessor } from '@opentelemetry/baggage-span-processor';
 
 const spanProcessors = [
   new tracing.SimpleSpanProcessor(
     new tracing.ConsoleSpanExporter()),
-  new BaggageSpanProcessor()];
+  new BaggageSpanProcessor(ALLOW_ALL_BAGGAGE_KEYS)];
 
 const sdk = new NodeSDK({
   serviceName: "example-service",
@@ -46,6 +46,21 @@ const sdk = new NodeSDK({
 sdk.start();
 ```
 
+Alternatively, you can provide a custom baggage key predicate to select which baggage keys you want to copy.
+
+For example, to only copy baggage entries that start with `my-key`:
+
+```javascript
+new BaggageSpanProcessor((baggageKey: string) => key.startsWith('my-key'))
+```
+
+For example, to only copy baggage entries that matches the regex `^key.+`:
+
+```javascript
+const regex = new RegExp("^key.+")
+new BaggageSpanProcessor((baggageKey: string) => regex.test(baggageKey))
+```
+
 ## Useful links
 
 - For more information on OpenTelemetry, visit: <https://opentelemetry.io/>
diff --git a/packages/baggage-span-processor/src/baggage-span-processor.ts b/packages/baggage-span-processor/src/baggage-span-processor.ts
index 13d3c84260..ddec06a20a 100644
--- a/packages/baggage-span-processor/src/baggage-span-processor.ts
+++ b/packages/baggage-span-processor/src/baggage-span-processor.ts
@@ -14,6 +14,7 @@
  * limitations under the License.
  */
 
+import { BaggageKeyPredicate } from './types';
 import { Context, propagation } from '@opentelemetry/api';
 import {
   SpanProcessor,
@@ -43,6 +44,16 @@ import {
  * values will appear in all outgoing HTTP headers from the application.
  */
 export class BaggageSpanProcessor implements SpanProcessor {
+  private _keyPredicate: BaggageKeyPredicate;
+
+  /**
+   * Constructs a new BaggageSpanProcessor instance.
+   * @param keyPredicate A predicate that determines whether a baggage key-value pair should be added to new spans as a span attribute.
+   */
+  constructor(keyPredicate: BaggageKeyPredicate) {
+    this._keyPredicate = keyPredicate;
+  }
+
   /**
    * Forces to export all finished spans
    */
@@ -57,11 +68,9 @@ export class BaggageSpanProcessor implements SpanProcessor {
    * @param span the Span that just started.
    */
   onStart(span: Span, parentContext: Context): void {
-    (propagation.getBaggage(parentContext)?.getAllEntries() ?? []).forEach(
-      entry => {
-        span.setAttribute(entry[0], entry[1].value);
-      }
-    );
+    (propagation.getBaggage(parentContext)?.getAllEntries() ?? [])
+      .filter(entry => this._keyPredicate(entry[0]))
+      .forEach(entry => span.setAttribute(entry[0], entry[1].value));
   }
 
   /**
diff --git a/packages/baggage-span-processor/src/index.ts b/packages/baggage-span-processor/src/index.ts
index 39e175e9b3..23a4aa44e7 100644
--- a/packages/baggage-span-processor/src/index.ts
+++ b/packages/baggage-span-processor/src/index.ts
@@ -14,4 +14,5 @@
  * limitations under the License.
  */
 
-export { BaggageSpanProcessor } from './baggage-span-processor';
+export * from './baggage-span-processor';
+export * from './types';
diff --git a/packages/baggage-span-processor/src/types.ts b/packages/baggage-span-processor/src/types.ts
new file mode 100644
index 0000000000..3a0e105176
--- /dev/null
+++ b/packages/baggage-span-processor/src/types.ts
@@ -0,0 +1,26 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * A function that determines whether a baggage key-value pair should be added to new
+ * spans as a span attribute.
+ */
+export type BaggageKeyPredicate = (baggageKey: string) => boolean;
+
+/**
+ * A {@link BaggageKeyPredicate} that includes all baggage keys.
+ */
+export const ALLOW_ALL_BAGGAGE_KEYS: BaggageKeyPredicate = (_: string) => true;
diff --git a/packages/baggage-span-processor/test/baggage-span-processor.test.ts b/packages/baggage-span-processor/test/baggage-span-processor.test.ts
index 2829858ab1..fdc19560c8 100644
--- a/packages/baggage-span-processor/test/baggage-span-processor.test.ts
+++ b/packages/baggage-span-processor/test/baggage-span-processor.test.ts
@@ -15,6 +15,7 @@
  */
 
 import { BaggageSpanProcessor } from '../src/baggage-span-processor';
+import { ALLOW_ALL_BAGGAGE_KEYS } from '../src/types';
 import {
   propagation,
   ROOT_CONTEXT,
@@ -24,8 +25,8 @@ import {
 import { BasicTracerProvider, Span } from '@opentelemetry/sdk-trace-base';
 import { expect } from 'expect';
 
-describe('BaggageSpanProcessor', () => {
-  const baggageProcessor = new BaggageSpanProcessor();
+describe('BaggageSpanProcessor with all keys filter', () => {
+  const baggageProcessor = new BaggageSpanProcessor(ALLOW_ALL_BAGGAGE_KEYS);
 
   const bag = propagation.createBaggage({
     brand: { value: 'samsonite' },
@@ -72,3 +73,82 @@ describe('BaggageSpanProcessor', () => {
     await expect(baggageProcessor.shutdown()).resolves.not.toThrow();
   });
 });
+
+describe('BaggageSpanProcessor with startWith key filter', () => {
+  const baggageProcessor = new BaggageSpanProcessor((key: string) =>
+    key.startsWith('brand')
+  );
+
+  const bag = propagation.createBaggage({
+    brand: { value: 'samsonite' },
+    color: { value: 'blue' },
+  });
+
+  const expectedAttrs = {
+    brand: 'samsonite',
+  };
+
+  let span: Span;
+
+  beforeEach(() => {
+    span = new Span(
+      new BasicTracerProvider().getTracer('baggage-testing'),
+      ROOT_CONTEXT,
+      'Edward W. Span',
+      {
+        traceId: 'e4cda95b652f4a1592b449d5929fda1b',
+        spanId: '7e0c63257de34c92',
+        traceFlags: TraceFlags.SAMPLED,
+      },
+      SpanKind.SERVER
+    );
+  });
+
+  it('should only add baggage entries that match filter', () => {
+    expect(span.attributes).toEqual({});
+    const ctx = propagation.setBaggage(ROOT_CONTEXT, bag);
+    baggageProcessor.onStart(span, ctx);
+
+    expect(span.attributes).toEqual(expectedAttrs);
+  });
+});
+
+describe('BaggageSpanProcessor with regex key filter', () => {
+  const regex = new RegExp('^col.+');
+  const baggageProcessor = new BaggageSpanProcessor((key: string) =>
+    regex.test(key)
+  );
+
+  const bag = propagation.createBaggage({
+    brand: { value: 'samsonite' },
+    color: { value: 'blue' },
+  });
+
+  const expectedAttrs = {
+    color: 'blue',
+  };
+
+  let span: Span;
+
+  beforeEach(() => {
+    span = new Span(
+      new BasicTracerProvider().getTracer('baggage-testing'),
+      ROOT_CONTEXT,
+      'Edward W. Span',
+      {
+        traceId: 'e4cda95b652f4a1592b449d5929fda1b',
+        spanId: '7e0c63257de34c92',
+        traceFlags: TraceFlags.SAMPLED,
+      },
+      SpanKind.SERVER
+    );
+  });
+
+  it('should only add baggage entries that match filter', () => {
+    expect(span.attributes).toEqual({});
+    const ctx = propagation.setBaggage(ROOT_CONTEXT, bag);
+    baggageProcessor.onStart(span, ctx);
+
+    expect(span.attributes).toEqual(expectedAttrs);
+  });
+});

From 840c4d3e7a84703eade9a4564acbd9fdc61251f3 Mon Sep 17 00:00:00 2001
From: Amir Blum <amirgiraffe@gmail.com>
Date: Sat, 25 May 2024 02:19:01 +0300
Subject: [PATCH 014/123] chore(undici): remove unused dev dep on superagent
 (#2239)

Co-authored-by: Jamie Danielson <jamiedanielson@honeycomb.io>
---
 package-lock.json                             | 97 -------------------
 .../node/instrumentation-undici/package.json  |  1 -
 2 files changed, 98 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 96bfea2bfc..8e4f861947 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15035,12 +15035,6 @@
       "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
       "dev": true
     },
-    "node_modules/cookiejar": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
-      "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==",
-      "dev": true
-    },
     "node_modules/cookies": {
       "version": "0.8.0",
       "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz",
@@ -19423,15 +19417,6 @@
         "node": ">= 0.6.0"
       }
     },
-    "node_modules/hexoid": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
-      "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/highlight.js": {
       "version": "10.7.3",
       "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
@@ -32697,42 +32682,6 @@
         "node": ">=4"
       }
     },
-    "node_modules/superagent": {
-      "version": "8.0.9",
-      "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
-      "integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
-      "dev": true,
-      "dependencies": {
-        "component-emitter": "^1.3.0",
-        "cookiejar": "^2.1.4",
-        "debug": "^4.3.4",
-        "fast-safe-stringify": "^2.1.1",
-        "form-data": "^4.0.0",
-        "formidable": "^2.1.2",
-        "methods": "^1.1.2",
-        "mime": "2.6.0",
-        "qs": "^6.11.0",
-        "semver": "^7.3.8"
-      },
-      "engines": {
-        "node": ">=6.4.0 <13 || >=14"
-      }
-    },
-    "node_modules/superagent/node_modules/formidable": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz",
-      "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==",
-      "dev": true,
-      "dependencies": {
-        "dezalgo": "^1.0.4",
-        "hexoid": "^1.0.0",
-        "once": "^1.4.0",
-        "qs": "^6.11.0"
-      },
-      "funding": {
-        "url": "https://ko-fi.com/tunnckoCore/commissions"
-      }
-    },
     "node_modules/supports-color": {
       "version": "8.1.1",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
@@ -37981,7 +37930,6 @@
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
         "semver": "^7.6.0",
-        "superagent": "8.0.9",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
@@ -48517,7 +48465,6 @@
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
         "semver": "^7.6.0",
-        "superagent": "8.0.9",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
@@ -53941,12 +53888,6 @@
       "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
       "dev": true
     },
-    "cookiejar": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
-      "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==",
-      "dev": true
-    },
     "cookies": {
       "version": "0.8.0",
       "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz",
@@ -57386,12 +57327,6 @@
         }
       }
     },
-    "hexoid": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
-      "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==",
-      "dev": true
-    },
     "highlight.js": {
       "version": "10.7.3",
       "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
@@ -67914,38 +67849,6 @@
         "through": "^2.3.4"
       }
     },
-    "superagent": {
-      "version": "8.0.9",
-      "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
-      "integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
-      "dev": true,
-      "requires": {
-        "component-emitter": "^1.3.0",
-        "cookiejar": "^2.1.4",
-        "debug": "^4.3.4",
-        "fast-safe-stringify": "^2.1.1",
-        "form-data": "^4.0.0",
-        "formidable": "^2.1.2",
-        "methods": "^1.1.2",
-        "mime": "2.6.0",
-        "qs": "^6.11.0",
-        "semver": "^7.3.8"
-      },
-      "dependencies": {
-        "formidable": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz",
-          "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==",
-          "dev": true,
-          "requires": {
-            "dezalgo": "^1.0.4",
-            "hexoid": "^1.0.0",
-            "once": "^1.4.0",
-            "qs": "^6.11.0"
-          }
-        }
-      }
-    },
     "supports-color": {
       "version": "8.1.1",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
diff --git a/plugins/node/instrumentation-undici/package.json b/plugins/node/instrumentation-undici/package.json
index 90503fd16a..537c53acd7 100644
--- a/plugins/node/instrumentation-undici/package.json
+++ b/plugins/node/instrumentation-undici/package.json
@@ -51,7 +51,6 @@
     "nyc": "15.1.0",
     "rimraf": "5.0.5",
     "semver": "^7.6.0",
-    "superagent": "8.0.9",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",

From 27d6503089163a3d1ed85687cd8e0bc43f525fdd Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Mon, 27 May 2024 09:09:53 -0700
Subject: [PATCH 015/123] test: minor cleanup to pino ESM test (#2241)

The ESM tests are out of process so the setup done in
setupInstrumentationAndInitTestContext() isn't relevant.
---
 .../test/pino-enabled.test.ts                                 | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/plugins/node/opentelemetry-instrumentation-pino/test/pino-enabled.test.ts b/plugins/node/opentelemetry-instrumentation-pino/test/pino-enabled.test.ts
index 63d42c462e..6262c1fdfe 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/test/pino-enabled.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-pino/test/pino-enabled.test.ts
@@ -239,10 +239,8 @@ describe('PinoInstrumentation', () => {
       });
     });
   });
+
   describe('ESM usage', () => {
-    beforeEach(() => {
-      testContext = setupInstrumentationAndInitTestContext();
-    });
     it('should work with ESM default import', async function () {
       testContext = setupInstrumentationAndInitTestContext();
       let logRecords: any[];

From 040eaa68346550447535d48736f80af240db90bf Mon Sep 17 00:00:00 2001
From: Maikel <maikel.van.dort@gmail.com>
Date: Thu, 30 May 2024 17:41:12 +0200
Subject: [PATCH 016/123] fix: semconv alignment & listed in README (#2240)

---
 packages/opentelemetry-host-metrics/README.md | 38 ++++++++++++++++++-
 .../opentelemetry-host-metrics/src/enum.ts    |  6 +--
 .../opentelemetry-host-metrics/src/metric.ts  |  2 +-
 .../opentelemetry-host-metrics/src/util.ts    |  2 +-
 .../test/metric.test.ts                       |  7 ++--
 5 files changed, 44 insertions(+), 11 deletions(-)

diff --git a/packages/opentelemetry-host-metrics/README.md b/packages/opentelemetry-host-metrics/README.md
index f613fba2a6..46952bd1a3 100644
--- a/packages/opentelemetry-host-metrics/README.md
+++ b/packages/opentelemetry-host-metrics/README.md
@@ -32,13 +32,47 @@ const exporter = new PrometheusExporter(
   }
 );
 
-const meterProvider = new MeterProvider();
-meterProvider.addMetricReader(exporter);
+const meterProvider = new MeterProvider({
+  readers: [reader],
+});
 
 const hostMetrics = new HostMetrics({ meterProvider, name: 'example-host-metrics' });
 hostMetrics.start();
 ```
 
+## Semantic Conventions
+
+This package uses Semantic Conventions [Version 1.25.0](https://github.com/open-telemetry/semantic-conventions/tree/v1.25.0/docs/system).
+As for now the Semantic Conventions are bundled in this package but eventually will be imported from `@opentelemetry/semantic-conventions` package when it is updated to latest version.
+Ref: [opentelemetry-js/issues/4235](https://github.com/open-telemetry/opentelemetry-js/issues/4235)
+
+Metrics collected:
+
+| Metric                      | Short Description                                         |
+| --------------------------- | --------------------------------------------------------- |
+| `system.cpu.time`           | Seconds each logical CPU spent on each mode               |
+| `system.cpu.utilization`    | CPU usage time (0-1)                                      |
+| `system.memory.usage`       | Reports memory in use by state                            |
+| `system.memory.utilization` | Memory usage (0-1)                                        |
+| `system.network.dropped`    | Count of packets that are dropped                         |
+| `system.network.errors`     | Count of network errors detected                          |
+| `system.network.io`         | Network flow direction                                    |
+| `process.cpu.time`          | Total CPU seconds                                         |
+| `process.cpu.utilization`   | Difference in process.cpu.time since the last measurement |
+| `process.memory.usage`      | The amount of physical memory in use                      |
+
+Attributes collected:
+
+| Metric                      | Short Description                  |
+| --------------------------- | ---------------------------------- |
+| `system.cpu.logical_number` | The logical CPU number             |
+| `system.cpu.state`          | The state of the CPU               |
+| `system.memory.state`       | The memory state                   |
+| `system.device`             | The device identifier              |
+| `network.io.direction`      | The network IO operation direction |
+| `system.network.state`      | The network state                  |
+| `process.cpu.state`         | The CPU state                      |
+
 ## Useful links
 
 - For more information on OpenTelemetry, visit: <https://opentelemetry.io/>
diff --git a/packages/opentelemetry-host-metrics/src/enum.ts b/packages/opentelemetry-host-metrics/src/enum.ts
index acfe4adc05..19e4efbda4 100644
--- a/packages/opentelemetry-host-metrics/src/enum.ts
+++ b/packages/opentelemetry-host-metrics/src/enum.ts
@@ -32,11 +32,9 @@ export enum ATTRIBUTE_NAMES {
   SYSTEM_CPU_STATE = 'system.cpu.state',
   SYSTEM_MEMORY_STATE = 'system.memory.state',
   SYSTEM_DEVICE = 'system.device',
-  SYSTEM_NETWORK_DIRECTION = 'system.network.direction',
+  NETWORK_IO_DIRECTION = 'network.io.direction',
   SYSTEM_NETWORK_STATE = 'system.network.state',
-  // TODO: change value if semconv changes
-  // https://github.com/open-telemetry/opentelemetry-specification/issues/3776
-  PROCESS_CPU_STATE = 'state',
+  PROCESS_CPU_STATE = 'process.cpu.state',
 }
 
 export enum CPU_LABELS {
diff --git a/packages/opentelemetry-host-metrics/src/metric.ts b/packages/opentelemetry-host-metrics/src/metric.ts
index 2604e95d00..b117ce4307 100644
--- a/packages/opentelemetry-host-metrics/src/metric.ts
+++ b/packages/opentelemetry-host-metrics/src/metric.ts
@@ -151,7 +151,7 @@ export class HostMetrics extends BaseMetrics {
     networkUsages: NetworkData[]
   ): void {
     const deviceAttr = enums.ATTRIBUTE_NAMES.SYSTEM_DEVICE;
-    const directionAttr = enums.ATTRIBUTE_NAMES.SYSTEM_NETWORK_DIRECTION;
+    const directionAttr = enums.ATTRIBUTE_NAMES.NETWORK_IO_DIRECTION;
 
     for (let i = 0, j = networkUsages.length; i < j; i++) {
       const networkUsage = networkUsages[i];
diff --git a/packages/opentelemetry-host-metrics/src/util.ts b/packages/opentelemetry-host-metrics/src/util.ts
index e26b0f7610..05a6622c30 100644
--- a/packages/opentelemetry-host-metrics/src/util.ts
+++ b/packages/opentelemetry-host-metrics/src/util.ts
@@ -14,6 +14,6 @@
  * limitations under the License.
  */
 
-export function ObjectKeys<T>(t: T) {
+export function ObjectKeys<T extends Record<string, unknown>>(t: T) {
   return Object.keys(t) as (keyof T)[];
 }
diff --git a/packages/opentelemetry-host-metrics/test/metric.test.ts b/packages/opentelemetry-host-metrics/test/metric.test.ts
index 196e74e702..ef89a8c53b 100644
--- a/packages/opentelemetry-host-metrics/test/metric.test.ts
+++ b/packages/opentelemetry-host-metrics/test/metric.test.ts
@@ -141,8 +141,9 @@ describe('Host Metrics', () => {
 
       reader = new TestMetricReader();
 
-      meterProvider = new MeterProvider();
-      meterProvider.addMetricReader(reader);
+      meterProvider = new MeterProvider({
+        readers: [reader],
+      });
 
       hostMetrics = new HostMetrics({
         meterProvider,
@@ -169,7 +170,7 @@ describe('Host Metrics', () => {
     const sysCpuNumAttr = ATTRIBUTE_NAMES.SYSTEM_CPU_LOGICAL_NUMBER;
     const sysMemStateAttr = ATTRIBUTE_NAMES.SYSTEM_MEMORY_STATE;
     const sysDeviceAttr = ATTRIBUTE_NAMES.SYSTEM_DEVICE;
-    const sysNetDirAttr = ATTRIBUTE_NAMES.SYSTEM_NETWORK_DIRECTION;
+    const sysNetDirAttr = ATTRIBUTE_NAMES.NETWORK_IO_DIRECTION;
     const procCpuStateAttr = ATTRIBUTE_NAMES.PROCESS_CPU_STATE;
 
     it('should export CPU time metrics', async () => {

From 91dec9cee6914e52bd66cdf9b623d66eade42732 Mon Sep 17 00:00:00 2001
From: Marylia Gutierrez <marylia.gutierrez@grafana.com>
Date: Thu, 30 May 2024 11:56:36 -0400
Subject: [PATCH 017/123] remove link to non existing file (#2246)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 plugins/node/opentelemetry-instrumentation-pg/README.md | 2 --
 1 file changed, 2 deletions(-)

diff --git a/plugins/node/opentelemetry-instrumentation-pg/README.md b/plugins/node/opentelemetry-instrumentation-pg/README.md
index 3f624bd3b3..abc18e2089 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/README.md
+++ b/plugins/node/opentelemetry-instrumentation-pg/README.md
@@ -38,8 +38,6 @@ registerInstrumentations({
 
 PgInstrumentation contains both pg and [`pg.Pool`](https://node-postgres.com/api/pool) so it will be instrumented automatically.
 
-See [examples/postgres](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/examples/postgres) for a short example.
-
 ### PostgreSQL Instrumentation Options
 
 PostgreSQL instrumentation has few options available to choose from. You can set the following:

From 50ff98bb219e955ea45422cfb63870af7b8b82ea Mon Sep 17 00:00:00 2001
From: Purvi Kanal <kanal.purvi@gmail.com>
Date: Thu, 30 May 2024 14:30:47 -0400
Subject: [PATCH 018/123] feat(instrumentation-document-load): Add ability to
 disable span events (#2188)

* inital try at disabling span events option

* fix bugs with tdd

* remove .only from tests

* fix lint

* rename to `ignorePerformancePaintEvents`

* add documentation

---------

Co-authored-by: Jamie Danielson <jamiedanielson@honeycomb.io>
---
 .../README.md                                 | 12 ++++
 .../src/instrumentation.ts                    | 45 +++++++-----
 .../src/types.ts                              | 34 +++++++++
 .../test/documentLoad.test.ts                 | 70 +++++++++++++++++++
 4 files changed, 145 insertions(+), 16 deletions(-)

diff --git a/plugins/web/opentelemetry-instrumentation-document-load/README.md b/plugins/web/opentelemetry-instrumentation-document-load/README.md
index 3d87e40398..a538ecf399 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/README.md
+++ b/plugins/web/opentelemetry-instrumentation-document-load/README.md
@@ -111,6 +111,18 @@ registerInstrumentations({
 
 See [examples/tracer-web](https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/tracer-web) for a short example.
 
+## Document Load Instrumentation Options
+
+The document load instrumentation plugin has few options available to choose from. You can set the following:
+
+| Options                                                                                                                                                                  | Type                          | Description                                                                             |
+|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------|-----------------------------------------------------------------------------------------|
+| `applyCustomAttributesOnSpan.documentLoad`| `DocumentLoadCustomAttributeFunction` | Function for adding custom attributes to `documentLoad` spans.                                                  |
+| `applyCustomAttributesOnSpan.documentFetch`                      | `DocumentLoadCustomAttributeFunction`                     | Function for adding custom attributes to `documentFetch` spans.  |
+| `applyCustomAttributesOnSpan.resourceFetch`                      | `ResourceFetchCustomAttributeFunction`                     | Function for adding custom attributes to `resourceFetch` spans  |
+| `ignoreNetworkEvents`                      | `boolean`                     | Ignore adding [network events as span events](https://github.com/open-telemetry/opentelemetry-js/blob/e49c4c7f42c6c444da3f802687cfa4f2d6983f46/packages/opentelemetry-sdk-trace-web/src/enums/PerformanceTimingNames.ts#L17) for document fetch and resource fetch spans.  |
+| `ignorePerformancePaintEvents`                      | `boolean`                     | Ignore adding performance resource paint span events to document load spans.  |
+
 ## Semantic Conventions
 
 This package uses `@opentelemetry/semantic-conventions` version `1.22+`, which implements Semantic Convention [Version 1.7.0](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/semantic_conventions/README.md)
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/src/instrumentation.ts b/plugins/web/opentelemetry-instrumentation-document-load/src/instrumentation.ts
index cdde8cfefd..5849be561d 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/src/instrumentation.ts
+++ b/plugins/web/opentelemetry-instrumentation-document-load/src/instrumentation.ts
@@ -120,7 +120,9 @@ export class DocumentLoadInstrumentation extends InstrumentationBase {
         if (fetchSpan) {
           fetchSpan.setAttribute(SEMATTRS_HTTP_URL, location.href);
           context.with(trace.setSpan(context.active(), fetchSpan), () => {
-            addSpanNetworkEvents(fetchSpan, entries);
+            if (!this._getConfig().ignoreNetworkEvents) {
+              addSpanNetworkEvents(fetchSpan, entries);
+            }
             this._addCustomAttributesOnSpan(
               fetchSpan,
               this._getConfig().applyCustomAttributesOnSpan?.documentFetch
@@ -135,21 +137,30 @@ export class DocumentLoadInstrumentation extends InstrumentationBase {
 
       this._addResourcesSpans(rootSpan);
 
-      addSpanNetworkEvent(rootSpan, PTN.FETCH_START, entries);
-      addSpanNetworkEvent(rootSpan, PTN.UNLOAD_EVENT_START, entries);
-      addSpanNetworkEvent(rootSpan, PTN.UNLOAD_EVENT_END, entries);
-      addSpanNetworkEvent(rootSpan, PTN.DOM_INTERACTIVE, entries);
-      addSpanNetworkEvent(
-        rootSpan,
-        PTN.DOM_CONTENT_LOADED_EVENT_START,
-        entries
-      );
-      addSpanNetworkEvent(rootSpan, PTN.DOM_CONTENT_LOADED_EVENT_END, entries);
-      addSpanNetworkEvent(rootSpan, PTN.DOM_COMPLETE, entries);
-      addSpanNetworkEvent(rootSpan, PTN.LOAD_EVENT_START, entries);
-      addSpanNetworkEvent(rootSpan, PTN.LOAD_EVENT_END, entries);
+      if (!this._getConfig().ignoreNetworkEvents) {
+        addSpanNetworkEvent(rootSpan, PTN.FETCH_START, entries);
+        addSpanNetworkEvent(rootSpan, PTN.UNLOAD_EVENT_START, entries);
+        addSpanNetworkEvent(rootSpan, PTN.UNLOAD_EVENT_END, entries);
+        addSpanNetworkEvent(rootSpan, PTN.DOM_INTERACTIVE, entries);
+        addSpanNetworkEvent(
+          rootSpan,
+          PTN.DOM_CONTENT_LOADED_EVENT_START,
+          entries
+        );
+        addSpanNetworkEvent(
+          rootSpan,
+          PTN.DOM_CONTENT_LOADED_EVENT_END,
+          entries
+        );
+        addSpanNetworkEvent(rootSpan, PTN.DOM_COMPLETE, entries);
+        addSpanNetworkEvent(rootSpan, PTN.LOAD_EVENT_START, entries);
+        addSpanNetworkEvent(rootSpan, PTN.LOAD_EVENT_END, entries);
+      }
+
+      if (!this._getConfig().ignorePerformancePaintEvents) {
+        addSpanPerformancePaintEvents(rootSpan);
+      }
 
-      addSpanPerformancePaintEvents(rootSpan);
       this._addCustomAttributesOnSpan(
         rootSpan,
         this._getConfig().applyCustomAttributesOnSpan?.documentLoad
@@ -197,7 +208,9 @@ export class DocumentLoadInstrumentation extends InstrumentationBase {
     );
     if (span) {
       span.setAttribute(SEMATTRS_HTTP_URL, resource.name);
-      addSpanNetworkEvents(span, resource);
+      if (!this._getConfig().ignoreNetworkEvents) {
+        addSpanNetworkEvents(span, resource);
+      }
       this._addCustomAttributesOnResourceSpan(
         span,
         resource,
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/src/types.ts b/plugins/web/opentelemetry-instrumentation-document-load/src/types.ts
index a3188c4706..8ff85d48cb 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/src/types.ts
+++ b/plugins/web/opentelemetry-instrumentation-document-load/src/types.ts
@@ -35,4 +35,38 @@ export interface DocumentLoadInstrumentationConfig
     documentFetch?: DocumentLoadCustomAttributeFunction;
     resourceFetch?: ResourceFetchCustomAttributeFunction;
   };
+
+  /** Ignore adding network events as span events for document fetch and resource fetch spans.
+   * This instrumentation will send the following span events by default:
+   * connectEnd
+   * connectStart
+   * decodedBodySize
+   * domComplete
+   * domContentLoadedEventEnd
+   * domContentLoadedEventStart
+   * domInteractive
+   * domainLookupEnd
+   * domainLookupStart
+   * encodedBodySize
+   * fetchStart
+   * loadEventEnd
+   * loadEventStart
+   * navigationStart
+   * redirectEnd
+   * redirectStart
+   * requestStart
+   * responseEnd
+   * responseStart
+   * secureConnectionStart
+   * unloadEventEnd
+   * unloadEventStart
+   */
+  ignoreNetworkEvents?: boolean;
+
+  /** Ignore adding performance paint span events on document load spans
+   * This instrumentation will send the following span events by default:
+   * firstContentfulPaint
+   * firstPaint
+   */
+  ignorePerformancePaintEvents?: boolean;
 }
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/test/documentLoad.test.ts b/plugins/web/opentelemetry-instrumentation-document-load/test/documentLoad.test.ts
index a0aba71c3e..a239945bec 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/test/documentLoad.test.ts
+++ b/plugins/web/opentelemetry-instrumentation-document-load/test/documentLoad.test.ts
@@ -755,6 +755,76 @@ describe('DocumentLoad Instrumentation', () => {
       });
     });
   });
+
+  describe('ignore span events if specified', () => {
+    let spyEntries: any;
+    beforeEach(() => {
+      spyEntries = sandbox.stub(window.performance, 'getEntriesByType');
+      spyEntries.withArgs('navigation').returns([entries]);
+      spyEntries.withArgs('resource').returns(resources);
+      spyEntries.withArgs('paint').returns(paintEntries);
+    });
+
+    afterEach(() => {
+      spyEntries.restore();
+    });
+
+    it('should ignore network span events if ignoreNetworkEvents is set to true', done => {
+      plugin = new DocumentLoadInstrumentation({
+        enabled: false,
+        ignoreNetworkEvents: true,
+      });
+      plugin.enable();
+
+      setTimeout(() => {
+        const rootSpan = exporter.getFinishedSpans()[0] as ReadableSpan;
+        const fetchSpan = exporter.getFinishedSpans()[1] as ReadableSpan;
+        const loadSpan = exporter.getFinishedSpans()[3] as ReadableSpan;
+
+        const rsEvents = rootSpan.events;
+        const fsEvents = fetchSpan.events;
+        const lsEvents = loadSpan.events;
+
+        assert.strictEqual(exporter.getFinishedSpans().length, 4);
+        assert.strictEqual(rootSpan.name, 'documentFetch');
+        assert.strictEqual(rsEvents.length, 0);
+
+        assert.strictEqual(fetchSpan.name, 'resourceFetch');
+        assert.strictEqual(fsEvents.length, 0);
+
+        assert.strictEqual(loadSpan.name, 'documentLoad');
+        assert.deepEqual(
+          lsEvents.map(event => event.name),
+          ['firstPaint', 'firstContentfulPaint']
+        );
+
+        done();
+      });
+    });
+
+    it('should ignore performance events if ignorePerformanceEvents is set to true', done => {
+      plugin = new DocumentLoadInstrumentation({
+        enabled: false,
+        ignorePerformancePaintEvents: true,
+      });
+      plugin.enable();
+
+      setTimeout(() => {
+        const loadSpan = exporter.getFinishedSpans()[3] as ReadableSpan;
+        const lsEvents = loadSpan.events;
+
+        assert.strictEqual(exporter.getFinishedSpans().length, 4);
+
+        assert.strictEqual(loadSpan.name, 'documentLoad');
+        assert.notInclude(
+          lsEvents.map(event => event.name),
+          ['firstPaint', 'firstContentfulPaint']
+        );
+
+        done();
+      });
+    });
+  });
 });
 
 /**

From 0078d0c4c3a46df247dc468e6b879de5aa510cdd Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Thu, 30 May 2024 12:18:50 -0700
Subject: [PATCH 019/123] chore(lint): refactor Markdown linting to use
 markdownlint-cli2 (#2234)

This switches from `markdownlint-cli` to `markdownlint-cli2` and drops
usage of the https://github.com/avto-dev/markdown-lint GitHub action in CI.

- The `avto-dev/markdown-lint` action was using a 4y old version of `markdownlint`.
  AFAICT that action is not being maintained.
- There is a new `npm run lint:markdown` and the `lint.yml` CI workflow uses it.
- The switch from `markdownlint-cli` to `markdownlint-cli2` and `.markdownlint-cli2.jsonc`
  as the config allows using the https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint
  VSCode plugin for in-editor Markdown lint warnings and intellisense in the config file.
- remove errant Dependencies sections from the top of some changelog files found by rule MD001 (see #2207)

Refs: https://github.com/open-telemetry/opentelemetry-js/pull/4713
Closes: #2207
---
 .github/ISSUE_TEMPLATE/plugin_request.md      |   2 +
 .github/markdown-lint.yml                     |   5 -
 .github/workflows/lint.yml                    |  12 +-
 .markdownlint-cli2.jsonc                      |  17 +
 .markdownlint.json                            |   7 -
 CHANGELOG.md                                  |   1 +
 CONTRIBUTING.md                               |   2 +-
 README.md                                     |   4 +-
 .../CHANGELOG.md                              |  72 ----
 .../CHANGELOG.md                              |  66 ----
 .../CHANGELOG.md                              |  14 +-
 .../README.md                                 |  10 +
 .../CHANGELOG.md                              |  60 ----
 .../README.md                                 |   2 +
 .../CHANGELOG.md                              |  60 ----
 .../CHANGELOG.md                              |   6 -
 examples/connect/README.md                    |   2 +-
 examples/dns/README.md                        |   4 +-
 examples/express/README.md                    |   4 +-
 examples/fastify/README.md                    |   2 +-
 examples/hapi/README.md                       |   4 +-
 examples/koa/README.md                        |   4 +-
 examples/mongodb/README.md                    |   4 +-
 examples/mysql/README.md                      |   4 +-
 examples/react-load/preact/README.md          |  18 +-
 examples/react-load/react/README.md           |  20 +-
 examples/redis/README.md                      |   4 +-
 .../auto-instrumentations-node/CHANGELOG.md   | 152 --------
 .../auto-instrumentations-web/CHANGELOG.md    |  12 -
 package-lock.json                             | 326 ++++++++++++++++++
 package.json                                  |   5 +-
 .../README.md                                 |  11 +-
 .../CHANGELOG.md                              |  60 ----
 .../node/instrumentation-amqplib/CHANGELOG.md |   6 -
 .../node/instrumentation-amqplib/README.md    |   2 +-
 .../instrumentation-lru-memoizer/CHANGELOG.md |   6 -
 .../instrumentation-mongoose/CHANGELOG.md     |   6 -
 .../instrumentation-socket.io/CHANGELOG.md    |   6 -
 .../node/instrumentation-tedious/CHANGELOG.md |   6 -
 .../README.md                                 |   2 +-
 .../CHANGELOG.md                              |   6 -
 .../README.md                                 |   2 +-
 .../README.md                                 |  12 +-
 .../CHANGELOG.md                              |   6 -
 .../CHANGELOG.md                              |   6 -
 .../CHANGELOG.md                              |   6 -
 .../README.md                                 |   2 +-
 .../CHANGELOG.md                              |   6 -
 .../README.md                                 |  12 +-
 .../CHANGELOG.md                              |   6 -
 .../CHANGELOG.md                              |  12 -
 .../CHANGELOG.md                              |  12 -
 52 files changed, 425 insertions(+), 673 deletions(-)
 delete mode 100644 .github/markdown-lint.yml
 create mode 100644 .markdownlint-cli2.jsonc
 delete mode 100644 .markdownlint.json

diff --git a/.github/ISSUE_TEMPLATE/plugin_request.md b/.github/ISSUE_TEMPLATE/plugin_request.md
index 1936ace6c8..2f588b9759 100644
--- a/.github/ISSUE_TEMPLATE/plugin_request.md
+++ b/.github/ISSUE_TEMPLATE/plugin_request.md
@@ -20,9 +20,11 @@ A clear and concise description of what the problem is. Ex. I'm always frustrate
 
 
 ### Do you expect this instrumentation to be commonly used?
+
 Weekly Downloads:
 
 ### What version of instrumentation are you interested in using?
+
 Versions:
 
 ### Additional context
diff --git a/.github/markdown-lint.yml b/.github/markdown-lint.yml
deleted file mode 100644
index f4885f1be4..0000000000
--- a/.github/markdown-lint.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-# MD004 - Unordered list style
-# This rule is triggered when the symbols used in the document for unordered list items do not match the configured unordered list style
-# * Item 1 // Error: Unordered list style [Expected: dash; Actual: asterisk]
-MD004:
-  style: dash
\ No newline at end of file
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 0622459ce0..a30b2bbe56 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -15,14 +15,8 @@ jobs:
         with:
           node-version: 18
           cache: 'npm'
-
-      - name: Lint markdown files
-        uses: avto-dev/markdown-lint@v1
-        with:
-          config: '.github/markdown-lint.yml'
-          ignore: "./**/CHANGELOG.md"
-          args: "./**/*.md"
-
       - run: npm ci
       - name: Lint
-        run: npm run lint
+        run: |
+          npm run lint
+          npm run lint:markdown
diff --git a/.markdownlint-cli2.jsonc b/.markdownlint-cli2.jsonc
new file mode 100644
index 0000000000..89ebe7bf0e
--- /dev/null
+++ b/.markdownlint-cli2.jsonc
@@ -0,0 +1,17 @@
+// https://github.com/DavidAnson/markdownlint-cli2#markdownlint-cli2jsonc
+{
+  "config": {
+    // https://github.com/DavidAnson/markdownlint/blob/main/README.md#rules--aliases
+    "MD013": false,
+    "MD024": false,
+    "MD033": false,
+    "MD041": false,
+    // MD004/ul-style. We prefer dash, but generated CHANGELOG.md files use
+    // asterisk. The default "consistent" is a good compromise.
+    "MD004": { "style": "consistent" },
+    "MD012": false // no-multiple-blanks; disabled because common in CHANGELOG.md files
+  },
+  "gitignore": true,
+  "noBanner": true,
+  "noProgress": true
+}
diff --git a/.markdownlint.json b/.markdownlint.json
deleted file mode 100644
index b5a4fe3721..0000000000
--- a/.markdownlint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-    "MD013": false,
-    "MD024": false,
-    "MD033": false,
-    "MD041": false
-  }
-  
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f288a54e4d..085bec8608 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,4 @@
+<!-- markdownlint-disable -->
 # CHANGELOG
 
 As of v0.25.1 (2022-01-24) changelog content has moved to separate CHANGELOG.md files for each package. Use [this search for a list of all CHANGELOG.md files in this repo](https://github.com/search?q=repo%3Aopen-telemetry%2Fopentelemetry-js-contrib+path%3A**%2FCHANGELOG.md&type=code).
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index f05cf8e937..6e014f3ee1 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -150,7 +150,7 @@ With the exception of the stable status, it is up to each individual [component
 A component may only be marked stable with the approval of a member of @open-telemetry/javascript-maintainers; see the definition of stable below for more details.
 
 A Pull Request modifying components in any stage of the lifecycle is subject to the
-[Pull Request Merge Requirements](#pull-request-merge-requirements).
+[Pull Request Merge Guidelines](#pull-request-merge-guidelines).
 
 ### Unreleased
 
diff --git a/README.md b/README.md
index 0a952b33a9..7dede8487a 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@
   </a>
   <br/>
   <a href="https://github.com/open-telemetry/opentelemetry-js-contrib/actions/workflows/test-all-versions.yml">
-    <img src="https://github.com/open-telemetry/opentelemetry-js-contrib/actions/workflows/test-all-versions.yml/badge.svg">
+    <img alt="test-all-versions badge" src="https://github.com/open-telemetry/opentelemetry-js-contrib/actions/workflows/test-all-versions.yml/badge.svg">
   </a>
   <img alt="Beta" src="https://img.shields.io/badge/status-beta-informational?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAIRlWElmTU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAACQAAAAAQAAAJAAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAABigAwAEAAAAAQAAABgAAAAA8A2UOAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAABK5JREFUSA2dVm1sFEUYfmd2b/f2Pkqghn5eEQWKrRgjpkYgpoRCLC0oxV5apAiGUDEpJvwxEQ2raWPU+Kf8INU/RtEedwTCR9tYPloxGNJYTTQUwYqJ1aNpaLH3sXu3t7vjvFevpSqt7eSyM+/czvM8877PzB3APBoLgoDLsNePF56LBwqa07EKlDGg84CcWsI4CEbhNnDpAd951lXE2NkiNknCCTLv4HtzZuvPm1C/IKv4oDNXqNDHragety2XVzjECZsJARuBMyRzJrh1O0gQwLXuxofxsPSj4hG8fMLQo7bl9JJD8XZfC1E5yWFOMtd07dvX5kDwg6+2++Chq8txHGtfPoAp0gOFmhYoNFkHjn2TNUmrwRdna7W1QSkU8hvbGk4uThLrapaiLA2E6QY4u/lS9ItHfvJkxYsTMVtnAJLipYIWtVrcdX+8+b8IVnPl/R81prbuPZ1jpYw+0aEUGSkdFsgyBIaFTXCm6nyaxMtJ4n+TeDhJzGqZtQZcuYDgqDwDbqb0JF9oRpIG1Oea3bC1Y6N3x/WV8Zh83emhCs++hlaghDw+8w5UlYKq2lU7Pl8IkvS9KDqXmKmEwdMppVPKwGSEilmyAwJhRwWcq7wYC6z4wZ1rrEoMWxecdOjZWXeAQClBcYDN3NwVwD9pGwqUSyQgclcmxpNJqCuwLmDh3WtvPqXdlt+6Oz70HPGDNSNBee/EOen+rGbEFqDENBPDbtdCp0ukPANmzO0QQJYUpyS5IJJI3Hqt4maS+EB3199ozm8EDU/6fVNU2dQpdx3ZnKzeFXyaUTiasEV/gZMzJMjr3Z+WvAdQ+hs/zw9savimxUntDSaBdZ2f+Idbm1rlNY8esFffBit9HtK5/MejsrJVxikOXlb1Ukir2X+Rbdkd1KG2Ixfn2Ql4JRmELnYK9mEM8G36fAA3xEQ89fxXihC8q+sAKi9jhHxNqagY2hiaYgRCm0f0QP7H4Fp11LSXiuBY2aYFlh0DeDIVVFUJQn5rCnpiNI2gvLxHnASn9DIVHJJlm5rXvQAGEo4zvKq2w5G1NxENN7jrft1oxMdekETjxdH2Z3x+VTVYsPb+O0C/9/auN6v2hNZw5b2UOmSbG5/rkC3LBA+1PdxFxORjxpQ81GcxKc+ybVjEBvUJvaGJ7p7n5A5KSwe4AzkasA+crmzFtowoIVTiLjANm8GDsrWW35ScI3JY8Urv83tnkF8JR0yLvEt2hO/0qNyy3Jb3YKeHeHeLeOuVLRpNF+pkf85OW7/zJxWdXsbsKBUk2TC0BCPwMq5Q/CPvaJFkNS/1l1qUPe+uH3oD59erYGI/Y4sce6KaXYElAIOLt+0O3t2+/xJDF1XvOlWGC1W1B8VMszbGfOvT5qaRRAIFK3BCO164nZ0uYLH2YjNN8thXS2v2BK9gTfD7jHVxzHr4roOlEvYYz9QIz+Vl/sLDXInsctFsXjqIRnO2ZO387lxmIboLDZCJ59KLFliNIgh9ipt6tLg9SihpRPDO1ia5byw7de1aCQmF5geOQtK509rzfdwxaKOIq+73AvwCC5/5fcV4vo3+3LpMdtWHh0ywsJC/ZGoCb8/9D8F/ifgLLl8S8QWfU8cAAAAASUVORK5CYII=">
 </p>
@@ -74,7 +74,7 @@ We'd love your help! Use tags [up-for-grabs][up-for-grabs-issues] and [good firs
 ### Thanks to all the people who already contributed
 
 <a href="https://github.com/open-telemetry/opentelemetry-js-contrib/graphs/contributors">
-  <img src="https://contributors-img.web.app/image?repo=open-telemetry/opentelemetry-js-contrib" />
+  <img alt="contributors" src="https://contributors-img.web.app/image?repo=open-telemetry/opentelemetry-js-contrib" />
 </a>
 
 ## Useful links
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md
index ae374d98a6..f4c4e77262 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md
@@ -1,77 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.30.0 to ^0.31.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.31.0 to ^0.32.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.32.0 to ^0.33.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.0 to ^0.33.1
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.1 to ^0.33.2
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.3 to ^0.33.4
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.1 to ^0.34.2
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.2 to ^0.34.3
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.35.0 to ^0.35.1
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.35.1 to ^0.36.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.36.0 to ^0.37.0
-
 ## [0.28.9](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-alibaba-cloud-v0.28.8...resource-detector-alibaba-cloud-v0.28.9) (2024-04-25)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
index d824077ae8..682e603558 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
@@ -1,71 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.30.0 to ^0.31.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.31.0 to ^0.32.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.32.0 to ^0.33.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.0 to ^0.33.1
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.1 to ^0.33.2
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.3 to ^0.33.4
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.1 to ^0.34.2
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.2 to ^0.34.3
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.35.0 to ^0.35.1
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.35.1 to ^0.36.0
-
 ## [1.5.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-aws-v1.4.2...resource-detector-aws-v1.5.0) (2024-05-15)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
index 37556413cb..9e09232989 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
@@ -1,17 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.35.1 to ^0.36.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.36.0 to ^0.37.0
-
 ## [0.2.7](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-azure-v0.2.6...resource-detector-azure-v0.2.7) (2024-04-25)
 
 
@@ -84,7 +72,7 @@
   * devDependencies
     * @opentelemetry/contrib-test-utils bumped from ^0.34.1 to ^0.34.3
 
-## [0.1.0]() ()
+## 0.1.0
 
 ### Features
 
diff --git a/detectors/node/opentelemetry-resource-detector-azure/README.md b/detectors/node/opentelemetry-resource-detector-azure/README.md
index c900a48663..4b7ff90938 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/README.md
+++ b/detectors/node/opentelemetry-resource-detector-azure/README.md
@@ -75,3 +75,13 @@ This package implements Semantic Convention [Version 1.19.0](https://github.com/
 - For more information on OpenTelemetry, visit: <https://opentelemetry.io/>
 - For more about OpenTelemetry JavaScript: <https://github.com/open-telemetry/opentelemetry-js>
 - For help or feedback on this project, join us in [GitHub Discussions][discussions-url]
+
+## License
+
+Apache 2.0 - See [LICENSE][license-url] for more information.
+
+[discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
+[license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE
+[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
+[npm-url]: https://www.npmjs.com/package/@opentelemetry/resource-detector-azure
+[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fresource-detector-azure.svg
diff --git a/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
index 36aa20bfa8..6f692273fd 100644
--- a/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
@@ -1,65 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.30.0 to ^0.31.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.32.0 to ^0.33.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.0 to ^0.33.1
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.1 to ^0.33.2
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.3 to ^0.33.4
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.2 to ^0.34.3
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.35.0 to ^0.35.1
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.35.1 to ^0.36.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.36.0 to ^0.37.0
-
 ## [0.3.9](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-container-v0.3.8...resource-detector-container-v0.3.9) (2024-04-25)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-container/README.md b/detectors/node/opentelemetry-resource-detector-container/README.md
index f798241a28..fd452420fe 100644
--- a/detectors/node/opentelemetry-resource-detector-container/README.md
+++ b/detectors/node/opentelemetry-resource-detector-container/README.md
@@ -51,3 +51,5 @@ Apache 2.0 - See [LICENSE][license-url] for more information.
 [discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
 [license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE
 [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
+[npm-url]: https://www.npmjs.com/package/@opentelemetry/resource-detector-container
+[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fresource-detector-container.svg
diff --git a/detectors/node/opentelemetry-resource-detector-gcp/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-gcp/CHANGELOG.md
index 6037084fb9..b36d6b026a 100644
--- a/detectors/node/opentelemetry-resource-detector-gcp/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-gcp/CHANGELOG.md
@@ -1,65 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.30.0 to ^0.31.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.31.0 to ^0.32.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.32.0 to ^0.33.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.0 to ^0.33.1
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.1 to ^0.33.2
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.3 to ^0.33.4
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.35.0 to ^0.35.1
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.35.1 to ^0.36.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.36.0 to ^0.37.0
-
 ## [0.29.9](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-gcp-v0.29.8...resource-detector-gcp-v0.29.9) (2024-04-25)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md
index 8e06bd069d..fc9f94df52 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md
@@ -1,11 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.9.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-instana-v0.8.0...resource-detector-instana-v0.9.0) (2024-04-25)
 
 
diff --git a/examples/connect/README.md b/examples/connect/README.md
index b8fc64cda2..bc6f2b6f7d 100644
--- a/examples/connect/README.md
+++ b/examples/connect/README.md
@@ -47,7 +47,7 @@ npm install
 
 Go to Zipkin with your browser <http://localhost:9411/>
 
-<p align="center"><img src="images/trace1.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI with trace" src="images/trace1.png?raw=true"/></p>
 
 ## Useful links
 
diff --git a/examples/dns/README.md b/examples/dns/README.md
index 21fc20348a..44f422cb8b 100644
--- a/examples/dns/README.md
+++ b/examples/dns/README.md
@@ -36,7 +36,7 @@ npm run zipkin:client
 `zipkin:client` script should output the `traceid` in the terminal (e.g `traceid: 4815c3d576d930189725f1f1d1bdfcc6`).
 Go to Zipkin with your browser <http://localhost:9411/zipkin/traces/(your-trace-id)> (e.g <http://localhost:9411/zipkin/traces/4815c3d576d930189725f1f1d1bdfcc6>)
 
-<p align="center"><img src="./images/zipkin-ui.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI with trace" src="./images/zipkin-ui.png?raw=true"/></p>
 
 ### Jaeger
 
@@ -52,7 +52,7 @@ Go to Zipkin with your browser <http://localhost:9411/zipkin/traces/(your-trace-
 `jaeger:client` script should output the `traceid` in the terminal (e.g `traceid: 4815c3d576d930189725f1f1d1bdfcc6`).
 Go to Jaeger with your browser <http://localhost:16686/trace/(your-trace-id)> (e.g <http://localhost:16686/trace/4815c3d576d930189725f1f1d1bdfcc6>)
 
-<p align="center"><img src="images/jaeger-ui.png?raw=true"/></p>
+<p align="center"><img alt="Jaeger UI with trace" src="images/jaeger-ui.png?raw=true"/></p>
 
 ## Useful links
 
diff --git a/examples/express/README.md b/examples/express/README.md
index 868d4332d3..5794a5077e 100644
--- a/examples/express/README.md
+++ b/examples/express/README.md
@@ -41,7 +41,7 @@ After a short time, the generated traces should be available in the Zipkin UI.
 Visit <http://localhost:9411/zipkin> and click the "RUN QUERY" button to view
 recent traces, then click "SHOW" on a given trace.
 
-<p align="center"><img src="./images/zipkin.jpg?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI with trace" src="./images/zipkin.jpg?raw=true"/></p>
 
 ### Jaeger
 
@@ -59,7 +59,7 @@ npm run jaeger:client
 
 Visit the Jaeger UI at <http://localhost:16686/search>, select a service (e.g. "example-express-client"), click "Find Traces", then click on a trace to view it.
 
-<p align="center"><img src="images/jaeger.jpg?raw=true"/></p>
+<p align="center"><img alt="Jaeger UI with trace" src="images/jaeger.jpg?raw=true"/></p>
 
 ## Useful links
 
diff --git a/examples/fastify/README.md b/examples/fastify/README.md
index 378a46cf13..1ebe0395fd 100644
--- a/examples/fastify/README.md
+++ b/examples/fastify/README.md
@@ -53,7 +53,7 @@ npm install
 
 Go to Zipkin with your browser <http://localhost:9411/>
 
-<p align="center"><img src="images/trace1.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI with trace" src="images/trace1.png?raw=true"/></p>
 
 ## Useful links
 
diff --git a/examples/hapi/README.md b/examples/hapi/README.md
index 4835efa813..9dc64e6ece 100644
--- a/examples/hapi/README.md
+++ b/examples/hapi/README.md
@@ -44,7 +44,7 @@ Setup [Jaeger Tracing](https://www.jaegertracing.io/docs/latest/getting-started/
 `zipkin:server` script should output the `traceid` in the terminal (e.g `traceid: 4815c3d576d930189725f1f1d1bdfcc6`).
 Go to Zipkin with your browser <http://localhost:9411/zipkin/traces/(your-trace-id)> (e.g <http://localhost:9411/zipkin/traces/4815c3d576d930189725f1f1d1bdfcc6>)
 
-<p align="center"><img src="./images/zipkin.jpg?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI with trace" src="./images/zipkin.jpg?raw=true"/></p>
 
 ### Jaeger
 
@@ -67,7 +67,7 @@ Go to Zipkin with your browser <http://localhost:9411/zipkin/traces/(your-trace-
 `jaeger:server` script should output the `traceid` in the terminal (e.g `traceid: 4815c3d576d930189725f1f1d1bdfcc6`).
 Go to Jaeger with your browser <http://localhost:16686/trace/(your-trace-id)> (e.g <http://localhost:16686/trace/4815c3d576d930189725f1f1d1bdfcc6>)
 
-<p align="center"><img src="images/jaeger.jpg?raw=true"/></p>
+<p align="center"><img alt="Jaeger UI with trace" src="images/jaeger.jpg?raw=true"/></p>
 
 ## Useful links
 
diff --git a/examples/koa/README.md b/examples/koa/README.md
index 3113a66200..08fa8196ef 100644
--- a/examples/koa/README.md
+++ b/examples/koa/README.md
@@ -44,7 +44,7 @@ Setup [Jaeger Tracing](https://www.jaegertracing.io/docs/latest/getting-started/
 The `zipkin:server` script should output the `traceid` in the terminal (e.g `traceid: 4815c3d576d930189725f1f1d1bdfcc6`).
 Go to Zipkin with your browser <http://localhost:9411/zipkin/traces/(your-trace-id)> (e.g <http://localhost:9411/zipkin/traces/4815c3d576d930189725f1f1d1bdfcc6>)
 
-<p align="center"><img src="./images/zipkin.jpg?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI with trace" src="./images/zipkin.jpg?raw=true"/></p>
 
 ### Jaeger
 
@@ -67,7 +67,7 @@ Go to Zipkin with your browser <http://localhost:9411/zipkin/traces/(your-trace-
 The `jaeger:server` script should output the `traceid` in the terminal (e.g `traceid: 4815c3d576d930189725f1f1d1bdfcc6`).
 Go to Jaeger with your browser <http://localhost:16686/trace/(your-trace-id)> (e.g <http://localhost:16686/trace/4815c3d576d930189725f1f1d1bdfcc6>)
 
-<p align="center"><img src="images/jaeger.jpg?raw=true"/></p>
+<p align="center"><img alt="Jaeger UI with trace" src="images/jaeger.jpg?raw=true"/></p>
 
 ## Useful links
 
diff --git a/examples/mongodb/README.md b/examples/mongodb/README.md
index 5cf2ea0368..756cebd331 100644
--- a/examples/mongodb/README.md
+++ b/examples/mongodb/README.md
@@ -50,7 +50,7 @@ After a short time, the generated traces should be available in the Zipkin UI.
 Visit <http://localhost:9411/zipkin> and click the "RUN QUERY" button to view
 recent traces, then click "SHOW" on a given trace.
 
-<p align="center"><img src="./images/zipkin.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI with trace" src="./images/zipkin.png?raw=true"/></p>
 
 ### Jaeger
 
@@ -79,7 +79,7 @@ recent traces, then click "SHOW" on a given trace.
 
 Visit the Jaeger UI at <http://localhost:16686/search>, select a service (e.g. "example-express-client"), click "Find Traces", then click on a trace to view it.
 
-<p align="center"><img src="images/jaeger-ui.png?raw=true"/></p>
+<p align="center"><img alt="Jaeger UI with trace" src="images/jaeger-ui.png?raw=true"/></p>
 
 ## Useful links
 
diff --git a/examples/mysql/README.md b/examples/mysql/README.md
index 6540d8af74..4dd0437442 100644
--- a/examples/mysql/README.md
+++ b/examples/mysql/README.md
@@ -52,7 +52,7 @@ In case you want to see also metrics:
 The `zipkin:server` script should output the `traceid` in the terminal (e.g `traceid: 4815c3d576d930189725f1f1d1bdfcc6`).
 Go to Zipkin with your browser <http://localhost:9411/zipkin/traces/(your-trace-id)> (e.g <http://localhost:9411/zipkin/traces/4815c3d576d930189725f1f1d1bdfcc6>)
 
-<p align="center"><img src="./images/zipkin-ui.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI with trace" src="./images/zipkin-ui.png?raw=true"/></p>
 
 ### Jaeger
 
@@ -75,7 +75,7 @@ Go to Zipkin with your browser <http://localhost:9411/zipkin/traces/(your-trace-
 The `jaeger:server` script should output the `traceid` in the terminal (e.g `traceid: 4815c3d576d930189725f1f1d1bdfcc6`).
 Go to Jaeger with your browser <http://localhost:16686/trace/(your-trace-id)> (e.g <http://localhost:16686/trace/4815c3d576d930189725f1f1d1bdfcc6>)
 
-<p align="center"><img src="images/jaeger-ui.png?raw=true"/></p>
+<p align="center"><img alt="Jaeger UI with trace" src="images/jaeger-ui.png?raw=true"/></p>
 
 ## Useful links
 
diff --git a/examples/react-load/preact/README.md b/examples/react-load/preact/README.md
index 79a71b36f8..bfa3e052d0 100644
--- a/examples/react-load/preact/README.md
+++ b/examples/react-load/preact/README.md
@@ -40,25 +40,25 @@ Take note of the parent-child relationships.
 #### First load
 
 Upon loading, <http://localhost:8080> mounting spans will be exported
-<p align="center"><img src="./images/mounting.png?raw=true"/></p>
-<p align="center"><img src="./images/zipkin-mounting.png?raw=true"/></p>
+<p align="center"><img alt="span data showing parentId" src="./images/mounting.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI showing trace" src="./images/zipkin-mounting.png?raw=true"/></p>
 
 #### Pressing 'Enter'
 
 Here we can see the previous component unmounting and the new component mounting.
-<p align="center"><img src="./images/redirect.png?raw=true"/></p>
-<p align="center"><img src="./images/zipkin-redirect.png?raw=true"/></p>
-<p align="center"><img src="./images/zipkin-redirect2.png?raw=true"/></p>
+<p align="center"><img alt="span data showing parentId" src="./images/redirect.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI showing trace" src="./images/zipkin-redirect.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI showing trace" src="./images/zipkin-redirect2.png?raw=true"/></p>
 
 #### Pressing 'Make Request'
 
 While in loading state:
-<p align="center"><img src="./images/updating.png?raw=true"/></p>
-<p align="center"><img src="./images/zipkin-updating.png?raw=true"/></p>
+<p align="center"><img alt="span data showing parentId" src="./images/updating.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI showing trace" src="./images/zipkin-updating.png?raw=true"/></p>
 
 After a few seconds (when the request is fulfilled):
-<p align="center"><img src="./images/updating2.png?raw=true"/></p>
-<p align="center"><img src="./images/zipkin-updating2.png?raw=true"/></p>
+<p align="center"><img alt="span data showing parentId" src="./images/updating2.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI showing trace" src="./images/zipkin-updating2.png?raw=true"/></p>
 
 ## Useful links
 
diff --git a/examples/react-load/react/README.md b/examples/react-load/react/README.md
index ef4240bde0..5595d6ef35 100644
--- a/examples/react-load/react/README.md
+++ b/examples/react-load/react/README.md
@@ -40,28 +40,28 @@ Take note of the parent-child relationships.
 ### First load
 
 Upon loading, <http://localhost:3000> mounting spans will be exported
-<p align="center"><img src="./images/mounting.png?raw=true"/></p>
-<p align="center"><img src="./images/zipkin-mounting.png?raw=true"/></p>
+<p align="center"><img alt="span data showing parentId" src="./images/mounting.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI showing trace" src="./images/zipkin-mounting.png?raw=true"/></p>
 
 ### Pressing 'Enter'
 
 Here we can see the previous component unmounting and the new component mounting.
-<p align="center"><img src="./images/redirect.png?raw=true"/></p>
-<p align="center"><img src="./images/zipkin-redirect.png?raw=true"/></p>
-<p align="center"><img src="./images/zipkin-redirect2.png?raw=true"/></p>
+<p align="center"><img alt="span data showing parentId" src="./images/redirect.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI showing trace" src="./images/zipkin-redirect.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI showing trace" src="./images/zipkin-redirect2.png?raw=true"/></p>
 
 ### Pressing 'Make Request'
 
 While in loading state:
-<p align="center"><img src="./images/updating.png?raw=true"/></p>
-<p align="center"><img src="./images/zipkin-updating.png?raw=true"/></p>
+<p align="center"><img alt="span data showing parentId" src="./images/updating.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI showing trace" src="./images/zipkin-updating.png?raw=true"/></p>
 
 After a few seconds (when the request is fulfilled):
-<p align="center"><img src="./images/updating2.png?raw=true"/></p>
-<p align="center"><img src="./images/zipkin-updating2.png?raw=true"/></p>
+<p align="center"><img alt="span data showing parentId" src="./images/updating2.png?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI showing trace" src="./images/zipkin-updating2.png?raw=true"/></p>
 
 Since the example adds in a delay to the request, we can see that reflected in the duration of some spans:
-<p align="center"><img src="./images/duration.png?raw=true"/></p>
+<p align="center"><img alt="span data showing duration value" src="./images/duration.png?raw=true"/></p>
 
 ## Useful links
 
diff --git a/examples/redis/README.md b/examples/redis/README.md
index 6feb141f5f..0773ffad8f 100644
--- a/examples/redis/README.md
+++ b/examples/redis/README.md
@@ -61,7 +61,7 @@ After a short time, the generated traces should be available in the Zipkin UI.
 Visit <http://localhost:9411/zipkin> and click the "RUN QUERY" button to view
 recent traces, then click "SHOW" on a given trace.
 
-<p align="center"><img src="./images/zipkin.jpg?raw=true"/></p>
+<p align="center"><img alt="Zipkin UI with trace" src="./images/zipkin.jpg?raw=true"/></p>
 
 ### Jaeger
 
@@ -97,7 +97,7 @@ recent traces, then click "SHOW" on a given trace.
 
 Visit the Jaeger UI at <http://localhost:16686/search>, select a service (e.g. "example-express-client"), click "Find Traces", then click on a trace to view it.
 
-<p align="center"><img src="images/jaeger.jpg?raw=true"/></p>
+<p align="center"><img alt="Jaeger UI with trace" src="images/jaeger.jpg?raw=true"/></p>
 
 ## Useful links
 
diff --git a/metapackages/auto-instrumentations-node/CHANGELOG.md b/metapackages/auto-instrumentations-node/CHANGELOG.md
index c41024c926..d84abc9296 100644
--- a/metapackages/auto-instrumentations-node/CHANGELOG.md
+++ b/metapackages/auto-instrumentations-node/CHANGELOG.md
@@ -1,157 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-aws-sdk bumped from ^0.5.0 to ^0.5.1
-    * @opentelemetry/instrumentation-fastify bumped from ^0.25.0 to ^0.26.0
-    * @opentelemetry/instrumentation-graphql bumped from ^0.27.3 to ^0.27.4
-    * @opentelemetry/instrumentation-ioredis bumped from ^0.27.1 to ^0.28.0
-    * @opentelemetry/instrumentation-mongodb bumped from ^0.28.0 to ^0.29.0
-    * @opentelemetry/instrumentation-mysql bumped from ^0.27.1 to ^0.28.0
-    * @opentelemetry/instrumentation-mysql2 bumped from ^0.28.0 to ^0.29.0
-    * @opentelemetry/instrumentation-redis bumped from ^0.28.0 to ^0.29.0
-    * @opentelemetry/instrumentation-winston bumped from ^0.27.0 to ^0.27.2
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-aws-sdk bumped from ^0.8.0 to ^0.8.1
-    * @opentelemetry/instrumentation-ioredis bumped from ^0.30.0 to ^0.31.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-cassandra-driver bumped from ^0.29.0 to ^0.29.1
-    * @opentelemetry/instrumentation-knex bumped from ^0.29.0 to ^0.29.1
-    * @opentelemetry/instrumentation-koa bumped from ^0.30.0 to ^0.31.0
-    * @opentelemetry/instrumentation-lru-memoizer bumped from ^0.29.0 to ^0.30.0
-    * @opentelemetry/instrumentation-mongodb bumped from ^0.31.0 to ^0.31.1
-    * @opentelemetry/instrumentation-mysql2 bumped from ^0.31.0 to ^0.31.1
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-aws-sdk bumped from ^0.9.0 to ^0.9.1
-    * @opentelemetry/instrumentation-express bumped from ^0.31.0 to ^0.31.1
-    * @opentelemetry/instrumentation-graphql bumped from ^0.30.0 to ^0.31.0
-    * @opentelemetry/instrumentation-ioredis bumped from ^0.32.0 to ^0.32.1
-    * @opentelemetry/instrumentation-mysql bumped from ^0.31.0 to ^0.31.1
-    * @opentelemetry/instrumentation-net bumped from ^0.30.0 to ^0.30.1
-    * @opentelemetry/instrumentation-pg bumped from ^0.31.0 to ^0.31.1
-    * @opentelemetry/instrumentation-pino bumped from ^0.31.0 to ^0.32.0
-    * @opentelemetry/instrumentation-redis-4 bumped from ^0.32.0 to ^0.33.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-express bumped from ^0.31.1 to ^0.31.2
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-aws-lambda bumped from ^0.34.1 to ^0.35.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-amqplib bumped from ^0.32.1 to ^0.32.2
-    * @opentelemetry/instrumentation-dataloader bumped from ^0.3.1 to ^0.4.0
-    * @opentelemetry/instrumentation-dns bumped from ^0.31.1 to ^0.31.2
-    * @opentelemetry/instrumentation-nestjs-core bumped from ^0.32.1 to ^0.32.2
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-fs bumped from ^0.7.0 to ^0.7.1
-    * @opentelemetry/instrumentation-graphql bumped from ^0.33.1 to ^0.33.2
-    * @opentelemetry/instrumentation-ioredis bumped from ^0.33.2 to ^0.34.0
-    * @opentelemetry/instrumentation-koa bumped from ^0.34.1 to ^0.34.2
-    * @opentelemetry/instrumentation-pg bumped from ^0.34.1 to ^0.35.0
-    * @opentelemetry/instrumentation-redis bumped from ^0.34.2 to ^0.34.3
-    * @opentelemetry/instrumentation-redis-4 bumped from ^0.34.2 to ^0.34.3
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-graphql bumped from ^0.33.2 to ^0.34.0
-    * @opentelemetry/instrumentation-koa bumped from ^0.34.2 to ^0.34.3
-    * @opentelemetry/instrumentation-redis bumped from ^0.34.3 to ^0.34.4
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-generic-pool bumped from ^0.32.1 to ^0.32.2
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-dns bumped from ^0.32.1 to ^0.32.2
-    * @opentelemetry/instrumentation-fastify bumped from ^0.32.1 to ^0.32.2
-    * @opentelemetry/instrumentation-mongodb bumped from ^0.36.1 to ^0.37.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-redis-4 bumped from ^0.35.2 to ^0.35.3
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-amqplib bumped from ^0.33.3 to ^0.33.4
-    * @opentelemetry/instrumentation-aws-sdk bumped from ^0.36.2 to ^0.37.0
-    * @opentelemetry/instrumentation-cassandra-driver bumped from ^0.34.0 to ^0.34.1
-    * @opentelemetry/instrumentation-ioredis bumped from ^0.35.3 to ^0.36.0
-    * @opentelemetry/instrumentation-lru-memoizer bumped from ^0.33.3 to ^0.33.4
-    * @opentelemetry/instrumentation-memcached bumped from ^0.32.3 to ^0.32.4
-    * @opentelemetry/instrumentation-mongodb bumped from ^0.37.2 to ^0.37.3
-    * @opentelemetry/instrumentation-mongoose bumped from ^0.33.3 to ^0.33.4
-    * @opentelemetry/instrumentation-mysql bumped from ^0.34.3 to ^0.34.4
-    * @opentelemetry/instrumentation-mysql2 bumped from ^0.34.3 to ^0.34.4
-    * @opentelemetry/instrumentation-pg bumped from ^0.37.0 to ^0.37.1
-    * @opentelemetry/instrumentation-redis bumped from ^0.35.3 to ^0.35.4
-    * @opentelemetry/instrumentation-redis-4 bumped from ^0.35.4 to ^0.35.5
-    * @opentelemetry/instrumentation-socket.io bumped from ^0.34.3 to ^0.34.4
-    * @opentelemetry/instrumentation-tedious bumped from ^0.6.3 to ^0.6.4
-    * @opentelemetry/resource-detector-alibaba-cloud bumped from ^0.28.3 to ^0.28.4
-    * @opentelemetry/resource-detector-aws bumped from ^1.3.3 to ^1.3.4
-    * @opentelemetry/resource-detector-container bumped from ^0.3.3 to ^0.3.4
-    * @opentelemetry/resource-detector-gcp bumped from ^0.29.3 to ^0.29.4
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-aws-lambda bumped from ^0.37.2 to ^0.37.3
-    * @opentelemetry/instrumentation-aws-sdk bumped from ^0.37.0 to ^0.37.1
-    * @opentelemetry/instrumentation-bunyan bumped from ^0.33.0 to ^0.34.0
-    * @opentelemetry/instrumentation-cucumber bumped from ^0.1.2 to ^0.2.0
-    * @opentelemetry/instrumentation-express bumped from ^0.33.3 to ^0.34.0
-    * @opentelemetry/instrumentation-fastify bumped from ^0.32.4 to ^0.32.5
-    * @opentelemetry/instrumentation-koa bumped from ^0.36.2 to ^0.36.3
-    * @opentelemetry/instrumentation-mongodb bumped from ^0.37.3 to ^0.38.0
-    * @opentelemetry/instrumentation-net bumped from ^0.32.3 to ^0.32.4
-    * @opentelemetry/instrumentation-pino bumped from ^0.34.3 to ^0.34.4
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-aws-sdk bumped from ^0.38.0 to ^0.38.1
-
 ## [0.46.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.46.0...auto-instrumentations-node-v0.46.1) (2024-05-15)
 
 
diff --git a/metapackages/auto-instrumentations-web/CHANGELOG.md b/metapackages/auto-instrumentations-web/CHANGELOG.md
index 94fc875089..d85a840680 100644
--- a/metapackages/auto-instrumentations-web/CHANGELOG.md
+++ b/metapackages/auto-instrumentations-web/CHANGELOG.md
@@ -1,17 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-user-interaction bumped from ^0.30.0 to ^0.30.1
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/instrumentation-document-load bumped from ^0.31.1 to ^0.31.2
-
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-web-v0.38.0...auto-instrumentations-web-v0.39.0) (2024-04-25)
 
 
diff --git a/package-lock.json b/package-lock.json
index 8e4f861947..ccbbfd7b09 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -29,6 +29,7 @@
         "glob": "^10.3.10",
         "lerna": "6.6.2",
         "lerna-changelog": "2.2.0",
+        "markdownlint-cli2": "0.13.0",
         "minimatch": "^9.0.3",
         "prettier": "2.8.8",
         "semver": "^7.6.0",
@@ -9925,6 +9926,18 @@
       "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
       "dev": true
     },
+    "node_modules/@sindresorhus/merge-streams": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
+      "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
+      "dev": true,
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/@sinonjs/commons": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz",
@@ -23338,6 +23351,15 @@
         "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       }
     },
+    "node_modules/linkify-it": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
+      "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
+      "dev": true,
+      "dependencies": {
+        "uc.micro": "^2.0.0"
+      }
+    },
     "node_modules/load-json-file": {
       "version": "6.2.0",
       "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz",
@@ -23966,6 +23988,145 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/markdown-it": {
+      "version": "14.1.0",
+      "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
+      "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
+      "dev": true,
+      "dependencies": {
+        "argparse": "^2.0.1",
+        "entities": "^4.4.0",
+        "linkify-it": "^5.0.0",
+        "mdurl": "^2.0.0",
+        "punycode.js": "^2.3.1",
+        "uc.micro": "^2.1.0"
+      },
+      "bin": {
+        "markdown-it": "bin/markdown-it.mjs"
+      }
+    },
+    "node_modules/markdown-it/node_modules/entities": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
+      }
+    },
+    "node_modules/markdownlint": {
+      "version": "0.34.0",
+      "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.34.0.tgz",
+      "integrity": "sha512-qwGyuyKwjkEMOJ10XN6OTKNOVYvOIi35RNvDLNxTof5s8UmyGHlCdpngRHoRGNvQVGuxO3BJ7uNSgdeX166WXw==",
+      "dev": true,
+      "dependencies": {
+        "markdown-it": "14.1.0",
+        "markdownlint-micromark": "0.1.9"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/DavidAnson"
+      }
+    },
+    "node_modules/markdownlint-cli2": {
+      "version": "0.13.0",
+      "resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.13.0.tgz",
+      "integrity": "sha512-Pg4nF7HlopU97ZXtrcVISWp3bdsuc5M0zXyLp2/sJv2zEMlInrau0ZKK482fQURzVezJzWBpNmu4u6vGAhij+g==",
+      "dev": true,
+      "dependencies": {
+        "globby": "14.0.1",
+        "js-yaml": "4.1.0",
+        "jsonc-parser": "3.2.1",
+        "markdownlint": "0.34.0",
+        "markdownlint-cli2-formatter-default": "0.0.4",
+        "micromatch": "4.0.5"
+      },
+      "bin": {
+        "markdownlint-cli2": "markdownlint-cli2.js"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/DavidAnson"
+      }
+    },
+    "node_modules/markdownlint-cli2-formatter-default": {
+      "version": "0.0.4",
+      "resolved": "https://registry.npmjs.org/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.4.tgz",
+      "integrity": "sha512-xm2rM0E+sWgjpPn1EesPXx5hIyrN2ddUnUwnbCsD/ONxYtw3PX6LydvdH6dciWAoFDpwzbHM1TO7uHfcMd6IYg==",
+      "dev": true,
+      "peerDependencies": {
+        "markdownlint-cli2": ">=0.0.4"
+      }
+    },
+    "node_modules/markdownlint-cli2/node_modules/globby": {
+      "version": "14.0.1",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz",
+      "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==",
+      "dev": true,
+      "dependencies": {
+        "@sindresorhus/merge-streams": "^2.1.0",
+        "fast-glob": "^3.3.2",
+        "ignore": "^5.2.4",
+        "path-type": "^5.0.0",
+        "slash": "^5.1.0",
+        "unicorn-magic": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/markdownlint-cli2/node_modules/jsonc-parser": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz",
+      "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==",
+      "dev": true
+    },
+    "node_modules/markdownlint-cli2/node_modules/path-type": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz",
+      "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/markdownlint-cli2/node_modules/slash": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
+      "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
+      "dev": true,
+      "engines": {
+        "node": ">=14.16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/markdownlint-micromark": {
+      "version": "0.1.9",
+      "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.9.tgz",
+      "integrity": "sha512-5hVs/DzAFa8XqYosbEAEg6ok6MF2smDj89ztn9pKkCtdKHVdPQuGMH7frFfYL9mLkvfFe4pTyAMffLbjf3/EyA==",
+      "dev": true,
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/DavidAnson"
+      }
+    },
     "node_modules/marky": {
       "version": "1.2.5",
       "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz",
@@ -23983,6 +24144,12 @@
         "safe-buffer": "^5.1.2"
       }
     },
+    "node_modules/mdurl": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
+      "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
+      "dev": true
+    },
     "node_modules/media-typer": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -29412,6 +29579,15 @@
         "node": ">=6"
       }
     },
+    "node_modules/punycode.js": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+      "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
     "node_modules/puppeteer-core": {
       "version": "22.4.1",
       "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.4.1.tgz",
@@ -34347,6 +34523,12 @@
         "node": "*"
       }
     },
+    "node_modules/uc.micro": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+      "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
+      "dev": true
+    },
     "node_modules/uglify-js": {
       "version": "3.17.4",
       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
@@ -34436,6 +34618,18 @@
       "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
       "dev": true
     },
+    "node_modules/unicorn-magic": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
+      "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/union-value": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
@@ -49702,6 +49896,12 @@
       "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
       "dev": true
     },
+    "@sindresorhus/merge-streams": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
+      "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
+      "dev": true
+    },
     "@sinonjs/commons": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz",
@@ -60378,6 +60578,15 @@
       "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==",
       "dev": true
     },
+    "linkify-it": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
+      "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
+      "dev": true,
+      "requires": {
+        "uc.micro": "^2.0.0"
+      }
+    },
     "load-json-file": {
       "version": "6.2.0",
       "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz",
@@ -60901,6 +61110,99 @@
         "object-visit": "^1.0.0"
       }
     },
+    "markdown-it": {
+      "version": "14.1.0",
+      "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
+      "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
+      "dev": true,
+      "requires": {
+        "argparse": "^2.0.1",
+        "entities": "^4.4.0",
+        "linkify-it": "^5.0.0",
+        "mdurl": "^2.0.0",
+        "punycode.js": "^2.3.1",
+        "uc.micro": "^2.1.0"
+      },
+      "dependencies": {
+        "entities": {
+          "version": "4.5.0",
+          "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+          "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+          "dev": true
+        }
+      }
+    },
+    "markdownlint": {
+      "version": "0.34.0",
+      "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.34.0.tgz",
+      "integrity": "sha512-qwGyuyKwjkEMOJ10XN6OTKNOVYvOIi35RNvDLNxTof5s8UmyGHlCdpngRHoRGNvQVGuxO3BJ7uNSgdeX166WXw==",
+      "dev": true,
+      "requires": {
+        "markdown-it": "14.1.0",
+        "markdownlint-micromark": "0.1.9"
+      }
+    },
+    "markdownlint-cli2": {
+      "version": "0.13.0",
+      "resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.13.0.tgz",
+      "integrity": "sha512-Pg4nF7HlopU97ZXtrcVISWp3bdsuc5M0zXyLp2/sJv2zEMlInrau0ZKK482fQURzVezJzWBpNmu4u6vGAhij+g==",
+      "dev": true,
+      "requires": {
+        "globby": "14.0.1",
+        "js-yaml": "4.1.0",
+        "jsonc-parser": "3.2.1",
+        "markdownlint": "0.34.0",
+        "markdownlint-cli2-formatter-default": "0.0.4",
+        "micromatch": "4.0.5"
+      },
+      "dependencies": {
+        "globby": {
+          "version": "14.0.1",
+          "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz",
+          "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==",
+          "dev": true,
+          "requires": {
+            "@sindresorhus/merge-streams": "^2.1.0",
+            "fast-glob": "^3.3.2",
+            "ignore": "^5.2.4",
+            "path-type": "^5.0.0",
+            "slash": "^5.1.0",
+            "unicorn-magic": "^0.1.0"
+          }
+        },
+        "jsonc-parser": {
+          "version": "3.2.1",
+          "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz",
+          "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==",
+          "dev": true
+        },
+        "path-type": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz",
+          "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==",
+          "dev": true
+        },
+        "slash": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
+          "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
+          "dev": true
+        }
+      }
+    },
+    "markdownlint-cli2-formatter-default": {
+      "version": "0.0.4",
+      "resolved": "https://registry.npmjs.org/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.4.tgz",
+      "integrity": "sha512-xm2rM0E+sWgjpPn1EesPXx5hIyrN2ddUnUwnbCsD/ONxYtw3PX6LydvdH6dciWAoFDpwzbHM1TO7uHfcMd6IYg==",
+      "dev": true,
+      "requires": {}
+    },
+    "markdownlint-micromark": {
+      "version": "0.1.9",
+      "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.9.tgz",
+      "integrity": "sha512-5hVs/DzAFa8XqYosbEAEg6ok6MF2smDj89ztn9pKkCtdKHVdPQuGMH7frFfYL9mLkvfFe4pTyAMffLbjf3/EyA==",
+      "dev": true
+    },
     "marky": {
       "version": "1.2.5",
       "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz",
@@ -60918,6 +61220,12 @@
         "safe-buffer": "^5.1.2"
       }
     },
+    "mdurl": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
+      "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
+      "dev": true
+    },
     "media-typer": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -65259,6 +65567,12 @@
       "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
       "dev": true
     },
+    "punycode.js": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+      "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
+      "dev": true
+    },
     "puppeteer-core": {
       "version": "22.4.1",
       "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.4.1.tgz",
@@ -69096,6 +69410,12 @@
       "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==",
       "dev": true
     },
+    "uc.micro": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+      "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
+      "dev": true
+    },
     "uglify-js": {
       "version": "3.17.4",
       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
@@ -69158,6 +69478,12 @@
       "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
       "dev": true
     },
+    "unicorn-magic": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
+      "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+      "dev": true
+    },
     "union-value": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
diff --git a/package.json b/package.json
index 177c83d77d..0d6447f3ea 100644
--- a/package.json
+++ b/package.json
@@ -26,7 +26,9 @@
     "lint": "lerna run lint",
     "lint:fix": "lerna run lint:fix",
     "lint:examples": "eslint ./examples/**/*.js",
-    "lint:examples:fix": "eslint ./examples/**/*.js --fix"
+    "lint:examples:fix": "eslint ./examples/**/*.js --fix",
+    "lint:markdown": "markdownlint-cli2 $(git ls-files '*.md')",
+    "lint:markdown:fix": "markdownlint-cli2 --fix $(git ls-files '*.md')"
   },
   "keywords": [
     "opentelemetry",
@@ -51,6 +53,7 @@
     "glob": "^10.3.10",
     "lerna": "6.6.2",
     "lerna-changelog": "2.2.0",
+    "markdownlint-cli2": "0.13.0",
     "minimatch": "^9.0.3",
     "prettier": "2.8.8",
     "semver": "^7.6.0",
diff --git a/packages/opentelemetry-id-generator-aws-xray/README.md b/packages/opentelemetry-id-generator-aws-xray/README.md
index 707cddadbb..8c7d77604d 100644
--- a/packages/opentelemetry-id-generator-aws-xray/README.md
+++ b/packages/opentelemetry-id-generator-aws-xray/README.md
@@ -53,8 +53,9 @@ A trace ID consists of two parts:
 ## License
 
 Apache 2.0 - See [LICENSE][license-url] for more information.
-[discussions-url]: <https://github.com/open-telemetry/opentelemetry-js/discussions>
-[license-url]: <https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE>
-[license-image]: <https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat>
-[npm-url]: <https://www.npmjs.com/package/@opentelemetry/id-generator-aws-xray>
-[npm-img]: <https://badge.fury.io/js/%40opentelemetry%2Fid-generator-aws-xray.svg>
+
+[discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
+[license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE
+[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
+[npm-url]: https://www.npmjs.com/package/@opentelemetry/id-generator-aws-xray
+[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fid-generator-aws-xray.svg
diff --git a/packages/opentelemetry-propagation-utils/CHANGELOG.md b/packages/opentelemetry-propagation-utils/CHANGELOG.md
index 0b233f0097..645dc6e294 100644
--- a/packages/opentelemetry-propagation-utils/CHANGELOG.md
+++ b/packages/opentelemetry-propagation-utils/CHANGELOG.md
@@ -1,65 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.31.0 to ^0.33.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.0 to ^0.33.1
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.1 to ^0.33.2
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.33.3 to ^0.33.4
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.1 to ^0.34.2
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.2 to ^0.34.3
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.35.0 to ^0.35.1
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.35.1 to ^0.36.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.36.0 to ^0.37.0
-
 ## [0.30.9](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/propagation-utils-v0.30.8...propagation-utils-v0.30.9) (2024-04-25)
 
 
diff --git a/plugins/node/instrumentation-amqplib/CHANGELOG.md b/plugins/node/instrumentation-amqplib/CHANGELOG.md
index abe7b56fcc..a178b7ceb8 100644
--- a/plugins/node/instrumentation-amqplib/CHANGELOG.md
+++ b/plugins/node/instrumentation-amqplib/CHANGELOG.md
@@ -1,11 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-amqplib-v0.36.0...instrumentation-amqplib-v0.37.0) (2024-04-25)
 
 
diff --git a/plugins/node/instrumentation-amqplib/README.md b/plugins/node/instrumentation-amqplib/README.md
index 5d4933db7e..1fce886b89 100644
--- a/plugins/node/instrumentation-amqplib/README.md
+++ b/plugins/node/instrumentation-amqplib/README.md
@@ -55,7 +55,7 @@ amqplib instrumentation has few options available to choose from. You can set th
 | `publishConfirmHook`                  | `AmqplibPublishConfirmCustomAttributeFunction`    | hook for adding custom attributes after publish message is confirmed by the broker.                                             |
 | `consumeHook`                  | `AmqplibConsumeCustomAttributeFunction`    | hook for adding custom attributes before consumer message is processed.                                             |
 | `consumeEndHook`                  | `AmqplibConsumeEndCustomAttributeFunction`    | hook for adding custom attributes after consumer message is acked to server.                                             |
-| `consumeTimeoutMs`                  | `number`    | read [Consume Timeout](#ConsumeTimeout) below                                             |
+| `consumeTimeoutMs`                  | `number`    | read [Consume Timeout](#consume-timeout) below                                             |
 
 ### Consume Timeout
 
diff --git a/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md b/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md
index 0894302e84..e7d4223e41 100644
--- a/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md
+++ b/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md
@@ -1,11 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-lru-memoizer-v0.36.0...instrumentation-lru-memoizer-v0.37.0) (2024-04-25)
 
 
diff --git a/plugins/node/instrumentation-mongoose/CHANGELOG.md b/plugins/node/instrumentation-mongoose/CHANGELOG.md
index 3ecd94b550..3e8d038e5b 100644
--- a/plugins/node/instrumentation-mongoose/CHANGELOG.md
+++ b/plugins/node/instrumentation-mongoose/CHANGELOG.md
@@ -1,11 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.38.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongoose-v0.38.0...instrumentation-mongoose-v0.38.1) (2024-05-02)
 
 
diff --git a/plugins/node/instrumentation-socket.io/CHANGELOG.md b/plugins/node/instrumentation-socket.io/CHANGELOG.md
index ff649a2854..d3512ebc7c 100644
--- a/plugins/node/instrumentation-socket.io/CHANGELOG.md
+++ b/plugins/node/instrumentation-socket.io/CHANGELOG.md
@@ -1,11 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-socket.io-v0.38.0...instrumentation-socket.io-v0.39.0) (2024-04-25)
 
 
diff --git a/plugins/node/instrumentation-tedious/CHANGELOG.md b/plugins/node/instrumentation-tedious/CHANGELOG.md
index 455ad22ac5..05bbb10992 100644
--- a/plugins/node/instrumentation-tedious/CHANGELOG.md
+++ b/plugins/node/instrumentation-tedious/CHANGELOG.md
@@ -1,11 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.10.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-tedious-v0.10.0...instrumentation-tedious-v0.10.1) (2024-05-02)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md b/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md
index dc362c6a29..52017e7497 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md
@@ -56,7 +56,7 @@ aws-sdk instrumentation has few options available to choose from. You can set th
 Both V2 and V3 instrumentations are collecting the following attributes:
 | Attribute Name | Type | Description | Example |
 | -------------- | ---- | ----------- | ------- |
-| `rpc.system` | string | Always equals "aws-api" |
+| `rpc.system` | string | Always equals "aws-api" | |
 | `rpc.method` | string | he name of the operation corresponding to the request, as returned by the AWS SDK. If the SDK does not provide a way to retrieve a name, the name of the command SHOULD be used, removing the suffix `Command` if present, resulting in a PascalCase name with no spaces. | `PutObject` |
 | `rpc.service` | string | The name of the service to which a request is made, as returned by the AWS SDK. If the SDK does not provide a away to retrieve a name, the name of the SDK's client interface for a service SHOULD be used, removing the suffix `Client` if present, resulting in a PascalCase name with no spaces. | `S3`, `DynamoDB`, `Route53` |
 | `aws.region` | string | Region name for the request | "eu-west-1" |
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md
index 8f9bcdec60..0005177884 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md
@@ -1,11 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cassandra-driver-v0.37.0...instrumentation-cassandra-driver-v0.38.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-dns/README.md b/plugins/node/opentelemetry-instrumentation-dns/README.md
index 74d7e2a7bd..d394584264 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/README.md
+++ b/plugins/node/opentelemetry-instrumentation-dns/README.md
@@ -44,7 +44,7 @@ DNS instrumentation has currently one option. You can set the following:
 
 | Options | Type | Description |
 | ------- | ---- | ----------- |
-| [`ignoreHostnames`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-dns/src/types.ts#L99) | `IgnoreMatcher | IgnoreMatcher[]` | DNS instrumentation will not trace all requests that match hostnames |
+| [`ignoreHostnames`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-dns/src/types.ts#L99) | `IgnoreMatcher \| IgnoreMatcher[]` | DNS instrumentation will not trace all requests that match hostnames |
 
 ## Semantic Conventions
 
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/README.md b/plugins/node/opentelemetry-instrumentation-graphql/README.md
index 9344e8ed19..5a23f47660 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/README.md
+++ b/plugins/node/opentelemetry-instrumentation-graphql/README.md
@@ -52,14 +52,14 @@ registerInstrumentations({
 
 ## Optional Parameters
 
-|    Param    |   type  | Default Value |                                                                        Description                                                                        |   |
-|:-----------:|:-------:|:-------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------:|:-:|
-|  mergeItems | boolean |     false     |                    Whether to merge list items into a single element. example: `users.*.name` instead of `users.0.name`, `users.1.name`                   |   |
-|    depth    |  number |       -1      |                       The maximum depth of fields/resolvers to instrument. When set to 0 it will not instrument fields and resolvers. When set to -1 it will instrument all fields and resolvers.                      |   |
-| allowValues | boolean |     false     | When set to true it will not remove attributes values from schema source.   By default all values that can be sensitive are removed and replaced with "*" |   |
+|    Param    |   type  | Default Value |                                                                        Description                                                                        |
+|:-----------:|:-------:|:-------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------:|
+|  mergeItems | boolean |     false     |                    Whether to merge list items into a single element. example: `users.*.name` instead of `users.0.name`, `users.1.name`                   |
+|    depth    |  number |       -1      |                       The maximum depth of fields/resolvers to instrument. When set to 0 it will not instrument fields and resolvers. When set to -1 it will instrument all fields and resolvers. |
+| allowValues | boolean |     false     | When set to true it will not remove attributes values from schema source.   By default all values that can be sensitive are removed and replaced with "*" |
 | ignoreTrivialResolveSpans | boolean | false | Don't create spans for the execution of the default resolver on object properties. |
 | ignoreResolveSpans | boolean | false | Don't create spans for resolvers, regardless if they are trivial or not. |
-| responseHook | GraphQLInstrumentationExecutionResponseHook |     undefined     | Hook that allows adding custom span attributes based on the data returned from "execute" GraphQL action. |   |
+| responseHook | GraphQLInstrumentationExecutionResponseHook |     undefined     | Hook that allows adding custom span attributes based on the data returned from "execute" GraphQL action. |
 
 ## Verbosity
 
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md
index a33c58408f..719c6e0b56 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md
@@ -1,11 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.36.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-memcached-v0.35.0...instrumentation-memcached-v0.36.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
index 2357e2c607..6890eb6781 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
@@ -1,11 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.43.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongodb-v0.42.0...instrumentation-mongodb-v0.43.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md
index 8ca1ed7f1e..72f1728245 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md
@@ -1,11 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.38.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql-v0.38.0...instrumentation-mysql-v0.38.1) (2024-05-02)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/README.md b/plugins/node/opentelemetry-instrumentation-mysql/README.md
index e632521fb6..971fc5351a 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/README.md
+++ b/plugins/node/opentelemetry-instrumentation-mysql/README.md
@@ -47,7 +47,7 @@ See [examples/mysql](https://github.com/open-telemetry/opentelemetry-js-contrib/
 | Options | Type | Default | Description |
 | ------- | ---- | --------| ----------- |
 | [`enhancedDatabaseReporting`](./src/types.ts#L24) | `boolean` | `false` | If true, an attribute containing the query's parameters will be attached the spans generated to represent the query |
-|
+
 
 ## Semantic Conventions
 
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md
index 54125f5ba2..a8dbdd6431 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md
@@ -1,11 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.38.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql2-v0.38.0...instrumentation-mysql2-v0.38.1) (2024-05-02)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/README.md b/plugins/node/opentelemetry-instrumentation-nestjs-core/README.md
index ac24133fa3..1c1f0cd347 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/README.md
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/README.md
@@ -42,11 +42,11 @@ registerInstrumentations({
 
 ## Emitted Spans
 
-| Name | `nestjs.type` | Description | Included attributes
-| ---- | ---- | ---- | ----
-`Create Nest App` | `app_creation` | Traces the bootup for the Nest App. The `NestFactory(Static).create` call. | `nestjs.module`
-`<ControllerName>.<memberName>` | `request_context` | Traces the whole request context. | `http.*`, `nestjs.callback`
-`<memberName>` | `handler` | Traces the work of a specific controller member function. | `nestjs.callback`
+| Name | `nestjs.type` | Description | Included attributes |
+| ---- | ---- | ---- | ---- |
+| `Create Nest App` | `app_creation` | Traces the bootup for the Nest App. The `NestFactory(Static).create` call. | `nestjs.module` |
+| `<ControllerName>.<memberName>` | `request_context` | Traces the whole request context. | `http.*`, `nestjs.callback` |
+| `<memberName>` | `handler` | Traces the work of a specific controller member function. | `nestjs.callback` |
 
 ## Semantic Conventions
 
@@ -83,6 +83,4 @@ Apache 2.0 - See [LICENSE][license-url] for more information.
 [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
 [npm-url]: https://www.npmjs.com/package/@opentelemetry/instrumentation-nestjs-core
 [npm-img]: https://badge.fury.io/js/%40opentelemetry%2Finstrumentation-nestjs-core.svg
-[pkg-repo-url]: https://github.com/nestjs/nest
-[pkg-npm-url]: https://www.npmjs.com/package/@nestjs/core
 [pkg-web-url]: https://nestjs.com/
diff --git a/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md
index ff4aaae86e..0fc8bd96f8 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md
@@ -1,11 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pg-v0.40.0...instrumentation-pg-v0.41.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
index 6a8dfd06b8..02880ab527 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
@@ -1,17 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/redis-common bumped from ^0.34.0 to ^0.35.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-4-v0.38.0...instrumentation-redis-4-v0.39.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md
index cd856dc0a7..ca04cca227 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md
@@ -1,17 +1,5 @@
 # Changelog
 
-### Dependencies
-
-* The following workspace dependencies were updated
-  * dependencies
-    * @opentelemetry/redis-common bumped from ^0.34.0 to ^0.35.0
-
-### Dependencies
-
-* The following workspace dependencies were updated
-  * devDependencies
-    * @opentelemetry/contrib-test-utils bumped from ^0.34.3 to ^0.35.0
-
 ## [0.39.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-v0.39.0...instrumentation-redis-v0.39.1) (2024-05-02)
 
 

From 7272ca85625248718c6276559b36853ea93ae97e Mon Sep 17 00:00:00 2001
From: Jackson Weber <47067795+JacksonWeber@users.noreply.github.com>
Date: Fri, 31 May 2024 00:49:10 -0700
Subject: [PATCH 020/123] fix: Update Azure Functions Detector Collected
 Attributes (#2233)

* Update azure functions detector collected attributes.

* Clean up comments.

* Fix lint.

* Add tests for cloud resource id parsing.

* Add comment to explain usage of the functionVersion env var.

---------

Co-authored-by: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com>
---
 .../README.md                                 |  5 ++-
 .../src/detectors/AzureAppServiceDetector.ts  | 21 +----------
 .../src/detectors/AzureFunctionsDetector.ts   | 36 +++++++++++-------
 .../src/utils.ts                              | 35 ++++++++++++++++++
 .../detectors/AzureFunctionsDetector.test.ts  | 37 ++++++++++++++++---
 5 files changed, 94 insertions(+), 40 deletions(-)
 create mode 100644 detectors/node/opentelemetry-resource-detector-azure/src/utils.ts

diff --git a/detectors/node/opentelemetry-resource-detector-azure/README.md b/detectors/node/opentelemetry-resource-detector-azure/README.md
index 4b7ff90938..cd0a85832d 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/README.md
+++ b/detectors/node/opentelemetry-resource-detector-azure/README.md
@@ -67,8 +67,9 @@ This package implements Semantic Convention [Version 1.19.0](https://github.com/
 | cloud.region            | The Azure region where the Azure Function is hosted, e.g., "East US", "West Europe", etc. Value of Process Environment Variable `REGION_NAME`.       |
 | faas.instance           | The specific instance of the Azure App Service, useful in a scaled-out configuration. Value from Process Environment Variable `WEBSITE_INSTANCE_ID`. |
 | faas.max_memory         | The amount of memory available to the Azure Function expressed in MiB. value from Process Environment Variable `WEBSITE_MEMORY_LIMIT_MB`.            |
-| faas.name               | The name of the Azure App Service. Value from Process Environment Variable `WEBSITE_SITE_NAME`.                                                      |
-| faas.version            | The version of the Azure Function being executed, e.g., "~4". value from Process Environment Variable `FUNCTIONS_EXTENSION_VERSION`.                 |
+| service.name            | The name of the service the Azure Functions runs within. Value from Process Environment Variable `WEBSITE_SITE_NAME`.                                |
+| cloud.resource_id       | The Azure Resource Manager URI uniquely identifying the Azure Virtual Machine. It typically follows this format: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Compute/virtualMachines/{vmName}. Value from resourceId key on /metadata/instance/compute request. |
+| process.pid             | The process ID collected from the running process.                                                                                                   |
 
 ## Useful links
 
diff --git a/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureAppServiceDetector.ts b/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureAppServiceDetector.ts
index 7811ba4fa3..72b2fc8ac1 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureAppServiceDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureAppServiceDetector.ts
@@ -21,8 +21,6 @@ import {
   WEBSITE_HOME_STAMPNAME,
   WEBSITE_HOSTNAME,
   WEBSITE_INSTANCE_ID,
-  WEBSITE_OWNER_NAME,
-  WEBSITE_RESOURCE_GROUP,
   WEBSITE_SITE_NAME,
   WEBSITE_SLOT_NAME,
   CLOUD_RESOURCE_ID_RESOURCE_ATTRIBUTE,
@@ -39,6 +37,7 @@ import {
   CLOUDPROVIDERVALUES_AZURE,
   CLOUDPLATFORMVALUES_AZURE_APP_SERVICE,
 } from '@opentelemetry/semantic-conventions';
+import { getAzureResourceUri } from '../utils';
 
 const APP_SERVICE_ATTRIBUTE_ENV_VARS = {
   [SEMRESATTRS_CLOUD_REGION]: REGION_NAME,
@@ -71,7 +70,7 @@ class AzureAppServiceDetector implements DetectorSync {
         [SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AZURE_APP_SERVICE,
       };
 
-      const azureResourceUri = this.getAzureResourceUri(websiteSiteName);
+      const azureResourceUri = getAzureResourceUri(websiteSiteName);
       if (azureResourceUri) {
         attributes = {
           ...attributes,
@@ -90,22 +89,6 @@ class AzureAppServiceDetector implements DetectorSync {
     }
     return new Resource(attributes);
   }
-
-  private getAzureResourceUri(websiteSiteName: string): string | undefined {
-    const websiteResourceGroup = process.env[WEBSITE_RESOURCE_GROUP];
-    const websiteOwnerName = process.env[WEBSITE_OWNER_NAME];
-
-    let subscriptionId = websiteOwnerName;
-    if (websiteOwnerName && websiteOwnerName.indexOf('+') !== -1) {
-      subscriptionId = websiteOwnerName.split('+')[0];
-    }
-
-    if (!subscriptionId && !websiteOwnerName) {
-      return undefined;
-    }
-
-    return `/subscriptions/${subscriptionId}/resourceGroups/${websiteResourceGroup}/providers/Microsoft.Web/sites/${websiteSiteName}`;
-  }
 }
 
 export const azureAppServiceDetector = new AzureAppServiceDetector();
diff --git a/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureFunctionsDetector.ts b/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureFunctionsDetector.ts
index 38b2f62f5e..74cd9e3054 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureFunctionsDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureFunctionsDetector.ts
@@ -17,8 +17,6 @@
 import { DetectorSync, IResource, Resource } from '@opentelemetry/resources';
 
 import {
-  SEMRESATTRS_FAAS_NAME,
-  SEMRESATTRS_FAAS_VERSION,
   SEMRESATTRS_FAAS_MAX_MEMORY,
   SEMRESATTRS_FAAS_INSTANCE,
   SEMRESATTRS_CLOUD_PROVIDER,
@@ -26,6 +24,8 @@ import {
   SEMRESATTRS_CLOUD_REGION,
   CLOUDPROVIDERVALUES_AZURE,
   CLOUDPLATFORMVALUES_AZURE_FUNCTIONS,
+  SEMRESATTRS_SERVICE_NAME,
+  SEMRESATTRS_PROCESS_PID,
 } from '@opentelemetry/semantic-conventions';
 import {
   WEBSITE_SITE_NAME,
@@ -33,11 +33,12 @@ import {
   WEBSITE_INSTANCE_ID,
   FUNCTIONS_MEM_LIMIT,
   REGION_NAME,
+  CLOUD_RESOURCE_ID_RESOURCE_ATTRIBUTE,
 } from '../types';
+import { getAzureResourceUri } from '../utils';
 
 const AZURE_FUNCTIONS_ATTRIBUTE_ENV_VARS = {
-  [SEMRESATTRS_FAAS_NAME]: WEBSITE_SITE_NAME,
-  [SEMRESATTRS_FAAS_VERSION]: FUNCTIONS_VERSION,
+  [SEMRESATTRS_SERVICE_NAME]: WEBSITE_SITE_NAME,
   [SEMRESATTRS_FAAS_INSTANCE]: WEBSITE_INSTANCE_ID,
   [SEMRESATTRS_FAAS_MAX_MEMORY]: FUNCTIONS_MEM_LIMIT,
 };
@@ -49,9 +50,14 @@ const AZURE_FUNCTIONS_ATTRIBUTE_ENV_VARS = {
 class AzureFunctionsDetector implements DetectorSync {
   detect(): IResource {
     let attributes = {};
-    const functionName = process.env[WEBSITE_SITE_NAME];
+    const serviceName = process.env[WEBSITE_SITE_NAME];
     const functionVersion = process.env[FUNCTIONS_VERSION];
-    if (functionName && functionVersion) {
+
+    /**
+     * Checks that we are operating within an Azure Function using the function version since WEBSITE_SITE_NAME
+     * will exist in Azure App Service as well and detectors should be mutually exclusive.
+     */
+    if (serviceName && functionVersion) {
       const functionInstance = process.env[WEBSITE_INSTANCE_ID];
       const functionMemLimit = process.env[FUNCTIONS_MEM_LIMIT];
 
@@ -59,18 +65,13 @@ class AzureFunctionsDetector implements DetectorSync {
         [SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AZURE,
         [SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AZURE_FUNCTIONS,
         [SEMRESATTRS_CLOUD_REGION]: process.env[REGION_NAME],
+        [SEMRESATTRS_PROCESS_PID]: process.pid,
       };
 
-      if (functionName) {
-        attributes = {
-          ...attributes,
-          [SEMRESATTRS_FAAS_NAME]: functionName,
-        };
-      }
-      if (functionVersion) {
+      if (serviceName) {
         attributes = {
           ...attributes,
-          [SEMRESATTRS_FAAS_VERSION]: functionVersion,
+          [SEMRESATTRS_SERVICE_NAME]: serviceName,
         };
       }
       if (functionInstance) {
@@ -85,6 +86,13 @@ class AzureFunctionsDetector implements DetectorSync {
           [SEMRESATTRS_FAAS_MAX_MEMORY]: functionMemLimit,
         };
       }
+      const azureResourceUri = getAzureResourceUri(serviceName);
+      if (azureResourceUri) {
+        attributes = {
+          ...attributes,
+          ...{ [CLOUD_RESOURCE_ID_RESOURCE_ATTRIBUTE]: azureResourceUri },
+        };
+      }
 
       for (const [key, value] of Object.entries(
         AZURE_FUNCTIONS_ATTRIBUTE_ENV_VARS
diff --git a/detectors/node/opentelemetry-resource-detector-azure/src/utils.ts b/detectors/node/opentelemetry-resource-detector-azure/src/utils.ts
new file mode 100644
index 0000000000..2b12431bdd
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-azure/src/utils.ts
@@ -0,0 +1,35 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { WEBSITE_OWNER_NAME, WEBSITE_RESOURCE_GROUP } from './types';
+
+export function getAzureResourceUri(
+  websiteSiteName: string
+): string | undefined {
+  const websiteResourceGroup = process.env[WEBSITE_RESOURCE_GROUP];
+  const websiteOwnerName = process.env[WEBSITE_OWNER_NAME];
+
+  let subscriptionId = websiteOwnerName;
+  if (websiteOwnerName && websiteOwnerName.indexOf('+') !== -1) {
+    subscriptionId = websiteOwnerName.split('+')[0];
+  }
+
+  if (!subscriptionId && !websiteOwnerName) {
+    return undefined;
+  }
+
+  return `/subscriptions/${subscriptionId}/resourceGroups/${websiteResourceGroup}/providers/Microsoft.Web/sites/${websiteSiteName}`;
+}
diff --git a/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureFunctionsDetector.test.ts b/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureFunctionsDetector.test.ts
index 0a334ab66f..1effe3a996 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureFunctionsDetector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureFunctionsDetector.test.ts
@@ -23,9 +23,9 @@ import {
   SEMRESATTRS_CLOUD_REGION,
   SEMRESATTRS_FAAS_INSTANCE,
   SEMRESATTRS_FAAS_MAX_MEMORY,
-  SEMRESATTRS_FAAS_NAME,
-  SEMRESATTRS_FAAS_VERSION,
+  SEMRESATTRS_PROCESS_PID,
   SEMRESATTRS_SERVICE_INSTANCE_ID,
+  SEMRESATTRS_SERVICE_NAME,
 } from '@opentelemetry/semantic-conventions';
 import { detectResourcesSync } from '@opentelemetry/resources';
 import { AZURE_APP_SERVICE_STAMP_RESOURCE_ATTRIBUTE } from '../../src/types';
@@ -41,18 +41,20 @@ describe('AzureFunctionsDetector', () => {
   });
 
   it('should test functions values', () => {
-    process.env.WEBSITE_SITE_NAME = 'test-function';
+    process.env.WEBSITE_SITE_NAME = 'test-service';
     process.env.REGION_NAME = 'test-region';
     process.env.WEBSITE_INSTANCE_ID = 'test-instance-id';
     process.env.FUNCTIONS_EXTENSION_VERSION = '~4';
     process.env.WEBSITE_MEMORY_LIMIT_MB = '1000';
+    process.env.WEBSITE_OWNER_NAME = 'test-owner-name';
+    process.env.WEBSITE_RESOURCE_GROUP = 'test-resource-group';
 
     const resource = detectResourcesSync({
       detectors: [azureFunctionsDetector, azureAppServiceDetector],
     });
     assert.ok(resource);
     const attributes = resource.attributes;
-    assert.strictEqual(attributes[SEMRESATTRS_FAAS_NAME], 'test-function');
+    assert.strictEqual(attributes[SEMRESATTRS_SERVICE_NAME], 'test-service');
     assert.strictEqual(attributes[SEMRESATTRS_CLOUD_PROVIDER], 'azure');
     assert.strictEqual(
       attributes[SEMRESATTRS_CLOUD_PLATFORM],
@@ -64,14 +66,39 @@ describe('AzureFunctionsDetector', () => {
       'test-instance-id'
     );
     assert.strictEqual(attributes[SEMRESATTRS_FAAS_MAX_MEMORY], '1000');
-    assert.strictEqual(attributes[SEMRESATTRS_FAAS_VERSION], '~4');
 
     // Should not detect app service values
     assert.strictEqual(attributes[SEMRESATTRS_SERVICE_INSTANCE_ID], undefined);
+    assert.strictEqual(attributes[SEMRESATTRS_PROCESS_PID], process.pid);
 
+    assert.strictEqual(
+      attributes['cloud.resource_id'],
+      `/subscriptions/${process.env.WEBSITE_OWNER_NAME}/resourceGroups/${process.env.WEBSITE_RESOURCE_GROUP}/providers/Microsoft.Web/sites/${process.env.WEBSITE_SITE_NAME}`
+    );
     assert.strictEqual(
       attributes[AZURE_APP_SERVICE_STAMP_RESOURCE_ATTRIBUTE],
       undefined
     );
   });
+
+  it('should get the correct cloud resource id when WEBSITE_OWNER_NAME has a +', () => {
+    process.env.WEBSITE_SITE_NAME = 'test-service';
+    process.env.REGION_NAME = 'test-region';
+    process.env.WEBSITE_INSTANCE_ID = 'test-instance-id';
+    process.env.FUNCTIONS_EXTENSION_VERSION = '~4';
+    process.env.WEBSITE_MEMORY_LIMIT_MB = '1000';
+    process.env.WEBSITE_OWNER_NAME = 'test-owner-name+test-subscription-id';
+    process.env.WEBSITE_RESOURCE_GROUP = 'test-resource-group';
+
+    const expectedWebsiteOwnerName = 'test-owner-name';
+    const resource = detectResourcesSync({
+      detectors: [azureFunctionsDetector, azureAppServiceDetector],
+    });
+    assert.ok(resource);
+    const attributes = resource.attributes;
+    assert.strictEqual(
+      attributes['cloud.resource_id'],
+      `/subscriptions/${expectedWebsiteOwnerName}/resourceGroups/${process.env.WEBSITE_RESOURCE_GROUP}/providers/Microsoft.Web/sites/${process.env.WEBSITE_SITE_NAME}`
+    );
+  });
 });

From 7d6ddea613d6702931d8abb468eb3500fbd06f33 Mon Sep 17 00:00:00 2001
From: Maikel <maikel.van.dort@gmail.com>
Date: Mon, 3 Jun 2024 12:45:41 +0200
Subject: [PATCH 021/123] fix(host-metrics): macOS bundling fix (#2071)

---
 package-lock.json                             |  16 +-
 .../opentelemetry-host-metrics/global.d.ts    |  18 +++
 .../opentelemetry-host-metrics/package.json   |   2 +-
 .../src/BaseMetrics.ts                        |  13 +-
 .../opentelemetry-host-metrics/src/metric.ts  | 143 +++++++++---------
 .../src/stats/common.ts                       |  16 +-
 .../src/stats/si.ts                           |  11 +-
 .../opentelemetry-host-metrics/src/types.ts   |  13 --
 .../test/metric.test.ts                       |  35 +++--
 .../opentelemetry-host-metrics/tsconfig.json  |   3 +-
 10 files changed, 142 insertions(+), 128 deletions(-)
 create mode 100644 packages/opentelemetry-host-metrics/global.d.ts

diff --git a/package-lock.json b/package-lock.json
index ccbbfd7b09..ad03ef0c6e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -32885,9 +32885,9 @@
       }
     },
     "node_modules/systeminformation": {
-      "version": "5.22.0",
-      "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.22.0.tgz",
-      "integrity": "sha512-oAP80ymt8ssrAzjX8k3frbL7ys6AotqC35oikG6/SG15wBw+tG9nCk4oPaXIhEaAOAZ8XngxUv3ORq2IuR3r4Q==",
+      "version": "5.22.9",
+      "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.22.9.tgz",
+      "integrity": "sha512-qUWJhQ9JSBhdjzNUQywpvc0icxUAjMY3sZqUoS0GOtaJV9Ijq8s9zEP8Gaqmymn1dOefcICyPXK1L3kgKxlUpg==",
       "os": [
         "darwin",
         "linux",
@@ -36822,7 +36822,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/sdk-metrics": "^1.8.0",
-        "systeminformation": "^5.21.20"
+        "systeminformation": "5.22.9"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -46788,7 +46788,7 @@
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
         "sinon": "15.2.0",
-        "systeminformation": "^5.21.20",
+        "systeminformation": "5.22.9",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -68178,9 +68178,9 @@
       "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
     },
     "systeminformation": {
-      "version": "5.22.0",
-      "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.22.0.tgz",
-      "integrity": "sha512-oAP80ymt8ssrAzjX8k3frbL7ys6AotqC35oikG6/SG15wBw+tG9nCk4oPaXIhEaAOAZ8XngxUv3ORq2IuR3r4Q=="
+      "version": "5.22.9",
+      "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.22.9.tgz",
+      "integrity": "sha512-qUWJhQ9JSBhdjzNUQywpvc0icxUAjMY3sZqUoS0GOtaJV9Ijq8s9zEP8Gaqmymn1dOefcICyPXK1L3kgKxlUpg=="
     },
     "table-layout": {
       "version": "3.0.2",
diff --git a/packages/opentelemetry-host-metrics/global.d.ts b/packages/opentelemetry-host-metrics/global.d.ts
new file mode 100644
index 0000000000..19cc54f99a
--- /dev/null
+++ b/packages/opentelemetry-host-metrics/global.d.ts
@@ -0,0 +1,18 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+declare module 'systeminformation/lib/network' {
+  export { networkStats } from 'systeminformation';
+}
diff --git a/packages/opentelemetry-host-metrics/package.json b/packages/opentelemetry-host-metrics/package.json
index 4d0a0e1d6e..095e79e70e 100644
--- a/packages/opentelemetry-host-metrics/package.json
+++ b/packages/opentelemetry-host-metrics/package.json
@@ -56,7 +56,7 @@
   },
   "dependencies": {
     "@opentelemetry/sdk-metrics": "^1.8.0",
-    "systeminformation": "^5.21.20"
+    "systeminformation": "5.22.9"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/opentelemetry-host-metrics#readme"
 }
diff --git a/packages/opentelemetry-host-metrics/src/BaseMetrics.ts b/packages/opentelemetry-host-metrics/src/BaseMetrics.ts
index f314f79282..a4f2232820 100644
--- a/packages/opentelemetry-host-metrics/src/BaseMetrics.ts
+++ b/packages/opentelemetry-host-metrics/src/BaseMetrics.ts
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-import * as api from '@opentelemetry/api';
-import * as metrics from '@opentelemetry/sdk-metrics';
+import { Meter, diag, metrics } from '@opentelemetry/api';
+import { MeterProvider } from '@opentelemetry/sdk-metrics';
 
 import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
@@ -24,7 +24,7 @@ import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
  */
 export interface MetricsCollectorConfig {
   // Meter Provider
-  meterProvider?: metrics.MeterProvider;
+  meterProvider?: MeterProvider;
   // Character to be used to join metrics - default is "."
   metricNameSeparator?: string;
   // Name of component
@@ -39,14 +39,13 @@ const DEFAULT_NAME = PACKAGE_NAME;
  * Base Class for metrics
  */
 export abstract class BaseMetrics {
-  protected _logger = api.diag;
-  protected _meter: api.Meter;
+  protected _logger = diag;
+  protected _meter: Meter;
   private _name: string;
 
   constructor(config: MetricsCollectorConfig) {
     this._name = config.name || DEFAULT_NAME;
-    const meterProvider =
-      config.meterProvider || api.metrics.getMeterProvider();
+    const meterProvider = config.meterProvider || metrics.getMeterProvider();
     if (!config.meterProvider) {
       this._logger.warn('No meter provider, using default');
     }
diff --git a/packages/opentelemetry-host-metrics/src/metric.ts b/packages/opentelemetry-host-metrics/src/metric.ts
index b117ce4307..09a51cf9d2 100644
--- a/packages/opentelemetry-host-metrics/src/metric.ts
+++ b/packages/opentelemetry-host-metrics/src/metric.ts
@@ -15,8 +15,18 @@
  */
 
 import { BaseMetrics } from './BaseMetrics';
-import * as api from '@opentelemetry/api';
-import * as enums from './enum';
+import {
+  BatchObservableResult,
+  ObservableCounter,
+  ObservableGauge,
+} from '@opentelemetry/api';
+import {
+  ATTRIBUTE_NAMES,
+  CPU_LABELS,
+  MEMORY_LABELS,
+  METRIC_NAMES,
+  NETWORK_LABELS,
+} from './enum';
 
 import {
   getCpuUsageData,
@@ -25,161 +35,157 @@ import {
   getProcessMemoryData,
 } from './stats/common';
 import { getNetworkData } from './stats/si';
-import {
-  CpuUsageData,
-  MemoryData,
-  NetworkData,
-  ProcessCpuUsageData,
-} from './types';
+import type { CpuUsageData, MemoryData, ProcessCpuUsageData } from './types';
+import type { Systeminformation } from 'systeminformation';
 
 /**
  * Metrics Collector - collects metrics for CPU, Memory, Network
  */
 export class HostMetrics extends BaseMetrics {
   private _batchUpdateCpuUsages(
-    observableResult: api.BatchObservableResult,
+    observableResult: BatchObservableResult,
     cpuUsages: CpuUsageData[]
   ): void {
-    const stateAttr = enums.ATTRIBUTE_NAMES.SYSTEM_CPU_STATE;
-    const cpuAttr = enums.ATTRIBUTE_NAMES.SYSTEM_CPU_LOGICAL_NUMBER;
+    const stateAttr = ATTRIBUTE_NAMES.SYSTEM_CPU_STATE;
+    const cpuAttr = ATTRIBUTE_NAMES.SYSTEM_CPU_LOGICAL_NUMBER;
 
     for (let i = 0, j = cpuUsages.length; i < j; i++) {
       const cpuUsage = cpuUsages[i];
       observableResult.observe(this._cpuTime, cpuUsage.user, {
-        [stateAttr]: enums.CPU_LABELS.USER,
+        [stateAttr]: CPU_LABELS.USER,
         [cpuAttr]: cpuUsage.cpuNumber,
       });
       observableResult.observe(this._cpuTime, cpuUsage.system, {
-        [stateAttr]: enums.CPU_LABELS.SYSTEM,
+        [stateAttr]: CPU_LABELS.SYSTEM,
         [cpuAttr]: cpuUsage.cpuNumber,
       });
       observableResult.observe(this._cpuTime, cpuUsage.idle, {
-        [stateAttr]: enums.CPU_LABELS.IDLE,
+        [stateAttr]: CPU_LABELS.IDLE,
         [cpuAttr]: cpuUsage.cpuNumber,
       });
       observableResult.observe(this._cpuTime, cpuUsage.interrupt, {
-        [stateAttr]: enums.CPU_LABELS.INTERRUPT,
+        [stateAttr]: CPU_LABELS.INTERRUPT,
         [cpuAttr]: cpuUsage.cpuNumber,
       });
       observableResult.observe(this._cpuTime, cpuUsage.nice, {
-        [stateAttr]: enums.CPU_LABELS.NICE,
+        [stateAttr]: CPU_LABELS.NICE,
         [cpuAttr]: cpuUsage.cpuNumber,
       });
 
       observableResult.observe(this._cpuUtilization, cpuUsage.userP, {
-        [stateAttr]: enums.CPU_LABELS.USER,
+        [stateAttr]: CPU_LABELS.USER,
         [cpuAttr]: cpuUsage.cpuNumber,
       });
       observableResult.observe(this._cpuUtilization, cpuUsage.systemP, {
-        [stateAttr]: enums.CPU_LABELS.SYSTEM,
+        [stateAttr]: CPU_LABELS.SYSTEM,
         [cpuAttr]: cpuUsage.cpuNumber,
       });
       observableResult.observe(this._cpuUtilization, cpuUsage.idleP, {
-        [stateAttr]: enums.CPU_LABELS.IDLE,
+        [stateAttr]: CPU_LABELS.IDLE,
         [cpuAttr]: cpuUsage.cpuNumber,
       });
       observableResult.observe(this._cpuUtilization, cpuUsage.interruptP, {
-        [stateAttr]: enums.CPU_LABELS.INTERRUPT,
+        [stateAttr]: CPU_LABELS.INTERRUPT,
         [cpuAttr]: cpuUsage.cpuNumber,
       });
       observableResult.observe(this._cpuUtilization, cpuUsage.niceP, {
-        [stateAttr]: enums.CPU_LABELS.NICE,
+        [stateAttr]: CPU_LABELS.NICE,
         [cpuAttr]: cpuUsage.cpuNumber,
       });
     }
   }
 
   private _batchUpdateProcessCpuUsages(
-    observableResult: api.BatchObservableResult,
+    observableResult: BatchObservableResult,
     processCpuUsage: ProcessCpuUsageData
   ): void {
-    const stateAttr = enums.ATTRIBUTE_NAMES.PROCESS_CPU_STATE;
+    const stateAttr = ATTRIBUTE_NAMES.PROCESS_CPU_STATE;
 
     observableResult.observe(this._processCpuTime, processCpuUsage.user, {
-      [stateAttr]: enums.CPU_LABELS.USER,
+      [stateAttr]: CPU_LABELS.USER,
     });
     observableResult.observe(this._processCpuTime, processCpuUsage.system, {
-      [stateAttr]: enums.CPU_LABELS.SYSTEM,
+      [stateAttr]: CPU_LABELS.SYSTEM,
     });
 
     observableResult.observe(
       this._processCpuUtilization,
       processCpuUsage.userP,
       {
-        [stateAttr]: enums.CPU_LABELS.USER,
+        [stateAttr]: CPU_LABELS.USER,
       }
     );
     observableResult.observe(
       this._processCpuUtilization,
       processCpuUsage.systemP,
       {
-        [stateAttr]: enums.CPU_LABELS.SYSTEM,
+        [stateAttr]: CPU_LABELS.SYSTEM,
       }
     );
   }
 
   private _batchUpdateMemUsages(
-    observableResult: api.BatchObservableResult,
+    observableResult: BatchObservableResult,
     memUsage: MemoryData
   ): void {
-    const stateAttr = enums.ATTRIBUTE_NAMES.SYSTEM_MEMORY_STATE;
+    const stateAttr = ATTRIBUTE_NAMES.SYSTEM_MEMORY_STATE;
 
     observableResult.observe(this._memoryUsage, memUsage.used, {
-      [stateAttr]: enums.MEMORY_LABELS.USED,
+      [stateAttr]: MEMORY_LABELS.USED,
     });
     observableResult.observe(this._memoryUsage, memUsage.free, {
-      [stateAttr]: enums.MEMORY_LABELS.FREE,
+      [stateAttr]: MEMORY_LABELS.FREE,
     });
 
     observableResult.observe(this._memoryUtilization, memUsage.usedP, {
-      [stateAttr]: enums.MEMORY_LABELS.USED,
+      [stateAttr]: MEMORY_LABELS.USED,
     });
     observableResult.observe(this._memoryUtilization, memUsage.freeP, {
-      [stateAttr]: enums.MEMORY_LABELS.FREE,
+      [stateAttr]: MEMORY_LABELS.FREE,
     });
   }
 
   private _batchUpdateProcessMemUsage(
-    observableResult: api.BatchObservableResult,
+    observableResult: BatchObservableResult,
     memoryUsage: number
   ): void {
     observableResult.observe(this._processMemoryUsage, memoryUsage);
   }
 
   private _batchUpdateNetworkData(
-    observableResult: api.BatchObservableResult,
-    networkUsages: NetworkData[]
+    observableResult: BatchObservableResult,
+    networkUsages: Systeminformation.NetworkStatsData[]
   ): void {
-    const deviceAttr = enums.ATTRIBUTE_NAMES.SYSTEM_DEVICE;
-    const directionAttr = enums.ATTRIBUTE_NAMES.NETWORK_IO_DIRECTION;
+    const deviceAttr = ATTRIBUTE_NAMES.SYSTEM_DEVICE;
+    const directionAttr = ATTRIBUTE_NAMES.NETWORK_IO_DIRECTION;
 
     for (let i = 0, j = networkUsages.length; i < j; i++) {
       const networkUsage = networkUsages[i];
       observableResult.observe(this._networkDropped, networkUsage.rx_dropped, {
         [deviceAttr]: networkUsage.iface,
-        [directionAttr]: enums.NETWORK_LABELS.RECEIVE,
+        [directionAttr]: NETWORK_LABELS.RECEIVE,
       });
       observableResult.observe(this._networkDropped, networkUsage.tx_dropped, {
         [deviceAttr]: networkUsage.iface,
-        [directionAttr]: enums.NETWORK_LABELS.TRANSMIT,
+        [directionAttr]: NETWORK_LABELS.TRANSMIT,
       });
 
       observableResult.observe(this._networkErrors, networkUsage.rx_errors, {
         [deviceAttr]: networkUsage.iface,
-        [directionAttr]: enums.NETWORK_LABELS.RECEIVE,
+        [directionAttr]: NETWORK_LABELS.RECEIVE,
       });
       observableResult.observe(this._networkErrors, networkUsage.tx_errors, {
         [deviceAttr]: networkUsage.iface,
-        [directionAttr]: enums.NETWORK_LABELS.TRANSMIT,
+        [directionAttr]: NETWORK_LABELS.TRANSMIT,
       });
 
       observableResult.observe(this._networkIo, networkUsage.rx_bytes, {
         [deviceAttr]: networkUsage.iface,
-        [directionAttr]: enums.NETWORK_LABELS.RECEIVE,
+        [directionAttr]: NETWORK_LABELS.RECEIVE,
       });
       observableResult.observe(this._networkIo, networkUsage.tx_bytes, {
         [deviceAttr]: networkUsage.iface,
-        [directionAttr]: enums.NETWORK_LABELS.TRANSMIT,
+        [directionAttr]: NETWORK_LABELS.TRANSMIT,
       });
     }
   }
@@ -188,67 +194,64 @@ export class HostMetrics extends BaseMetrics {
    * Creates metrics
    */
   protected _createMetrics(): void {
-    this._cpuTime = this._meter.createObservableCounter(
-      enums.METRIC_NAMES.CPU_TIME,
-      {
-        description: 'Cpu time in seconds',
-        unit: 's',
-      }
-    );
+    this._cpuTime = this._meter.createObservableCounter(METRIC_NAMES.CPU_TIME, {
+      description: 'Cpu time in seconds',
+      unit: 's',
+    });
     this._cpuUtilization = this._meter.createObservableGauge(
-      enums.METRIC_NAMES.CPU_UTILIZATION,
+      METRIC_NAMES.CPU_UTILIZATION,
       {
         description: 'Cpu usage time 0-1',
       }
     );
 
     this._memoryUsage = this._meter.createObservableGauge(
-      enums.METRIC_NAMES.MEMORY_USAGE,
+      METRIC_NAMES.MEMORY_USAGE,
       {
         description: 'Memory usage in bytes',
       }
     );
     this._memoryUtilization = this._meter.createObservableGauge(
-      enums.METRIC_NAMES.MEMORY_UTILIZATION,
+      METRIC_NAMES.MEMORY_UTILIZATION,
       {
         description: 'Memory usage 0-1',
       }
     );
 
     this._networkDropped = this._meter.createObservableCounter(
-      enums.METRIC_NAMES.NETWORK_DROPPED,
+      METRIC_NAMES.NETWORK_DROPPED,
       {
         description: 'Network dropped packets',
       }
     );
     this._networkErrors = this._meter.createObservableCounter(
-      enums.METRIC_NAMES.NETWORK_ERRORS,
+      METRIC_NAMES.NETWORK_ERRORS,
       {
         description: 'Network errors counter',
       }
     );
     this._networkIo = this._meter.createObservableCounter(
-      enums.METRIC_NAMES.NETWORK_IO,
+      METRIC_NAMES.NETWORK_IO,
       {
         description: 'Network transmit and received bytes',
       }
     );
 
     this._processCpuTime = this._meter.createObservableCounter(
-      enums.METRIC_NAMES.PROCESS_CPU_TIME,
+      METRIC_NAMES.PROCESS_CPU_TIME,
       {
         description: 'Process Cpu time in seconds',
         unit: 's',
       }
     );
     this._processCpuUtilization = this._meter.createObservableGauge(
-      enums.METRIC_NAMES.PROCESS_CPU_UTILIZATION,
+      METRIC_NAMES.PROCESS_CPU_UTILIZATION,
       {
         description: 'Process Cpu usage time 0-1',
       }
     );
     this._processMemoryUsage = this._meter.createObservableGauge(
-      enums.METRIC_NAMES.PROCESS_MEMORY_USAGE,
+      METRIC_NAMES.PROCESS_MEMORY_USAGE,
       {
         description: 'Process Memory usage in bytes',
       }
@@ -291,14 +294,14 @@ export class HostMetrics extends BaseMetrics {
   }
 
   // The metrics are created in `_createMetrics`.
-  private _cpuTime!: api.ObservableCounter;
-  private _cpuUtilization!: api.ObservableGauge;
-  private _memoryUsage!: api.ObservableGauge;
-  private _memoryUtilization!: api.ObservableGauge;
-  private _processCpuTime!: api.ObservableCounter;
-  private _processCpuUtilization!: api.ObservableGauge;
-  private _processMemoryUsage!: api.ObservableGauge;
-  private _networkDropped!: api.ObservableCounter;
-  private _networkErrors!: api.ObservableCounter;
-  private _networkIo!: api.ObservableCounter;
+  private _cpuTime!: ObservableCounter;
+  private _cpuUtilization!: ObservableGauge;
+  private _memoryUsage!: ObservableGauge;
+  private _memoryUtilization!: ObservableGauge;
+  private _processCpuTime!: ObservableCounter;
+  private _processCpuUtilization!: ObservableGauge;
+  private _processMemoryUsage!: ObservableGauge;
+  private _networkDropped!: ObservableCounter;
+  private _networkErrors!: ObservableCounter;
+  private _networkIo!: ObservableCounter;
 }
diff --git a/packages/opentelemetry-host-metrics/src/stats/common.ts b/packages/opentelemetry-host-metrics/src/stats/common.ts
index 6803905fb7..7b709f00e3 100644
--- a/packages/opentelemetry-host-metrics/src/stats/common.ts
+++ b/packages/opentelemetry-host-metrics/src/stats/common.ts
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-import * as os from 'os';
-
-import { CpuUsageData, MemoryData, ProcessCpuUsageData } from '../types';
+import { cpus, totalmem, freemem } from 'os';
+import type { CpuInfo } from 'os';
+import type { CpuUsageData, MemoryData, ProcessCpuUsageData } from '../types';
 
 const MILLISECOND = 1 / 1e3;
 const MICROSECOND = 1 / 1e6;
@@ -25,9 +25,9 @@ const MICROSECOND = 1 / 1e6;
  * We get data as soon as we load the module so the 1st collect
  * of the metric already has valuable data to be sent.
  */
-let prevOsData: { time: number; cpus: os.CpuInfo[] } = {
+let prevOsData: { time: number; cpus: CpuInfo[] } = {
   time: Date.now(),
-  cpus: os.cpus(),
+  cpus: cpus(),
 };
 
 /**
@@ -38,7 +38,7 @@ let prevOsData: { time: number; cpus: os.CpuInfo[] } = {
 export function getCpuUsageData(): CpuUsageData[] {
   const currentTime = Date.now();
   const timeElapsed = currentTime - prevOsData.time;
-  const currentOsData = { time: currentTime, cpus: os.cpus() };
+  const currentOsData = { time: currentTime, cpus: cpus() };
 
   const usageData = currentOsData.cpus.map((cpu, cpuNumber) => {
     const prevTimes = prevOsData.cpus[cpuNumber].times;
@@ -121,8 +121,8 @@ export function getProcessCpuUsageData(): ProcessCpuUsageData {
  * Returns memory data as absolute values
  */
 export function getMemoryData(): MemoryData {
-  const total = os.totalmem();
-  const free = os.freemem();
+  const total = totalmem();
+  const free = freemem();
 
   const used = total - free;
 
diff --git a/packages/opentelemetry-host-metrics/src/stats/si.ts b/packages/opentelemetry-host-metrics/src/stats/si.ts
index f31543e694..e259b0f1ea 100644
--- a/packages/opentelemetry-host-metrics/src/stats/si.ts
+++ b/packages/opentelemetry-host-metrics/src/stats/si.ts
@@ -14,12 +14,15 @@
  * limitations under the License.
  */
 
-import * as SI from 'systeminformation';
-import { NetworkData } from '../types';
+// Import from the network file directly as bundlers trigger the 'osx-temperature-sensor' import in the systeminformation/lib/cpu.js,
+// resulting in the following warning: "Can't resolve 'osx-temperature-sensor'"
+// See https://github.com/open-telemetry/opentelemetry-js-contrib/pull/2071
+import { networkStats } from 'systeminformation/lib/network';
+import type { Systeminformation } from 'systeminformation';
 
 export function getNetworkData() {
-  return new Promise<NetworkData[]>(resolve => {
-    SI.networkStats()
+  return new Promise<Systeminformation.NetworkStatsData[]>(resolve => {
+    networkStats()
       .then(resolve)
       .catch(() => {
         resolve([]);
diff --git a/packages/opentelemetry-host-metrics/src/types.ts b/packages/opentelemetry-host-metrics/src/types.ts
index 91d945012e..f0a7d983e4 100644
--- a/packages/opentelemetry-host-metrics/src/types.ts
+++ b/packages/opentelemetry-host-metrics/src/types.ts
@@ -14,19 +14,6 @@
  * limitations under the License.
  */
 
-/**
- * Network data
- */
-export interface NetworkData {
-  iface: string;
-  rx_bytes: number;
-  rx_dropped: number;
-  rx_errors: number;
-  tx_bytes: number;
-  tx_dropped: number;
-  tx_errors: number;
-}
-
 /**
  * CPU usage data
  */
diff --git a/packages/opentelemetry-host-metrics/test/metric.test.ts b/packages/opentelemetry-host-metrics/test/metric.test.ts
index ef89a8c53b..c98ad92636 100644
--- a/packages/opentelemetry-host-metrics/test/metric.test.ts
+++ b/packages/opentelemetry-host-metrics/test/metric.test.ts
@@ -14,7 +14,8 @@
  * limitations under the License.
  */
 
-const SI = require('systeminformation');
+import * as Network from 'systeminformation/lib/network';
+import type { Systeminformation } from 'systeminformation';
 import { Attributes } from '@opentelemetry/api';
 import {
   AggregationTemporality,
@@ -45,21 +46,23 @@ class TestMetricReader extends MetricReader {
 let countSI = 0;
 const mockedSI = {
   networkStats: function () {
-    return new Promise((resolve, reject) => {
-      countSI++;
-      const stats: any[] = networkJson
-        .slice()
-        .map((obj: any) => Object.assign({}, obj));
-
-      for (let i = 0, j = networkJson.length; i < j; i++) {
-        Object.keys(stats[i]).forEach(key => {
-          if (typeof stats[i][key] === 'number' && stats[i][key] > 0) {
-            stats[i][key] = stats[i][key] * countSI;
-          }
-        });
+    return new Promise<Systeminformation.NetworkStatsData[]>(
+      (resolve, reject) => {
+        countSI++;
+        const stats: any[] = networkJson
+          .slice()
+          .map((obj: any) => Object.assign({}, obj));
+
+        for (let i = 0, j = networkJson.length; i < j; i++) {
+          Object.keys(stats[i]).forEach(key => {
+            if (typeof stats[i][key] === 'number' && stats[i][key] > 0) {
+              stats[i][key] = stats[i][key] * countSI;
+            }
+          });
+        }
+        resolve(stats);
       }
-      resolve(stats);
-    });
+    );
   },
 };
 
@@ -137,7 +140,7 @@ describe('Host Metrics', () => {
       sandbox
         .stub(process.memoryUsage, 'rss')
         .callsFake(mockedProcess.memoryUsage.rss);
-      sandbox.stub(SI, 'networkStats').callsFake(mockedSI.networkStats);
+      sandbox.stub(Network, 'networkStats').callsFake(mockedSI.networkStats);
 
       reader = new TestMetricReader();
 
diff --git a/packages/opentelemetry-host-metrics/tsconfig.json b/packages/opentelemetry-host-metrics/tsconfig.json
index 4078877ce6..cbf86a96b1 100644
--- a/packages/opentelemetry-host-metrics/tsconfig.json
+++ b/packages/opentelemetry-host-metrics/tsconfig.json
@@ -6,6 +6,7 @@
   },
   "include": [
     "src/**/*.ts",
-    "test/**/*.ts"
+    "test/**/*.ts",
+    "global.d.ts"
   ]
 }

From 54d0510233af48ec673c0ef6dc1174354543b958 Mon Sep 17 00:00:00 2001
From: Ezekiel Keator <20361796+tastypackets@users.noreply.github.com>
Date: Wed, 5 Jun 2024 17:40:18 -0400
Subject: [PATCH 022/123] chore(instr-undici): Fix homepage url (#2252)

URL currently points to invalid git location
---
 plugins/node/instrumentation-undici/package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/node/instrumentation-undici/package.json b/plugins/node/instrumentation-undici/package.json
index 537c53acd7..b2e8db74cc 100644
--- a/plugins/node/instrumentation-undici/package.json
+++ b/plugins/node/instrumentation-undici/package.json
@@ -63,6 +63,6 @@
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.51.0"
   },
-  "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-undici#readme",
+  "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-undici",
   "sideEffects": false
 }

From 71c15d597276773c19c16c1117b8d151892e5366 Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Thu, 6 Jun 2024 09:30:07 +0200
Subject: [PATCH 023/123] feat: update otel core dependencies (#2257)

* feat: update otel core dependencies

* fix: address breaking changes

* fixup! fix: address breaking changes
---
 .../package.json                              |    2 +-
 .../auto-instrumentations-node/package.json   |    8 +-
 .../auto-instrumentations-web/package.json    |    6 +-
 package-lock.json                             | 1657 +++++------------
 .../opentelemetry-test-utils/package.json     |    4 +-
 .../src/test-fixtures.ts                      |    4 +-
 packages/winston-transport/package.json       |    2 +-
 .../node/instrumentation-amqplib/package.json |    2 +-
 .../instrumentation-cucumber/package.json     |    2 +-
 .../instrumentation-dataloader/package.json   |    2 +-
 plugins/node/instrumentation-fs/package.json  |    2 +-
 .../node/instrumentation-kafkajs/package.json |    4 +-
 .../instrumentation-lru-memoizer/package.json |    2 +-
 .../instrumentation-mongoose/package.json     |    2 +-
 .../instrumentation-runtime-node/package.json |    2 +-
 .../instrumentation-socket.io/package.json    |    2 +-
 .../node/instrumentation-tedious/package.json |    2 +-
 .../node/instrumentation-undici/package.json  |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    6 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    4 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    4 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../test/mysql.test.ts                        |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    4 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    4 +-
 49 files changed, 563 insertions(+), 1218 deletions(-)

diff --git a/detectors/node/opentelemetry-resource-detector-instana/package.json b/detectors/node/opentelemetry-resource-detector-instana/package.json
index f8fa1192b2..cd7059a14d 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/package.json
+++ b/detectors/node/opentelemetry-resource-detector-instana/package.json
@@ -39,7 +39,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/contrib-test-utils": "^0.39.0",
-    "@opentelemetry/sdk-node": "^0.51.0",
+    "@opentelemetry/sdk-node": "^0.52.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "@types/semver": "7.5.3",
diff --git a/metapackages/auto-instrumentations-node/package.json b/metapackages/auto-instrumentations-node/package.json
index bfa0616529..7581633841 100644
--- a/metapackages/auto-instrumentations-node/package.json
+++ b/metapackages/auto-instrumentations-node/package.json
@@ -49,7 +49,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/instrumentation-amqplib": "^0.37.0",
     "@opentelemetry/instrumentation-aws-lambda": "^0.41.1",
     "@opentelemetry/instrumentation-aws-sdk": "^0.41.0",
@@ -64,9 +64,9 @@
     "@opentelemetry/instrumentation-fs": "^0.12.0",
     "@opentelemetry/instrumentation-generic-pool": "^0.36.0",
     "@opentelemetry/instrumentation-graphql": "^0.40.0",
-    "@opentelemetry/instrumentation-grpc": "^0.51.0",
+    "@opentelemetry/instrumentation-grpc": "^0.52.0",
     "@opentelemetry/instrumentation-hapi": "^0.38.0",
-    "@opentelemetry/instrumentation-http": "^0.51.0",
+    "@opentelemetry/instrumentation-http": "^0.52.0",
     "@opentelemetry/instrumentation-ioredis": "^0.40.0",
     "@opentelemetry/instrumentation-knex": "^0.36.1",
     "@opentelemetry/instrumentation-koa": "^0.40.0",
@@ -94,7 +94,7 @@
     "@opentelemetry/resource-detector-container": "^0.3.9",
     "@opentelemetry/resource-detector-gcp": "^0.29.9",
     "@opentelemetry/resources": "^1.24.0",
-    "@opentelemetry/sdk-node": "^0.51.0"
+    "@opentelemetry/sdk-node": "^0.52.0"
   },
   "files": [
     "build/src/**/*.js",
diff --git a/metapackages/auto-instrumentations-web/package.json b/metapackages/auto-instrumentations-web/package.json
index 4520fe6748..ae159a2351 100644
--- a/metapackages/auto-instrumentations-web/package.json
+++ b/metapackages/auto-instrumentations-web/package.json
@@ -61,11 +61,11 @@
     "webpack-merge": "5.8.0"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/instrumentation-document-load": "^0.38.0",
-    "@opentelemetry/instrumentation-fetch": "^0.51.0",
+    "@opentelemetry/instrumentation-fetch": "^0.52.0",
     "@opentelemetry/instrumentation-user-interaction": "^0.38.0",
-    "@opentelemetry/instrumentation-xml-http-request": "^0.51.0"
+    "@opentelemetry/instrumentation-xml-http-request": "^0.52.0"
   },
   "files": [
     "build/src/**/*.js",
diff --git a/package-lock.json b/package-lock.json
index ad03ef0c6e..45945c7b62 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -256,7 +256,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/sdk-node": "^0.51.0",
+        "@opentelemetry/sdk-node": "^0.52.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/semver": "7.5.3",
@@ -285,7 +285,7 @@
       "version": "0.46.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/instrumentation-amqplib": "^0.37.0",
         "@opentelemetry/instrumentation-aws-lambda": "^0.41.1",
         "@opentelemetry/instrumentation-aws-sdk": "^0.41.0",
@@ -300,9 +300,9 @@
         "@opentelemetry/instrumentation-fs": "^0.12.0",
         "@opentelemetry/instrumentation-generic-pool": "^0.36.0",
         "@opentelemetry/instrumentation-graphql": "^0.40.0",
-        "@opentelemetry/instrumentation-grpc": "^0.51.0",
+        "@opentelemetry/instrumentation-grpc": "^0.52.0",
         "@opentelemetry/instrumentation-hapi": "^0.38.0",
-        "@opentelemetry/instrumentation-http": "^0.51.0",
+        "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/instrumentation-ioredis": "^0.40.0",
         "@opentelemetry/instrumentation-knex": "^0.36.1",
         "@opentelemetry/instrumentation-koa": "^0.40.0",
@@ -330,7 +330,7 @@
         "@opentelemetry/resource-detector-container": "^0.3.9",
         "@opentelemetry/resource-detector-gcp": "^0.29.9",
         "@opentelemetry/resources": "^1.24.0",
-        "@opentelemetry/sdk-node": "^0.51.0"
+        "@opentelemetry/sdk-node": "^0.52.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.4.1",
@@ -356,11 +356,11 @@
       "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/instrumentation-document-load": "^0.38.0",
-        "@opentelemetry/instrumentation-fetch": "^0.51.0",
+        "@opentelemetry/instrumentation-fetch": "^0.52.0",
         "@opentelemetry/instrumentation-user-interaction": "^0.38.0",
-        "@opentelemetry/instrumentation-xml-http-request": "^0.51.0"
+        "@opentelemetry/instrumentation-xml-http-request": "^0.52.0"
       },
       "devDependencies": {
         "@babel/core": "7.22.17",
@@ -8513,17 +8513,17 @@
       }
     },
     "node_modules/@opentelemetry/api": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.8.0.tgz",
-      "integrity": "sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
+      "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
       "engines": {
         "node": ">=8.0.0"
       }
     },
     "node_modules/@opentelemetry/api-logs": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.51.1.tgz",
-      "integrity": "sha512-E3skn949Pk1z2XtXu/lxf6QAZpawuTM/IUEXcAzpiUkTd73Hmvw26FiN3cJuTmkpM5hZzHwkomVdtrh/n/zzwA==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.0.tgz",
+      "integrity": "sha512-HxjD7xH9iAE4OyhNaaSec65i1H6QZYBWSwWkowFfsc5YAcDvJG30/J1sRKXEQqdmUcKTXEAnA66UciqZha/4+Q==",
       "dependencies": {
         "@opentelemetry/api": "^1.0.0"
       },
@@ -8544,38 +8544,38 @@
       "link": true
     },
     "node_modules/@opentelemetry/context-async-hooks": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.24.1.tgz",
-      "integrity": "sha512-R5r6DO4kgEOVBxFXhXjwospLQkv+sYxwCfjvoZBe7Zm6KKXAV9kDSJhi/D1BweowdZmO+sdbENLs374gER8hpQ==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.0.tgz",
+      "integrity": "sha512-sBW313mnMyFg0cp/40BRzrZBWG+581s2j5gIsa5fgGadswyILk4mNFATsqrCOpAx945RDuZ2B7ThQLgor9OpfA==",
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/context-zone": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.24.1.tgz",
-      "integrity": "sha512-pt5KLJws1m+rHTeEA6uootoyiuZlCt7j90dmdjXnqx4JZH6sFWqWB5IW1gOukDY7Ym3cNKjtoh3/uK0KuSRBfg==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.25.0.tgz",
+      "integrity": "sha512-LmO64smA9SZrl8f1HRRSNA4oudwpjCMVxZz08EhkRCcTRvFB8p+6Lnu6mtT54wD/raeXoEbLGtVqMYHsZ6bpmA==",
       "dependencies": {
-        "@opentelemetry/context-zone-peer-dep": "1.24.1",
-        "zone.js": "^0.11.0 || ^0.13.0 || ^0.14.0"
+        "@opentelemetry/context-zone-peer-dep": "1.25.0",
+        "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0"
       },
       "engines": {
         "node": ">=14"
       }
     },
     "node_modules/@opentelemetry/context-zone-peer-dep": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.24.1.tgz",
-      "integrity": "sha512-s67becvBZFFjSLKSiy8ia2m7htsC4gsk8J/X0368FzBYseb/26daYr4ewx6tKcAsmZqJA7402cTQirv175x5BA==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.25.0.tgz",
+      "integrity": "sha512-wh03u4ECYonjaxB+hzriWzHcr4GRlYSQoirDn0ldBDebz3WDZgjHCD/NPBoZaulGGwU6lvmQZXuyfz5hRrJhOw==",
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0",
-        "zone.js": "^0.10.2 || ^0.11.0 || ^0.13.0 || ^0.14.0"
+        "@opentelemetry/api": ">=1.0.0 <1.10.0",
+        "zone.js": "^0.10.2 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0"
       }
     },
     "node_modules/@opentelemetry/contrib-test-utils": {
@@ -8583,27 +8583,27 @@
       "link": true
     },
     "node_modules/@opentelemetry/core": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.24.1.tgz",
-      "integrity": "sha512-wMSGfsdmibI88K9wB498zXY04yThPexo8jvwNNlm542HZB7XrrMRBbAyKJqG8qDRJwIBdBrPMi4V9ZPW/sqrcg==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.0.tgz",
+      "integrity": "sha512-n0B3s8rrqGrasTgNkXLKXzN0fXo+6IYP7M5b7AMsrZM33f/y6DS6kJ0Btd7SespASWq8bgL3taLo0oe0vB52IQ==",
       "dependencies": {
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/exporter-jaeger": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.24.1.tgz",
-      "integrity": "sha512-zrcY76PVR4itZD2oxQdFgnvS/Lst1CxmMofOhngvTDIXVqSTEf00QfmdIQUljwmycYwxZIvbJ445k3AGRBbZKQ==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.25.0.tgz",
+      "integrity": "sha512-6h2dCpdOB2W2mxdH/6w6DZeev5Zc3X2rUlCWKMCUnKko36aTfbiVxgXHffs0pc3w5JmMtKIVkHg8eamvLA+Klw==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0",
         "jaeger-client": "^3.15.0"
       },
       "engines": {
@@ -8614,16 +8614,16 @@
       }
     },
     "node_modules/@opentelemetry/exporter-trace-otlp-grpc": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.51.1.tgz",
-      "integrity": "sha512-P9+Hkszih95ITvldGZ+kXvj9HpD1QfS+PwooyHK72GYA+Bgm+yUSAsDkUkDms8+s9HW6poxURv3LcjaMuBBpVQ==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.52.0.tgz",
+      "integrity": "sha512-Ln3HU54/ytTeEMrDGNDj01357YV8Kk9PkGDHvBRo1n7bWhwZoTEnX/cTuXLYOiygBIJJjCCM+VMfWCnvtFl4Kw==",
       "dependencies": {
         "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/otlp-grpc-exporter-base": "0.51.1",
-        "@opentelemetry/otlp-transformer": "0.51.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-grpc-exporter-base": "0.52.0",
+        "@opentelemetry/otlp-transformer": "0.52.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0"
       },
       "engines": {
         "node": ">=14"
@@ -8633,15 +8633,15 @@
       }
     },
     "node_modules/@opentelemetry/exporter-trace-otlp-http": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.51.1.tgz",
-      "integrity": "sha512-n+LhLPsX07URh+HhV2SHVSvz1t4G/l/CE5BjpmhAPqeTceFac1VpyQkavWEJbvnK5bUEXijWt4LxAxFpt2fXyw==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.52.0.tgz",
+      "integrity": "sha512-umj9tOSEAuUdqw2EZua1Dby3c+FZ6xWGT2OF/KGLFLtyIvxhtTOSeMfBy/9CaxHn4vF8mAynmAP5MvVKnRYunA==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/otlp-exporter-base": "0.51.1",
-        "@opentelemetry/otlp-transformer": "0.51.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-exporter-base": "0.52.0",
+        "@opentelemetry/otlp-transformer": "0.52.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0"
       },
       "engines": {
         "node": ">=14"
@@ -8651,16 +8651,15 @@
       }
     },
     "node_modules/@opentelemetry/exporter-trace-otlp-proto": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.51.1.tgz",
-      "integrity": "sha512-SE9f0/6V6EeXC9i+WA4WFjS1EYgaBCpAnI5+lxWvZ7iO7EU1IvHvZhP6Kojr0nLldo83gqg6G7OWFqsID3uF+w==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.52.0.tgz",
+      "integrity": "sha512-mpMEZFGaGnvon5pbjLieh7ffE9BuYnrG7qd4O5P3j1fk/4PCR3BcGfGhIfyZi0X8kBcjEhipiBfaHYqI7rxcXg==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/otlp-exporter-base": "0.51.1",
-        "@opentelemetry/otlp-proto-exporter-base": "0.51.1",
-        "@opentelemetry/otlp-transformer": "0.51.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-exporter-base": "0.52.0",
+        "@opentelemetry/otlp-transformer": "0.52.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0"
       },
       "engines": {
         "node": ">=14"
@@ -8670,14 +8669,14 @@
       }
     },
     "node_modules/@opentelemetry/exporter-zipkin": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.24.1.tgz",
-      "integrity": "sha512-+Rl/VFmu2n6eaRMnVbyfZx1DqR/1KNyWebYuHyQBZaEAVIn/ZLgmofRpXN1X2nhJ4BNaptQUNxAstCYYz6dKoQ==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.25.0.tgz",
+      "integrity": "sha512-nnhY0e5DHg8BfUSNCQZoGZnGeqz+zMTeEUOh1dfgtaXmF99uM0QPuTa1i2lH+eZqebP8w1WDWZlewu9FUlHqIg==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
         "node": ">=14"
@@ -8695,13 +8694,13 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.51.1.tgz",
-      "integrity": "sha512-JIrvhpgqY6437QIqToyozrUG1h5UhwHkaGK/WAX+fkrpyPtc+RO5FkRtUd9BH0MibabHHvqsnBGKfKVijbmp8w==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.0.tgz",
+      "integrity": "sha512-LPwSIrw+60cheWaXsfGL8stBap/AppKQJFE+qqRvzYrgttXFH2ofoIMxWadeqPTq4BYOXM/C7Bdh/T+B60xnlQ==",
       "dependencies": {
-        "@opentelemetry/api-logs": "0.51.1",
+        "@opentelemetry/api-logs": "0.52.0",
         "@types/shimmer": "^1.0.2",
-        "import-in-the-middle": "1.7.4",
+        "import-in-the-middle": "1.8.0",
         "require-in-the-middle": "^7.1.1",
         "semver": "^7.5.2",
         "shimmer": "^1.2.1"
@@ -8762,14 +8761,14 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation-fetch": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.51.1.tgz",
-      "integrity": "sha512-LzciqAnJmmYaXWo2hlrN99NMbYbExo6n6lBKBeMHAi7X/ddhCSOsgSNVbF3kDB7P++PJhjYqLT3hy6SU4AFHcg==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.52.0.tgz",
+      "integrity": "sha512-ay1Ot0z/586MBnhZnWJJFWXjBCQjddVVjCxLPRECnorhzmXuOsjUb7zTY88Vv9ddRtcHe0EIp9Z8sWQeLT02kA==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/instrumentation": "0.51.1",
-        "@opentelemetry/sdk-trace-web": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/sdk-trace-web": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
         "node": ">=14"
@@ -8791,12 +8790,12 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation-grpc": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.51.1.tgz",
-      "integrity": "sha512-coRTugFL7De/VNH/1NqPlxnfik87jS+jBXsny+Y/lMhXIA3x8t71IyL9ihuewkD+lNtIxIz6Y7Sq6kPuOqz5dQ==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.0.tgz",
+      "integrity": "sha512-YYhA2pbhMWgF5Hp6eR7AHp1utzZQ3Y0VB8GIwd8zJoLtAuQRZa1N29DUtZ+t/pGRJF+xGPVI+vP+7ugHgeN0zQ==",
       "dependencies": {
-        "@opentelemetry/instrumentation": "0.51.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
         "node": ">=14"
@@ -8810,13 +8809,13 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation-http": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.51.1.tgz",
-      "integrity": "sha512-6b3nZnFFEz/3xZ6w8bVxctPUWIPWiXuPQ725530JgxnN1cvYFd8CJ75PrHZNjynmzSSnqBkN3ef4R9N+RpMh8Q==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.52.0.tgz",
+      "integrity": "sha512-E6ywZuxTa4LnVXZGwL1oj3e2Eog1yIaNqa8KjKXoGkDNKte9/SjQnePXOmhQYI0A9nf0UyFbP9aKd+yHrkJXUA==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/instrumentation": "0.51.1",
-        "@opentelemetry/semantic-conventions": "1.24.1",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/semantic-conventions": "1.25.0",
         "semver": "^7.5.2"
       },
       "engines": {
@@ -8927,14 +8926,14 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation-xml-http-request": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.51.1.tgz",
-      "integrity": "sha512-CrQZxADNFr9M3aCgjM3/KXDz12lBrZA5LW+btfgNb78hsLNwqxThtFvXOHr86UsOzJt+h9m4yDeH6YLEvCTBbw==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.52.0.tgz",
+      "integrity": "sha512-Q6dEFKBkVmLs6XByXNPkCZXYF1Ovs3fFCD33nA4d4dgBgv8zMPt7xBLIxfEw0QVDZhyBhKXwv7byvMDB+yYQdA==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/instrumentation": "0.51.1",
-        "@opentelemetry/sdk-trace-web": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/sdk-trace-web": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
         "node": ">=14"
@@ -8944,11 +8943,12 @@
       }
     },
     "node_modules/@opentelemetry/otlp-exporter-base": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.51.1.tgz",
-      "integrity": "sha512-UYlnOYyDdzo1Gw559EHCzru0RwhvuXCwoH8jGo9J4gO1TE58GjnEmIjomMsKBCym3qWNJfIQXw+9SZCV0DdQNg==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.52.0.tgz",
+      "integrity": "sha512-rlyg5UKW9yMTNMUxYYib9XxEE/krpH7Q6mIuJNOBMbjLwmqe1WQ2MNKNzobVZTKop/FX4CvyNN3wUEl/6gnvfw==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-transformer": "0.52.0"
       },
       "engines": {
         "node": ">=14"
@@ -8958,30 +8958,14 @@
       }
     },
     "node_modules/@opentelemetry/otlp-grpc-exporter-base": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.51.1.tgz",
-      "integrity": "sha512-ZAS+4pq8o7dsugGTwV9s6JMKSxi+guIHdn0acOv0bqj26e9pWDFx5Ky+bI0aY46uR9Y0JyXqY+KAEYM/SO3DFA==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.52.0.tgz",
+      "integrity": "sha512-iVq3wCElOoKUkxBOuvV8cfaELG8WO/zfLWIZil6iw/6hj6rktLodnJ7kVOneVmLki7Po1BjE1K7JOp2G3UPgYg==",
       "dependencies": {
         "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/otlp-exporter-base": "0.51.1",
-        "protobufjs": "^7.2.3"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
-      }
-    },
-    "node_modules/@opentelemetry/otlp-proto-exporter-base": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-proto-exporter-base/-/otlp-proto-exporter-base-0.51.1.tgz",
-      "integrity": "sha512-gxxxwfk0inDMb5DLeuxQ3L8TtptxSiTNHE4nnAJH34IQXAVRhXSXW1rK8PmDKDngRPIZ6J7ncUCjjIn8b+AgqQ==",
-      "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/otlp-exporter-base": "0.51.1",
-        "protobufjs": "^7.2.3"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-exporter-base": "0.52.0",
+        "@opentelemetry/otlp-transformer": "0.52.0"
       },
       "engines": {
         "node": ">=14"
@@ -8991,22 +8975,23 @@
       }
     },
     "node_modules/@opentelemetry/otlp-transformer": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.51.1.tgz",
-      "integrity": "sha512-OppYOXwV9LQqqtYUCywqoOqX/JT9LQ5/FMuPZ//eTkvuHdUC4ZMwz2c6uSoT2R90GWvvGnF1iEqTGyTT3xAt2Q==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.0.tgz",
+      "integrity": "sha512-40acy3JxCAqQYcYepypF/64GVB8jerC6Oiz1HRUXxiSTVwg+ud7UtywfOkPRpc9bjHiyJouWxTjiUPQ9VBMKbg==",
       "dependencies": {
-        "@opentelemetry/api-logs": "0.51.1",
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/sdk-logs": "0.51.1",
-        "@opentelemetry/sdk-metrics": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1"
+        "@opentelemetry/api-logs": "0.52.0",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-logs": "0.52.0",
+        "@opentelemetry/sdk-metrics": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "protobufjs": "^7.3.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.3.0 <1.9.0"
+        "@opentelemetry/api": ">=1.3.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/plugin-react-load": {
@@ -9018,31 +9003,31 @@
       "link": true
     },
     "node_modules/@opentelemetry/propagator-aws-xray": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.24.1.tgz",
-      "integrity": "sha512-RzwoLe6QzsYGcpmxxDbbbgSpe3ncxSM4dtFHXh/rCYGjyq0nZGXKvk26mJtWZ4kQ3nuiIoqSZueIuGmt/mvOTA==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.25.0.tgz",
+      "integrity": "sha512-+honT9J/Xa6Mxk7AO/VlSUGaVSSQzqHr0wZDWrSunnc3eVbS5YTuv7UrcoHTED+AYziawTlx7ICeAX2VPc1M+w==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1"
+        "@opentelemetry/core": "1.25.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/propagator-b3": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.24.1.tgz",
-      "integrity": "sha512-nda97ZwhpZKyUJTXqQuKzNhPMUgMLunbbGWn8kroBwegn+nh6OhtyGkrVQsQLNdVKJl0KeB5z0ZgeWszrYhwFw==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.0.tgz",
+      "integrity": "sha512-/A+1Tbnf0uwnP51OkoaQlrb9YILdHsoqIISna1MNXpZRzf42xm6LVLb49i+m/zlJoW1e8P4ekcrditR5pfmwog==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1"
+        "@opentelemetry/core": "1.25.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/propagator-instana": {
@@ -9050,17 +9035,17 @@
       "link": true
     },
     "node_modules/@opentelemetry/propagator-jaeger": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.24.1.tgz",
-      "integrity": "sha512-7bRBJn3FG1l195A1m+xXRHvgzAOBsfmRi9uZ5Da18oTh7BLmNDiA8+kpk51FpTsU1PCikPVpRDNPhKVB6lyzZg==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.0.tgz",
+      "integrity": "sha512-uwA5xqaPISXeX+YutqbjmzENnCGCvrIXlqIXP5gRoA5N6S3W28p+ExL77TugMKHN5gXklapF67jDfz7lq5ETzQ==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1"
+        "@opentelemetry/core": "1.25.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/propagator-ot-trace": {
@@ -9100,133 +9085,133 @@
       "link": true
     },
     "node_modules/@opentelemetry/resources": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.24.1.tgz",
-      "integrity": "sha512-cyv0MwAaPF7O86x5hk3NNgenMObeejZFLJJDVuSeSMIsknlsj3oOZzRv3qSzlwYomXsICfBeFFlxwHQte5mGXQ==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.0.tgz",
+      "integrity": "sha512-iHjydPMYJ+Li1auveJCq2rp5U2h6Mhq8BidiyE0jfVlDTFyR1ny8AfJHfmFzJ/RAM8vT8L7T21kcmGybxZC7lQ==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/sdk-logs": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.51.1.tgz",
-      "integrity": "sha512-ULQQtl82b673PpZc5/0EtH4V+BrwVOgKJZEB7tYZnGTG3I98tQVk89S9/JSixomDr++F4ih+LSJTCqIKBz+MQQ==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.0.tgz",
+      "integrity": "sha512-Dp6g7w7WglrDZMn2yHBMAKRGqQy8C0PUbFovkSwcSsmL47n4FSEc3eeGblZTtueOUW+rTsPJpLHoUpEdS0Wibw==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/resources": "1.24.1"
+        "@opentelemetry/api-logs": "0.52.0",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.4.0 <1.9.0",
-        "@opentelemetry/api-logs": ">=0.39.1"
+        "@opentelemetry/api": ">=1.4.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/sdk-metrics": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.24.1.tgz",
-      "integrity": "sha512-FrAqCbbGao9iKI+Mgh+OsC9+U2YMoXnlDHe06yH7dvavCKzE3S892dGtX54+WhSFVxHR/TMRVJiK/CV93GR0TQ==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.0.tgz",
+      "integrity": "sha512-IF+Sv4VHgBr/BPMKabl+GouJIhEqAOexCHgXVTISdz3q9P9H/uA8ScCF+22gitQ69aFtESbdYOV+Fen5+avQng==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/resources": "1.24.1",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0",
         "lodash.merge": "^4.6.2"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.3.0 <1.9.0"
+        "@opentelemetry/api": ">=1.3.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/sdk-node": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.51.1.tgz",
-      "integrity": "sha512-GgmNF9C+6esr8PIJxCqHw84rEOkYm6XdFWZ2+Wyc3qaUt92ACoN7uSw5iKNvaUq62W0xii1wsGxwHzyENtPP8w==",
-      "dependencies": {
-        "@opentelemetry/api-logs": "0.51.1",
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/exporter-trace-otlp-grpc": "0.51.1",
-        "@opentelemetry/exporter-trace-otlp-http": "0.51.1",
-        "@opentelemetry/exporter-trace-otlp-proto": "0.51.1",
-        "@opentelemetry/exporter-zipkin": "1.24.1",
-        "@opentelemetry/instrumentation": "0.51.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/sdk-logs": "0.51.1",
-        "@opentelemetry/sdk-metrics": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1",
-        "@opentelemetry/sdk-trace-node": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.52.0.tgz",
+      "integrity": "sha512-3RNnsoHGutya3oVsoc2WRrk/TKlxr+R2uN6H4boNJvW7kc8yxS4QrOI6DlbQYAgEMeC1PMu95jW9LirPOWcMGw==",
+      "dependencies": {
+        "@opentelemetry/api-logs": "0.52.0",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/exporter-trace-otlp-grpc": "0.52.0",
+        "@opentelemetry/exporter-trace-otlp-http": "0.52.0",
+        "@opentelemetry/exporter-trace-otlp-proto": "0.52.0",
+        "@opentelemetry/exporter-zipkin": "1.25.0",
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-logs": "0.52.0",
+        "@opentelemetry/sdk-metrics": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "@opentelemetry/sdk-trace-node": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.3.0 <1.9.0"
+        "@opentelemetry/api": ">=1.3.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/sdk-trace-base": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.24.1.tgz",
-      "integrity": "sha512-zz+N423IcySgjihl2NfjBf0qw1RWe11XIAWVrTNOSSI6dtSPJiVom2zipFB2AEEtJWpv0Iz6DY6+TjnyTV5pWg==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.0.tgz",
+      "integrity": "sha512-6+g2fiRQUG39guCsKVeY8ToeuUf3YUnPkN6DXRA1qDmFLprlLvZm9cS6+chgbW70cZJ406FTtSCDnJwxDC5sGQ==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/sdk-trace-node": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.24.1.tgz",
-      "integrity": "sha512-/FZX8uWaGIAwsDhqI8VvQ+qWtfMNlXjaFYGc+vmxgdRFppCSSIRwrPyIhJO1qx61okyYhoyxVEZAfoiNxrfJCg==",
-      "dependencies": {
-        "@opentelemetry/context-async-hooks": "1.24.1",
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/propagator-b3": "1.24.1",
-        "@opentelemetry/propagator-jaeger": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.0.tgz",
+      "integrity": "sha512-sYdZmNCkqthPpjwCxAJk5aQNLxCOQjT1u3JMGvO6rb3Ic8uFdnzXavP13Md9uYPcZBo+KxetyDhCf0x8wJGRng==",
+      "dependencies": {
+        "@opentelemetry/context-async-hooks": "1.25.0",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/propagator-b3": "1.25.0",
+        "@opentelemetry/propagator-jaeger": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
         "semver": "^7.5.2"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/sdk-trace-web": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.24.1.tgz",
-      "integrity": "sha512-0w+aKRai9VREeo3VrtW+hcbrE2Fl/uKL7G+oXgRNf6pI9QLaEGuEzUTX+oxXVPBadzjOd+5dqCHYdX7UeVjzwA==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.25.0.tgz",
+      "integrity": "sha512-TAWRDRiVOeliE1A99z8idWb4pwEKKY9Vj5aTpLtrF4cvPOl0mPg3ZczvOw/HnpfRsWY0Ra/J3vS5uFSpoqPwEA==",
       "dependencies": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
     "node_modules/@opentelemetry/semantic-conventions": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.24.1.tgz",
-      "integrity": "sha512-VkliWlS4/+GHLLW7J/rVBA00uXus1SWvwFvcUDxDwmFxYfg/2VI6ekwdXS28cjI8Qz2ky2BzG8OUHo+WeYIWqw==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.0.tgz",
+      "integrity": "sha512-M+kkXKRAIAiAP6qYyesfrC5TOmDpDVtsxuGfPcqd9B/iBrac+E14jYwrgm0yZBUIbIP2OnqC3j+UgkXLm1vxUQ==",
       "engines": {
         "node": ">=14"
       }
@@ -19767,9 +19752,9 @@
       }
     },
     "node_modules/import-in-the-middle": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.7.4.tgz",
-      "integrity": "sha512-Lk+qzWmiQuRPPulGQeK5qq0v32k2bHnWrRPFgqyvhw7Kkov5L6MOLOIU3pcWeujc9W4q54Cp3Q2WV16eQkc7Bg==",
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.8.0.tgz",
+      "integrity": "sha512-/xQjze8szLNnJ5rvHSzn+dcVXqCAU6Plbk4P24U/jwPmg1wy7IIp9OjKIO5tYue8GSPhDpPDiApQjvBUmWwhsQ==",
       "dependencies": {
         "acorn": "^8.8.2",
         "acorn-import-attributes": "^1.9.5",
@@ -29405,9 +29390,9 @@
       "dev": true
     },
     "node_modules/protobufjs": {
-      "version": "7.2.6",
-      "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz",
-      "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==",
+      "version": "7.3.0",
+      "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz",
+      "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==",
       "hasInstallScript": true,
       "dependencies": {
         "@protobufjs/aspromise": "^1.1.2",
@@ -36973,9 +36958,9 @@
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
         "@opentelemetry/exporter-jaeger": "^1.3.1",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/sdk-node": "^0.51.0",
+        "@opentelemetry/sdk-node": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
@@ -36997,7 +36982,7 @@
       "version": "0.3.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/api-logs": "^0.51.0",
+        "@opentelemetry/api-logs": "^0.52.0",
         "winston-transport": "4.*"
       },
       "devDependencies": {
@@ -37028,7 +37013,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -37067,7 +37052,7 @@
       "version": "0.6.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -37134,7 +37119,7 @@
       "version": "0.9.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -37164,7 +37149,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -37194,12 +37179,12 @@
       "version": "0.0.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.24.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.38.0",
+        "@opentelemetry/contrib-test-utils": "^0.39.0",
         "@opentelemetry/sdk-trace-base": "^1.24.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -37219,390 +37204,12 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/api-logs": {
-      "version": "0.50.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.50.0.tgz",
-      "integrity": "sha512-JdZuKrhOYggqOpUljAq4WWNi5nB10PmgoF0y2CvedLGXd0kSawb/UBnWT8gg1ND3bHCNHStAIVT0ELlxJJRqrA==",
-      "dependencies": {
-        "@opentelemetry/api": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=14"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/context-async-hooks": {
-      "version": "1.23.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.23.0.tgz",
-      "integrity": "sha512-wazGJZDRevibOJ+VgyrT+9+8sybZAxpZx2G7vy30OAtk92OpZCg7HgNxT11NUx0VBDWcRx1dOatMYGOVplQ7QA==",
-      "dev": true,
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/contrib-test-utils": {
-      "version": "0.38.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/contrib-test-utils/-/contrib-test-utils-0.38.0.tgz",
-      "integrity": "sha512-wdFiZfkCIuQ93Z3JXs1lIjEIabIGxfpEqwdLVYXLhASd8JBRlqLQ4bg0/FRa8Nnd+0BZr3U6Rihg/y8WC3z1ig==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/core": "^1.0.0",
-        "@opentelemetry/exporter-jaeger": "^1.3.1",
-        "@opentelemetry/instrumentation": "^0.50.0",
-        "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/sdk-node": "^0.50.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/core": {
-      "version": "1.23.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.23.0.tgz",
-      "integrity": "sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/semantic-conventions": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/exporter-trace-otlp-grpc": {
-      "version": "0.50.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.50.0.tgz",
-      "integrity": "sha512-w/NF4TrwHxx+Uz1M0rCOSVr6KgcoQPv3zF9JRqcebY2euD7ddWnLP0hE8JavyA1uq4UchnMp9faAk9n7hTCePw==",
-      "dev": true,
-      "dependencies": {
-        "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/otlp-grpc-exporter-base": "0.50.0",
-        "@opentelemetry/otlp-transformer": "0.50.0",
-        "@opentelemetry/resources": "1.23.0",
-        "@opentelemetry/sdk-trace-base": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/exporter-trace-otlp-http": {
-      "version": "0.50.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.50.0.tgz",
-      "integrity": "sha512-L7OtIMT7MsFqkmhbQlPBGRXt7152VN5esHpQEJYIBFedOEo3Da+yHpu5ojMZtPzpIvSpB5Xr5lnJUjJCbkttCA==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/otlp-exporter-base": "0.50.0",
-        "@opentelemetry/otlp-transformer": "0.50.0",
-        "@opentelemetry/resources": "1.23.0",
-        "@opentelemetry/sdk-trace-base": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/exporter-trace-otlp-proto": {
-      "version": "0.50.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.50.0.tgz",
-      "integrity": "sha512-vavD9Ow6yOLiD+ocuS/oeciCsXNdsN41aYUrEljNaLXogvnkfMhJ+JLAhOnRSpzlVtRp7Ciw2BYGdYSebR0OsA==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/otlp-exporter-base": "0.50.0",
-        "@opentelemetry/otlp-proto-exporter-base": "0.50.0",
-        "@opentelemetry/otlp-transformer": "0.50.0",
-        "@opentelemetry/resources": "1.23.0",
-        "@opentelemetry/sdk-trace-base": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/exporter-zipkin": {
-      "version": "1.23.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.23.0.tgz",
-      "integrity": "sha512-2LOGvNUGONuIcWhynFaJorVyqv03uZkURScciLmOxvBf2lWTNPEj77br1dCpShIWBM+YlrH7Tc+JXAs+GC7DqA==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/resources": "1.23.0",
-        "@opentelemetry/sdk-trace-base": "1.23.0",
-        "@opentelemetry/semantic-conventions": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/instrumentation": {
-      "version": "0.50.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.50.0.tgz",
-      "integrity": "sha512-bhGhbJiZKpuu7wTaSak4hyZcFPlnDeuSF/2vglze8B4w2LubcSbbOnkVTzTs5SXtzh4Xz8eRjaNnAm+u2GYufQ==",
-      "dependencies": {
-        "@opentelemetry/api-logs": "0.50.0",
-        "@types/shimmer": "^1.0.2",
-        "import-in-the-middle": "1.7.1",
-        "require-in-the-middle": "^7.1.1",
-        "semver": "^7.5.2",
-        "shimmer": "^1.2.1"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/otlp-exporter-base": {
-      "version": "0.50.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.50.0.tgz",
-      "integrity": "sha512-JUmjmrCmE1/fc4LjCQMqLfudgSl5OpUkzx7iA94b4jgeODM7zWxUoVXL7/CT7fWf47Cn+pmKjMvTCSESqZZ3mA==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/core": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/otlp-grpc-exporter-base": {
-      "version": "0.50.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.50.0.tgz",
-      "integrity": "sha512-J500AczSD7xEsjXpwNzSh5HQqxW73PT3CCNsi1VEWCE+8UPgVfkHYIGRHGoch35DV+CMe1svbi7gAk3e5eCSVA==",
-      "dev": true,
-      "dependencies": {
-        "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/otlp-exporter-base": "0.50.0",
-        "protobufjs": "^7.2.3"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/otlp-proto-exporter-base": {
-      "version": "0.50.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-proto-exporter-base/-/otlp-proto-exporter-base-0.50.0.tgz",
-      "integrity": "sha512-hlbn3eZbhxoK79Sq1ddj1f7qcx+PzsPQC/SFpJvaWgTaqacCbqJmpzWDKfRRCAC7iGX2Hj/sgpf8vysazqyMOw==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/otlp-exporter-base": "0.50.0",
-        "protobufjs": "^7.2.3"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/otlp-transformer": {
-      "version": "0.50.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.50.0.tgz",
-      "integrity": "sha512-s0sl1Yfqd5q1Kjrf6DqXPWzErL+XHhrXOfejh4Vc/SMTNqC902xDsC8JQxbjuramWt/+hibfguIvi7Ns8VLolA==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/api-logs": "0.50.0",
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/resources": "1.23.0",
-        "@opentelemetry/sdk-logs": "0.50.0",
-        "@opentelemetry/sdk-metrics": "1.23.0",
-        "@opentelemetry/sdk-trace-base": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.3.0 <1.9.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/propagator-b3": {
-      "version": "1.23.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.23.0.tgz",
-      "integrity": "sha512-cZ6rl8y2bdxYQ4e+zP2CQ+QmuPebaLBLO1skjFpj3eEu7zar+6hBzUP3llMOUupkQeQSwXz+4c8dZ26OhYfG/g==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/core": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/propagator-jaeger": {
-      "version": "1.23.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.23.0.tgz",
-      "integrity": "sha512-6iArixfgIl3ZgzeltQ5jyiKbjZygM+MbM84pXi1HL0Qs4x4Ck5rM6wEtjhZffFnlDMWEkEqrnM0xF6bTfbiMAQ==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/core": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/resources": {
-      "version": "1.23.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.23.0.tgz",
-      "integrity": "sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/semantic-conventions": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/sdk-logs": {
-      "version": "0.50.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.50.0.tgz",
-      "integrity": "sha512-PeUEupBB29p9nlPNqXoa1PUWNLsZnxG0DCDj3sHqzae+8y76B/A5hvZjg03ulWdnvBLYpnJslqzylG9E0IL87g==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/resources": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.4.0 <1.9.0",
-        "@opentelemetry/api-logs": ">=0.39.1"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/sdk-metrics": {
-      "version": "1.23.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.23.0.tgz",
-      "integrity": "sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/resources": "1.23.0",
-        "lodash.merge": "^4.6.2"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.3.0 <1.9.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/sdk-node": {
-      "version": "0.50.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.50.0.tgz",
-      "integrity": "sha512-LhIXHnvcnhRYcPwG9VG4G6lJ7x4ElYF6UYHHmXA7e4ZWzSUEFmAPfR1IBWv358aD1KwffcEBu7J6zeAR7lPZag==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/api-logs": "0.50.0",
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/exporter-trace-otlp-grpc": "0.50.0",
-        "@opentelemetry/exporter-trace-otlp-http": "0.50.0",
-        "@opentelemetry/exporter-trace-otlp-proto": "0.50.0",
-        "@opentelemetry/exporter-zipkin": "1.23.0",
-        "@opentelemetry/instrumentation": "0.50.0",
-        "@opentelemetry/resources": "1.23.0",
-        "@opentelemetry/sdk-logs": "0.50.0",
-        "@opentelemetry/sdk-metrics": "1.23.0",
-        "@opentelemetry/sdk-trace-base": "1.23.0",
-        "@opentelemetry/sdk-trace-node": "1.23.0",
-        "@opentelemetry/semantic-conventions": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.3.0 <1.9.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/sdk-trace-base": {
-      "version": "1.23.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.23.0.tgz",
-      "integrity": "sha512-PzBmZM8hBomUqvCddF/5Olyyviayka44O5nDWq673np3ctnvwMOvNrsUORZjKja1zJbwEuD9niAGbnVrz3jwRQ==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/resources": "1.23.0",
-        "@opentelemetry/semantic-conventions": "1.23.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/sdk-trace-node": {
-      "version": "1.23.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.23.0.tgz",
-      "integrity": "sha512-dwnin5Go2r6VzJZkVc9JBPupssWp7j2EFto+S7qRkwQ00WDykWeq3x2Skk7I1Jr448FeBSvGCQVPgV5e6s6O3w==",
-      "dev": true,
-      "dependencies": {
-        "@opentelemetry/context-async-hooks": "1.23.0",
-        "@opentelemetry/core": "1.23.0",
-        "@opentelemetry/propagator-b3": "1.23.0",
-        "@opentelemetry/propagator-jaeger": "1.23.0",
-        "@opentelemetry/sdk-trace-base": "1.23.0",
-        "semver": "^7.5.2"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.9.0"
-      }
-    },
-    "plugins/node/instrumentation-kafkajs/node_modules/@opentelemetry/semantic-conventions": {
-      "version": "1.23.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz",
-      "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==",
-      "engines": {
-        "node": ">=14"
-      }
-    },
     "plugins/node/instrumentation-lru-memoizer": {
       "name": "@opentelemetry/instrumentation-lru-memoizer",
       "version": "0.37.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -37638,7 +37245,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -37674,7 +37281,7 @@
       "version": "0.4.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -37714,7 +37321,7 @@
       "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -37963,7 +37570,7 @@
       "version": "0.10.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/tedious": "^4.0.10"
       },
@@ -38111,7 +37718,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.7.0",
@@ -38141,7 +37748,7 @@
       "version": "0.41.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/propagator-aws-xray": "^1.3.1",
         "@opentelemetry/resources": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -38174,7 +37781,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/propagation-utils": "^0.30.9",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
@@ -38221,14 +37828,14 @@
       "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/api-logs": "^0.51.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/api-logs": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@types/bunyan": "1.8.9"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/sdk-logs": "^0.51.0",
+        "@opentelemetry/sdk-logs": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.23.0",
@@ -38264,7 +37871,7 @@
       "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -38298,7 +37905,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/connect": "3.4.36"
       },
@@ -38336,7 +37943,7 @@
       "version": "0.36.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "semver": "^7.5.4"
       },
       "devDependencies": {
@@ -38369,7 +37976,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -38404,7 +38011,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -38412,7 +38019,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation-http": "^0.51.0",
+        "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/express": "4.17.18",
@@ -38452,7 +38059,7 @@
       "version": "0.36.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -38516,7 +38123,7 @@
       "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -38551,7 +38158,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -38583,7 +38190,7 @@
       "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/semantic-conventions": "^1.23.0"
       },
@@ -38619,7 +38226,7 @@
       "version": "0.36.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -38650,7 +38257,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/koa": "2.14.0",
         "@types/koa__router": "12.0.3"
@@ -38660,7 +38267,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation-http": "^0.51.0",
+        "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -38687,7 +38294,7 @@
       "version": "0.36.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.23.0",
         "@types/memcached": "^2.2.6"
       },
@@ -38719,7 +38326,7 @@
       "version": "0.43.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-metrics": "^1.9.1",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
@@ -38913,7 +38520,7 @@
       "version": "0.38.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mysql": "2.15.22"
       },
@@ -38946,7 +38553,7 @@
       "version": "0.38.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@opentelemetry/sql-common": "^0.40.1"
       },
@@ -39012,7 +38619,7 @@
       "version": "0.37.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.23.0"
       },
       "devDependencies": {
@@ -39085,7 +38692,7 @@
       "version": "0.36.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.23.0"
       },
       "devDependencies": {
@@ -39115,7 +38722,7 @@
       "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@opentelemetry/sql-common": "^0.40.1",
         "@types/pg": "8.6.1",
@@ -39154,7 +38761,7 @@
       "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39221,7 +38828,7 @@
       "version": "0.39.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
@@ -39255,7 +38862,7 @@
       "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
@@ -39304,7 +38911,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -39370,7 +38977,7 @@
       "version": "0.37.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -39399,8 +39006,8 @@
       "version": "0.37.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/api-logs": "^0.51.0",
-        "@opentelemetry/instrumentation": "^0.51.0"
+        "@opentelemetry/api-logs": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39435,7 +39042,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.0.0",
         "@opentelemetry/sdk-trace-web": "^1.15.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
@@ -39476,7 +39083,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-web": "^1.8.0"
       },
       "devDependencies": {
@@ -39522,7 +39129,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-web": "^1.8.0"
       },
       "devDependencies": {
@@ -39530,7 +39137,7 @@
         "@jsdevtools/coverage-istanbul-loader": "3.0.5",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-zone-peer-dep": "^1.8.0",
-        "@opentelemetry/instrumentation-xml-http-request": "^0.51.0",
+        "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/jquery": "3.5.20",
         "@types/mocha": "7.0.2",
@@ -46533,14 +46140,14 @@
       }
     },
     "@opentelemetry/api": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.8.0.tgz",
-      "integrity": "sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w=="
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
+      "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="
     },
     "@opentelemetry/api-logs": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.51.1.tgz",
-      "integrity": "sha512-E3skn949Pk1z2XtXu/lxf6QAZpawuTM/IUEXcAzpiUkTd73Hmvw26FiN3cJuTmkpM5hZzHwkomVdtrh/n/zzwA==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.0.tgz",
+      "integrity": "sha512-HxjD7xH9iAE4OyhNaaSec65i1H6QZYBWSwWkowFfsc5YAcDvJG30/J1sRKXEQqdmUcKTXEAnA66UciqZha/4+Q==",
       "requires": {
         "@opentelemetry/api": "^1.0.0"
       }
@@ -46549,7 +46156,7 @@
       "version": "file:metapackages/auto-instrumentations-node",
       "requires": {
         "@opentelemetry/api": "^1.4.1",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/instrumentation-amqplib": "^0.37.0",
         "@opentelemetry/instrumentation-aws-lambda": "^0.41.1",
         "@opentelemetry/instrumentation-aws-sdk": "^0.41.0",
@@ -46564,9 +46171,9 @@
         "@opentelemetry/instrumentation-fs": "^0.12.0",
         "@opentelemetry/instrumentation-generic-pool": "^0.36.0",
         "@opentelemetry/instrumentation-graphql": "^0.40.0",
-        "@opentelemetry/instrumentation-grpc": "^0.51.0",
+        "@opentelemetry/instrumentation-grpc": "^0.52.0",
         "@opentelemetry/instrumentation-hapi": "^0.38.0",
-        "@opentelemetry/instrumentation-http": "^0.51.0",
+        "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/instrumentation-ioredis": "^0.40.0",
         "@opentelemetry/instrumentation-knex": "^0.36.1",
         "@opentelemetry/instrumentation-koa": "^0.40.0",
@@ -46594,7 +46201,7 @@
         "@opentelemetry/resource-detector-container": "^0.3.9",
         "@opentelemetry/resource-detector-gcp": "^0.29.9",
         "@opentelemetry/resources": "^1.24.0",
-        "@opentelemetry/sdk-node": "^0.51.0",
+        "@opentelemetry/sdk-node": "^0.52.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
@@ -46612,11 +46219,11 @@
         "@babel/core": "7.22.17",
         "@jsdevtools/coverage-istanbul-loader": "3.0.5",
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/instrumentation-document-load": "^0.38.0",
-        "@opentelemetry/instrumentation-fetch": "^0.51.0",
+        "@opentelemetry/instrumentation-fetch": "^0.52.0",
         "@opentelemetry/instrumentation-user-interaction": "^0.38.0",
-        "@opentelemetry/instrumentation-xml-http-request": "^0.51.0",
+        "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
@@ -46672,24 +46279,24 @@
       }
     },
     "@opentelemetry/context-async-hooks": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.24.1.tgz",
-      "integrity": "sha512-R5r6DO4kgEOVBxFXhXjwospLQkv+sYxwCfjvoZBe7Zm6KKXAV9kDSJhi/D1BweowdZmO+sdbENLs374gER8hpQ==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.0.tgz",
+      "integrity": "sha512-sBW313mnMyFg0cp/40BRzrZBWG+581s2j5gIsa5fgGadswyILk4mNFATsqrCOpAx945RDuZ2B7ThQLgor9OpfA==",
       "requires": {}
     },
     "@opentelemetry/context-zone": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.24.1.tgz",
-      "integrity": "sha512-pt5KLJws1m+rHTeEA6uootoyiuZlCt7j90dmdjXnqx4JZH6sFWqWB5IW1gOukDY7Ym3cNKjtoh3/uK0KuSRBfg==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.25.0.tgz",
+      "integrity": "sha512-LmO64smA9SZrl8f1HRRSNA4oudwpjCMVxZz08EhkRCcTRvFB8p+6Lnu6mtT54wD/raeXoEbLGtVqMYHsZ6bpmA==",
       "requires": {
-        "@opentelemetry/context-zone-peer-dep": "1.24.1",
-        "zone.js": "^0.11.0 || ^0.13.0 || ^0.14.0"
+        "@opentelemetry/context-zone-peer-dep": "1.25.0",
+        "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0"
       }
     },
     "@opentelemetry/context-zone-peer-dep": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.24.1.tgz",
-      "integrity": "sha512-s67becvBZFFjSLKSiy8ia2m7htsC4gsk8J/X0368FzBYseb/26daYr4ewx6tKcAsmZqJA7402cTQirv175x5BA==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.25.0.tgz",
+      "integrity": "sha512-wh03u4ECYonjaxB+hzriWzHcr4GRlYSQoirDn0ldBDebz3WDZgjHCD/NPBoZaulGGwU6lvmQZXuyfz5hRrJhOw==",
       "requires": {}
     },
     "@opentelemetry/contrib-test-utils": {
@@ -46698,9 +46305,9 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/core": "^1.0.0",
         "@opentelemetry/exporter-jaeger": "^1.3.1",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/sdk-node": "^0.51.0",
+        "@opentelemetry/sdk-node": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -46709,71 +46316,70 @@
       }
     },
     "@opentelemetry/core": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.24.1.tgz",
-      "integrity": "sha512-wMSGfsdmibI88K9wB498zXY04yThPexo8jvwNNlm542HZB7XrrMRBbAyKJqG8qDRJwIBdBrPMi4V9ZPW/sqrcg==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.0.tgz",
+      "integrity": "sha512-n0B3s8rrqGrasTgNkXLKXzN0fXo+6IYP7M5b7AMsrZM33f/y6DS6kJ0Btd7SespASWq8bgL3taLo0oe0vB52IQ==",
       "requires": {
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/semantic-conventions": "1.25.0"
       }
     },
     "@opentelemetry/exporter-jaeger": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.24.1.tgz",
-      "integrity": "sha512-zrcY76PVR4itZD2oxQdFgnvS/Lst1CxmMofOhngvTDIXVqSTEf00QfmdIQUljwmycYwxZIvbJ445k3AGRBbZKQ==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.25.0.tgz",
+      "integrity": "sha512-6h2dCpdOB2W2mxdH/6w6DZeev5Zc3X2rUlCWKMCUnKko36aTfbiVxgXHffs0pc3w5JmMtKIVkHg8eamvLA+Klw==",
       "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0",
         "jaeger-client": "^3.15.0"
       }
     },
     "@opentelemetry/exporter-trace-otlp-grpc": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.51.1.tgz",
-      "integrity": "sha512-P9+Hkszih95ITvldGZ+kXvj9HpD1QfS+PwooyHK72GYA+Bgm+yUSAsDkUkDms8+s9HW6poxURv3LcjaMuBBpVQ==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.52.0.tgz",
+      "integrity": "sha512-Ln3HU54/ytTeEMrDGNDj01357YV8Kk9PkGDHvBRo1n7bWhwZoTEnX/cTuXLYOiygBIJJjCCM+VMfWCnvtFl4Kw==",
       "requires": {
         "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/otlp-grpc-exporter-base": "0.51.1",
-        "@opentelemetry/otlp-transformer": "0.51.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-grpc-exporter-base": "0.52.0",
+        "@opentelemetry/otlp-transformer": "0.52.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0"
       }
     },
     "@opentelemetry/exporter-trace-otlp-http": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.51.1.tgz",
-      "integrity": "sha512-n+LhLPsX07URh+HhV2SHVSvz1t4G/l/CE5BjpmhAPqeTceFac1VpyQkavWEJbvnK5bUEXijWt4LxAxFpt2fXyw==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.52.0.tgz",
+      "integrity": "sha512-umj9tOSEAuUdqw2EZua1Dby3c+FZ6xWGT2OF/KGLFLtyIvxhtTOSeMfBy/9CaxHn4vF8mAynmAP5MvVKnRYunA==",
       "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/otlp-exporter-base": "0.51.1",
-        "@opentelemetry/otlp-transformer": "0.51.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-exporter-base": "0.52.0",
+        "@opentelemetry/otlp-transformer": "0.52.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0"
       }
     },
     "@opentelemetry/exporter-trace-otlp-proto": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.51.1.tgz",
-      "integrity": "sha512-SE9f0/6V6EeXC9i+WA4WFjS1EYgaBCpAnI5+lxWvZ7iO7EU1IvHvZhP6Kojr0nLldo83gqg6G7OWFqsID3uF+w==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.52.0.tgz",
+      "integrity": "sha512-mpMEZFGaGnvon5pbjLieh7ffE9BuYnrG7qd4O5P3j1fk/4PCR3BcGfGhIfyZi0X8kBcjEhipiBfaHYqI7rxcXg==",
       "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/otlp-exporter-base": "0.51.1",
-        "@opentelemetry/otlp-proto-exporter-base": "0.51.1",
-        "@opentelemetry/otlp-transformer": "0.51.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-exporter-base": "0.52.0",
+        "@opentelemetry/otlp-transformer": "0.52.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0"
       }
     },
     "@opentelemetry/exporter-zipkin": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.24.1.tgz",
-      "integrity": "sha512-+Rl/VFmu2n6eaRMnVbyfZx1DqR/1KNyWebYuHyQBZaEAVIn/ZLgmofRpXN1X2nhJ4BNaptQUNxAstCYYz6dKoQ==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.25.0.tgz",
+      "integrity": "sha512-nnhY0e5DHg8BfUSNCQZoGZnGeqz+zMTeEUOh1dfgtaXmF99uM0QPuTa1i2lH+eZqebP8w1WDWZlewu9FUlHqIg==",
       "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       }
     },
     "@opentelemetry/host-metrics": {
@@ -46836,13 +46442,13 @@
       }
     },
     "@opentelemetry/instrumentation": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.51.1.tgz",
-      "integrity": "sha512-JIrvhpgqY6437QIqToyozrUG1h5UhwHkaGK/WAX+fkrpyPtc+RO5FkRtUd9BH0MibabHHvqsnBGKfKVijbmp8w==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.0.tgz",
+      "integrity": "sha512-LPwSIrw+60cheWaXsfGL8stBap/AppKQJFE+qqRvzYrgttXFH2ofoIMxWadeqPTq4BYOXM/C7Bdh/T+B60xnlQ==",
       "requires": {
-        "@opentelemetry/api-logs": "0.51.1",
+        "@opentelemetry/api-logs": "0.52.0",
         "@types/shimmer": "^1.0.2",
-        "import-in-the-middle": "1.7.4",
+        "import-in-the-middle": "1.8.0",
         "require-in-the-middle": "^7.1.1",
         "semver": "^7.5.2",
         "shimmer": "^1.2.1"
@@ -46854,7 +46460,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/amqplib": "^0.5.17",
         "@types/lodash": "4.14.199",
@@ -46885,7 +46491,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/propagator-aws-xray": "^1.3.1",
         "@opentelemetry/resources": "^1.8.0",
         "@opentelemetry/sdk-metrics": "^1.8.0",
@@ -46914,7 +46520,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/propagation-utils": "^0.30.9",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -46946,10 +46552,10 @@
       "version": "file:plugins/node/opentelemetry-instrumentation-bunyan",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/api-logs": "^0.51.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/api-logs": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/sdk-logs": "^0.51.0",
+        "@opentelemetry/sdk-logs": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.23.0",
@@ -46983,7 +46589,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -47006,7 +46612,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -47037,7 +46643,7 @@
         "@cucumber/cucumber": "^9.0.0",
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/core": "^1.3.1",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.3.1",
         "@opentelemetry/sdk-trace-node": "^1.3.1",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -47086,7 +46692,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -47105,7 +46711,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -47129,7 +46735,7 @@
         "@jsdevtools/coverage-istanbul-loader": "3.0.5",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.0.0",
         "@opentelemetry/sdk-trace-web": "^1.15.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -47162,7 +46768,7 @@
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -47188,8 +46794,8 @@
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
-        "@opentelemetry/instrumentation-http": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -47222,14 +46828,14 @@
       }
     },
     "@opentelemetry/instrumentation-fetch": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.51.1.tgz",
-      "integrity": "sha512-LzciqAnJmmYaXWo2hlrN99NMbYbExo6n6lBKBeMHAi7X/ddhCSOsgSNVbF3kDB7P++PJhjYqLT3hy6SU4AFHcg==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.52.0.tgz",
+      "integrity": "sha512-ay1Ot0z/586MBnhZnWJJFWXjBCQjddVVjCxLPRECnorhzmXuOsjUb7zTY88Vv9ddRtcHe0EIp9Z8sWQeLT02kA==",
       "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/instrumentation": "0.51.1",
-        "@opentelemetry/sdk-trace-web": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/sdk-trace-web": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       }
     },
     "@opentelemetry/instrumentation-fs": {
@@ -47238,7 +46844,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/resources": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -47258,7 +46864,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/generic-pool": "^3.1.9",
@@ -47304,7 +46910,7 @@
       "version": "file:plugins/node/opentelemetry-instrumentation-graphql",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
@@ -47327,12 +46933,12 @@
       }
     },
     "@opentelemetry/instrumentation-grpc": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.51.1.tgz",
-      "integrity": "sha512-coRTugFL7De/VNH/1NqPlxnfik87jS+jBXsny+Y/lMhXIA3x8t71IyL9ihuewkD+lNtIxIz6Y7Sq6kPuOqz5dQ==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.0.tgz",
+      "integrity": "sha512-YYhA2pbhMWgF5Hp6eR7AHp1utzZQ3Y0VB8GIwd8zJoLtAuQRZa1N29DUtZ+t/pGRJF+xGPVI+vP+7ugHgeN0zQ==",
       "requires": {
-        "@opentelemetry/instrumentation": "0.51.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       }
     },
     "@opentelemetry/instrumentation-hapi": {
@@ -47343,7 +46949,7 @@
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -47359,13 +46965,13 @@
       }
     },
     "@opentelemetry/instrumentation-http": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.51.1.tgz",
-      "integrity": "sha512-6b3nZnFFEz/3xZ6w8bVxctPUWIPWiXuPQ725530JgxnN1cvYFd8CJ75PrHZNjynmzSSnqBkN3ef4R9N+RpMh8Q==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.52.0.tgz",
+      "integrity": "sha512-E6ywZuxTa4LnVXZGwL1oj3e2Eog1yIaNqa8KjKXoGkDNKte9/SjQnePXOmhQYI0A9nf0UyFbP9aKd+yHrkJXUA==",
       "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/instrumentation": "0.51.1",
-        "@opentelemetry/semantic-conventions": "1.24.1",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/semantic-conventions": "1.25.0",
         "semver": "^7.5.2"
       }
     },
@@ -47375,7 +46981,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -47399,8 +47005,8 @@
       "version": "file:plugins/node/instrumentation-kafkajs",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.38.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.24.0",
         "@opentelemetry/semantic-conventions": "^1.24.0",
         "@types/mocha": "7.0.2",
@@ -47413,260 +47019,6 @@
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
-      },
-      "dependencies": {
-        "@opentelemetry/api-logs": {
-          "version": "0.50.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.50.0.tgz",
-          "integrity": "sha512-JdZuKrhOYggqOpUljAq4WWNi5nB10PmgoF0y2CvedLGXd0kSawb/UBnWT8gg1ND3bHCNHStAIVT0ELlxJJRqrA==",
-          "requires": {
-            "@opentelemetry/api": "^1.0.0"
-          }
-        },
-        "@opentelemetry/context-async-hooks": {
-          "version": "1.23.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.23.0.tgz",
-          "integrity": "sha512-wazGJZDRevibOJ+VgyrT+9+8sybZAxpZx2G7vy30OAtk92OpZCg7HgNxT11NUx0VBDWcRx1dOatMYGOVplQ7QA==",
-          "dev": true,
-          "requires": {}
-        },
-        "@opentelemetry/contrib-test-utils": {
-          "version": "0.38.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/contrib-test-utils/-/contrib-test-utils-0.38.0.tgz",
-          "integrity": "sha512-wdFiZfkCIuQ93Z3JXs1lIjEIabIGxfpEqwdLVYXLhASd8JBRlqLQ4bg0/FRa8Nnd+0BZr3U6Rihg/y8WC3z1ig==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/core": "^1.0.0",
-            "@opentelemetry/exporter-jaeger": "^1.3.1",
-            "@opentelemetry/instrumentation": "^0.50.0",
-            "@opentelemetry/resources": "^1.8.0",
-            "@opentelemetry/sdk-node": "^0.50.0",
-            "@opentelemetry/sdk-trace-base": "^1.8.0",
-            "@opentelemetry/sdk-trace-node": "^1.8.0",
-            "@opentelemetry/semantic-conventions": "^1.0.0"
-          }
-        },
-        "@opentelemetry/core": {
-          "version": "1.23.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.23.0.tgz",
-          "integrity": "sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/semantic-conventions": "1.23.0"
-          }
-        },
-        "@opentelemetry/exporter-trace-otlp-grpc": {
-          "version": "0.50.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.50.0.tgz",
-          "integrity": "sha512-w/NF4TrwHxx+Uz1M0rCOSVr6KgcoQPv3zF9JRqcebY2euD7ddWnLP0hE8JavyA1uq4UchnMp9faAk9n7hTCePw==",
-          "dev": true,
-          "requires": {
-            "@grpc/grpc-js": "^1.7.1",
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/otlp-grpc-exporter-base": "0.50.0",
-            "@opentelemetry/otlp-transformer": "0.50.0",
-            "@opentelemetry/resources": "1.23.0",
-            "@opentelemetry/sdk-trace-base": "1.23.0"
-          }
-        },
-        "@opentelemetry/exporter-trace-otlp-http": {
-          "version": "0.50.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.50.0.tgz",
-          "integrity": "sha512-L7OtIMT7MsFqkmhbQlPBGRXt7152VN5esHpQEJYIBFedOEo3Da+yHpu5ojMZtPzpIvSpB5Xr5lnJUjJCbkttCA==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/otlp-exporter-base": "0.50.0",
-            "@opentelemetry/otlp-transformer": "0.50.0",
-            "@opentelemetry/resources": "1.23.0",
-            "@opentelemetry/sdk-trace-base": "1.23.0"
-          }
-        },
-        "@opentelemetry/exporter-trace-otlp-proto": {
-          "version": "0.50.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.50.0.tgz",
-          "integrity": "sha512-vavD9Ow6yOLiD+ocuS/oeciCsXNdsN41aYUrEljNaLXogvnkfMhJ+JLAhOnRSpzlVtRp7Ciw2BYGdYSebR0OsA==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/otlp-exporter-base": "0.50.0",
-            "@opentelemetry/otlp-proto-exporter-base": "0.50.0",
-            "@opentelemetry/otlp-transformer": "0.50.0",
-            "@opentelemetry/resources": "1.23.0",
-            "@opentelemetry/sdk-trace-base": "1.23.0"
-          }
-        },
-        "@opentelemetry/exporter-zipkin": {
-          "version": "1.23.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.23.0.tgz",
-          "integrity": "sha512-2LOGvNUGONuIcWhynFaJorVyqv03uZkURScciLmOxvBf2lWTNPEj77br1dCpShIWBM+YlrH7Tc+JXAs+GC7DqA==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/resources": "1.23.0",
-            "@opentelemetry/sdk-trace-base": "1.23.0",
-            "@opentelemetry/semantic-conventions": "1.23.0"
-          }
-        },
-        "@opentelemetry/instrumentation": {
-          "version": "0.50.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.50.0.tgz",
-          "integrity": "sha512-bhGhbJiZKpuu7wTaSak4hyZcFPlnDeuSF/2vglze8B4w2LubcSbbOnkVTzTs5SXtzh4Xz8eRjaNnAm+u2GYufQ==",
-          "requires": {
-            "@opentelemetry/api-logs": "0.50.0",
-            "@types/shimmer": "^1.0.2",
-            "import-in-the-middle": "1.7.1",
-            "require-in-the-middle": "^7.1.1",
-            "semver": "^7.5.2",
-            "shimmer": "^1.2.1"
-          }
-        },
-        "@opentelemetry/otlp-exporter-base": {
-          "version": "0.50.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.50.0.tgz",
-          "integrity": "sha512-JUmjmrCmE1/fc4LjCQMqLfudgSl5OpUkzx7iA94b4jgeODM7zWxUoVXL7/CT7fWf47Cn+pmKjMvTCSESqZZ3mA==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/core": "1.23.0"
-          }
-        },
-        "@opentelemetry/otlp-grpc-exporter-base": {
-          "version": "0.50.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.50.0.tgz",
-          "integrity": "sha512-J500AczSD7xEsjXpwNzSh5HQqxW73PT3CCNsi1VEWCE+8UPgVfkHYIGRHGoch35DV+CMe1svbi7gAk3e5eCSVA==",
-          "dev": true,
-          "requires": {
-            "@grpc/grpc-js": "^1.7.1",
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/otlp-exporter-base": "0.50.0",
-            "protobufjs": "^7.2.3"
-          }
-        },
-        "@opentelemetry/otlp-proto-exporter-base": {
-          "version": "0.50.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-proto-exporter-base/-/otlp-proto-exporter-base-0.50.0.tgz",
-          "integrity": "sha512-hlbn3eZbhxoK79Sq1ddj1f7qcx+PzsPQC/SFpJvaWgTaqacCbqJmpzWDKfRRCAC7iGX2Hj/sgpf8vysazqyMOw==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/otlp-exporter-base": "0.50.0",
-            "protobufjs": "^7.2.3"
-          }
-        },
-        "@opentelemetry/otlp-transformer": {
-          "version": "0.50.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.50.0.tgz",
-          "integrity": "sha512-s0sl1Yfqd5q1Kjrf6DqXPWzErL+XHhrXOfejh4Vc/SMTNqC902xDsC8JQxbjuramWt/+hibfguIvi7Ns8VLolA==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/api-logs": "0.50.0",
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/resources": "1.23.0",
-            "@opentelemetry/sdk-logs": "0.50.0",
-            "@opentelemetry/sdk-metrics": "1.23.0",
-            "@opentelemetry/sdk-trace-base": "1.23.0"
-          }
-        },
-        "@opentelemetry/propagator-b3": {
-          "version": "1.23.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.23.0.tgz",
-          "integrity": "sha512-cZ6rl8y2bdxYQ4e+zP2CQ+QmuPebaLBLO1skjFpj3eEu7zar+6hBzUP3llMOUupkQeQSwXz+4c8dZ26OhYfG/g==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/core": "1.23.0"
-          }
-        },
-        "@opentelemetry/propagator-jaeger": {
-          "version": "1.23.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.23.0.tgz",
-          "integrity": "sha512-6iArixfgIl3ZgzeltQ5jyiKbjZygM+MbM84pXi1HL0Qs4x4Ck5rM6wEtjhZffFnlDMWEkEqrnM0xF6bTfbiMAQ==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/core": "1.23.0"
-          }
-        },
-        "@opentelemetry/resources": {
-          "version": "1.23.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.23.0.tgz",
-          "integrity": "sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/semantic-conventions": "1.23.0"
-          }
-        },
-        "@opentelemetry/sdk-logs": {
-          "version": "0.50.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.50.0.tgz",
-          "integrity": "sha512-PeUEupBB29p9nlPNqXoa1PUWNLsZnxG0DCDj3sHqzae+8y76B/A5hvZjg03ulWdnvBLYpnJslqzylG9E0IL87g==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/resources": "1.23.0"
-          }
-        },
-        "@opentelemetry/sdk-metrics": {
-          "version": "1.23.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.23.0.tgz",
-          "integrity": "sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/resources": "1.23.0",
-            "lodash.merge": "^4.6.2"
-          }
-        },
-        "@opentelemetry/sdk-node": {
-          "version": "0.50.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.50.0.tgz",
-          "integrity": "sha512-LhIXHnvcnhRYcPwG9VG4G6lJ7x4ElYF6UYHHmXA7e4ZWzSUEFmAPfR1IBWv358aD1KwffcEBu7J6zeAR7lPZag==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/api-logs": "0.50.0",
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/exporter-trace-otlp-grpc": "0.50.0",
-            "@opentelemetry/exporter-trace-otlp-http": "0.50.0",
-            "@opentelemetry/exporter-trace-otlp-proto": "0.50.0",
-            "@opentelemetry/exporter-zipkin": "1.23.0",
-            "@opentelemetry/instrumentation": "0.50.0",
-            "@opentelemetry/resources": "1.23.0",
-            "@opentelemetry/sdk-logs": "0.50.0",
-            "@opentelemetry/sdk-metrics": "1.23.0",
-            "@opentelemetry/sdk-trace-base": "1.23.0",
-            "@opentelemetry/sdk-trace-node": "1.23.0",
-            "@opentelemetry/semantic-conventions": "1.23.0"
-          }
-        },
-        "@opentelemetry/sdk-trace-base": {
-          "version": "1.23.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.23.0.tgz",
-          "integrity": "sha512-PzBmZM8hBomUqvCddF/5Olyyviayka44O5nDWq673np3ctnvwMOvNrsUORZjKja1zJbwEuD9niAGbnVrz3jwRQ==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/resources": "1.23.0",
-            "@opentelemetry/semantic-conventions": "1.23.0"
-          }
-        },
-        "@opentelemetry/sdk-trace-node": {
-          "version": "1.23.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.23.0.tgz",
-          "integrity": "sha512-dwnin5Go2r6VzJZkVc9JBPupssWp7j2EFto+S7qRkwQ00WDykWeq3x2Skk7I1Jr448FeBSvGCQVPgV5e6s6O3w==",
-          "dev": true,
-          "requires": {
-            "@opentelemetry/context-async-hooks": "1.23.0",
-            "@opentelemetry/core": "1.23.0",
-            "@opentelemetry/propagator-b3": "1.23.0",
-            "@opentelemetry/propagator-jaeger": "1.23.0",
-            "@opentelemetry/sdk-trace-base": "1.23.0",
-            "semver": "^7.5.2"
-          }
-        },
-        "@opentelemetry/semantic-conventions": {
-          "version": "1.23.0",
-          "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz",
-          "integrity": "sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg=="
-        }
       }
     },
     "@opentelemetry/instrumentation-knex": {
@@ -47674,7 +47026,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -47697,8 +47049,8 @@
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
-        "@opentelemetry/instrumentation-http": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -47724,7 +47076,7 @@
         "@jsdevtools/coverage-istanbul-loader": "3.0.5",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-web": "^1.8.0",
         "@types/jquery": "3.5.20",
@@ -47758,7 +47110,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@types/lru-cache": "7.10.9",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -47786,7 +47138,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.23.0",
@@ -47808,7 +47160,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-metrics": "^1.9.1",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -47938,7 +47290,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
@@ -47967,7 +47319,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-metrics": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -47990,7 +47342,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@opentelemetry/sql-common": "^0.40.1",
@@ -48043,7 +47395,7 @@
         "@nestjs/websockets": "9.4.3",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.23.0",
@@ -48094,7 +47446,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.23.0",
@@ -48115,7 +47467,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -48144,7 +47496,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -48194,7 +47546,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -48219,7 +47571,7 @@
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -48258,7 +47610,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -48307,7 +47659,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -48325,7 +47677,7 @@
       "version": "file:plugins/node/instrumentation-runtime-node",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-metrics": "^1.20.0",
         "@types/mocha": "^10.0.6",
         "@types/node": "^20.11.2",
@@ -48358,7 +47710,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
@@ -48551,7 +47903,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "7.0.2",
@@ -48649,7 +48001,7 @@
       "requires": {
         "@opentelemetry/api": "^1.7.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-metrics": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -48673,8 +48025,8 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-zone-peer-dep": "^1.8.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
-        "@opentelemetry/instrumentation-xml-http-request": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-web": "^1.8.0",
         "@types/jquery": "3.5.20",
@@ -48707,9 +48059,9 @@
       "version": "file:plugins/node/opentelemetry-instrumentation-winston",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/api-logs": "^0.51.0",
+        "@opentelemetry/api-logs": "^0.52.0",
         "@opentelemetry/context-async-hooks": "^1.21.0",
-        "@opentelemetry/instrumentation": "^0.51.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.21.0",
         "@opentelemetry/sdk-trace-node": "^1.21.0",
         "@opentelemetry/winston-transport": "^0.3.0",
@@ -48729,56 +48081,48 @@
       }
     },
     "@opentelemetry/instrumentation-xml-http-request": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.51.1.tgz",
-      "integrity": "sha512-CrQZxADNFr9M3aCgjM3/KXDz12lBrZA5LW+btfgNb78hsLNwqxThtFvXOHr86UsOzJt+h9m4yDeH6YLEvCTBbw==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.52.0.tgz",
+      "integrity": "sha512-Q6dEFKBkVmLs6XByXNPkCZXYF1Ovs3fFCD33nA4d4dgBgv8zMPt7xBLIxfEw0QVDZhyBhKXwv7byvMDB+yYQdA==",
       "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/instrumentation": "0.51.1",
-        "@opentelemetry/sdk-trace-web": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/sdk-trace-web": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       }
     },
     "@opentelemetry/otlp-exporter-base": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.51.1.tgz",
-      "integrity": "sha512-UYlnOYyDdzo1Gw559EHCzru0RwhvuXCwoH8jGo9J4gO1TE58GjnEmIjomMsKBCym3qWNJfIQXw+9SZCV0DdQNg==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.52.0.tgz",
+      "integrity": "sha512-rlyg5UKW9yMTNMUxYYib9XxEE/krpH7Q6mIuJNOBMbjLwmqe1WQ2MNKNzobVZTKop/FX4CvyNN3wUEl/6gnvfw==",
       "requires": {
-        "@opentelemetry/core": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-transformer": "0.52.0"
       }
     },
     "@opentelemetry/otlp-grpc-exporter-base": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.51.1.tgz",
-      "integrity": "sha512-ZAS+4pq8o7dsugGTwV9s6JMKSxi+guIHdn0acOv0bqj26e9pWDFx5Ky+bI0aY46uR9Y0JyXqY+KAEYM/SO3DFA==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.52.0.tgz",
+      "integrity": "sha512-iVq3wCElOoKUkxBOuvV8cfaELG8WO/zfLWIZil6iw/6hj6rktLodnJ7kVOneVmLki7Po1BjE1K7JOp2G3UPgYg==",
       "requires": {
         "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/otlp-exporter-base": "0.51.1",
-        "protobufjs": "^7.2.3"
-      }
-    },
-    "@opentelemetry/otlp-proto-exporter-base": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-proto-exporter-base/-/otlp-proto-exporter-base-0.51.1.tgz",
-      "integrity": "sha512-gxxxwfk0inDMb5DLeuxQ3L8TtptxSiTNHE4nnAJH34IQXAVRhXSXW1rK8PmDKDngRPIZ6J7ncUCjjIn8b+AgqQ==",
-      "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/otlp-exporter-base": "0.51.1",
-        "protobufjs": "^7.2.3"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-exporter-base": "0.52.0",
+        "@opentelemetry/otlp-transformer": "0.52.0"
       }
     },
     "@opentelemetry/otlp-transformer": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.51.1.tgz",
-      "integrity": "sha512-OppYOXwV9LQqqtYUCywqoOqX/JT9LQ5/FMuPZ//eTkvuHdUC4ZMwz2c6uSoT2R90GWvvGnF1iEqTGyTT3xAt2Q==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.0.tgz",
+      "integrity": "sha512-40acy3JxCAqQYcYepypF/64GVB8jerC6Oiz1HRUXxiSTVwg+ud7UtywfOkPRpc9bjHiyJouWxTjiUPQ9VBMKbg==",
       "requires": {
-        "@opentelemetry/api-logs": "0.51.1",
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/sdk-logs": "0.51.1",
-        "@opentelemetry/sdk-metrics": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1"
+        "@opentelemetry/api-logs": "0.52.0",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-logs": "0.52.0",
+        "@opentelemetry/sdk-metrics": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "protobufjs": "^7.3.0"
       }
     },
     "@opentelemetry/plugin-react-load": {
@@ -48847,19 +48191,19 @@
       }
     },
     "@opentelemetry/propagator-aws-xray": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.24.1.tgz",
-      "integrity": "sha512-RzwoLe6QzsYGcpmxxDbbbgSpe3ncxSM4dtFHXh/rCYGjyq0nZGXKvk26mJtWZ4kQ3nuiIoqSZueIuGmt/mvOTA==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.25.0.tgz",
+      "integrity": "sha512-+honT9J/Xa6Mxk7AO/VlSUGaVSSQzqHr0wZDWrSunnc3eVbS5YTuv7UrcoHTED+AYziawTlx7ICeAX2VPc1M+w==",
       "requires": {
-        "@opentelemetry/core": "1.24.1"
+        "@opentelemetry/core": "1.25.0"
       }
     },
     "@opentelemetry/propagator-b3": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.24.1.tgz",
-      "integrity": "sha512-nda97ZwhpZKyUJTXqQuKzNhPMUgMLunbbGWn8kroBwegn+nh6OhtyGkrVQsQLNdVKJl0KeB5z0ZgeWszrYhwFw==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.0.tgz",
+      "integrity": "sha512-/A+1Tbnf0uwnP51OkoaQlrb9YILdHsoqIISna1MNXpZRzf42xm6LVLb49i+m/zlJoW1e8P4ekcrditR5pfmwog==",
       "requires": {
-        "@opentelemetry/core": "1.24.1"
+        "@opentelemetry/core": "1.25.0"
       }
     },
     "@opentelemetry/propagator-instana": {
@@ -49034,11 +48378,11 @@
       }
     },
     "@opentelemetry/propagator-jaeger": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.24.1.tgz",
-      "integrity": "sha512-7bRBJn3FG1l195A1m+xXRHvgzAOBsfmRi9uZ5Da18oTh7BLmNDiA8+kpk51FpTsU1PCikPVpRDNPhKVB6lyzZg==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.0.tgz",
+      "integrity": "sha512-uwA5xqaPISXeX+YutqbjmzENnCGCvrIXlqIXP5gRoA5N6S3W28p+ExL77TugMKHN5gXklapF67jDfz7lq5ETzQ==",
       "requires": {
-        "@opentelemetry/core": "1.24.1"
+        "@opentelemetry/core": "1.25.0"
       }
     },
     "@opentelemetry/propagator-ot-trace": {
@@ -49257,7 +48601,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.39.0",
         "@opentelemetry/resources": "^1.0.0",
-        "@opentelemetry/sdk-node": "^0.51.0",
+        "@opentelemetry/sdk-node": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -49279,90 +48623,91 @@
       }
     },
     "@opentelemetry/resources": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.24.1.tgz",
-      "integrity": "sha512-cyv0MwAaPF7O86x5hk3NNgenMObeejZFLJJDVuSeSMIsknlsj3oOZzRv3qSzlwYomXsICfBeFFlxwHQte5mGXQ==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.0.tgz",
+      "integrity": "sha512-iHjydPMYJ+Li1auveJCq2rp5U2h6Mhq8BidiyE0jfVlDTFyR1ny8AfJHfmFzJ/RAM8vT8L7T21kcmGybxZC7lQ==",
       "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       }
     },
     "@opentelemetry/sdk-logs": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.51.1.tgz",
-      "integrity": "sha512-ULQQtl82b673PpZc5/0EtH4V+BrwVOgKJZEB7tYZnGTG3I98tQVk89S9/JSixomDr++F4ih+LSJTCqIKBz+MQQ==",
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.0.tgz",
+      "integrity": "sha512-Dp6g7w7WglrDZMn2yHBMAKRGqQy8C0PUbFovkSwcSsmL47n4FSEc3eeGblZTtueOUW+rTsPJpLHoUpEdS0Wibw==",
       "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/resources": "1.24.1"
+        "@opentelemetry/api-logs": "0.52.0",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0"
       }
     },
     "@opentelemetry/sdk-metrics": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.24.1.tgz",
-      "integrity": "sha512-FrAqCbbGao9iKI+Mgh+OsC9+U2YMoXnlDHe06yH7dvavCKzE3S892dGtX54+WhSFVxHR/TMRVJiK/CV93GR0TQ==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.0.tgz",
+      "integrity": "sha512-IF+Sv4VHgBr/BPMKabl+GouJIhEqAOexCHgXVTISdz3q9P9H/uA8ScCF+22gitQ69aFtESbdYOV+Fen5+avQng==",
       "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/resources": "1.24.1",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0",
         "lodash.merge": "^4.6.2"
       }
     },
     "@opentelemetry/sdk-node": {
-      "version": "0.51.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.51.1.tgz",
-      "integrity": "sha512-GgmNF9C+6esr8PIJxCqHw84rEOkYm6XdFWZ2+Wyc3qaUt92ACoN7uSw5iKNvaUq62W0xii1wsGxwHzyENtPP8w==",
-      "requires": {
-        "@opentelemetry/api-logs": "0.51.1",
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/exporter-trace-otlp-grpc": "0.51.1",
-        "@opentelemetry/exporter-trace-otlp-http": "0.51.1",
-        "@opentelemetry/exporter-trace-otlp-proto": "0.51.1",
-        "@opentelemetry/exporter-zipkin": "1.24.1",
-        "@opentelemetry/instrumentation": "0.51.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/sdk-logs": "0.51.1",
-        "@opentelemetry/sdk-metrics": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1",
-        "@opentelemetry/sdk-trace-node": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.52.0.tgz",
+      "integrity": "sha512-3RNnsoHGutya3oVsoc2WRrk/TKlxr+R2uN6H4boNJvW7kc8yxS4QrOI6DlbQYAgEMeC1PMu95jW9LirPOWcMGw==",
+      "requires": {
+        "@opentelemetry/api-logs": "0.52.0",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/exporter-trace-otlp-grpc": "0.52.0",
+        "@opentelemetry/exporter-trace-otlp-http": "0.52.0",
+        "@opentelemetry/exporter-trace-otlp-proto": "0.52.0",
+        "@opentelemetry/exporter-zipkin": "1.25.0",
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-logs": "0.52.0",
+        "@opentelemetry/sdk-metrics": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "@opentelemetry/sdk-trace-node": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       }
     },
     "@opentelemetry/sdk-trace-base": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.24.1.tgz",
-      "integrity": "sha512-zz+N423IcySgjihl2NfjBf0qw1RWe11XIAWVrTNOSSI6dtSPJiVom2zipFB2AEEtJWpv0Iz6DY6+TjnyTV5pWg==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.0.tgz",
+      "integrity": "sha512-6+g2fiRQUG39guCsKVeY8ToeuUf3YUnPkN6DXRA1qDmFLprlLvZm9cS6+chgbW70cZJ406FTtSCDnJwxDC5sGQ==",
       "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/resources": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       }
     },
     "@opentelemetry/sdk-trace-node": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.24.1.tgz",
-      "integrity": "sha512-/FZX8uWaGIAwsDhqI8VvQ+qWtfMNlXjaFYGc+vmxgdRFppCSSIRwrPyIhJO1qx61okyYhoyxVEZAfoiNxrfJCg==",
-      "requires": {
-        "@opentelemetry/context-async-hooks": "1.24.1",
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/propagator-b3": "1.24.1",
-        "@opentelemetry/propagator-jaeger": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.0.tgz",
+      "integrity": "sha512-sYdZmNCkqthPpjwCxAJk5aQNLxCOQjT1u3JMGvO6rb3Ic8uFdnzXavP13Md9uYPcZBo+KxetyDhCf0x8wJGRng==",
+      "requires": {
+        "@opentelemetry/context-async-hooks": "1.25.0",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/propagator-b3": "1.25.0",
+        "@opentelemetry/propagator-jaeger": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
         "semver": "^7.5.2"
       }
     },
     "@opentelemetry/sdk-trace-web": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.24.1.tgz",
-      "integrity": "sha512-0w+aKRai9VREeo3VrtW+hcbrE2Fl/uKL7G+oXgRNf6pI9QLaEGuEzUTX+oxXVPBadzjOd+5dqCHYdX7UeVjzwA==",
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.25.0.tgz",
+      "integrity": "sha512-TAWRDRiVOeliE1A99z8idWb4pwEKKY9Vj5aTpLtrF4cvPOl0mPg3ZczvOw/HnpfRsWY0Ra/J3vS5uFSpoqPwEA==",
       "requires": {
-        "@opentelemetry/core": "1.24.1",
-        "@opentelemetry/sdk-trace-base": "1.24.1",
-        "@opentelemetry/semantic-conventions": "1.24.1"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       }
     },
     "@opentelemetry/semantic-conventions": {
-      "version": "1.24.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.24.1.tgz",
-      "integrity": "sha512-VkliWlS4/+GHLLW7J/rVBA00uXus1SWvwFvcUDxDwmFxYfg/2VI6ekwdXS28cjI8Qz2ky2BzG8OUHo+WeYIWqw=="
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.0.tgz",
+      "integrity": "sha512-M+kkXKRAIAiAP6qYyesfrC5TOmDpDVtsxuGfPcqd9B/iBrac+E14jYwrgm0yZBUIbIP2OnqC3j+UgkXLm1vxUQ=="
     },
     "@opentelemetry/sql-common": {
       "version": "file:packages/opentelemetry-sql-common",
@@ -49380,7 +48725,7 @@
     "@opentelemetry/winston-transport": {
       "version": "file:packages/winston-transport",
       "requires": {
-        "@opentelemetry/api-logs": "^0.51.0",
+        "@opentelemetry/api-logs": "^0.52.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
@@ -57814,9 +57159,9 @@
       }
     },
     "import-in-the-middle": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.7.4.tgz",
-      "integrity": "sha512-Lk+qzWmiQuRPPulGQeK5qq0v32k2bHnWrRPFgqyvhw7Kkov5L6MOLOIU3pcWeujc9W4q54Cp3Q2WV16eQkc7Bg==",
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.8.0.tgz",
+      "integrity": "sha512-/xQjze8szLNnJ5rvHSzn+dcVXqCAU6Plbk4P24U/jwPmg1wy7IIp9OjKIO5tYue8GSPhDpPDiApQjvBUmWwhsQ==",
       "requires": {
         "acorn": "^8.8.2",
         "acorn-import-attributes": "^1.9.5",
@@ -65409,9 +64754,9 @@
       "dev": true
     },
     "protobufjs": {
-      "version": "7.2.6",
-      "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz",
-      "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==",
+      "version": "7.3.0",
+      "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz",
+      "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==",
       "requires": {
         "@protobufjs/aspromise": "^1.1.2",
         "@protobufjs/base64": "^1.1.2",
diff --git a/packages/opentelemetry-test-utils/package.json b/packages/opentelemetry-test-utils/package.json
index fe0b7c28f7..59a61b4b2a 100644
--- a/packages/opentelemetry-test-utils/package.json
+++ b/packages/opentelemetry-test-utils/package.json
@@ -46,9 +46,9 @@
   "dependencies": {
     "@opentelemetry/core": "^1.0.0",
     "@opentelemetry/exporter-jaeger": "^1.3.1",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/resources": "^1.8.0",
-    "@opentelemetry/sdk-node": "^0.51.0",
+    "@opentelemetry/sdk-node": "^0.52.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
diff --git a/packages/opentelemetry-test-utils/src/test-fixtures.ts b/packages/opentelemetry-test-utils/src/test-fixtures.ts
index 627e585f41..21064bc193 100644
--- a/packages/opentelemetry-test-utils/src/test-fixtures.ts
+++ b/packages/opentelemetry-test-utils/src/test-fixtures.ts
@@ -30,7 +30,7 @@ import {
   ISpan,
 } from '@opentelemetry/otlp-transformer';
 import { NodeSDK, tracing } from '@opentelemetry/sdk-node';
-import type { InstrumentationOption } from '@opentelemetry/instrumentation';
+import type { Instrumentation } from '@opentelemetry/instrumentation';
 
 /**
  * A utility for scripts that will be run with `runTestFixture()` to create an
@@ -42,7 +42,7 @@ import type { InstrumentationOption } from '@opentelemetry/instrumentation';
  */
 export function createTestNodeSdk(opts: {
   serviceName?: string;
-  instrumentations: InstrumentationOption[];
+  instrumentations: (Instrumentation | Instrumentation[])[];
 }) {
   const spanProcessor = process.env.OTEL_EXPORTER_OTLP_ENDPOINT
     ? undefined
diff --git a/packages/winston-transport/package.json b/packages/winston-transport/package.json
index f5dc513e8a..ce5a6b8f49 100644
--- a/packages/winston-transport/package.json
+++ b/packages/winston-transport/package.json
@@ -50,7 +50,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/api-logs": "^0.51.0",
+    "@opentelemetry/api-logs": "^0.52.0",
     "winston-transport": "4.*"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/winston-transport#readme"
diff --git a/plugins/node/instrumentation-amqplib/package.json b/plugins/node/instrumentation-amqplib/package.json
index c26cc76170..0515317cad 100644
--- a/plugins/node/instrumentation-amqplib/package.json
+++ b/plugins/node/instrumentation-amqplib/package.json
@@ -45,7 +45,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "devDependencies": {
diff --git a/plugins/node/instrumentation-cucumber/package.json b/plugins/node/instrumentation-cucumber/package.json
index 2c0c17df13..e41de7e9be 100644
--- a/plugins/node/instrumentation-cucumber/package.json
+++ b/plugins/node/instrumentation-cucumber/package.json
@@ -62,7 +62,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-cucumber#readme"
diff --git a/plugins/node/instrumentation-dataloader/package.json b/plugins/node/instrumentation-dataloader/package.json
index 08bdd706a7..48f1209b4a 100644
--- a/plugins/node/instrumentation-dataloader/package.json
+++ b/plugins/node/instrumentation-dataloader/package.json
@@ -58,7 +58,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0"
+    "@opentelemetry/instrumentation": "^0.52.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-dataloader#readme"
 }
diff --git a/plugins/node/instrumentation-fs/package.json b/plugins/node/instrumentation-fs/package.json
index 824dfaac4b..958333d375 100644
--- a/plugins/node/instrumentation-fs/package.json
+++ b/plugins/node/instrumentation-fs/package.json
@@ -59,7 +59,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0"
+    "@opentelemetry/instrumentation": "^0.52.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-fs#readme"
 }
diff --git a/plugins/node/instrumentation-kafkajs/package.json b/plugins/node/instrumentation-kafkajs/package.json
index 52dffe870a..53d4f54d7f 100644
--- a/plugins/node/instrumentation-kafkajs/package.json
+++ b/plugins/node/instrumentation-kafkajs/package.json
@@ -43,7 +43,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.38.0",
+    "@opentelemetry/contrib-test-utils": "^0.39.0",
     "@opentelemetry/sdk-trace-base": "^1.24.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
@@ -57,7 +57,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.24.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-kafkajs#readme"
diff --git a/plugins/node/instrumentation-lru-memoizer/package.json b/plugins/node/instrumentation-lru-memoizer/package.json
index dd3b46a81c..057e7bc2cf 100644
--- a/plugins/node/instrumentation-lru-memoizer/package.json
+++ b/plugins/node/instrumentation-lru-memoizer/package.json
@@ -57,7 +57,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0"
+    "@opentelemetry/instrumentation": "^0.52.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-lru-memoizer#readme"
 }
diff --git a/plugins/node/instrumentation-mongoose/package.json b/plugins/node/instrumentation-mongoose/package.json
index ab2b70d5b5..dccee25d9e 100644
--- a/plugins/node/instrumentation-mongoose/package.json
+++ b/plugins/node/instrumentation-mongoose/package.json
@@ -61,7 +61,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-mongoose#readme"
diff --git a/plugins/node/instrumentation-runtime-node/package.json b/plugins/node/instrumentation-runtime-node/package.json
index dab1da13a3..a227a00f5e 100644
--- a/plugins/node/instrumentation-runtime-node/package.json
+++ b/plugins/node/instrumentation-runtime-node/package.json
@@ -39,7 +39,7 @@
     "access": "public"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0"
+    "@opentelemetry/instrumentation": "^0.52.0"
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
diff --git a/plugins/node/instrumentation-socket.io/package.json b/plugins/node/instrumentation-socket.io/package.json
index 58459c97b6..40cd0e5609 100644
--- a/plugins/node/instrumentation-socket.io/package.json
+++ b/plugins/node/instrumentation-socket.io/package.json
@@ -58,7 +58,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-socket.io#readme"
diff --git a/plugins/node/instrumentation-tedious/package.json b/plugins/node/instrumentation-tedious/package.json
index 959e8ab1e2..e9b06d502d 100644
--- a/plugins/node/instrumentation-tedious/package.json
+++ b/plugins/node/instrumentation-tedious/package.json
@@ -63,7 +63,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@types/tedious": "^4.0.10"
   },
diff --git a/plugins/node/instrumentation-undici/package.json b/plugins/node/instrumentation-undici/package.json
index b2e8db74cc..519b8618b4 100644
--- a/plugins/node/instrumentation-undici/package.json
+++ b/plugins/node/instrumentation-undici/package.json
@@ -61,7 +61,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0"
+    "@opentelemetry/instrumentation": "^0.52.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-undici",
   "sideEffects": false
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
index dd36bec2fc..e9b3a3015d 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
@@ -56,7 +56,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/propagator-aws-xray": "^1.3.1",
     "@opentelemetry/resources": "^1.8.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
index b0f973354c..239c26ac04 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
@@ -45,7 +45,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/propagation-utils": "^0.30.9",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/package.json b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
index a1f07c2fdd..c666e51229 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/package.json
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
@@ -46,7 +46,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/resources": "^1.8.0",
-    "@opentelemetry/sdk-logs": "^0.51.0",
+    "@opentelemetry/sdk-logs": "^0.52.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@opentelemetry/semantic-conventions": "^1.23.0",
@@ -63,8 +63,8 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/api-logs": "^0.51.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/api-logs": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@types/bunyan": "1.8.9"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-bunyan#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/package.json b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
index f8fd12f1b4..c99b7d6f66 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/package.json
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
@@ -61,7 +61,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-cassandra#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-connect/package.json b/plugins/node/opentelemetry-instrumentation-connect/package.json
index 096c7c2717..95c5608be4 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/package.json
+++ b/plugins/node/opentelemetry-instrumentation-connect/package.json
@@ -57,7 +57,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@types/connect": "3.4.36"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-dns/package.json b/plugins/node/opentelemetry-instrumentation-dns/package.json
index 5549781d25..df49f4fd74 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/package.json
+++ b/plugins/node/opentelemetry-instrumentation-dns/package.json
@@ -59,7 +59,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "semver": "^7.5.4"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-dns#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-express/package.json b/plugins/node/opentelemetry-instrumentation-express/package.json
index 489873a6d3..e7f7e33622 100644
--- a/plugins/node/opentelemetry-instrumentation-express/package.json
+++ b/plugins/node/opentelemetry-instrumentation-express/package.json
@@ -64,7 +64,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-express#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/package.json b/plugins/node/opentelemetry-instrumentation-fastify/package.json
index 056185aab4..2e1b329bb1 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-fastify/package.json
@@ -47,7 +47,7 @@
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
     "@opentelemetry/contrib-test-utils": "^0.39.0",
-    "@opentelemetry/instrumentation-http": "^0.51.0",
+    "@opentelemetry/instrumentation-http": "^0.52.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/express": "4.17.18",
@@ -65,7 +65,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-fastify#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
index 47178ec699..338025c89c 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
@@ -59,7 +59,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0"
+    "@opentelemetry/instrumentation": "^0.52.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-generic-pool#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/package.json b/plugins/node/opentelemetry-instrumentation-graphql/package.json
index 30bcec5c80..cc9351d2a4 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-graphql/package.json
@@ -58,7 +58,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0"
+    "@opentelemetry/instrumentation": "^0.52.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-graphql#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/package.json b/plugins/node/opentelemetry-instrumentation-hapi/package.json
index 497cedd37d..953da393e8 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/package.json
+++ b/plugins/node/opentelemetry-instrumentation-hapi/package.json
@@ -61,7 +61,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-hapi#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/package.json b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
index cf3760eeb6..2afe677bea 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
@@ -67,7 +67,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/redis-common": "^0.36.2",
     "@opentelemetry/semantic-conventions": "^1.23.0"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-knex/package.json b/plugins/node/opentelemetry-instrumentation-knex/package.json
index 7705439ef1..b57dfc9e9d 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/package.json
+++ b/plugins/node/opentelemetry-instrumentation-knex/package.json
@@ -57,7 +57,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-knex#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-koa/package.json b/plugins/node/opentelemetry-instrumentation-koa/package.json
index bd5f6c13f1..0c0c06e713 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/package.json
+++ b/plugins/node/opentelemetry-instrumentation-koa/package.json
@@ -49,7 +49,7 @@
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
     "@opentelemetry/contrib-test-utils": "^0.39.0",
-    "@opentelemetry/instrumentation-http": "^0.51.0",
+    "@opentelemetry/instrumentation-http": "^0.52.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
@@ -66,7 +66,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@types/koa": "2.14.0",
     "@types/koa__router": "12.0.3"
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/package.json b/plugins/node/opentelemetry-instrumentation-memcached/package.json
index 7f07d8249e..b7e40059ec 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/package.json
+++ b/plugins/node/opentelemetry-instrumentation-memcached/package.json
@@ -60,7 +60,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.23.0",
     "@types/memcached": "^2.2.6"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/package.json b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
index 6c78e98aa8..44951a3c8b 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
@@ -66,7 +66,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/sdk-metrics": "^1.9.1",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/package.json b/plugins/node/opentelemetry-instrumentation-mysql/package.json
index f15ee457c2..ae6fc28473 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql/package.json
@@ -59,7 +59,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@types/mysql": "2.15.22"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/package.json b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
index 4c046988bd..95885dc6b1 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
@@ -61,7 +61,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@opentelemetry/sql-common": "^0.40.1"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/test/mysql.test.ts b/plugins/node/opentelemetry-instrumentation-mysql2/test/mysql.test.ts
index 7b2bfe74ee..404e1da839 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/test/mysql.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/test/mysql.test.ts
@@ -154,7 +154,7 @@ describe('mysql2@2.x', () => {
   afterEach(done => {
     context.disable();
     memoryExporter.reset();
-    instrumentation.setConfig();
+    instrumentation.setConfig({});
     instrumentation.disable();
     connection.end(() => {
       pool.end(() => {
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
index 444581907f..a1a0f8a663 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
@@ -70,7 +70,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.23.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-nestjs-core#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-net/package.json b/plugins/node/opentelemetry-instrumentation-net/package.json
index aa8a79ae53..3fc360cefe 100644
--- a/plugins/node/opentelemetry-instrumentation-net/package.json
+++ b/plugins/node/opentelemetry-instrumentation-net/package.json
@@ -58,7 +58,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.23.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-net#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-pg/package.json b/plugins/node/opentelemetry-instrumentation-pg/package.json
index 18c0de2ca1..f9e9c9e366 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pg/package.json
@@ -71,7 +71,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@opentelemetry/sql-common": "^0.40.1",
     "@types/pg": "8.6.1",
diff --git a/plugins/node/opentelemetry-instrumentation-pino/package.json b/plugins/node/opentelemetry-instrumentation-pino/package.json
index 49b263b9ca..3c202f8938 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pino/package.json
@@ -64,7 +64,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0"
+    "@opentelemetry/instrumentation": "^0.52.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-pino#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/package.json b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
index 8aa653b1af..715564bd6b 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
@@ -66,7 +66,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/redis-common": "^0.36.2",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-redis/package.json b/plugins/node/opentelemetry-instrumentation-redis/package.json
index 89560460e9..9fba0ad786 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis/package.json
@@ -66,7 +66,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/redis-common": "^0.36.2",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-restify/package.json b/plugins/node/opentelemetry-instrumentation-restify/package.json
index 54b5f1ec7a..44e208054b 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-restify/package.json
@@ -62,7 +62,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-restify#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-router/package.json b/plugins/node/opentelemetry-instrumentation-router/package.json
index d9b5c2e621..e841eed81b 100644
--- a/plugins/node/opentelemetry-instrumentation-router/package.json
+++ b/plugins/node/opentelemetry-instrumentation-router/package.json
@@ -56,7 +56,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-router#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-winston/package.json b/plugins/node/opentelemetry-instrumentation-winston/package.json
index 54d31f1d8c..82c27a5de9 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/package.json
+++ b/plugins/node/opentelemetry-instrumentation-winston/package.json
@@ -64,8 +64,8 @@
     "winston2": "npm:winston@2.4.7"
   },
   "dependencies": {
-    "@opentelemetry/api-logs": "^0.51.0",
-    "@opentelemetry/instrumentation": "^0.51.0"
+    "@opentelemetry/api-logs": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.52.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-winston#readme"
 }
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/package.json b/plugins/web/opentelemetry-instrumentation-document-load/package.json
index 75ecc372e0..02a4050b77 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/package.json
+++ b/plugins/web/opentelemetry-instrumentation-document-load/package.json
@@ -69,7 +69,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/sdk-trace-base": "^1.0.0",
     "@opentelemetry/sdk-trace-web": "^1.15.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/package.json b/plugins/web/opentelemetry-instrumentation-long-task/package.json
index 3b1ff6e500..cb8c2587e7 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/package.json
+++ b/plugins/web/opentelemetry-instrumentation-long-task/package.json
@@ -79,7 +79,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/sdk-trace-web": "^1.8.0"
   },
   "peerDependencies": {
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
index f7236de922..223853c3c3 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
@@ -52,7 +52,7 @@
     "@jsdevtools/coverage-istanbul-loader": "3.0.5",
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-zone-peer-dep": "^1.8.0",
-    "@opentelemetry/instrumentation-xml-http-request": "^0.51.0",
+    "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/jquery": "3.5.20",
     "@types/mocha": "7.0.2",
@@ -81,7 +81,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.51.0",
+    "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/sdk-trace-web": "^1.8.0"
   },
   "peerDependencies": {

From 0af1b70f7c3c9763c85ac51fa5e334c1e1512020 Mon Sep 17 00:00:00 2001
From: Daniel Dyla <dyladan@users.noreply.github.com>
Date: Thu, 6 Jun 2024 03:38:29 -0400
Subject: [PATCH 024/123] chore: release main (#2211)

* chore: release main

* chore: release main

* chore: sync package-lock.json

---------

Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
---
 .release-please-manifest.json                 | 108 ++---
 .../CHANGELOG.md                              |   9 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   9 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   9 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   9 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../auto-instrumentations-node/CHANGELOG.md   |  54 +++
 .../auto-instrumentations-node/package.json   |  84 ++--
 .../auto-instrumentations-web/CHANGELOG.md    |  15 +
 .../auto-instrumentations-web/package.json    |   6 +-
 package-lock.json                             | 400 +++++++++---------
 packages/baggage-span-processor/CHANGELOG.md  |   7 +
 packages/baggage-span-processor/package.json  |   2 +-
 .../opentelemetry-host-metrics/CHANGELOG.md   |   8 +
 .../opentelemetry-host-metrics/package.json   |   2 +-
 .../CHANGELOG.md                              |   9 +
 .../package.json                              |   4 +-
 .../opentelemetry-test-utils/CHANGELOG.md     |   8 +
 .../opentelemetry-test-utils/package.json     |   2 +-
 packages/winston-transport/CHANGELOG.md       |   7 +
 packages/winston-transport/package.json       |   2 +-
 .../node/instrumentation-amqplib/CHANGELOG.md |  14 +
 .../node/instrumentation-amqplib/package.json |   4 +-
 .../instrumentation-cucumber/CHANGELOG.md     |   7 +
 .../instrumentation-cucumber/package.json     |   2 +-
 .../instrumentation-dataloader/CHANGELOG.md   |   7 +
 .../instrumentation-dataloader/package.json   |   2 +-
 plugins/node/instrumentation-fs/CHANGELOG.md  |   7 +
 plugins/node/instrumentation-fs/package.json  |   2 +-
 .../node/instrumentation-kafkajs/CHANGELOG.md |  16 +
 .../node/instrumentation-kafkajs/package.json |   4 +-
 .../instrumentation-lru-memoizer/CHANGELOG.md |  14 +
 .../instrumentation-lru-memoizer/package.json |   4 +-
 .../instrumentation-mongoose/CHANGELOG.md     |  19 +
 .../instrumentation-mongoose/package.json     |   4 +-
 .../instrumentation-runtime-node/CHANGELOG.md |   7 +
 .../instrumentation-runtime-node/package.json |   2 +-
 .../instrumentation-socket.io/CHANGELOG.md    |  14 +
 .../instrumentation-socket.io/package.json    |   4 +-
 .../node/instrumentation-tedious/CHANGELOG.md |  15 +
 .../node/instrumentation-tedious/package.json |   4 +-
 .../node/instrumentation-undici/CHANGELOG.md  |   7 +
 .../node/instrumentation-undici/package.json  |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  16 +
 .../package.json                              |   6 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  19 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  19 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   8 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 110 files changed, 1015 insertions(+), 381 deletions(-)
 create mode 100644 plugins/node/instrumentation-kafkajs/CHANGELOG.md

diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 5225c39db0..cddc172ae7 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,62 +1,62 @@
 {
-  "detectors/node/opentelemetry-resource-detector-alibaba-cloud": "0.28.9",
-  "detectors/node/opentelemetry-resource-detector-aws": "1.5.0",
-  "detectors/node/opentelemetry-resource-detector-azure": "0.2.7",
-  "detectors/node/opentelemetry-resource-detector-container": "0.3.9",
-  "detectors/node/opentelemetry-resource-detector-gcp": "0.29.9",
+  "detectors/node/opentelemetry-resource-detector-alibaba-cloud": "0.28.10",
+  "detectors/node/opentelemetry-resource-detector-aws": "1.5.1",
+  "detectors/node/opentelemetry-resource-detector-azure": "0.2.8",
+  "detectors/node/opentelemetry-resource-detector-container": "0.3.10",
+  "detectors/node/opentelemetry-resource-detector-gcp": "0.29.10",
   "detectors/node/opentelemetry-resource-detector-github": "0.28.2",
-  "detectors/node/opentelemetry-resource-detector-instana": "0.9.0",
-  "metapackages/auto-instrumentations-node": "0.46.1",
-  "metapackages/auto-instrumentations-web": "0.39.0",
-  "packages/baggage-span-processor": "0.2.0",
-  "packages/opentelemetry-host-metrics": "0.35.1",
+  "detectors/node/opentelemetry-resource-detector-instana": "0.10.0",
+  "metapackages/auto-instrumentations-node": "0.47.0",
+  "metapackages/auto-instrumentations-web": "0.40.0",
+  "packages/baggage-span-processor": "0.3.0",
+  "packages/opentelemetry-host-metrics": "0.35.2",
   "packages/opentelemetry-id-generator-aws-xray": "1.2.2",
-  "packages/opentelemetry-propagation-utils": "0.30.9",
+  "packages/opentelemetry-propagation-utils": "0.30.10",
   "packages/opentelemetry-redis-common": "0.36.2",
   "packages/opentelemetry-sql-common": "0.40.1",
-  "packages/opentelemetry-test-utils": "0.39.0",
-  "packages/winston-transport": "0.3.0",
-  "plugins/node/instrumentation-amqplib": "0.37.0",
-  "plugins/node/instrumentation-cucumber": "0.6.0",
-  "plugins/node/instrumentation-dataloader": "0.9.0",
-  "plugins/node/instrumentation-fs": "0.12.0",
-  "plugins/node/instrumentation-kafkajs": "0.0.1",
-  "plugins/node/instrumentation-lru-memoizer": "0.37.0",
-  "plugins/node/instrumentation-mongoose": "0.38.1",
-  "plugins/node/instrumentation-runtime-node": "0.4.0",
-  "plugins/node/instrumentation-socket.io": "0.39.0",
-  "plugins/node/instrumentation-tedious": "0.10.1",
-  "plugins/node/instrumentation-undici": "0.2.0",
-  "plugins/node/opentelemetry-instrumentation-aws-lambda": "0.41.1",
-  "plugins/node/opentelemetry-instrumentation-aws-sdk": "0.41.0",
-  "plugins/node/opentelemetry-instrumentation-bunyan": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-cassandra": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-connect": "0.36.1",
-  "plugins/node/opentelemetry-instrumentation-dns": "0.36.1",
-  "plugins/node/opentelemetry-instrumentation-express": "0.39.0",
-  "plugins/node/opentelemetry-instrumentation-fastify": "0.36.1",
-  "plugins/node/opentelemetry-instrumentation-generic-pool": "0.36.0",
-  "plugins/node/opentelemetry-instrumentation-graphql": "0.40.0",
-  "plugins/node/opentelemetry-instrumentation-hapi": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-ioredis": "0.40.0",
-  "plugins/node/opentelemetry-instrumentation-knex": "0.36.1",
-  "plugins/node/opentelemetry-instrumentation-koa": "0.40.0",
-  "plugins/node/opentelemetry-instrumentation-memcached": "0.36.0",
-  "plugins/node/opentelemetry-instrumentation-mongodb": "0.43.0",
-  "plugins/node/opentelemetry-instrumentation-mysql": "0.38.1",
-  "plugins/node/opentelemetry-instrumentation-mysql2": "0.38.1",
-  "plugins/node/opentelemetry-instrumentation-nestjs-core": "0.37.1",
-  "plugins/node/opentelemetry-instrumentation-net": "0.36.0",
-  "plugins/node/opentelemetry-instrumentation-pg": "0.41.0",
-  "plugins/node/opentelemetry-instrumentation-pino": "0.39.0",
-  "plugins/node/opentelemetry-instrumentation-redis": "0.39.1",
-  "plugins/node/opentelemetry-instrumentation-redis-4": "0.39.0",
-  "plugins/node/opentelemetry-instrumentation-restify": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-router": "0.37.0",
-  "plugins/node/opentelemetry-instrumentation-winston": "0.37.0",
-  "plugins/web/opentelemetry-instrumentation-document-load": "0.38.0",
-  "plugins/web/opentelemetry-instrumentation-long-task": "0.38.0",
-  "plugins/web/opentelemetry-instrumentation-user-interaction": "0.38.0",
+  "packages/opentelemetry-test-utils": "0.40.0",
+  "packages/winston-transport": "0.4.0",
+  "plugins/node/instrumentation-amqplib": "0.38.0",
+  "plugins/node/instrumentation-cucumber": "0.7.0",
+  "plugins/node/instrumentation-dataloader": "0.10.0",
+  "plugins/node/instrumentation-fs": "0.13.0",
+  "plugins/node/instrumentation-kafkajs": "0.1.0",
+  "plugins/node/instrumentation-lru-memoizer": "0.38.0",
+  "plugins/node/instrumentation-mongoose": "0.39.0",
+  "plugins/node/instrumentation-runtime-node": "0.5.0",
+  "plugins/node/instrumentation-socket.io": "0.40.0",
+  "plugins/node/instrumentation-tedious": "0.11.0",
+  "plugins/node/instrumentation-undici": "0.3.0",
+  "plugins/node/opentelemetry-instrumentation-aws-lambda": "0.42.0",
+  "plugins/node/opentelemetry-instrumentation-aws-sdk": "0.42.0",
+  "plugins/node/opentelemetry-instrumentation-bunyan": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-cassandra": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-connect": "0.37.0",
+  "plugins/node/opentelemetry-instrumentation-dns": "0.37.0",
+  "plugins/node/opentelemetry-instrumentation-express": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-fastify": "0.37.0",
+  "plugins/node/opentelemetry-instrumentation-generic-pool": "0.37.0",
+  "plugins/node/opentelemetry-instrumentation-graphql": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-hapi": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-ioredis": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-knex": "0.37.0",
+  "plugins/node/opentelemetry-instrumentation-koa": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-memcached": "0.37.0",
+  "plugins/node/opentelemetry-instrumentation-mongodb": "0.44.0",
+  "plugins/node/opentelemetry-instrumentation-mysql": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-mysql2": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-nestjs-core": "0.38.0",
+  "plugins/node/opentelemetry-instrumentation-net": "0.37.0",
+  "plugins/node/opentelemetry-instrumentation-pg": "0.42.0",
+  "plugins/node/opentelemetry-instrumentation-pino": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-redis": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-redis-4": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-restify": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-router": "0.38.0",
+  "plugins/node/opentelemetry-instrumentation-winston": "0.38.0",
+  "plugins/web/opentelemetry-instrumentation-document-load": "0.39.0",
+  "plugins/web/opentelemetry-instrumentation-long-task": "0.39.0",
+  "plugins/web/opentelemetry-instrumentation-user-interaction": "0.39.0",
   "plugins/web/opentelemetry-plugin-react-load": "0.30.1",
   "propagators/opentelemetry-propagator-instana": "0.3.2",
   "propagators/opentelemetry-propagator-ot-trace": "0.27.2"
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md
index f4c4e77262..b5465ad164 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## [0.28.10](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-alibaba-cloud-v0.28.9...resource-detector-alibaba-cloud-v0.28.10) (2024-06-06)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.28.9](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-alibaba-cloud-v0.28.8...resource-detector-alibaba-cloud-v0.28.9) (2024-04-25)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
index 45de2cd410..604db0575f 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-alibaba-cloud",
-  "version": "0.28.9",
+  "version": "0.28.10",
   "description": "OpenTelemetry resource detector for Alibaba Cloud",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -40,7 +40,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.18",
diff --git a/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
index 682e603558..8c3b123778 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## [1.5.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-aws-v1.5.0...resource-detector-aws-v1.5.1) (2024-06-06)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [1.5.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-aws-v1.4.2...resource-detector-aws-v1.5.0) (2024-05-15)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-aws/package.json b/detectors/node/opentelemetry-resource-detector-aws/package.json
index 6874a1b73c..951e3c8e75 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/package.json
+++ b/detectors/node/opentelemetry-resource-detector-aws/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-aws",
-  "version": "1.5.0",
+  "version": "1.5.1",
   "description": "OpenTelemetry SDK resource detector for AWS",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -39,7 +39,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.18",
diff --git a/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
index 9e09232989..971cd2b626 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.2.8](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-azure-v0.2.7...resource-detector-azure-v0.2.8) (2024-06-06)
+
+
+### Bug Fixes
+
+* Update Azure Functions Detector Collected Attributes ([#2233](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2233)) ([7272ca8](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/7272ca85625248718c6276559b36853ea93ae97e))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.2.7](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-azure-v0.2.6...resource-detector-azure-v0.2.7) (2024-04-25)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-azure/package.json b/detectors/node/opentelemetry-resource-detector-azure/package.json
index 205caeb2cd..f605644531 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/package.json
+++ b/detectors/node/opentelemetry-resource-detector-azure/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-azure",
-  "version": "0.2.7",
+  "version": "0.2.8",
   "description": "OpenTelemetry SDK resource detector for Azure",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -32,7 +32,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.18",
diff --git a/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
index 6f692273fd..3a038bfd23 100644
--- a/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## [0.3.10](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-container-v0.3.9...resource-detector-container-v0.3.10) (2024-06-06)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.3.9](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-container-v0.3.8...resource-detector-container-v0.3.9) (2024-04-25)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-container/package.json b/detectors/node/opentelemetry-resource-detector-container/package.json
index 5b31956c7b..3046fff49d 100644
--- a/detectors/node/opentelemetry-resource-detector-container/package.json
+++ b/detectors/node/opentelemetry-resource-detector-container/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-container",
-  "version": "0.3.9",
+  "version": "0.3.10",
   "description": "Opentelemetry resource detector to get container resource attributes",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -34,7 +34,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.18",
diff --git a/detectors/node/opentelemetry-resource-detector-gcp/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-gcp/CHANGELOG.md
index b36d6b026a..912b55eea0 100644
--- a/detectors/node/opentelemetry-resource-detector-gcp/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-gcp/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## [0.29.10](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-gcp-v0.29.9...resource-detector-gcp-v0.29.10) (2024-06-06)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.29.9](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-gcp-v0.29.8...resource-detector-gcp-v0.29.9) (2024-04-25)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-gcp/package.json b/detectors/node/opentelemetry-resource-detector-gcp/package.json
index f44623d65b..e172899760 100644
--- a/detectors/node/opentelemetry-resource-detector-gcp/package.json
+++ b/detectors/node/opentelemetry-resource-detector-gcp/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-gcp",
-  "version": "0.29.9",
+  "version": "0.29.10",
   "description": "OpenTelemetry SDK resource detector for GCP",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -39,7 +39,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "@types/semver": "7.5.3",
diff --git a/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md
index fc9f94df52..856279dc56 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.10.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-instana-v0.9.0...resource-detector-instana-v0.10.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.9.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-instana-v0.8.0...resource-detector-instana-v0.9.0) (2024-04-25)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-instana/package.json b/detectors/node/opentelemetry-resource-detector-instana/package.json
index cd7059a14d..93d915730e 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/package.json
+++ b/detectors/node/opentelemetry-resource-detector-instana/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-instana",
-  "version": "0.9.0",
+  "version": "0.10.0",
   "description": "OpenTelemetry SDK resource detector for Instana",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -38,7 +38,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-node": "^0.52.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
diff --git a/metapackages/auto-instrumentations-node/CHANGELOG.md b/metapackages/auto-instrumentations-node/CHANGELOG.md
index d84abc9296..2440ca657d 100644
--- a/metapackages/auto-instrumentations-node/CHANGELOG.md
+++ b/metapackages/auto-instrumentations-node/CHANGELOG.md
@@ -1,5 +1,59 @@
 # Changelog
 
+## [0.47.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.46.1...auto-instrumentations-node-v0.47.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * dependencies
+    * @opentelemetry/instrumentation-amqplib bumped from ^0.37.0 to ^0.38.0
+    * @opentelemetry/instrumentation-aws-lambda bumped from ^0.41.1 to ^0.42.0
+    * @opentelemetry/instrumentation-aws-sdk bumped from ^0.41.0 to ^0.42.0
+    * @opentelemetry/instrumentation-bunyan bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-cassandra-driver bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-connect bumped from ^0.36.1 to ^0.37.0
+    * @opentelemetry/instrumentation-cucumber bumped from ^0.6.0 to ^0.7.0
+    * @opentelemetry/instrumentation-dataloader bumped from ^0.9.0 to ^0.10.0
+    * @opentelemetry/instrumentation-dns bumped from ^0.36.1 to ^0.37.0
+    * @opentelemetry/instrumentation-express bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-fastify bumped from ^0.36.1 to ^0.37.0
+    * @opentelemetry/instrumentation-fs bumped from ^0.12.0 to ^0.13.0
+    * @opentelemetry/instrumentation-generic-pool bumped from ^0.36.0 to ^0.37.0
+    * @opentelemetry/instrumentation-graphql bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-hapi bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-ioredis bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-knex bumped from ^0.36.1 to ^0.37.0
+    * @opentelemetry/instrumentation-koa bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-lru-memoizer bumped from ^0.37.0 to ^0.38.0
+    * @opentelemetry/instrumentation-memcached bumped from ^0.36.0 to ^0.37.0
+    * @opentelemetry/instrumentation-mongodb bumped from ^0.43.0 to ^0.44.0
+    * @opentelemetry/instrumentation-mongoose bumped from ^0.38.1 to ^0.39.0
+    * @opentelemetry/instrumentation-mysql bumped from ^0.38.1 to ^0.39.0
+    * @opentelemetry/instrumentation-mysql2 bumped from ^0.38.1 to ^0.39.0
+    * @opentelemetry/instrumentation-nestjs-core bumped from ^0.37.1 to ^0.38.0
+    * @opentelemetry/instrumentation-net bumped from ^0.36.0 to ^0.37.0
+    * @opentelemetry/instrumentation-pg bumped from ^0.41.0 to ^0.42.0
+    * @opentelemetry/instrumentation-pino bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-redis bumped from ^0.39.1 to ^0.40.0
+    * @opentelemetry/instrumentation-redis-4 bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-restify bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-router bumped from ^0.37.0 to ^0.38.0
+    * @opentelemetry/instrumentation-socket.io bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-tedious bumped from ^0.10.1 to ^0.11.0
+    * @opentelemetry/instrumentation-undici bumped from ^0.2.0 to ^0.3.0
+    * @opentelemetry/instrumentation-winston bumped from ^0.37.0 to ^0.38.0
+    * @opentelemetry/resource-detector-alibaba-cloud bumped from ^0.28.9 to ^0.28.10
+    * @opentelemetry/resource-detector-aws bumped from ^1.5.0 to ^1.5.1
+    * @opentelemetry/resource-detector-azure bumped from ^0.2.6 to ^0.2.8
+    * @opentelemetry/resource-detector-container bumped from ^0.3.9 to ^0.3.10
+    * @opentelemetry/resource-detector-gcp bumped from ^0.29.9 to ^0.29.10
+
 ## [0.46.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.46.0...auto-instrumentations-node-v0.46.1) (2024-05-15)
 
 
diff --git a/metapackages/auto-instrumentations-node/package.json b/metapackages/auto-instrumentations-node/package.json
index 7581633841..8b2270ffa2 100644
--- a/metapackages/auto-instrumentations-node/package.json
+++ b/metapackages/auto-instrumentations-node/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/auto-instrumentations-node",
-  "version": "0.46.1",
+  "version": "0.47.0",
   "description": "Metapackage which bundles opentelemetry node core and contrib instrumentations",
   "author": "OpenTelemetry Authors",
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-instrumentations-node#readme",
@@ -50,49 +50,49 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.52.0",
-    "@opentelemetry/instrumentation-amqplib": "^0.37.0",
-    "@opentelemetry/instrumentation-aws-lambda": "^0.41.1",
-    "@opentelemetry/instrumentation-aws-sdk": "^0.41.0",
-    "@opentelemetry/instrumentation-bunyan": "^0.38.0",
-    "@opentelemetry/instrumentation-cassandra-driver": "^0.38.0",
-    "@opentelemetry/instrumentation-connect": "^0.36.1",
-    "@opentelemetry/instrumentation-cucumber": "^0.6.0",
-    "@opentelemetry/instrumentation-dataloader": "^0.9.0",
-    "@opentelemetry/instrumentation-dns": "^0.36.1",
-    "@opentelemetry/instrumentation-express": "^0.39.0",
-    "@opentelemetry/instrumentation-fastify": "^0.36.1",
-    "@opentelemetry/instrumentation-fs": "^0.12.0",
-    "@opentelemetry/instrumentation-generic-pool": "^0.36.0",
-    "@opentelemetry/instrumentation-graphql": "^0.40.0",
+    "@opentelemetry/instrumentation-amqplib": "^0.38.0",
+    "@opentelemetry/instrumentation-aws-lambda": "^0.42.0",
+    "@opentelemetry/instrumentation-aws-sdk": "^0.42.0",
+    "@opentelemetry/instrumentation-bunyan": "^0.39.0",
+    "@opentelemetry/instrumentation-cassandra-driver": "^0.39.0",
+    "@opentelemetry/instrumentation-connect": "^0.37.0",
+    "@opentelemetry/instrumentation-cucumber": "^0.7.0",
+    "@opentelemetry/instrumentation-dataloader": "^0.10.0",
+    "@opentelemetry/instrumentation-dns": "^0.37.0",
+    "@opentelemetry/instrumentation-express": "^0.40.0",
+    "@opentelemetry/instrumentation-fastify": "^0.37.0",
+    "@opentelemetry/instrumentation-fs": "^0.13.0",
+    "@opentelemetry/instrumentation-generic-pool": "^0.37.0",
+    "@opentelemetry/instrumentation-graphql": "^0.41.0",
     "@opentelemetry/instrumentation-grpc": "^0.52.0",
-    "@opentelemetry/instrumentation-hapi": "^0.38.0",
+    "@opentelemetry/instrumentation-hapi": "^0.39.0",
     "@opentelemetry/instrumentation-http": "^0.52.0",
-    "@opentelemetry/instrumentation-ioredis": "^0.40.0",
-    "@opentelemetry/instrumentation-knex": "^0.36.1",
-    "@opentelemetry/instrumentation-koa": "^0.40.0",
-    "@opentelemetry/instrumentation-lru-memoizer": "^0.37.0",
-    "@opentelemetry/instrumentation-memcached": "^0.36.0",
-    "@opentelemetry/instrumentation-mongodb": "^0.43.0",
-    "@opentelemetry/instrumentation-mongoose": "^0.38.1",
-    "@opentelemetry/instrumentation-mysql": "^0.38.1",
-    "@opentelemetry/instrumentation-mysql2": "^0.38.1",
-    "@opentelemetry/instrumentation-nestjs-core": "^0.37.1",
-    "@opentelemetry/instrumentation-net": "^0.36.0",
-    "@opentelemetry/instrumentation-pg": "^0.41.0",
-    "@opentelemetry/instrumentation-pino": "^0.39.0",
-    "@opentelemetry/instrumentation-redis": "^0.39.1",
-    "@opentelemetry/instrumentation-redis-4": "^0.39.0",
-    "@opentelemetry/instrumentation-restify": "^0.38.0",
-    "@opentelemetry/instrumentation-router": "^0.37.0",
-    "@opentelemetry/instrumentation-socket.io": "^0.39.0",
-    "@opentelemetry/instrumentation-tedious": "^0.10.1",
-    "@opentelemetry/instrumentation-undici": "^0.2.0",
-    "@opentelemetry/instrumentation-winston": "^0.37.0",
-    "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.9",
-    "@opentelemetry/resource-detector-aws": "^1.5.0",
-    "@opentelemetry/resource-detector-azure": "^0.2.6",
-    "@opentelemetry/resource-detector-container": "^0.3.9",
-    "@opentelemetry/resource-detector-gcp": "^0.29.9",
+    "@opentelemetry/instrumentation-ioredis": "^0.41.0",
+    "@opentelemetry/instrumentation-knex": "^0.37.0",
+    "@opentelemetry/instrumentation-koa": "^0.41.0",
+    "@opentelemetry/instrumentation-lru-memoizer": "^0.38.0",
+    "@opentelemetry/instrumentation-memcached": "^0.37.0",
+    "@opentelemetry/instrumentation-mongodb": "^0.44.0",
+    "@opentelemetry/instrumentation-mongoose": "^0.39.0",
+    "@opentelemetry/instrumentation-mysql": "^0.39.0",
+    "@opentelemetry/instrumentation-mysql2": "^0.39.0",
+    "@opentelemetry/instrumentation-nestjs-core": "^0.38.0",
+    "@opentelemetry/instrumentation-net": "^0.37.0",
+    "@opentelemetry/instrumentation-pg": "^0.42.0",
+    "@opentelemetry/instrumentation-pino": "^0.40.0",
+    "@opentelemetry/instrumentation-redis": "^0.40.0",
+    "@opentelemetry/instrumentation-redis-4": "^0.40.0",
+    "@opentelemetry/instrumentation-restify": "^0.39.0",
+    "@opentelemetry/instrumentation-router": "^0.38.0",
+    "@opentelemetry/instrumentation-socket.io": "^0.40.0",
+    "@opentelemetry/instrumentation-tedious": "^0.11.0",
+    "@opentelemetry/instrumentation-undici": "^0.3.0",
+    "@opentelemetry/instrumentation-winston": "^0.38.0",
+    "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
+    "@opentelemetry/resource-detector-aws": "^1.5.1",
+    "@opentelemetry/resource-detector-azure": "^0.2.8",
+    "@opentelemetry/resource-detector-container": "^0.3.10",
+    "@opentelemetry/resource-detector-gcp": "^0.29.10",
     "@opentelemetry/resources": "^1.24.0",
     "@opentelemetry/sdk-node": "^0.52.0"
   },
diff --git a/metapackages/auto-instrumentations-web/CHANGELOG.md b/metapackages/auto-instrumentations-web/CHANGELOG.md
index d85a840680..a096fe3011 100644
--- a/metapackages/auto-instrumentations-web/CHANGELOG.md
+++ b/metapackages/auto-instrumentations-web/CHANGELOG.md
@@ -1,5 +1,20 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-web-v0.39.0...auto-instrumentations-web-v0.40.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * dependencies
+    * @opentelemetry/instrumentation-document-load bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-user-interaction bumped from ^0.38.0 to ^0.39.0
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-web-v0.38.0...auto-instrumentations-web-v0.39.0) (2024-04-25)
 
 
diff --git a/metapackages/auto-instrumentations-web/package.json b/metapackages/auto-instrumentations-web/package.json
index ae159a2351..852351cef0 100644
--- a/metapackages/auto-instrumentations-web/package.json
+++ b/metapackages/auto-instrumentations-web/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/auto-instrumentations-web",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "Metapackage which bundles opentelemetry node core and contrib instrumentations",
   "author": "OpenTelemetry Authors",
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-instrumentations-web#readme",
@@ -62,9 +62,9 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.52.0",
-    "@opentelemetry/instrumentation-document-load": "^0.38.0",
+    "@opentelemetry/instrumentation-document-load": "^0.39.0",
     "@opentelemetry/instrumentation-fetch": "^0.52.0",
-    "@opentelemetry/instrumentation-user-interaction": "^0.38.0",
+    "@opentelemetry/instrumentation-user-interaction": "^0.39.0",
     "@opentelemetry/instrumentation-xml-http-request": "^0.52.0"
   },
   "files": [
diff --git a/package-lock.json b/package-lock.json
index 45945c7b62..83cf4149f9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -38,7 +38,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-alibaba-cloud": {
       "name": "@opentelemetry/resource-detector-alibaba-cloud",
-      "version": "0.28.9",
+      "version": "0.28.10",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.0.0",
@@ -46,7 +46,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
@@ -73,7 +73,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-aws": {
       "name": "@opentelemetry/resource-detector-aws",
-      "version": "1.5.0",
+      "version": "1.5.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
@@ -82,7 +82,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
@@ -109,7 +109,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-azure": {
       "name": "@opentelemetry/resource-detector-azure",
-      "version": "0.2.7",
+      "version": "0.2.8",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.10.1",
@@ -117,7 +117,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
@@ -143,7 +143,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-container": {
       "name": "@opentelemetry/resource-detector-container",
-      "version": "0.3.9",
+      "version": "0.3.10",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.0.0",
@@ -151,7 +151,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
@@ -179,7 +179,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-gcp": {
       "name": "@opentelemetry/resource-detector-gcp",
-      "version": "0.29.9",
+      "version": "0.29.10",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
@@ -189,7 +189,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/semver": "7.5.3",
@@ -247,7 +247,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-instana": {
       "name": "@opentelemetry/resource-detector-instana",
-      "version": "0.9.0",
+      "version": "0.10.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.0.0",
@@ -255,7 +255,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-node": "^0.52.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -282,53 +282,53 @@
     },
     "metapackages/auto-instrumentations-node": {
       "name": "@opentelemetry/auto-instrumentations-node",
-      "version": "0.46.1",
+      "version": "0.47.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-amqplib": "^0.37.0",
-        "@opentelemetry/instrumentation-aws-lambda": "^0.41.1",
-        "@opentelemetry/instrumentation-aws-sdk": "^0.41.0",
-        "@opentelemetry/instrumentation-bunyan": "^0.38.0",
-        "@opentelemetry/instrumentation-cassandra-driver": "^0.38.0",
-        "@opentelemetry/instrumentation-connect": "^0.36.1",
-        "@opentelemetry/instrumentation-cucumber": "^0.6.0",
-        "@opentelemetry/instrumentation-dataloader": "^0.9.0",
-        "@opentelemetry/instrumentation-dns": "^0.36.1",
-        "@opentelemetry/instrumentation-express": "^0.39.0",
-        "@opentelemetry/instrumentation-fastify": "^0.36.1",
-        "@opentelemetry/instrumentation-fs": "^0.12.0",
-        "@opentelemetry/instrumentation-generic-pool": "^0.36.0",
-        "@opentelemetry/instrumentation-graphql": "^0.40.0",
+        "@opentelemetry/instrumentation-amqplib": "^0.38.0",
+        "@opentelemetry/instrumentation-aws-lambda": "^0.42.0",
+        "@opentelemetry/instrumentation-aws-sdk": "^0.42.0",
+        "@opentelemetry/instrumentation-bunyan": "^0.39.0",
+        "@opentelemetry/instrumentation-cassandra-driver": "^0.39.0",
+        "@opentelemetry/instrumentation-connect": "^0.37.0",
+        "@opentelemetry/instrumentation-cucumber": "^0.7.0",
+        "@opentelemetry/instrumentation-dataloader": "^0.10.0",
+        "@opentelemetry/instrumentation-dns": "^0.37.0",
+        "@opentelemetry/instrumentation-express": "^0.40.0",
+        "@opentelemetry/instrumentation-fastify": "^0.37.0",
+        "@opentelemetry/instrumentation-fs": "^0.13.0",
+        "@opentelemetry/instrumentation-generic-pool": "^0.37.0",
+        "@opentelemetry/instrumentation-graphql": "^0.41.0",
         "@opentelemetry/instrumentation-grpc": "^0.52.0",
-        "@opentelemetry/instrumentation-hapi": "^0.38.0",
+        "@opentelemetry/instrumentation-hapi": "^0.39.0",
         "@opentelemetry/instrumentation-http": "^0.52.0",
-        "@opentelemetry/instrumentation-ioredis": "^0.40.0",
-        "@opentelemetry/instrumentation-knex": "^0.36.1",
-        "@opentelemetry/instrumentation-koa": "^0.40.0",
-        "@opentelemetry/instrumentation-lru-memoizer": "^0.37.0",
-        "@opentelemetry/instrumentation-memcached": "^0.36.0",
-        "@opentelemetry/instrumentation-mongodb": "^0.43.0",
-        "@opentelemetry/instrumentation-mongoose": "^0.38.1",
-        "@opentelemetry/instrumentation-mysql": "^0.38.1",
-        "@opentelemetry/instrumentation-mysql2": "^0.38.1",
-        "@opentelemetry/instrumentation-nestjs-core": "^0.37.1",
-        "@opentelemetry/instrumentation-net": "^0.36.0",
-        "@opentelemetry/instrumentation-pg": "^0.41.0",
-        "@opentelemetry/instrumentation-pino": "^0.39.0",
-        "@opentelemetry/instrumentation-redis": "^0.39.1",
-        "@opentelemetry/instrumentation-redis-4": "^0.39.0",
-        "@opentelemetry/instrumentation-restify": "^0.38.0",
-        "@opentelemetry/instrumentation-router": "^0.37.0",
-        "@opentelemetry/instrumentation-socket.io": "^0.39.0",
-        "@opentelemetry/instrumentation-tedious": "^0.10.1",
-        "@opentelemetry/instrumentation-undici": "^0.2.0",
-        "@opentelemetry/instrumentation-winston": "^0.37.0",
-        "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.9",
-        "@opentelemetry/resource-detector-aws": "^1.5.0",
-        "@opentelemetry/resource-detector-azure": "^0.2.6",
-        "@opentelemetry/resource-detector-container": "^0.3.9",
-        "@opentelemetry/resource-detector-gcp": "^0.29.9",
+        "@opentelemetry/instrumentation-ioredis": "^0.41.0",
+        "@opentelemetry/instrumentation-knex": "^0.37.0",
+        "@opentelemetry/instrumentation-koa": "^0.41.0",
+        "@opentelemetry/instrumentation-lru-memoizer": "^0.38.0",
+        "@opentelemetry/instrumentation-memcached": "^0.37.0",
+        "@opentelemetry/instrumentation-mongodb": "^0.44.0",
+        "@opentelemetry/instrumentation-mongoose": "^0.39.0",
+        "@opentelemetry/instrumentation-mysql": "^0.39.0",
+        "@opentelemetry/instrumentation-mysql2": "^0.39.0",
+        "@opentelemetry/instrumentation-nestjs-core": "^0.38.0",
+        "@opentelemetry/instrumentation-net": "^0.37.0",
+        "@opentelemetry/instrumentation-pg": "^0.42.0",
+        "@opentelemetry/instrumentation-pino": "^0.40.0",
+        "@opentelemetry/instrumentation-redis": "^0.40.0",
+        "@opentelemetry/instrumentation-redis-4": "^0.40.0",
+        "@opentelemetry/instrumentation-restify": "^0.39.0",
+        "@opentelemetry/instrumentation-router": "^0.38.0",
+        "@opentelemetry/instrumentation-socket.io": "^0.40.0",
+        "@opentelemetry/instrumentation-tedious": "^0.11.0",
+        "@opentelemetry/instrumentation-undici": "^0.3.0",
+        "@opentelemetry/instrumentation-winston": "^0.38.0",
+        "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
+        "@opentelemetry/resource-detector-aws": "^1.5.1",
+        "@opentelemetry/resource-detector-azure": "^0.2.8",
+        "@opentelemetry/resource-detector-container": "^0.3.10",
+        "@opentelemetry/resource-detector-gcp": "^0.29.10",
         "@opentelemetry/resources": "^1.24.0",
         "@opentelemetry/sdk-node": "^0.52.0"
       },
@@ -353,13 +353,13 @@
     },
     "metapackages/auto-instrumentations-web": {
       "name": "@opentelemetry/auto-instrumentations-web",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-document-load": "^0.38.0",
+        "@opentelemetry/instrumentation-document-load": "^0.39.0",
         "@opentelemetry/instrumentation-fetch": "^0.52.0",
-        "@opentelemetry/instrumentation-user-interaction": "^0.38.0",
+        "@opentelemetry/instrumentation-user-interaction": "^0.39.0",
         "@opentelemetry/instrumentation-xml-http-request": "^0.52.0"
       },
       "devDependencies": {
@@ -36772,7 +36772,7 @@
     },
     "packages/baggage-span-processor": {
       "name": "@opentelemetry/baggage-span-processor",
-      "version": "0.2.0",
+      "version": "0.3.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/sdk-trace-base": "^1.0.0"
@@ -36803,7 +36803,7 @@
     },
     "packages/opentelemetry-host-metrics": {
       "name": "@opentelemetry/host-metrics",
-      "version": "0.35.1",
+      "version": "0.35.2",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/sdk-metrics": "^1.8.0",
@@ -36878,11 +36878,11 @@
     },
     "packages/opentelemetry-propagation-utils": {
       "name": "@opentelemetry/propagation-utils",
-      "version": "0.30.9",
+      "version": "0.30.10",
       "license": "Apache-2.0",
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "^9.1.1",
         "@types/node": "18.6.5",
         "@types/sinon": "^10.0.11",
@@ -36953,7 +36953,7 @@
     },
     "packages/opentelemetry-test-utils": {
       "name": "@opentelemetry/contrib-test-utils",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
@@ -36979,7 +36979,7 @@
     },
     "packages/winston-transport": {
       "name": "@opentelemetry/winston-transport",
-      "version": "0.3.0",
+      "version": "0.4.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.52.0",
@@ -37009,7 +37009,7 @@
     },
     "plugins/node/instrumentation-amqplib": {
       "name": "@opentelemetry/instrumentation-amqplib",
-      "version": "0.37.0",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -37018,7 +37018,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/amqplib": "^0.5.17",
         "@types/lodash": "4.14.199",
         "@types/mocha": "8.2.3",
@@ -37049,7 +37049,7 @@
     },
     "plugins/node/instrumentation-cucumber": {
       "name": "@opentelemetry/instrumentation-cucumber",
-      "version": "0.6.0",
+      "version": "0.7.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -37116,7 +37116,7 @@
     },
     "plugins/node/instrumentation-dataloader": {
       "name": "@opentelemetry/instrumentation-dataloader",
-      "version": "0.9.0",
+      "version": "0.10.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0"
@@ -37145,7 +37145,7 @@
     },
     "plugins/node/instrumentation-fs": {
       "name": "@opentelemetry/instrumentation-fs",
-      "version": "0.12.0",
+      "version": "0.13.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -37176,7 +37176,7 @@
     },
     "plugins/node/instrumentation-kafkajs": {
       "name": "@opentelemetry/instrumentation-kafkajs",
-      "version": "0.0.1",
+      "version": "0.1.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -37184,7 +37184,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.24.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -37206,14 +37206,14 @@
     },
     "plugins/node/instrumentation-lru-memoizer": {
       "name": "@opentelemetry/instrumentation-lru-memoizer",
-      "version": "0.37.0",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/lru-cache": "7.10.9",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -37241,7 +37241,7 @@
     },
     "plugins/node/instrumentation-mongoose": {
       "name": "@opentelemetry/instrumentation-mongoose",
-      "version": "0.38.1",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -37250,7 +37250,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -37278,7 +37278,7 @@
     },
     "plugins/node/instrumentation-runtime-node": {
       "name": "@opentelemetry/instrumentation-runtime-node",
-      "version": "0.4.0",
+      "version": "0.5.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0"
@@ -37318,7 +37318,7 @@
     },
     "plugins/node/instrumentation-socket.io": {
       "name": "@opentelemetry/instrumentation-socket.io",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -37326,7 +37326,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -37567,7 +37567,7 @@
     },
     "plugins/node/instrumentation-tedious": {
       "name": "@opentelemetry/instrumentation-tedious",
-      "version": "0.10.1",
+      "version": "0.11.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -37577,7 +37577,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -37714,7 +37714,7 @@
     },
     "plugins/node/instrumentation-undici": {
       "name": "@opentelemetry/instrumentation-undici",
-      "version": "0.2.0",
+      "version": "0.3.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -37745,7 +37745,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-aws-lambda": {
       "name": "@opentelemetry/instrumentation-aws-lambda",
-      "version": "0.41.1",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -37777,12 +37777,12 @@
     },
     "plugins/node/opentelemetry-instrumentation-aws-sdk": {
       "name": "@opentelemetry/instrumentation-aws-sdk",
-      "version": "0.41.0",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/propagation-utils": "^0.30.9",
+        "@opentelemetry/propagation-utils": "^0.30.10",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -37793,7 +37793,7 @@
         "@aws-sdk/client-sqs": "3.85.0",
         "@aws-sdk/types": "3.78.0",
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -37825,7 +37825,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-bunyan": {
       "name": "@opentelemetry/instrumentation-bunyan",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.52.0",
@@ -37868,7 +37868,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-cassandra": {
       "name": "@opentelemetry/instrumentation-cassandra-driver",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -37877,7 +37877,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -37901,7 +37901,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-connect": {
       "name": "@opentelemetry/instrumentation-connect",
-      "version": "0.36.1",
+      "version": "0.37.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -37940,7 +37940,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-dns": {
       "name": "@opentelemetry/instrumentation-dns",
-      "version": "0.36.1",
+      "version": "0.37.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -37972,7 +37972,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-express": {
       "name": "@opentelemetry/instrumentation-express",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -37982,7 +37982,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/express": "4.17.18",
@@ -38007,7 +38007,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-fastify": {
       "name": "@opentelemetry/instrumentation-fastify",
-      "version": "0.36.1",
+      "version": "0.37.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38018,7 +38018,7 @@
         "@fastify/express": "^3.0.0",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -38056,7 +38056,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-generic-pool": {
       "name": "@opentelemetry/instrumentation-generic-pool",
-      "version": "0.36.0",
+      "version": "0.37.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0"
@@ -38120,7 +38120,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-graphql": {
       "name": "@opentelemetry/instrumentation-graphql",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0"
@@ -38154,7 +38154,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-hapi": {
       "name": "@opentelemetry/instrumentation-hapi",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38165,7 +38165,7 @@
         "@hapi/hapi": "21.3.3",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -38187,7 +38187,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-ioredis": {
       "name": "@opentelemetry/instrumentation-ioredis",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38197,7 +38197,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/ioredis4": "npm:@types/ioredis@4.28.10",
@@ -38223,7 +38223,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-knex": {
       "name": "@opentelemetry/instrumentation-knex",
-      "version": "0.36.1",
+      "version": "0.37.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38253,7 +38253,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-koa": {
       "name": "@opentelemetry/instrumentation-koa",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38266,7 +38266,7 @@
         "@koa/router": "12.0.0",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -38291,7 +38291,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-memcached": {
       "name": "@opentelemetry/instrumentation-memcached",
-      "version": "0.36.0",
+      "version": "0.37.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38301,7 +38301,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -38323,7 +38323,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-mongodb": {
       "name": "@opentelemetry/instrumentation-mongodb",
-      "version": "0.43.0",
+      "version": "0.44.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38333,7 +38333,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/bson": "4.0.5",
@@ -38517,7 +38517,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-mysql": {
       "name": "@opentelemetry/instrumentation-mysql",
-      "version": "0.38.1",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38527,7 +38527,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-metrics": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -38550,7 +38550,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-mysql2": {
       "name": "@opentelemetry/instrumentation-mysql2",
-      "version": "0.38.1",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38560,7 +38560,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -38616,7 +38616,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-nestjs-core": {
       "name": "@opentelemetry/instrumentation-nestjs-core",
-      "version": "0.37.1",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38689,7 +38689,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-net": {
       "name": "@opentelemetry/instrumentation-net",
-      "version": "0.36.0",
+      "version": "0.37.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38719,7 +38719,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-pg": {
       "name": "@opentelemetry/instrumentation-pg",
-      "version": "0.41.0",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38731,7 +38731,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -38758,7 +38758,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-pino": {
       "name": "@opentelemetry/instrumentation-pino",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0"
@@ -38766,7 +38766,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -38825,7 +38825,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-redis": {
       "name": "@opentelemetry/instrumentation-redis",
-      "version": "0.39.1",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38835,7 +38835,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -38859,7 +38859,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-redis-4": {
       "name": "@opentelemetry/instrumentation-redis-4",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38869,7 +38869,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -38907,7 +38907,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-restify": {
       "name": "@opentelemetry/instrumentation-restify",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38974,7 +38974,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-router": {
       "name": "@opentelemetry/instrumentation-router",
-      "version": "0.37.0",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -39003,7 +39003,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-winston": {
       "name": "@opentelemetry/instrumentation-winston",
-      "version": "0.37.0",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.52.0",
@@ -39014,7 +39014,7 @@
         "@opentelemetry/context-async-hooks": "^1.21.0",
         "@opentelemetry/sdk-trace-base": "^1.21.0",
         "@opentelemetry/sdk-trace-node": "^1.21.0",
-        "@opentelemetry/winston-transport": "^0.3.0",
+        "@opentelemetry/winston-transport": "^0.4.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
@@ -39038,7 +39038,7 @@
     },
     "plugins/web/opentelemetry-instrumentation-document-load": {
       "name": "@opentelemetry/instrumentation-document-load",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -39079,7 +39079,7 @@
     },
     "plugins/web/opentelemetry-instrumentation-long-task": {
       "name": "@opentelemetry/instrumentation-long-task",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -39125,7 +39125,7 @@
     },
     "plugins/web/opentelemetry-instrumentation-user-interaction": {
       "name": "@opentelemetry/instrumentation-user-interaction",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -46157,49 +46157,49 @@
       "requires": {
         "@opentelemetry/api": "^1.4.1",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-amqplib": "^0.37.0",
-        "@opentelemetry/instrumentation-aws-lambda": "^0.41.1",
-        "@opentelemetry/instrumentation-aws-sdk": "^0.41.0",
-        "@opentelemetry/instrumentation-bunyan": "^0.38.0",
-        "@opentelemetry/instrumentation-cassandra-driver": "^0.38.0",
-        "@opentelemetry/instrumentation-connect": "^0.36.1",
-        "@opentelemetry/instrumentation-cucumber": "^0.6.0",
-        "@opentelemetry/instrumentation-dataloader": "^0.9.0",
-        "@opentelemetry/instrumentation-dns": "^0.36.1",
-        "@opentelemetry/instrumentation-express": "^0.39.0",
-        "@opentelemetry/instrumentation-fastify": "^0.36.1",
-        "@opentelemetry/instrumentation-fs": "^0.12.0",
-        "@opentelemetry/instrumentation-generic-pool": "^0.36.0",
-        "@opentelemetry/instrumentation-graphql": "^0.40.0",
+        "@opentelemetry/instrumentation-amqplib": "^0.38.0",
+        "@opentelemetry/instrumentation-aws-lambda": "^0.42.0",
+        "@opentelemetry/instrumentation-aws-sdk": "^0.42.0",
+        "@opentelemetry/instrumentation-bunyan": "^0.39.0",
+        "@opentelemetry/instrumentation-cassandra-driver": "^0.39.0",
+        "@opentelemetry/instrumentation-connect": "^0.37.0",
+        "@opentelemetry/instrumentation-cucumber": "^0.7.0",
+        "@opentelemetry/instrumentation-dataloader": "^0.10.0",
+        "@opentelemetry/instrumentation-dns": "^0.37.0",
+        "@opentelemetry/instrumentation-express": "^0.40.0",
+        "@opentelemetry/instrumentation-fastify": "^0.37.0",
+        "@opentelemetry/instrumentation-fs": "^0.13.0",
+        "@opentelemetry/instrumentation-generic-pool": "^0.37.0",
+        "@opentelemetry/instrumentation-graphql": "^0.41.0",
         "@opentelemetry/instrumentation-grpc": "^0.52.0",
-        "@opentelemetry/instrumentation-hapi": "^0.38.0",
+        "@opentelemetry/instrumentation-hapi": "^0.39.0",
         "@opentelemetry/instrumentation-http": "^0.52.0",
-        "@opentelemetry/instrumentation-ioredis": "^0.40.0",
-        "@opentelemetry/instrumentation-knex": "^0.36.1",
-        "@opentelemetry/instrumentation-koa": "^0.40.0",
-        "@opentelemetry/instrumentation-lru-memoizer": "^0.37.0",
-        "@opentelemetry/instrumentation-memcached": "^0.36.0",
-        "@opentelemetry/instrumentation-mongodb": "^0.43.0",
-        "@opentelemetry/instrumentation-mongoose": "^0.38.1",
-        "@opentelemetry/instrumentation-mysql": "^0.38.1",
-        "@opentelemetry/instrumentation-mysql2": "^0.38.1",
-        "@opentelemetry/instrumentation-nestjs-core": "^0.37.1",
-        "@opentelemetry/instrumentation-net": "^0.36.0",
-        "@opentelemetry/instrumentation-pg": "^0.41.0",
-        "@opentelemetry/instrumentation-pino": "^0.39.0",
-        "@opentelemetry/instrumentation-redis": "^0.39.1",
-        "@opentelemetry/instrumentation-redis-4": "^0.39.0",
-        "@opentelemetry/instrumentation-restify": "^0.38.0",
-        "@opentelemetry/instrumentation-router": "^0.37.0",
-        "@opentelemetry/instrumentation-socket.io": "^0.39.0",
-        "@opentelemetry/instrumentation-tedious": "^0.10.1",
-        "@opentelemetry/instrumentation-undici": "^0.2.0",
-        "@opentelemetry/instrumentation-winston": "^0.37.0",
-        "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.9",
-        "@opentelemetry/resource-detector-aws": "^1.5.0",
-        "@opentelemetry/resource-detector-azure": "^0.2.6",
-        "@opentelemetry/resource-detector-container": "^0.3.9",
-        "@opentelemetry/resource-detector-gcp": "^0.29.9",
+        "@opentelemetry/instrumentation-ioredis": "^0.41.0",
+        "@opentelemetry/instrumentation-knex": "^0.37.0",
+        "@opentelemetry/instrumentation-koa": "^0.41.0",
+        "@opentelemetry/instrumentation-lru-memoizer": "^0.38.0",
+        "@opentelemetry/instrumentation-memcached": "^0.37.0",
+        "@opentelemetry/instrumentation-mongodb": "^0.44.0",
+        "@opentelemetry/instrumentation-mongoose": "^0.39.0",
+        "@opentelemetry/instrumentation-mysql": "^0.39.0",
+        "@opentelemetry/instrumentation-mysql2": "^0.39.0",
+        "@opentelemetry/instrumentation-nestjs-core": "^0.38.0",
+        "@opentelemetry/instrumentation-net": "^0.37.0",
+        "@opentelemetry/instrumentation-pg": "^0.42.0",
+        "@opentelemetry/instrumentation-pino": "^0.40.0",
+        "@opentelemetry/instrumentation-redis": "^0.40.0",
+        "@opentelemetry/instrumentation-redis-4": "^0.40.0",
+        "@opentelemetry/instrumentation-restify": "^0.39.0",
+        "@opentelemetry/instrumentation-router": "^0.38.0",
+        "@opentelemetry/instrumentation-socket.io": "^0.40.0",
+        "@opentelemetry/instrumentation-tedious": "^0.11.0",
+        "@opentelemetry/instrumentation-undici": "^0.3.0",
+        "@opentelemetry/instrumentation-winston": "^0.38.0",
+        "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
+        "@opentelemetry/resource-detector-aws": "^1.5.1",
+        "@opentelemetry/resource-detector-azure": "^0.2.8",
+        "@opentelemetry/resource-detector-container": "^0.3.10",
+        "@opentelemetry/resource-detector-gcp": "^0.29.10",
         "@opentelemetry/resources": "^1.24.0",
         "@opentelemetry/sdk-node": "^0.52.0",
         "@types/mocha": "7.0.2",
@@ -46220,9 +46220,9 @@
         "@jsdevtools/coverage-istanbul-loader": "3.0.5",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-document-load": "^0.38.0",
+        "@opentelemetry/instrumentation-document-load": "^0.39.0",
         "@opentelemetry/instrumentation-fetch": "^0.52.0",
-        "@opentelemetry/instrumentation-user-interaction": "^0.38.0",
+        "@opentelemetry/instrumentation-user-interaction": "^0.39.0",
         "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -46458,7 +46458,7 @@
       "version": "file:plugins/node/instrumentation-amqplib",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -46518,10 +46518,10 @@
         "@aws-sdk/client-sqs": "3.85.0",
         "@aws-sdk/types": "3.78.0",
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/propagation-utils": "^0.30.9",
+        "@opentelemetry/propagation-utils": "^0.30.10",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
@@ -46588,7 +46588,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -46766,7 +46766,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -46792,7 +46792,7 @@
         "@fastify/express": "^3.0.0",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/instrumentation-http": "^0.52.0",
@@ -46947,7 +46947,7 @@
         "@hapi/hapi": "21.3.3",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -46980,7 +46980,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -47005,7 +47005,7 @@
       "version": "file:plugins/node/instrumentation-kafkajs",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.24.0",
         "@opentelemetry/semantic-conventions": "^1.24.0",
@@ -47047,7 +47047,7 @@
         "@koa/router": "12.0.0",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/instrumentation-http": "^0.52.0",
@@ -47109,7 +47109,7 @@
       "version": "file:plugins/node/instrumentation-lru-memoizer",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@types/lru-cache": "7.10.9",
         "@types/mocha": "8.2.3",
@@ -47137,7 +47137,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -47159,7 +47159,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-metrics": "^1.9.1",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -47288,7 +47288,7 @@
       "version": "file:plugins/node/instrumentation-mongoose",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -47318,7 +47318,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-metrics": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -47341,7 +47341,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -47466,7 +47466,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -47495,7 +47495,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -47545,7 +47545,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -47569,7 +47569,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/redis-common": "^0.36.2",
@@ -47709,7 +47709,7 @@
       "version": "file:plugins/node/instrumentation-socket.io",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -47902,7 +47902,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -48064,7 +48064,7 @@
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.21.0",
         "@opentelemetry/sdk-trace-node": "^1.21.0",
-        "@opentelemetry/winston-transport": "^0.3.0",
+        "@opentelemetry/winston-transport": "^0.4.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
@@ -48170,7 +48170,7 @@
       "version": "file:packages/opentelemetry-propagation-utils",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "^9.1.1",
         "@types/node": "18.6.5",
         "@types/sinon": "^10.0.11",
@@ -48438,7 +48438,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-alibaba-cloud",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/resources": "^1.0.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
@@ -48465,7 +48465,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-aws",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.0.0",
         "@opentelemetry/resources": "^1.0.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -48493,7 +48493,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-azure",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/resources": "^1.10.1",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
@@ -48519,7 +48519,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-container",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/resources": "^1.0.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
@@ -48547,7 +48547,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-gcp",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.0.0",
         "@opentelemetry/resources": "^1.0.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -48599,7 +48599,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-instana",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.39.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/resources": "^1.0.0",
         "@opentelemetry/sdk-node": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
diff --git a/packages/baggage-span-processor/CHANGELOG.md b/packages/baggage-span-processor/CHANGELOG.md
index 9aa5d8b2bf..eef7f3a900 100644
--- a/packages/baggage-span-processor/CHANGELOG.md
+++ b/packages/baggage-span-processor/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.3.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/baggage-span-processor-v0.2.0...baggage-span-processor-v0.3.0) (2024-06-06)
+
+
+### Features
+
+* Add baggage key predicate to baggage span processor ([#2212](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2212)) ([6f98def](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/6f98deff857b7e3575e0420e2681ad373767e533))
+
 ## [0.2.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/baggage-span-processor-v0.1.0...baggage-span-processor-v0.2.0) (2024-05-15)
 
 
diff --git a/packages/baggage-span-processor/package.json b/packages/baggage-span-processor/package.json
index 1c59e37c80..9118da1710 100644
--- a/packages/baggage-span-processor/package.json
+++ b/packages/baggage-span-processor/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/baggage-span-processor",
-  "version": "0.2.0",
+  "version": "0.3.0",
   "description": "OpenTelemetry Baggage Span Processor for Node.js",
   "main": "build/src/index.ts",
   "types": "build/src/index.d.ts",
diff --git a/packages/opentelemetry-host-metrics/CHANGELOG.md b/packages/opentelemetry-host-metrics/CHANGELOG.md
index 7456803e58..7eb4e1e938 100644
--- a/packages/opentelemetry-host-metrics/CHANGELOG.md
+++ b/packages/opentelemetry-host-metrics/CHANGELOG.md
@@ -1,5 +1,13 @@
 # Changelog
 
+## [0.35.2](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/host-metrics-v0.35.1...host-metrics-v0.35.2) (2024-06-06)
+
+
+### Bug Fixes
+
+* **host-metrics:** macOS bundling fix ([#2071](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2071)) ([7d6ddea](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/7d6ddea613d6702931d8abb468eb3500fbd06f33))
+* semconv alignment & listed in README ([#2240](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2240)) ([040eaa6](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/040eaa68346550447535d48736f80af240db90bf))
+
 ## [0.35.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/host-metrics-v0.35.0...host-metrics-v0.35.1) (2024-04-25)
 
 
diff --git a/packages/opentelemetry-host-metrics/package.json b/packages/opentelemetry-host-metrics/package.json
index 095e79e70e..3bb3ddd307 100644
--- a/packages/opentelemetry-host-metrics/package.json
+++ b/packages/opentelemetry-host-metrics/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/host-metrics",
-  "version": "0.35.1",
+  "version": "0.35.2",
   "description": "OpenTelemetry Host Metrics for Node.js",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/packages/opentelemetry-propagation-utils/CHANGELOG.md b/packages/opentelemetry-propagation-utils/CHANGELOG.md
index 645dc6e294..8b378afad8 100644
--- a/packages/opentelemetry-propagation-utils/CHANGELOG.md
+++ b/packages/opentelemetry-propagation-utils/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## [0.30.10](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/propagation-utils-v0.30.9...propagation-utils-v0.30.10) (2024-06-06)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.30.9](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/propagation-utils-v0.30.8...propagation-utils-v0.30.9) (2024-04-25)
 
 
diff --git a/packages/opentelemetry-propagation-utils/package.json b/packages/opentelemetry-propagation-utils/package.json
index ce82dd204c..ca0cd27bee 100644
--- a/packages/opentelemetry-propagation-utils/package.json
+++ b/packages/opentelemetry-propagation-utils/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/propagation-utils",
-  "version": "0.30.9",
+  "version": "0.30.10",
   "description": "Propagation utilities for opentelemetry instrumentations",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -43,7 +43,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/mocha": "^9.1.1",
     "@types/node": "18.6.5",
     "@types/sinon": "^10.0.11",
diff --git a/packages/opentelemetry-test-utils/CHANGELOG.md b/packages/opentelemetry-test-utils/CHANGELOG.md
index 84094633e1..d3d0cc41d4 100644
--- a/packages/opentelemetry-test-utils/CHANGELOG.md
+++ b/packages/opentelemetry-test-utils/CHANGELOG.md
@@ -1,5 +1,13 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/contrib-test-utils-v0.39.0...contrib-test-utils-v0.40.0) (2024-06-06)
+
+
+### Features
+
+* **instr-tedious:** add support for v16 and v17 ([#2178](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2178)) ([8c578cd](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/8c578cd17b25b33390e4237596b9e5cbbc0d0b6d)), closes [#1656](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1656)
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/contrib-test-utils-v0.38.0...contrib-test-utils-v0.39.0) (2024-04-25)
 
 
diff --git a/packages/opentelemetry-test-utils/package.json b/packages/opentelemetry-test-utils/package.json
index 59a61b4b2a..3228db3c5f 100644
--- a/packages/opentelemetry-test-utils/package.json
+++ b/packages/opentelemetry-test-utils/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/contrib-test-utils",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "Test utilities for opentelemetry components",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/packages/winston-transport/CHANGELOG.md b/packages/winston-transport/CHANGELOG.md
index bea588b601..7ab5b34625 100644
--- a/packages/winston-transport/CHANGELOG.md
+++ b/packages/winston-transport/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.4.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/winston-transport-v0.3.0...winston-transport-v0.4.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.3.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/winston-transport-v0.2.0...winston-transport-v0.3.0) (2024-04-25)
 
 
diff --git a/packages/winston-transport/package.json b/packages/winston-transport/package.json
index ce5a6b8f49..59ba8105e7 100644
--- a/packages/winston-transport/package.json
+++ b/packages/winston-transport/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/winston-transport",
-  "version": "0.3.0",
+  "version": "0.4.0",
   "description": "OpenTelemetry Transport for winston",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-amqplib/CHANGELOG.md b/plugins/node/instrumentation-amqplib/CHANGELOG.md
index a178b7ceb8..a4ad8e22c5 100644
--- a/plugins/node/instrumentation-amqplib/CHANGELOG.md
+++ b/plugins/node/instrumentation-amqplib/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-amqplib-v0.37.0...instrumentation-amqplib-v0.38.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-amqplib-v0.36.0...instrumentation-amqplib-v0.37.0) (2024-04-25)
 
 
diff --git a/plugins/node/instrumentation-amqplib/package.json b/plugins/node/instrumentation-amqplib/package.json
index 0515317cad..f564585eb1 100644
--- a/plugins/node/instrumentation-amqplib/package.json
+++ b/plugins/node/instrumentation-amqplib/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-amqplib",
-  "version": "0.37.0",
+  "version": "0.38.0",
   "description": "OpenTelemetry instrumentation for the `amqplib` messaging client for RabbitMQ",
   "keywords": [
     "amqplib",
@@ -50,7 +50,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/amqplib": "^0.5.17",
     "@types/lodash": "4.14.199",
     "@types/mocha": "8.2.3",
diff --git a/plugins/node/instrumentation-cucumber/CHANGELOG.md b/plugins/node/instrumentation-cucumber/CHANGELOG.md
index 40c95823b6..519cdf1710 100644
--- a/plugins/node/instrumentation-cucumber/CHANGELOG.md
+++ b/plugins/node/instrumentation-cucumber/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.7.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cucumber-v0.6.0...instrumentation-cucumber-v0.7.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.6.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cucumber-v0.5.0...instrumentation-cucumber-v0.6.0) (2024-04-25)
 
 
diff --git a/plugins/node/instrumentation-cucumber/package.json b/plugins/node/instrumentation-cucumber/package.json
index e41de7e9be..cdef209a8b 100644
--- a/plugins/node/instrumentation-cucumber/package.json
+++ b/plugins/node/instrumentation-cucumber/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-cucumber",
-  "version": "0.6.0",
+  "version": "0.7.0",
   "description": "OpenTelemetry instrumentation for `@cucumber/cucumber` automated tests runner",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-dataloader/CHANGELOG.md b/plugins/node/instrumentation-dataloader/CHANGELOG.md
index 6e198608a3..7d7b3bc973 100644
--- a/plugins/node/instrumentation-dataloader/CHANGELOG.md
+++ b/plugins/node/instrumentation-dataloader/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.10.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-dataloader-v0.9.0...instrumentation-dataloader-v0.10.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.9.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-dataloader-v0.8.0...instrumentation-dataloader-v0.9.0) (2024-04-25)
 
 
diff --git a/plugins/node/instrumentation-dataloader/package.json b/plugins/node/instrumentation-dataloader/package.json
index 48f1209b4a..39c1bf1e92 100644
--- a/plugins/node/instrumentation-dataloader/package.json
+++ b/plugins/node/instrumentation-dataloader/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-dataloader",
-  "version": "0.9.0",
+  "version": "0.10.0",
   "description": "OpenTelemetry instrumentation for `dataloader` data fetching layer",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-fs/CHANGELOG.md b/plugins/node/instrumentation-fs/CHANGELOG.md
index b77f34b167..8077c1e627 100644
--- a/plugins/node/instrumentation-fs/CHANGELOG.md
+++ b/plugins/node/instrumentation-fs/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.13.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-fs-v0.12.0...instrumentation-fs-v0.13.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.12.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-fs-v0.11.0...instrumentation-fs-v0.12.0) (2024-04-25)
 
 
diff --git a/plugins/node/instrumentation-fs/package.json b/plugins/node/instrumentation-fs/package.json
index 958333d375..f6ee4bcb9e 100644
--- a/plugins/node/instrumentation-fs/package.json
+++ b/plugins/node/instrumentation-fs/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-fs",
-  "version": "0.12.0",
+  "version": "0.13.0",
   "description": "OpenTelemetry instrumentation for `node:fs` file system interactions module",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-kafkajs/CHANGELOG.md b/plugins/node/instrumentation-kafkajs/CHANGELOG.md
new file mode 100644
index 0000000000..0829a25384
--- /dev/null
+++ b/plugins/node/instrumentation-kafkajs/CHANGELOG.md
@@ -0,0 +1,16 @@
+# Changelog
+
+## [0.1.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-kafkajs-v0.0.1...instrumentation-kafkajs-v0.1.0) (2024-06-06)
+
+
+### Features
+
+* kafkajs instrumentation ([#2089](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2089)) ([b41797b](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/b41797b2b8a11a7db4d3ec13c2452d824f45f82d))
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
diff --git a/plugins/node/instrumentation-kafkajs/package.json b/plugins/node/instrumentation-kafkajs/package.json
index 53d4f54d7f..8ea5ebca2f 100644
--- a/plugins/node/instrumentation-kafkajs/package.json
+++ b/plugins/node/instrumentation-kafkajs/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-kafkajs",
-  "version": "0.0.1",
+  "version": "0.1.0",
   "description": "OpenTelemetry instrumentation for `kafkajs` messaging client for Apache Kafka",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -43,7 +43,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.24.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
diff --git a/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md b/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md
index e7d4223e41..a9224dad66 100644
--- a/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md
+++ b/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-lru-memoizer-v0.37.0...instrumentation-lru-memoizer-v0.38.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-lru-memoizer-v0.36.0...instrumentation-lru-memoizer-v0.37.0) (2024-04-25)
 
 
diff --git a/plugins/node/instrumentation-lru-memoizer/package.json b/plugins/node/instrumentation-lru-memoizer/package.json
index 057e7bc2cf..3406f6d31b 100644
--- a/plugins/node/instrumentation-lru-memoizer/package.json
+++ b/plugins/node/instrumentation-lru-memoizer/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-lru-memoizer",
-  "version": "0.37.0",
+  "version": "0.38.0",
   "description": "OpenTelemetry instrumentation for `lru-memoizer` function memoization using lru-cache",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -43,7 +43,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/lru-cache": "7.10.9",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
diff --git a/plugins/node/instrumentation-mongoose/CHANGELOG.md b/plugins/node/instrumentation-mongoose/CHANGELOG.md
index 3e8d038e5b..c47f2e7f83 100644
--- a/plugins/node/instrumentation-mongoose/CHANGELOG.md
+++ b/plugins/node/instrumentation-mongoose/CHANGELOG.md
@@ -1,5 +1,24 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongoose-v0.38.1...instrumentation-mongoose-v0.39.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Bug Fixes
+
+* **instrumentation-mongoose:** Fix instrumentation for Mongoose Model methods, save() and remove(), by passing options argument to original method calls ([#2009](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2009)) ([96eb7dc](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/96eb7dcccddfbb6a06ad72c3865b44a4a2d153ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.38.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongoose-v0.38.0...instrumentation-mongoose-v0.38.1) (2024-05-02)
 
 
diff --git a/plugins/node/instrumentation-mongoose/package.json b/plugins/node/instrumentation-mongoose/package.json
index dccee25d9e..6dd3d52944 100644
--- a/plugins/node/instrumentation-mongoose/package.json
+++ b/plugins/node/instrumentation-mongoose/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mongoose",
-  "version": "0.38.1",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `mongoose` database object data modeling (ODM) library for MongoDB",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -46,7 +46,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
diff --git a/plugins/node/instrumentation-runtime-node/CHANGELOG.md b/plugins/node/instrumentation-runtime-node/CHANGELOG.md
index 75742ee468..b9bb7edb17 100644
--- a/plugins/node/instrumentation-runtime-node/CHANGELOG.md
+++ b/plugins/node/instrumentation-runtime-node/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.5.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-runtime-node-v0.4.0...instrumentation-runtime-node-v0.5.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.4.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-runtime-node-v0.3.0...instrumentation-runtime-node-v0.4.0) (2024-04-25)
 
 
diff --git a/plugins/node/instrumentation-runtime-node/package.json b/plugins/node/instrumentation-runtime-node/package.json
index a227a00f5e..f057b9c636 100644
--- a/plugins/node/instrumentation-runtime-node/package.json
+++ b/plugins/node/instrumentation-runtime-node/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-runtime-node",
-  "version": "0.4.0",
+  "version": "0.5.0",
   "description": "OpenTelemetry instrumentation for Node.js Performance measurement API",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-socket.io/CHANGELOG.md b/plugins/node/instrumentation-socket.io/CHANGELOG.md
index d3512ebc7c..c69f15f002 100644
--- a/plugins/node/instrumentation-socket.io/CHANGELOG.md
+++ b/plugins/node/instrumentation-socket.io/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-socket.io-v0.39.0...instrumentation-socket.io-v0.40.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-socket.io-v0.38.0...instrumentation-socket.io-v0.39.0) (2024-04-25)
 
 
diff --git a/plugins/node/instrumentation-socket.io/package.json b/plugins/node/instrumentation-socket.io/package.json
index 40cd0e5609..f8933eaafb 100644
--- a/plugins/node/instrumentation-socket.io/package.json
+++ b/plugins/node/instrumentation-socket.io/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-socket.io",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `socket.io` messaging server implementation for Socket.IO communication",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -43,7 +43,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
diff --git a/plugins/node/instrumentation-tedious/CHANGELOG.md b/plugins/node/instrumentation-tedious/CHANGELOG.md
index 05bbb10992..0c1e2bc090 100644
--- a/plugins/node/instrumentation-tedious/CHANGELOG.md
+++ b/plugins/node/instrumentation-tedious/CHANGELOG.md
@@ -1,5 +1,20 @@
 # Changelog
 
+## [0.11.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-tedious-v0.10.1...instrumentation-tedious-v0.11.0) (2024-06-06)
+
+
+### Features
+
+* **instr-tedious:** add support for v16 and v17 ([#2178](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2178)) ([8c578cd](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/8c578cd17b25b33390e4237596b9e5cbbc0d0b6d)), closes [#1656](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1656)
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.10.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-tedious-v0.10.0...instrumentation-tedious-v0.10.1) (2024-05-02)
 
 
diff --git a/plugins/node/instrumentation-tedious/package.json b/plugins/node/instrumentation-tedious/package.json
index e9b06d502d..1075dbe082 100644
--- a/plugins/node/instrumentation-tedious/package.json
+++ b/plugins/node/instrumentation-tedious/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-tedious",
-  "version": "0.10.1",
+  "version": "0.11.0",
   "description": "OpenTelemetry instrumentation for `tedious` database client for Microsoft SQL Server",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -49,7 +49,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
diff --git a/plugins/node/instrumentation-undici/CHANGELOG.md b/plugins/node/instrumentation-undici/CHANGELOG.md
index 65d823248a..553e8013fc 100644
--- a/plugins/node/instrumentation-undici/CHANGELOG.md
+++ b/plugins/node/instrumentation-undici/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.3.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-undici-v0.2.0...instrumentation-undici-v0.3.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.2.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-undici-v0.1.0...instrumentation-undici-v0.2.0) (2024-04-25)
 
 
diff --git a/plugins/node/instrumentation-undici/package.json b/plugins/node/instrumentation-undici/package.json
index 519b8618b4..a2c182c32b 100644
--- a/plugins/node/instrumentation-undici/package.json
+++ b/plugins/node/instrumentation-undici/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-undici",
-  "version": "0.2.0",
+  "version": "0.3.0",
   "description": "OpenTelemetry instrumentation for `undici` http client and Node.js fetch()",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-aws-lambda/CHANGELOG.md
index 6ba8902186..18c43c1de2 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-lambda-v0.41.1...instrumentation-aws-lambda-v0.42.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.41.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-lambda-v0.41.0...instrumentation-aws-lambda-v0.41.1) (2024-05-15)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
index e9b3a3015d..e09fe6acd7 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-aws-lambda",
-  "version": "0.41.1",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for AWS Lambda function invocations",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md
index f0fbfb8ae1..b7169dba57 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md
@@ -1,5 +1,21 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-sdk-v0.41.0...instrumentation-aws-sdk-v0.42.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * dependencies
+    * @opentelemetry/propagation-utils bumped from ^0.30.9 to ^0.30.10
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-sdk-v0.40.0...instrumentation-aws-sdk-v0.41.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
index 239c26ac04..d55e356552 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-aws-sdk",
-  "version": "0.41.0",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for `aws-sdk` and `@aws-sdk/client-*` clients for various AWS services",
   "keywords": [
     "aws",
@@ -46,7 +46,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.52.0",
-    "@opentelemetry/propagation-utils": "^0.30.9",
+    "@opentelemetry/propagation-utils": "^0.30.10",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "devDependencies": {
@@ -57,7 +57,7 @@
     "@aws-sdk/client-sqs": "3.85.0",
     "@aws-sdk/types": "3.78.0",
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-bunyan/CHANGELOG.md
index 22ea9bc8c9..a939f1ac76 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-bunyan-v0.38.0...instrumentation-bunyan-v0.39.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-bunyan-v0.37.0...instrumentation-bunyan-v0.38.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/package.json b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
index c666e51229..478f32a1b3 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/package.json
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-bunyan",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `bunyan` logger",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md
index 0005177884..175e828147 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cassandra-driver-v0.38.0...instrumentation-cassandra-driver-v0.39.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cassandra-driver-v0.37.0...instrumentation-cassandra-driver-v0.38.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/package.json b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
index c99b7d6f66..74346ded65 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/package.json
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-cassandra-driver",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `cassandra-driver` database client library for Apache Cassandra",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -45,7 +45,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-connect/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-connect/CHANGELOG.md
index 4cb07d3b39..70c12893dd 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-connect/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-connect-v0.36.1...instrumentation-connect-v0.37.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.36.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-connect-v0.36.0...instrumentation-connect-v0.36.1) (2024-05-15)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-connect/package.json b/plugins/node/opentelemetry-instrumentation-connect/package.json
index 95c5608be4..e3dcb5bd0a 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/package.json
+++ b/plugins/node/opentelemetry-instrumentation-connect/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-connect",
-  "version": "0.36.1",
+  "version": "0.37.0",
   "description": "OpenTelemetry instrumentation for `connect` http middleware framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-dns/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-dns/CHANGELOG.md
index ff4e23d5ae..cd60cca23d 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-dns/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-dns-v0.36.1...instrumentation-dns-v0.37.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.36.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-dns-v0.36.0...instrumentation-dns-v0.36.1) (2024-05-02)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-dns/package.json b/plugins/node/opentelemetry-instrumentation-dns/package.json
index df49f4fd74..d54c69b26c 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/package.json
+++ b/plugins/node/opentelemetry-instrumentation-dns/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-dns",
-  "version": "0.36.1",
+  "version": "0.37.0",
   "description": "OpenTelemetry instrumentation for `node:dns` name resolution module",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
index 06caf59945..e90b68a690 100644
--- a/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-express-v0.39.0...instrumentation-express-v0.40.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-express-v0.38.0...instrumentation-express-v0.39.0) (2024-05-15)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-express/package.json b/plugins/node/opentelemetry-instrumentation-express/package.json
index e7f7e33622..ec071012dd 100644
--- a/plugins/node/opentelemetry-instrumentation-express/package.json
+++ b/plugins/node/opentelemetry-instrumentation-express/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-express",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `express` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -46,7 +46,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/express": "4.17.18",
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-fastify/CHANGELOG.md
index e74deb3ea1..491e4fbb64 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-fastify/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-fastify-v0.36.1...instrumentation-fastify-v0.37.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.36.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-fastify-v0.36.0...instrumentation-fastify-v0.36.1) (2024-05-02)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/package.json b/plugins/node/opentelemetry-instrumentation-fastify/package.json
index 2e1b329bb1..25b709cfff 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-fastify/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-fastify",
-  "version": "0.36.1",
+  "version": "0.37.0",
   "description": "OpenTelemetry instrumentation for `fastify` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -46,7 +46,7 @@
     "@fastify/express": "^3.0.0",
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/instrumentation-http": "^0.52.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md
index c8706562c2..497b119a9f 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-generic-pool-v0.36.0...instrumentation-generic-pool-v0.37.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.36.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-generic-pool-v0.35.0...instrumentation-generic-pool-v0.36.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
index 338025c89c..c66c810714 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-generic-pool",
-  "version": "0.36.0",
+  "version": "0.37.0",
   "description": "OpenTelemetry instrumentation for `generic-pool` resource pool for managing expensive resources",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-graphql/CHANGELOG.md
index 0fa285f9f1..681f5f763d 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-graphql/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-graphql-v0.40.0...instrumentation-graphql-v0.41.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-graphql-v0.39.0...instrumentation-graphql-v0.40.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/package.json b/plugins/node/opentelemetry-instrumentation-graphql/package.json
index cc9351d2a4..7bcb771167 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-graphql/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-graphql",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `graphql` gql query language and runtime for GraphQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-hapi/CHANGELOG.md
index 7bf0defa8b..ba21f79e6b 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-hapi/CHANGELOG.md
@@ -1,5 +1,24 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-hapi-v0.38.0...instrumentation-hapi-v0.39.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Bug Fixes
+
+* **instr-hapi:** fix instrumentation of ESM-imported hapi ([#2184](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2184)) ([265000a](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/265000ae755e13aee82ff5d97a52b307831840ab))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-hapi-v0.37.0...instrumentation-hapi-v0.38.0) (2024-05-02)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/package.json b/plugins/node/opentelemetry-instrumentation-hapi/package.json
index 953da393e8..fc8a7769af 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/package.json
+++ b/plugins/node/opentelemetry-instrumentation-hapi/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-hapi",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `@hapi/hapi` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -46,7 +46,7 @@
     "@hapi/hapi": "21.3.3",
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-ioredis/CHANGELOG.md
index 9c9b2b3475..a75d5802ca 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-ioredis-v0.40.0...instrumentation-ioredis-v0.41.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-ioredis-v0.39.0...instrumentation-ioredis-v0.40.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/package.json b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
index 2afe677bea..a8cbb1292f 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-ioredis",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `ioredis` database redis client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -49,7 +49,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/ioredis4": "npm:@types/ioredis@4.28.10",
diff --git a/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md
index 3236c252cd..ac8c7f426d 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-knex-v0.36.1...instrumentation-knex-v0.37.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.36.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-knex-v0.36.0...instrumentation-knex-v0.36.1) (2024-05-02)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-knex/package.json b/plugins/node/opentelemetry-instrumentation-knex/package.json
index b57dfc9e9d..3b957dbde3 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/package.json
+++ b/plugins/node/opentelemetry-instrumentation-knex/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-knex",
-  "version": "0.36.1",
+  "version": "0.37.0",
   "description": "OpenTelemetry instrumentation for `knex` database SQL query builder",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-koa/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-koa/CHANGELOG.md
index 37d69e9450..6cb5e767ae 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-koa/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-koa-v0.40.0...instrumentation-koa-v0.41.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-koa-v0.39.0...instrumentation-koa-v0.40.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-koa/package.json b/plugins/node/opentelemetry-instrumentation-koa/package.json
index 0c0c06e713..6a1995235d 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/package.json
+++ b/plugins/node/opentelemetry-instrumentation-koa/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-koa",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `koa` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -48,7 +48,7 @@
     "@koa/router": "12.0.0",
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/instrumentation-http": "^0.52.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md
index 719c6e0b56..bd26feacbb 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-memcached-v0.36.0...instrumentation-memcached-v0.37.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.36.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-memcached-v0.35.0...instrumentation-memcached-v0.36.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/package.json b/plugins/node/opentelemetry-instrumentation-memcached/package.json
index b7e40059ec..c6db4c96bd 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/package.json
+++ b/plugins/node/opentelemetry-instrumentation-memcached/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-memcached",
-  "version": "0.36.0",
+  "version": "0.37.0",
   "description": "OpenTelemetry instrumentation for `memcached` database client for memcached",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -46,7 +46,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
index 6890eb6781..d26b226e85 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.44.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongodb-v0.43.0...instrumentation-mongodb-v0.44.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.43.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongodb-v0.42.0...instrumentation-mongodb-v0.43.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/package.json b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
index 44951a3c8b..6ed3a117de 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mongodb",
-  "version": "0.43.0",
+  "version": "0.44.0",
   "description": "OpenTelemetry instrumentation for `mongodb` database client for MongoDB",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -50,7 +50,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/bson": "4.0.5",
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md
index 72f1728245..224bcc1123 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql-v0.38.1...instrumentation-mysql-v0.39.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.38.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql-v0.38.0...instrumentation-mysql-v0.38.1) (2024-05-02)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/package.json b/plugins/node/opentelemetry-instrumentation-mysql/package.json
index ae6fc28473..516f0b42e2 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mysql",
-  "version": "0.38.1",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `mysql` database client for MySQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -44,7 +44,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-metrics": "^1.8.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md
index a8dbdd6431..b0e22415ce 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql2-v0.38.1...instrumentation-mysql2-v0.39.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.38.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql2-v0.38.0...instrumentation-mysql2-v0.38.1) (2024-05-02)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/package.json b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
index 95885dc6b1..db8c381c28 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mysql2",
-  "version": "0.38.1",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `mysql2` database client for MySQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -46,7 +46,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-nestjs-core/CHANGELOG.md
index 3419f0bc3b..f84b25f56a 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-nestjs-core-v0.37.1...instrumentation-nestjs-core-v0.38.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.37.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-nestjs-core-v0.37.0...instrumentation-nestjs-core-v0.37.1) (2024-05-02)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
index a1a0f8a663..aafbddf494 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-nestjs-core",
-  "version": "0.37.1",
+  "version": "0.38.0",
   "description": "OpenTelemetry instrumentation for NestJS server side applications framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-net/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-net/CHANGELOG.md
index ff9a1f694e..93c9ce96a8 100644
--- a/plugins/node/opentelemetry-instrumentation-net/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-net/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-net-v0.36.0...instrumentation-net-v0.37.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.36.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-net-v0.35.0...instrumentation-net-v0.36.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-net/package.json b/plugins/node/opentelemetry-instrumentation-net/package.json
index 3fc360cefe..303510e996 100644
--- a/plugins/node/opentelemetry-instrumentation-net/package.json
+++ b/plugins/node/opentelemetry-instrumentation-net/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-net",
-  "version": "0.36.0",
+  "version": "0.37.0",
   "description": "OpenTelemetry instrumentation for `node:net` network API module",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md
index 0fc8bd96f8..c53a87a7fe 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md
@@ -1,5 +1,24 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pg-v0.41.0...instrumentation-pg-v0.42.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Performance Improvements
+
+* **instrumentation-pg:** do not split query to determine operation name ([#2029](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2029)) ([816611e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/816611e47e71ce1478f4749fe7b6ba923b8d473a))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pg-v0.40.0...instrumentation-pg-v0.41.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-pg/package.json b/plugins/node/opentelemetry-instrumentation-pg/package.json
index f9e9c9e366..24dad46903 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pg/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-pg",
-  "version": "0.41.0",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for `pg` and `pg-pool` database client for PostgreSQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -52,7 +52,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-pino/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-pino/CHANGELOG.md
index c5027eb721..0e5355a848 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-pino/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pino-v0.39.0...instrumentation-pino-v0.40.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pino-v0.38.0...instrumentation-pino-v0.39.0) (2024-05-02)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-pino/package.json b/plugins/node/opentelemetry-instrumentation-pino/package.json
index 3c202f8938..684b5a7e87 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pino/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-pino",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `pino` logger",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -46,7 +46,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
index 02880ab527..d926bf9d23 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-4-v0.39.0...instrumentation-redis-4-v0.40.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-4-v0.38.0...instrumentation-redis-4-v0.39.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/package.json b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
index 715564bd6b..f28faa3784 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-redis-4",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `redis` v4 database client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -50,7 +50,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
diff --git a/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md
index ca04cca227..d1c01295fd 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-v0.39.1...instrumentation-redis-v0.40.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.39.0 to ^0.40.0
+
 ## [0.39.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-v0.39.0...instrumentation-redis-v0.39.1) (2024-05-02)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-redis/package.json b/plugins/node/opentelemetry-instrumentation-redis/package.json
index 9fba0ad786..f4b4b54da0 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-redis",
-  "version": "0.39.1",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `redis` v2 and v3 database client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -50,7 +50,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.39.0",
+    "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-restify/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-restify/CHANGELOG.md
index a3a982f861..3b736d5a07 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-restify/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-restify-v0.38.0...instrumentation-restify-v0.39.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-restify-v0.37.0...instrumentation-restify-v0.38.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-restify/package.json b/plugins/node/opentelemetry-instrumentation-restify/package.json
index 44e208054b..514bff4c35 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-restify/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-restify",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `restify` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-router/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-router/CHANGELOG.md
index f0c10e6024..675457a28f 100644
--- a/plugins/node/opentelemetry-instrumentation-router/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-router/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-router-v0.37.0...instrumentation-router-v0.38.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-router-v0.36.0...instrumentation-router-v0.37.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-router/package.json b/plugins/node/opentelemetry-instrumentation-router/package.json
index e841eed81b..9e76e9b0ac 100644
--- a/plugins/node/opentelemetry-instrumentation-router/package.json
+++ b/plugins/node/opentelemetry-instrumentation-router/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-router",
-  "version": "0.37.0",
+  "version": "0.38.0",
   "description": "OpenTelemetry instrumentation for `router` http middleware router",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-winston/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-winston/CHANGELOG.md
index 3bca394376..be955cf560 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-winston/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-winston-v0.37.0...instrumentation-winston-v0.38.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/winston-transport bumped from ^0.3.0 to ^0.4.0
+
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-winston-v0.36.0...instrumentation-winston-v0.37.0) (2024-04-25)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-winston/package.json b/plugins/node/opentelemetry-instrumentation-winston/package.json
index 82c27a5de9..8d9e9575ab 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/package.json
+++ b/plugins/node/opentelemetry-instrumentation-winston/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-winston",
-  "version": "0.37.0",
+  "version": "0.38.0",
   "description": "OpenTelemetry instrumentation for `winston` logger",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -48,7 +48,7 @@
     "@opentelemetry/context-async-hooks": "^1.21.0",
     "@opentelemetry/sdk-trace-base": "^1.21.0",
     "@opentelemetry/sdk-trace-node": "^1.21.0",
-    "@opentelemetry/winston-transport": "^0.3.0",
+    "@opentelemetry/winston-transport": "^0.4.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.18",
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/CHANGELOG.md b/plugins/web/opentelemetry-instrumentation-document-load/CHANGELOG.md
index d4750f9920..a43dfb0895 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/CHANGELOG.md
+++ b/plugins/web/opentelemetry-instrumentation-document-load/CHANGELOG.md
@@ -1,5 +1,13 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-document-load-v0.38.0...instrumentation-document-load-v0.39.0) (2024-06-06)
+
+
+### Features
+
+* **instrumentation-document-load:** Add ability to disable span events ([#2188](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2188)) ([50ff98b](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/50ff98bb219e955ea45422cfb63870af7b8b82ea))
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-document-load-v0.37.0...instrumentation-document-load-v0.38.0) (2024-04-25)
 
 
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/package.json b/plugins/web/opentelemetry-instrumentation-document-load/package.json
index 02a4050b77..48c9831ce3 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/package.json
+++ b/plugins/web/opentelemetry-instrumentation-document-load/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-document-load",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for document load operations in browser applications",
   "main": "build/src/index.js",
   "module": "build/esm/index.js",
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/CHANGELOG.md b/plugins/web/opentelemetry-instrumentation-long-task/CHANGELOG.md
index 8c28eafded..023f9b770b 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/CHANGELOG.md
+++ b/plugins/web/opentelemetry-instrumentation-long-task/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-long-task-v0.38.0...instrumentation-long-task-v0.39.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-long-task-v0.37.0...instrumentation-long-task-v0.38.0) (2024-04-25)
 
 
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/package.json b/plugins/web/opentelemetry-instrumentation-long-task/package.json
index cb8c2587e7..45967a2afd 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/package.json
+++ b/plugins/web/opentelemetry-instrumentation-long-task/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-long-task",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for long task Web API",
   "main": "build/src/index.js",
   "module": "build/esm/index.js",
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/CHANGELOG.md b/plugins/web/opentelemetry-instrumentation-user-interaction/CHANGELOG.md
index 729fe2ec9f..78a39fbae4 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/CHANGELOG.md
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-user-interaction-v0.38.0...instrumentation-user-interaction-v0.39.0) (2024-06-06)
+
+
+### Features
+
+* update otel core dependencies ([#2257](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2257)) ([71c15d5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/71c15d597276773c19c16c1117b8d151892e5366))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-user-interaction-v0.37.0...instrumentation-user-interaction-v0.38.0) (2024-04-25)
 
 
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
index 223853c3c3..c2a9c8f89a 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-user-interaction",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for user interactions as click events in a web application",
   "main": "build/src/index.js",
   "module": "build/esm/index.js",

From 6721bddc2d190befabab95f706ca467d06633674 Mon Sep 17 00:00:00 2001
From: Long Mai <longility@gmail.com>
Date: Thu, 6 Jun 2024 17:11:54 -0500
Subject: [PATCH 025/123] fix(baggage-span-processor): cannot find module
 (#2260)

Fixes the following error:
```
Error: Cannot find module '/Users/long/Repos/wise-rock/node_modules/@opentelemetry/baggage-span-processor/build/src/index.ts'. Please verify that the package.json has a valid "main" entry
    at tryPackage (node:internal/modules/cjs/loader:415:19)
...
```
---
 packages/baggage-span-processor/package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/baggage-span-processor/package.json b/packages/baggage-span-processor/package.json
index 9118da1710..9ecad18e36 100644
--- a/packages/baggage-span-processor/package.json
+++ b/packages/baggage-span-processor/package.json
@@ -2,7 +2,7 @@
   "name": "@opentelemetry/baggage-span-processor",
   "version": "0.3.0",
   "description": "OpenTelemetry Baggage Span Processor for Node.js",
-  "main": "build/src/index.ts",
+  "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
   "repository": "open-telemetry/opentelemetry-js-contrib",
   "scripts": {

From 2b1360daea5254d15c7dba71c30748630d92c17f Mon Sep 17 00:00:00 2001
From: Oliver Sand <oliver@plancraft.de>
Date: Fri, 7 Jun 2024 14:54:05 +0200
Subject: [PATCH 026/123] feat(instrumentation-mongodb): support aggregation
 commands and support nested statements (#1728)

* feat(opentelemetry-instrumentation-mongodb): support aggregation commands and support nested statements

Signed-off-by: Oliver Sand <oliver@plancraft.de>

* docs: fix typos in guidelines

Signed-off-by: Oliver Sand <oliver@plancraft.de>

* Apply suggestions from code review

update semantic conventions imports

---------

Signed-off-by: Oliver Sand <oliver@plancraft.de>
Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>
---
 GUIDELINES.md                                 |  2 +-
 .../src/instrumentation.ts                    | 25 +++++--
 .../src/internal-types.ts                     |  2 +
 .../test/mongodb-v3.test.ts                   | 68 +++++++++++++++++++
 .../test/mongodb-v4.test.ts                   | 68 +++++++++++++++++++
 .../test/mongodb-v5-v6.test.ts                | 68 +++++++++++++++++++
 6 files changed, 228 insertions(+), 5 deletions(-)

diff --git a/GUIDELINES.md b/GUIDELINES.md
index 69c3fe283a..fbee8623a8 100644
--- a/GUIDELINES.md
+++ b/GUIDELINES.md
@@ -115,7 +115,7 @@ To support this use case, you can choose one of the following options:
     ...
     ```
 
-    If possible, this is the prefered option, as it uses types from a maintained package.
+    If possible, this is the preferred option, as it uses types from a maintained package.
 
     Notice that types may introduce breaking changes in major semver releases, and instrumentation should choose a `@types/` package that is compatible with the version range it supports.
 
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
index a1417a9487..54d9dfa26c 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
@@ -775,6 +775,8 @@ export class MongoDBInstrumentation extends InstrumentationBase {
       return MongodbCommandType.IS_MASTER;
     } else if (command.count !== undefined) {
       return MongodbCommandType.COUNT;
+    } else if (command.aggregate !== undefined) {
+      return MongodbCommandType.AGGREGATE;
     } else {
       return MongodbCommandType.UNKNOWN;
     }
@@ -924,13 +926,28 @@ export class MongoDBInstrumentation extends InstrumentationBase {
     const enhancedDbReporting = !!this._config?.enhancedDatabaseReporting;
     const resultObj = enhancedDbReporting
       ? commandObj
-      : Object.keys(commandObj).reduce((obj, key) => {
-          obj[key] = '?';
-          return obj;
-        }, {} as { [key: string]: unknown });
+      : this._scrubStatement(commandObj);
     return JSON.stringify(resultObj);
   }
 
+  private _scrubStatement(value: unknown): unknown {
+    if (Array.isArray(value)) {
+      return value.map(element => this._scrubStatement(element));
+    }
+
+    if (typeof value === 'object' && value !== null) {
+      return Object.fromEntries(
+        Object.entries(value).map(([key, element]) => [
+          key,
+          this._scrubStatement(element),
+        ])
+      );
+    }
+
+    // A value like string or number, possible contains PII, scrub it
+    return '?';
+  }
+
   /**
    * Triggers the response hook in case it is defined.
    * @param span The span to add the results to.
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/src/internal-types.ts b/plugins/node/opentelemetry-instrumentation-mongodb/src/internal-types.ts
index 38b357077b..b660ae879c 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/src/internal-types.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/src/internal-types.ts
@@ -56,6 +56,7 @@ export type MongoInternalCommand = {
   findandmodify: boolean;
   createIndexes: boolean;
   count: boolean;
+  aggregate: boolean;
   ismaster: boolean;
   indexes?: unknown[];
   query?: Record<string, unknown>;
@@ -166,6 +167,7 @@ export enum MongodbCommandType {
   FIND_AND_MODIFY = 'findAndModify',
   IS_MASTER = 'isMaster',
   COUNT = 'count',
+  AGGREGATE = 'aggregate',
   UNKNOWN = 'unknown',
 }
 
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v3.test.ts b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v3.test.ts
index dba836dc3a..4a3bd9a6e0 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v3.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v3.test.ts
@@ -266,6 +266,32 @@ describe('MongoDBInstrumentation-Tracing-v3', () => {
           });
       });
     });
+
+    it('should create a child span for aggregation', done => {
+      const span = trace.getTracer('default').startSpan('indexRootSpan');
+      context.with(trace.setSpan(context.active(), span), () => {
+        collection
+          .aggregate([
+            { $match: { key: 'value' } },
+            { $group: { _id: '$a', count: { $sum: 1 } } },
+          ])
+          .toArray()
+          .then(() => {
+            span.end();
+            assertSpans(
+              getTestSpans(),
+              'mongodb.aggregate',
+              SpanKind.CLIENT,
+              'aggregate',
+              undefined
+            );
+            done();
+          })
+          .catch(err => {
+            done(err);
+          });
+      });
+    });
   });
 
   describe('when using enhanced database reporting without db statementSerializer', () => {
@@ -309,6 +335,48 @@ describe('MongoDBInstrumentation-Tracing-v3', () => {
           });
       });
     });
+
+    it('should properly collect nested db statement (hide attribute values)', done => {
+      const span = trace.getTracer('default').startSpan('insertRootSpan');
+      context.with(trace.setSpan(context.active(), span), () => {
+        collection
+          .aggregate([
+            { $match: { key: 'value' } },
+            { $group: { _id: '$a', count: { $sum: 1 } } },
+          ])
+          .toArray()
+          .then(() => {
+            span.end();
+            const spans = getTestSpans();
+            const operationName = 'mongodb.aggregate';
+            assertSpans(
+              spans,
+              operationName,
+              SpanKind.CLIENT,
+              'aggregate',
+              undefined,
+              false,
+              false
+            );
+            const mongoSpan = spans.find(s => s.name === operationName);
+            const dbStatement = JSON.parse(
+              mongoSpan!.attributes[SEMATTRS_DB_STATEMENT] as string
+            );
+            assert.deepEqual(dbStatement, {
+              aggregate: '?',
+              pipeline: [
+                { $match: { key: '?' } },
+                { $group: { _id: '?', count: { $sum: '?' } } },
+              ],
+              cursor: {},
+            });
+            done();
+          })
+          .catch(err => {
+            done(err);
+          });
+      });
+    });
   });
 
   describe('when specifying a dbStatementSerializer configuration', () => {
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v4.test.ts b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v4.test.ts
index df2c48be5f..febd901776 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v4.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v4.test.ts
@@ -301,6 +301,32 @@ describe('MongoDBInstrumentation-Tracing-v4', () => {
           });
       });
     });
+
+    it('should create a child span for aggregation', done => {
+      const span = trace.getTracer('default').startSpan('indexRootSpan');
+      context.with(trace.setSpan(context.active(), span), () => {
+        collection
+          .aggregate([
+            { $match: { key: 'value' } },
+            { $group: { _id: '$a', count: { $sum: 1 } } },
+          ])
+          .toArray()
+          .then(() => {
+            span.end();
+            assertSpans(
+              getTestSpans(),
+              'mongodb.aggregate',
+              SpanKind.CLIENT,
+              'aggregate',
+              undefined
+            );
+            done();
+          })
+          .catch(err => {
+            done(err);
+          });
+      });
+    });
   });
 
   describe('when using enhanced database reporting without db statementSerializer', () => {
@@ -344,6 +370,48 @@ describe('MongoDBInstrumentation-Tracing-v4', () => {
           });
       });
     });
+
+    it('should properly collect nested db statement (hide attribute values)', done => {
+      const span = trace.getTracer('default').startSpan('insertRootSpan');
+      context.with(trace.setSpan(context.active(), span), () => {
+        collection
+          .aggregate([
+            { $match: { key: 'value' } },
+            { $group: { _id: '$a', count: { $sum: 1 } } },
+          ])
+          .toArray()
+          .then(() => {
+            span.end();
+            const spans = getTestSpans();
+            const operationName = 'mongodb.aggregate';
+            assertSpans(
+              spans,
+              operationName,
+              SpanKind.CLIENT,
+              'aggregate',
+              undefined,
+              false,
+              false
+            );
+            const mongoSpan = spans.find(s => s.name === operationName);
+            const dbStatement = JSON.parse(
+              mongoSpan!.attributes[SEMATTRS_DB_STATEMENT] as string
+            );
+            assert.deepEqual(dbStatement, {
+              aggregate: '?',
+              pipeline: [
+                { $match: { key: '?' } },
+                { $group: { _id: '?', count: { $sum: '?' } } },
+              ],
+              cursor: {},
+            });
+            done();
+          })
+          .catch(err => {
+            done(err);
+          });
+      });
+    });
   });
 
   describe('when specifying a dbStatementSerializer configuration', () => {
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v5-v6.test.ts b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v5-v6.test.ts
index 546aba2e31..bac9b6d17e 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v5-v6.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v5-v6.test.ts
@@ -304,6 +304,32 @@ describe('MongoDBInstrumentation-Tracing-v5', () => {
           });
       });
     });
+
+    it('should create a child span for aggregation', done => {
+      const span = trace.getTracer('default').startSpan('indexRootSpan');
+      context.with(trace.setSpan(context.active(), span), () => {
+        collection
+          .aggregate([
+            { $match: { key: 'value' } },
+            { $group: { _id: '$a', count: { $sum: 1 } } },
+          ])
+          .toArray()
+          .then(() => {
+            span.end();
+            assertSpans(
+              getTestSpans(),
+              'mongodb.aggregate',
+              SpanKind.CLIENT,
+              'aggregate',
+              undefined
+            );
+            done();
+          })
+          .catch(err => {
+            done(err);
+          });
+      });
+    });
   });
 
   describe('when using enhanced database reporting without db statementSerializer', () => {
@@ -347,6 +373,48 @@ describe('MongoDBInstrumentation-Tracing-v5', () => {
           });
       });
     });
+
+    it('should properly collect nested db statement (hide attribute values)', done => {
+      const span = trace.getTracer('default').startSpan('insertRootSpan');
+      context.with(trace.setSpan(context.active(), span), () => {
+        collection
+          .aggregate([
+            { $match: { key: 'value' } },
+            { $group: { _id: '$a', count: { $sum: 1 } } },
+          ])
+          .toArray()
+          .then(() => {
+            span.end();
+            const spans = getTestSpans();
+            const operationName = 'mongodb.aggregate';
+            assertSpans(
+              spans,
+              operationName,
+              SpanKind.CLIENT,
+              'aggregate',
+              undefined,
+              false,
+              false
+            );
+            const mongoSpan = spans.find(s => s.name === operationName);
+            const dbStatement = JSON.parse(
+              mongoSpan!.attributes[SEMATTRS_DB_STATEMENT] as string
+            );
+            assert.deepEqual(dbStatement, {
+              aggregate: '?',
+              pipeline: [
+                { $match: { key: '?' } },
+                { $group: { _id: '?', count: { $sum: '?' } } },
+              ],
+              cursor: {},
+            });
+            done();
+          })
+          .catch(err => {
+            done(err);
+          });
+      });
+    });
   });
 
   describe('when specifying a dbStatementSerializer configuration', () => {

From 3e863cf441ecbe93f1f30e1565714e44e650d220 Mon Sep 17 00:00:00 2001
From: Abhijeet Prasad <aprasad@sentry.io>
Date: Fri, 7 Jun 2024 20:23:37 -0400
Subject: [PATCH 027/123] docs(instrumentation-undici): Update option links to
 point to right link (#2261)

---
 plugins/node/instrumentation-undici/README.md | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/plugins/node/instrumentation-undici/README.md b/plugins/node/instrumentation-undici/README.md
index 014c61e537..cf533955fc 100644
--- a/plugins/node/instrumentation-undici/README.md
+++ b/plugins/node/instrumentation-undici/README.md
@@ -25,7 +25,9 @@ OpenTelemetry Undici/fetch Instrumentation allows the user to automatically coll
 To load a specific instrumentation (Undici in this case), specify it in the Node Tracer's configuration.
 
 ```js
-const { UndiciInstrumentation } = require('@opentelemetry/instrumentation-undici');
+const {
+  UndiciInstrumentation,
+} = require('@opentelemetry/instrumentation-undici');
 const {
   ConsoleSpanExporter,
   NodeTracerProvider,
@@ -41,20 +43,19 @@ provider.register();
 registerInstrumentations({
   instrumentations: [new UndiciInstrumentation()],
 });
-
 ```
 
 ### Undici/Fetch instrumentation Options
 
 Undici instrumentation has few options available to choose from. You can set the following:
 
-| Options | Type | Description |
-| ------- | ---- | ----------- |
-| [`ignoreRequestHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-undici/src/types.ts#63) | `IgnoreRequestFunction` | Undici instrumentation will not trace all incoming requests that matched with custom function. |
-| [`requestHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-undici/src/types.ts#65) | `RequestHookFunction` | Function for adding custom attributes before request is handled. |
-| [`startSpanHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-undici/src/types.ts#67) | `StartSpanHookFunction` | Function for adding custom attributes before a span is started. |
-| [`requireParentforSpans`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-undici/src/types.ts#69) | `Boolean` | Require a parent span is present to create new span for outgoing requests. |
-| [`headersToSpanAttributes`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-undici/src/types.ts#71) | `Object` |  List of case insensitive HTTP headers to convert to span attributes. Headers will be converted to span attributes in the form of `http.{request\|response}.header.header-name` where the name is only lowercased, e.g. `http.response.header.content-length`|
+| Options                                                                                                                                                | Type                    | Description                                                                                                                                                                                                                                                  |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| [`ignoreRequestHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L63)       | `IgnoreRequestFunction` | Undici instrumentation will not trace all incoming requests that matched with custom function.                                                                                                                                                               |
+| [`requestHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L65)             | `RequestHookFunction`   | Function for adding custom attributes before request is handled.                                                                                                                                                                                             |
+| [`startSpanHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L67)           | `StartSpanHookFunction` | Function for adding custom attributes before a span is started.                                                                                                                                                                                              |
+| [`requireParentforSpans`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L69)   | `Boolean`               | Require a parent span is present to create new span for outgoing requests.                                                                                                                                                                                   |
+| [`headersToSpanAttributes`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L71) | `Object`                | List of case insensitive HTTP headers to convert to span attributes. Headers will be converted to span attributes in the form of `http.{request\|response}.header.header-name` where the name is only lowercased, e.g. `http.response.header.content-length` |
 
 ### Observations
 

From 9761a9160c862b9f8a35c00afc26217973e4462a Mon Sep 17 00:00:00 2001
From: Abhinav Mathur <abhinama@cisco.com>
Date: Mon, 10 Jun 2024 07:10:54 -0400
Subject: [PATCH 028/123] fix: ContainerId not detected post version 0.2.2
 (#2270)

* ?? only checks for null and undefined

* added unit test to cover the fix

* added unit test to cover the fix

* lint fixes

* lint fixes - line too long
---
 .../src/detectors/ContainerDetector.ts                 |  2 +-
 .../test/ContainerDetector.test.ts                     | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts b/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
index 73b26f9ed4..78bffb7572 100644
--- a/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
@@ -108,7 +108,7 @@ export class ContainerDetector implements Detector {
   private async _getContainerId(): Promise<string | undefined> {
     try {
       return (
-        (await this._getContainerIdV1()) ?? (await this._getContainerIdV2())
+        (await this._getContainerIdV1()) || (await this._getContainerIdV2())
       );
     } catch (e) {
       if (e instanceof Error) {
diff --git a/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetector.test.ts b/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetector.test.ts
index 8ee03d1f36..71fbf1c5de 100644
--- a/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetector.test.ts
@@ -94,6 +94,16 @@ describe('ContainerDetector', () => {
       assert.ok(resource);
     });
 
+    it('should return a correctCgroupV2Data resource with v1Detector returns empty string ', async () => {
+      readStub = sinon.stub(ContainerDetector, 'readFileAsync' as any);
+      sinon.stub(containerDetector, '_getContainerIdV1' as any).resolves('');
+      sinon
+        .stub(containerDetector, '_getContainerIdV2' as any)
+        .resolves(correctCgroupV2Data);
+      const containerId = await containerDetector['_getContainerId']();
+      assert.strictEqual(containerId, correctCgroupV2Data);
+    });
+
     it('should return a resource without attribute container.id when cgroup file does not contain valid Container ID', async () => {
       readStub = sinon
         .stub(ContainerDetector, 'readFileAsync' as any)

From cac5cc9e9b45497bb15c9e0a6b267332bf95ce48 Mon Sep 17 00:00:00 2001
From: Mend Renovate <bot@renovateapp.com>
Date: Mon, 10 Jun 2024 14:57:10 +0200
Subject: [PATCH 029/123] chore(deps): update dependency
 @rollup/plugin-commonjs to v26 (#2264)

---
 package-lock.json                             | 179 ++++++------------
 .../package.json                              |   2 +-
 2 files changed, 54 insertions(+), 127 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 83cf4149f9..943618e2c9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9403,20 +9403,20 @@
       }
     },
     "node_modules/@rollup/plugin-commonjs": {
-      "version": "25.0.7",
-      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz",
-      "integrity": "sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==",
+      "version": "26.0.1",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz",
+      "integrity": "sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==",
       "dev": true,
       "dependencies": {
         "@rollup/pluginutils": "^5.0.1",
         "commondir": "^1.0.1",
         "estree-walker": "^2.0.2",
-        "glob": "^8.0.3",
+        "glob": "^10.4.1",
         "is-reference": "1.2.1",
         "magic-string": "^0.30.3"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=16.0.0 || 14 >= 14.17"
       },
       "peerDependencies": {
         "rollup": "^2.68.0||^3.0.0||^4.0.0"
@@ -9427,46 +9427,6 @@
         }
       }
     },
-    "node_modules/@rollup/plugin-commonjs/node_modules/brace-expansion": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
-      "dev": true,
-      "dependencies": {
-        "balanced-match": "^1.0.0"
-      }
-    },
-    "node_modules/@rollup/plugin-commonjs/node_modules/glob": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
-      "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
-      "dev": true,
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^5.0.1",
-        "once": "^1.3.0"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/@rollup/plugin-commonjs/node_modules/minimatch": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
-      "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
-      "dev": true,
-      "dependencies": {
-        "brace-expansion": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
     "node_modules/@rollup/plugin-node-resolve": {
       "version": "15.2.3",
       "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz",
@@ -18960,22 +18920,22 @@
       "dev": true
     },
     "node_modules/glob": {
-      "version": "10.3.10",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
-      "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
+      "version": "10.4.1",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
+      "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
       "dev": true,
       "dependencies": {
         "foreground-child": "^3.1.0",
-        "jackspeak": "^2.3.5",
-        "minimatch": "^9.0.1",
-        "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
-        "path-scurry": "^1.10.1"
+        "jackspeak": "^3.1.2",
+        "minimatch": "^9.0.4",
+        "minipass": "^7.1.2",
+        "path-scurry": "^1.11.1"
       },
       "bin": {
         "glob": "dist/esm/bin.mjs"
       },
       "engines": {
-        "node": ">=16 || 14 >=14.17"
+        "node": ">=16 || 14 >=14.18"
       },
       "funding": {
         "url": "https://github.com/sponsors/isaacs"
@@ -20991,9 +20951,9 @@
       }
     },
     "node_modules/jackspeak": {
-      "version": "2.3.6",
-      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
-      "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
+      "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
       "dev": true,
       "dependencies": {
         "@isaacs/cliui": "^8.0.2"
@@ -24549,9 +24509,9 @@
       "dev": true
     },
     "node_modules/minimatch": {
-      "version": "9.0.3",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
-      "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+      "version": "9.0.4",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+      "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
       "dev": true,
       "dependencies": {
         "brace-expansion": "^2.0.1"
@@ -24595,9 +24555,9 @@
       }
     },
     "node_modules/minipass": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
-      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+      "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
       "dev": true,
       "engines": {
         "node": ">=16 || 14 >=14.17"
@@ -28720,16 +28680,16 @@
       "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
     },
     "node_modules/path-scurry": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
-      "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
+      "version": "1.11.1",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+      "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
       "dev": true,
       "dependencies": {
-        "lru-cache": "^9.1.1 || ^10.0.0",
+        "lru-cache": "^10.2.0",
         "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
       },
       "engines": {
-        "node": ">=16 || 14 >=14.17"
+        "node": ">=16 || 14 >=14.18"
       },
       "funding": {
         "url": "https://github.com/sponsors/isaacs"
@@ -39051,7 +39011,7 @@
         "@babel/core": "7.22.17",
         "@jsdevtools/coverage-istanbul-loader": "3.0.5",
         "@opentelemetry/api": "^1.3.0",
-        "@rollup/plugin-commonjs": "^25.0.7",
+        "@rollup/plugin-commonjs": "^26.0.0",
         "@rollup/plugin-node-resolve": "^15.2.3",
         "@types/chai": "^4.3.10",
         "@types/mocha": "8.2.3",
@@ -46739,7 +46699,7 @@
         "@opentelemetry/sdk-trace-base": "^1.0.0",
         "@opentelemetry/sdk-trace-web": "^1.15.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@rollup/plugin-commonjs": "^25.0.7",
+        "@rollup/plugin-commonjs": "^26.0.0",
         "@rollup/plugin-node-resolve": "^15.2.3",
         "@types/chai": "^4.3.10",
         "@types/mocha": "8.2.3",
@@ -48895,50 +48855,17 @@
       "requires": {}
     },
     "@rollup/plugin-commonjs": {
-      "version": "25.0.7",
-      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz",
-      "integrity": "sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==",
+      "version": "26.0.1",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz",
+      "integrity": "sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==",
       "dev": true,
       "requires": {
         "@rollup/pluginutils": "^5.0.1",
         "commondir": "^1.0.1",
         "estree-walker": "^2.0.2",
-        "glob": "^8.0.3",
+        "glob": "^10.4.1",
         "is-reference": "1.2.1",
         "magic-string": "^0.30.3"
-      },
-      "dependencies": {
-        "brace-expansion": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-          "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
-          "dev": true,
-          "requires": {
-            "balanced-match": "^1.0.0"
-          }
-        },
-        "glob": {
-          "version": "8.1.0",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
-          "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^5.0.1",
-            "once": "^1.3.0"
-          }
-        },
-        "minimatch": {
-          "version": "5.1.6",
-          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
-          "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
-          "dev": true,
-          "requires": {
-            "brace-expansion": "^2.0.1"
-          }
-        }
       }
     },
     "@rollup/plugin-node-resolve": {
@@ -56547,16 +56474,16 @@
       }
     },
     "glob": {
-      "version": "10.3.10",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
-      "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
+      "version": "10.4.1",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
+      "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
       "dev": true,
       "requires": {
         "foreground-child": "^3.1.0",
-        "jackspeak": "^2.3.5",
-        "minimatch": "^9.0.1",
-        "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
-        "path-scurry": "^1.10.1"
+        "jackspeak": "^3.1.2",
+        "minimatch": "^9.0.4",
+        "minipass": "^7.1.2",
+        "path-scurry": "^1.11.1"
       },
       "dependencies": {
         "foreground-child": {
@@ -58059,9 +57986,9 @@
       }
     },
     "jackspeak": {
-      "version": "2.3.6",
-      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
-      "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
+      "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
       "dev": true,
       "requires": {
         "@isaacs/cliui": "^8.0.2",
@@ -60905,9 +60832,9 @@
       "dev": true
     },
     "minimatch": {
-      "version": "9.0.3",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
-      "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+      "version": "9.0.4",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+      "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
       "dev": true,
       "requires": {
         "brace-expansion": "^2.0.1"
@@ -60941,9 +60868,9 @@
       }
     },
     "minipass": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
-      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+      "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
       "dev": true
     },
     "minipass-collect": {
@@ -64260,12 +64187,12 @@
       "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
     },
     "path-scurry": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
-      "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
+      "version": "1.11.1",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+      "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
       "dev": true,
       "requires": {
-        "lru-cache": "^9.1.1 || ^10.0.0",
+        "lru-cache": "^10.2.0",
         "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
       },
       "dependencies": {
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/package.json b/plugins/web/opentelemetry-instrumentation-document-load/package.json
index 48c9831ce3..ebab74aea6 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/package.json
+++ b/plugins/web/opentelemetry-instrumentation-document-load/package.json
@@ -54,7 +54,7 @@
     "@babel/core": "7.22.17",
     "@jsdevtools/coverage-istanbul-loader": "3.0.5",
     "@opentelemetry/api": "^1.3.0",
-    "@rollup/plugin-commonjs": "^25.0.7",
+    "@rollup/plugin-commonjs": "^26.0.0",
     "@rollup/plugin-node-resolve": "^15.2.3",
     "@types/chai": "^4.3.10",
     "@types/mocha": "8.2.3",

From 93776fad10fb46ba4ba2bfe31a4825ec0929fd50 Mon Sep 17 00:00:00 2001
From: Jackson Weber <47067795+JacksonWeber@users.noreply.github.com>
Date: Mon, 10 Jun 2024 05:58:08 -0700
Subject: [PATCH 030/123] fix(azure-functions-resource-detector): Update Azure
 Functions Detector to Consider WEBSITE_SKU (#2251)

* fix: Update the functions detector check to include SKU.

* Resolve PR comments.

---------

Co-authored-by: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com>
Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 .../src/detectors/AzureAppServiceDetector.ts  |  6 ++---
 .../src/detectors/AzureFunctionsDetector.ts   |  7 +++---
 .../src/types.ts                              |  1 +
 .../src/utils.ts                              | 14 ++++++++++-
 .../detectors/AzureFunctionsDetector.test.ts  | 24 +++++++++++++++++++
 5 files changed, 43 insertions(+), 9 deletions(-)

diff --git a/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureAppServiceDetector.ts b/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureAppServiceDetector.ts
index 72b2fc8ac1..09c66ea7ca 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureAppServiceDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureAppServiceDetector.ts
@@ -24,7 +24,6 @@ import {
   WEBSITE_SITE_NAME,
   WEBSITE_SLOT_NAME,
   CLOUD_RESOURCE_ID_RESOURCE_ATTRIBUTE,
-  FUNCTIONS_VERSION,
 } from '../types';
 import {
   SEMRESATTRS_CLOUD_REGION,
@@ -37,7 +36,7 @@ import {
   CLOUDPROVIDERVALUES_AZURE,
   CLOUDPLATFORMVALUES_AZURE_APP_SERVICE,
 } from '@opentelemetry/semantic-conventions';
-import { getAzureResourceUri } from '../utils';
+import { getAzureResourceUri, isAzureFunction } from '../utils';
 
 const APP_SERVICE_ATTRIBUTE_ENV_VARS = {
   [SEMRESATTRS_CLOUD_REGION]: REGION_NAME,
@@ -55,8 +54,7 @@ class AzureAppServiceDetector implements DetectorSync {
   detect(): IResource {
     let attributes = {};
     const websiteSiteName = process.env[WEBSITE_SITE_NAME];
-    const isAzureFunction = !!process.env[FUNCTIONS_VERSION];
-    if (websiteSiteName && !isAzureFunction) {
+    if (websiteSiteName && !isAzureFunction()) {
       attributes = {
         ...attributes,
         [SEMRESATTRS_SERVICE_NAME]: websiteSiteName,
diff --git a/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureFunctionsDetector.ts b/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureFunctionsDetector.ts
index 74cd9e3054..acd214bea0 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureFunctionsDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureFunctionsDetector.ts
@@ -29,13 +29,12 @@ import {
 } from '@opentelemetry/semantic-conventions';
 import {
   WEBSITE_SITE_NAME,
-  FUNCTIONS_VERSION,
   WEBSITE_INSTANCE_ID,
   FUNCTIONS_MEM_LIMIT,
   REGION_NAME,
   CLOUD_RESOURCE_ID_RESOURCE_ATTRIBUTE,
 } from '../types';
-import { getAzureResourceUri } from '../utils';
+import { getAzureResourceUri, isAzureFunction } from '../utils';
 
 const AZURE_FUNCTIONS_ATTRIBUTE_ENV_VARS = {
   [SEMRESATTRS_SERVICE_NAME]: WEBSITE_SITE_NAME,
@@ -51,13 +50,13 @@ class AzureFunctionsDetector implements DetectorSync {
   detect(): IResource {
     let attributes = {};
     const serviceName = process.env[WEBSITE_SITE_NAME];
-    const functionVersion = process.env[FUNCTIONS_VERSION];
 
     /**
      * Checks that we are operating within an Azure Function using the function version since WEBSITE_SITE_NAME
      * will exist in Azure App Service as well and detectors should be mutually exclusive.
+     * If the function version is not present, we check for the website sku to determine if it is a function.
      */
-    if (serviceName && functionVersion) {
+    if (serviceName && isAzureFunction()) {
       const functionInstance = process.env[WEBSITE_INSTANCE_ID];
       const functionMemLimit = process.env[FUNCTIONS_MEM_LIMIT];
 
diff --git a/detectors/node/opentelemetry-resource-detector-azure/src/types.ts b/detectors/node/opentelemetry-resource-detector-azure/src/types.ts
index 645b4b7073..965bbba4ad 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/src/types.ts
+++ b/detectors/node/opentelemetry-resource-detector-azure/src/types.ts
@@ -25,6 +25,7 @@ export const WEBSITE_OWNER_NAME = 'WEBSITE_OWNER_NAME';
 export const WEBSITE_RESOURCE_GROUP = 'WEBSITE_RESOURCE_GROUP';
 export const WEBSITE_SITE_NAME = 'WEBSITE_SITE_NAME';
 export const WEBSITE_SLOT_NAME = 'WEBSITE_SLOT_NAME';
+export const WEBSITE_SKU = 'WEBSITE_SKU';
 
 export const FUNCTIONS_VERSION = 'FUNCTIONS_EXTENSION_VERSION';
 export const FUNCTIONS_MEM_LIMIT = 'WEBSITE_MEMORY_LIMIT_MB';
diff --git a/detectors/node/opentelemetry-resource-detector-azure/src/utils.ts b/detectors/node/opentelemetry-resource-detector-azure/src/utils.ts
index 2b12431bdd..ceb548de27 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/src/utils.ts
+++ b/detectors/node/opentelemetry-resource-detector-azure/src/utils.ts
@@ -14,7 +14,12 @@
  * limitations under the License.
  */
 
-import { WEBSITE_OWNER_NAME, WEBSITE_RESOURCE_GROUP } from './types';
+import {
+  FUNCTIONS_VERSION,
+  WEBSITE_OWNER_NAME,
+  WEBSITE_RESOURCE_GROUP,
+  WEBSITE_SKU,
+} from './types';
 
 export function getAzureResourceUri(
   websiteSiteName: string
@@ -33,3 +38,10 @@ export function getAzureResourceUri(
 
   return `/subscriptions/${subscriptionId}/resourceGroups/${websiteResourceGroup}/providers/Microsoft.Web/sites/${websiteSiteName}`;
 }
+
+export function isAzureFunction(): boolean {
+  return !!(
+    process.env[FUNCTIONS_VERSION] ||
+    process.env[WEBSITE_SKU] === 'FlexConsumption'
+  );
+}
diff --git a/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureFunctionsDetector.test.ts b/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureFunctionsDetector.test.ts
index 1effe3a996..4c5710958c 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureFunctionsDetector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureFunctionsDetector.test.ts
@@ -102,3 +102,27 @@ describe('AzureFunctionsDetector', () => {
     );
   });
 });
+
+it('should detect azure functions if websiteSku is defined as FlexConsumption', () => {
+  assert.ok(!process.env.WEBSITE_SKU && !process.env.FUNCTIONS_VERSION);
+  process.env.WEBSITE_SITE_NAME = 'test-service';
+  process.env.REGION_NAME = 'test-region';
+  process.env.WEBSITE_INSTANCE_ID = 'test-instance-id';
+  process.env.WEBSITE_SKU = 'FlexConsumption';
+  process.env.WEBSITE_MEMORY_LIMIT_MB = '1000';
+  process.env.WEBSITE_OWNER_NAME = 'test-owner-name';
+  process.env.WEBSITE_RESOURCE_GROUP = 'test-resource-group';
+
+  const resource = detectResourcesSync({
+    detectors: [azureFunctionsDetector, azureAppServiceDetector],
+  });
+  assert.ok(resource);
+  const attributes = resource.attributes;
+  assert.strictEqual(attributes[SEMRESATTRS_SERVICE_NAME], 'test-service');
+  assert.strictEqual(attributes[SEMRESATTRS_CLOUD_PROVIDER], 'azure');
+
+  // Should not detect app service values
+  assert.strictEqual(attributes[SEMRESATTRS_SERVICE_INSTANCE_ID], undefined);
+  assert.strictEqual(attributes[SEMRESATTRS_PROCESS_PID], process.pid);
+  delete process.env.WEBSITE_SKU;
+});

From ce5f48d6960726bed69fac0ef07747780fa02a63 Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Mon, 10 Jun 2024 15:11:14 +0200
Subject: [PATCH 031/123] fix(instr-express): keep hidden properties in layer
 handlers (#2137)

* fix(instr-express): keep hidden properties in router layer handle function

* chore(instr-express): re-enable ESM test

* chore(instr-express): fix lint issues

* chore(instr-express): fix lint issues

* chore(instr-expres): update internal types

* chore(instr-express): fix lint issues

---------

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 .../src/instrumentation.ts                    | 28 ++++++++++++-----
 .../src/internal-types.ts                     |  2 +-
 .../test/express.test.ts                      | 30 +++++++++++++++++++
 3 files changed, 52 insertions(+), 8 deletions(-)

diff --git a/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
index 8337a17427..f15e8cb2ce 100644
--- a/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
@@ -152,11 +152,7 @@ export class ExpressInstrumentation extends InstrumentationBase {
       ) {
         const route = original.apply(this, args);
         const layer = this._router.stack[this._router.stack.length - 1];
-        instrumentation._applyPatch.call(
-          instrumentation,
-          layer,
-          getLayerPath(args)
-        );
+        instrumentation._applyPatch(layer, getLayerPath(args));
         return route;
       };
     };
@@ -173,10 +169,11 @@ export class ExpressInstrumentation extends InstrumentationBase {
     if (layer[kLayerPatched] === true) return;
     layer[kLayerPatched] = true;
 
-    this._wrap(layer, 'handle', (original: Function) => {
+    this._wrap(layer, 'handle', original => {
       // TODO: instrument error handlers
       if (original.length === 4) return original;
-      return function (
+
+      const patched = function (
         this: ExpressLayer,
         req: PatchedRequest,
         res: express.Response
@@ -313,6 +310,23 @@ export class ExpressInstrumentation extends InstrumentationBase {
           }
         }
       };
+
+      // `handle` isn't just a regular function in some cases. It also contains
+      // some properties holding metadata and state so we need to proxy them
+      // through through patched function
+      // ref: https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1950
+      Object.keys(original).forEach(key => {
+        Object.defineProperty(patched, key, {
+          get() {
+            return original[key];
+          },
+          set(value) {
+            original[key] = value;
+          },
+        });
+      });
+
+      return patched;
     });
   }
 
diff --git a/plugins/node/opentelemetry-instrumentation-express/src/internal-types.ts b/plugins/node/opentelemetry-instrumentation-express/src/internal-types.ts
index 29d1de2d8e..a661bf9de4 100644
--- a/plugins/node/opentelemetry-instrumentation-express/src/internal-types.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/src/internal-types.ts
@@ -58,7 +58,7 @@ export type ExpressRouter = {
 
 // https://github.com/expressjs/express/blob/main/lib/router/layer.js#L33
 export type ExpressLayer = {
-  handle: Function;
+  handle: Function & Record<string, any>;
   [kLayerPatched]?: boolean;
   name: string;
   params: { [key: string]: string };
diff --git a/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts b/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
index 16c4602b36..e13c13a424 100644
--- a/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
@@ -488,6 +488,35 @@ describe('ExpressInstrumentation', () => {
         }
       );
     });
+
+    it('should keep stack in the router layer handle', async () => {
+      const rootSpan = tracer.startSpan('rootSpan');
+      let routerLayer: { name: string; handle: { stack: any[] } };
+      const httpServer = await serverWithMiddleware(tracer, rootSpan, app => {
+        app.use(express.json());
+        app.get('/bare_route', (req, res) => {
+          const stack = req.app._router.stack as any[];
+          routerLayer = stack.find(layer => layer.name === 'router');
+          return res.status(200).end('test');
+        });
+      });
+      server = httpServer.server;
+      port = httpServer.port;
+      await context.with(
+        trace.setSpan(context.active(), rootSpan),
+        async () => {
+          const response = await httpRequest.get(
+            `http://localhost:${port}/bare_route`
+          );
+          assert.strictEqual(response, 'test');
+          rootSpan.end();
+          assert.ok(
+            routerLayer?.handle?.stack?.length === 1,
+            'router layer stack is accessible'
+          );
+        }
+      );
+    });
   });
 
   describe('Disabling plugin', () => {
@@ -527,6 +556,7 @@ describe('ExpressInstrumentation', () => {
       );
     });
   });
+
   it('should work with ESM usage', async () => {
     await testUtils.runTestFixture({
       cwd: __dirname,

From 93e7aab9a38e22c9ef6c0a9053f817e7e52a687c Mon Sep 17 00:00:00 2001
From: Daniel Dyla <dyladan@users.noreply.github.com>
Date: Mon, 10 Jun 2024 10:05:28 -0400
Subject: [PATCH 032/123] chore: release main (#2263)

* chore: release main

* chore: sync package-lock.json

---------

Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
---
 .release-please-manifest.json                 | 12 ++++----
 .../CHANGELOG.md                              |  7 +++++
 .../package.json                              |  2 +-
 .../CHANGELOG.md                              |  7 +++++
 .../package.json                              |  2 +-
 .../auto-instrumentations-node/CHANGELOG.md   | 12 ++++++++
 .../auto-instrumentations-node/package.json   | 10 +++----
 package-lock.json                             | 28 +++++++++----------
 packages/baggage-span-processor/CHANGELOG.md  |  7 +++++
 packages/baggage-span-processor/package.json  |  2 +-
 .../CHANGELOG.md                              |  7 +++++
 .../package.json                              |  2 +-
 .../CHANGELOG.md                              |  7 +++++
 .../package.json                              |  2 +-
 14 files changed, 77 insertions(+), 30 deletions(-)

diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index cddc172ae7..6f6e24deed 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,14 +1,14 @@
 {
   "detectors/node/opentelemetry-resource-detector-alibaba-cloud": "0.28.10",
   "detectors/node/opentelemetry-resource-detector-aws": "1.5.1",
-  "detectors/node/opentelemetry-resource-detector-azure": "0.2.8",
-  "detectors/node/opentelemetry-resource-detector-container": "0.3.10",
+  "detectors/node/opentelemetry-resource-detector-azure": "0.2.9",
+  "detectors/node/opentelemetry-resource-detector-container": "0.3.11",
   "detectors/node/opentelemetry-resource-detector-gcp": "0.29.10",
   "detectors/node/opentelemetry-resource-detector-github": "0.28.2",
   "detectors/node/opentelemetry-resource-detector-instana": "0.10.0",
-  "metapackages/auto-instrumentations-node": "0.47.0",
+  "metapackages/auto-instrumentations-node": "0.47.1",
   "metapackages/auto-instrumentations-web": "0.40.0",
-  "packages/baggage-span-processor": "0.3.0",
+  "packages/baggage-span-processor": "0.3.1",
   "packages/opentelemetry-host-metrics": "0.35.2",
   "packages/opentelemetry-id-generator-aws-xray": "1.2.2",
   "packages/opentelemetry-propagation-utils": "0.30.10",
@@ -33,7 +33,7 @@
   "plugins/node/opentelemetry-instrumentation-cassandra": "0.39.0",
   "plugins/node/opentelemetry-instrumentation-connect": "0.37.0",
   "plugins/node/opentelemetry-instrumentation-dns": "0.37.0",
-  "plugins/node/opentelemetry-instrumentation-express": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-express": "0.40.1",
   "plugins/node/opentelemetry-instrumentation-fastify": "0.37.0",
   "plugins/node/opentelemetry-instrumentation-generic-pool": "0.37.0",
   "plugins/node/opentelemetry-instrumentation-graphql": "0.41.0",
@@ -42,7 +42,7 @@
   "plugins/node/opentelemetry-instrumentation-knex": "0.37.0",
   "plugins/node/opentelemetry-instrumentation-koa": "0.41.0",
   "plugins/node/opentelemetry-instrumentation-memcached": "0.37.0",
-  "plugins/node/opentelemetry-instrumentation-mongodb": "0.44.0",
+  "plugins/node/opentelemetry-instrumentation-mongodb": "0.45.0",
   "plugins/node/opentelemetry-instrumentation-mysql": "0.39.0",
   "plugins/node/opentelemetry-instrumentation-mysql2": "0.39.0",
   "plugins/node/opentelemetry-instrumentation-nestjs-core": "0.38.0",
diff --git a/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
index 971cd2b626..a5c34216ff 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.2.9](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-azure-v0.2.8...resource-detector-azure-v0.2.9) (2024-06-10)
+
+
+### Bug Fixes
+
+* **azure-functions-resource-detector:** Update Azure Functions Detector to Consider WEBSITE_SKU ([#2251](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2251)) ([93776fa](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/93776fad10fb46ba4ba2bfe31a4825ec0929fd50))
+
 ## [0.2.8](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-azure-v0.2.7...resource-detector-azure-v0.2.8) (2024-06-06)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-azure/package.json b/detectors/node/opentelemetry-resource-detector-azure/package.json
index f605644531..6d3a7df76c 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/package.json
+++ b/detectors/node/opentelemetry-resource-detector-azure/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-azure",
-  "version": "0.2.8",
+  "version": "0.2.9",
   "description": "OpenTelemetry SDK resource detector for Azure",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
index 3a038bfd23..6ba1ceea56 100644
--- a/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.3.11](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-container-v0.3.10...resource-detector-container-v0.3.11) (2024-06-10)
+
+
+### Bug Fixes
+
+* ContainerId not detected post version 0.2.2 ([#2270](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2270)) ([9761a91](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9761a9160c862b9f8a35c00afc26217973e4462a))
+
 ## [0.3.10](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-container-v0.3.9...resource-detector-container-v0.3.10) (2024-06-06)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-container/package.json b/detectors/node/opentelemetry-resource-detector-container/package.json
index 3046fff49d..06fb2824bb 100644
--- a/detectors/node/opentelemetry-resource-detector-container/package.json
+++ b/detectors/node/opentelemetry-resource-detector-container/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-container",
-  "version": "0.3.10",
+  "version": "0.3.11",
   "description": "Opentelemetry resource detector to get container resource attributes",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/metapackages/auto-instrumentations-node/CHANGELOG.md b/metapackages/auto-instrumentations-node/CHANGELOG.md
index 2440ca657d..d3da087169 100644
--- a/metapackages/auto-instrumentations-node/CHANGELOG.md
+++ b/metapackages/auto-instrumentations-node/CHANGELOG.md
@@ -1,5 +1,17 @@
 # Changelog
 
+## [0.47.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.47.0...auto-instrumentations-node-v0.47.1) (2024-06-10)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * dependencies
+    * @opentelemetry/instrumentation-express bumped from ^0.40.0 to ^0.40.1
+    * @opentelemetry/instrumentation-mongodb bumped from ^0.44.0 to ^0.45.0
+    * @opentelemetry/resource-detector-azure bumped from ^0.2.8 to ^0.2.9
+    * @opentelemetry/resource-detector-container bumped from ^0.3.10 to ^0.3.11
+
 ## [0.47.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.46.1...auto-instrumentations-node-v0.47.0) (2024-06-06)
 
 
diff --git a/metapackages/auto-instrumentations-node/package.json b/metapackages/auto-instrumentations-node/package.json
index 8b2270ffa2..53028866b8 100644
--- a/metapackages/auto-instrumentations-node/package.json
+++ b/metapackages/auto-instrumentations-node/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/auto-instrumentations-node",
-  "version": "0.47.0",
+  "version": "0.47.1",
   "description": "Metapackage which bundles opentelemetry node core and contrib instrumentations",
   "author": "OpenTelemetry Authors",
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-instrumentations-node#readme",
@@ -59,7 +59,7 @@
     "@opentelemetry/instrumentation-cucumber": "^0.7.0",
     "@opentelemetry/instrumentation-dataloader": "^0.10.0",
     "@opentelemetry/instrumentation-dns": "^0.37.0",
-    "@opentelemetry/instrumentation-express": "^0.40.0",
+    "@opentelemetry/instrumentation-express": "^0.40.1",
     "@opentelemetry/instrumentation-fastify": "^0.37.0",
     "@opentelemetry/instrumentation-fs": "^0.13.0",
     "@opentelemetry/instrumentation-generic-pool": "^0.37.0",
@@ -72,7 +72,7 @@
     "@opentelemetry/instrumentation-koa": "^0.41.0",
     "@opentelemetry/instrumentation-lru-memoizer": "^0.38.0",
     "@opentelemetry/instrumentation-memcached": "^0.37.0",
-    "@opentelemetry/instrumentation-mongodb": "^0.44.0",
+    "@opentelemetry/instrumentation-mongodb": "^0.45.0",
     "@opentelemetry/instrumentation-mongoose": "^0.39.0",
     "@opentelemetry/instrumentation-mysql": "^0.39.0",
     "@opentelemetry/instrumentation-mysql2": "^0.39.0",
@@ -90,8 +90,8 @@
     "@opentelemetry/instrumentation-winston": "^0.38.0",
     "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
     "@opentelemetry/resource-detector-aws": "^1.5.1",
-    "@opentelemetry/resource-detector-azure": "^0.2.8",
-    "@opentelemetry/resource-detector-container": "^0.3.10",
+    "@opentelemetry/resource-detector-azure": "^0.2.9",
+    "@opentelemetry/resource-detector-container": "^0.3.11",
     "@opentelemetry/resource-detector-gcp": "^0.29.10",
     "@opentelemetry/resources": "^1.24.0",
     "@opentelemetry/sdk-node": "^0.52.0"
diff --git a/package-lock.json b/package-lock.json
index 943618e2c9..b3d86f0f4c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -109,7 +109,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-azure": {
       "name": "@opentelemetry/resource-detector-azure",
-      "version": "0.2.8",
+      "version": "0.2.9",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.10.1",
@@ -143,7 +143,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-container": {
       "name": "@opentelemetry/resource-detector-container",
-      "version": "0.3.10",
+      "version": "0.3.11",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.0.0",
@@ -282,7 +282,7 @@
     },
     "metapackages/auto-instrumentations-node": {
       "name": "@opentelemetry/auto-instrumentations-node",
-      "version": "0.47.0",
+      "version": "0.47.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -295,7 +295,7 @@
         "@opentelemetry/instrumentation-cucumber": "^0.7.0",
         "@opentelemetry/instrumentation-dataloader": "^0.10.0",
         "@opentelemetry/instrumentation-dns": "^0.37.0",
-        "@opentelemetry/instrumentation-express": "^0.40.0",
+        "@opentelemetry/instrumentation-express": "^0.40.1",
         "@opentelemetry/instrumentation-fastify": "^0.37.0",
         "@opentelemetry/instrumentation-fs": "^0.13.0",
         "@opentelemetry/instrumentation-generic-pool": "^0.37.0",
@@ -308,7 +308,7 @@
         "@opentelemetry/instrumentation-koa": "^0.41.0",
         "@opentelemetry/instrumentation-lru-memoizer": "^0.38.0",
         "@opentelemetry/instrumentation-memcached": "^0.37.0",
-        "@opentelemetry/instrumentation-mongodb": "^0.44.0",
+        "@opentelemetry/instrumentation-mongodb": "^0.45.0",
         "@opentelemetry/instrumentation-mongoose": "^0.39.0",
         "@opentelemetry/instrumentation-mysql": "^0.39.0",
         "@opentelemetry/instrumentation-mysql2": "^0.39.0",
@@ -326,8 +326,8 @@
         "@opentelemetry/instrumentation-winston": "^0.38.0",
         "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
         "@opentelemetry/resource-detector-aws": "^1.5.1",
-        "@opentelemetry/resource-detector-azure": "^0.2.8",
-        "@opentelemetry/resource-detector-container": "^0.3.10",
+        "@opentelemetry/resource-detector-azure": "^0.2.9",
+        "@opentelemetry/resource-detector-container": "^0.3.11",
         "@opentelemetry/resource-detector-gcp": "^0.29.10",
         "@opentelemetry/resources": "^1.24.0",
         "@opentelemetry/sdk-node": "^0.52.0"
@@ -36732,7 +36732,7 @@
     },
     "packages/baggage-span-processor": {
       "name": "@opentelemetry/baggage-span-processor",
-      "version": "0.3.0",
+      "version": "0.3.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/sdk-trace-base": "^1.0.0"
@@ -37932,7 +37932,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-express": {
       "name": "@opentelemetry/instrumentation-express",
-      "version": "0.40.0",
+      "version": "0.40.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38283,7 +38283,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-mongodb": {
       "name": "@opentelemetry/instrumentation-mongodb",
-      "version": "0.44.0",
+      "version": "0.45.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -46126,7 +46126,7 @@
         "@opentelemetry/instrumentation-cucumber": "^0.7.0",
         "@opentelemetry/instrumentation-dataloader": "^0.10.0",
         "@opentelemetry/instrumentation-dns": "^0.37.0",
-        "@opentelemetry/instrumentation-express": "^0.40.0",
+        "@opentelemetry/instrumentation-express": "^0.40.1",
         "@opentelemetry/instrumentation-fastify": "^0.37.0",
         "@opentelemetry/instrumentation-fs": "^0.13.0",
         "@opentelemetry/instrumentation-generic-pool": "^0.37.0",
@@ -46139,7 +46139,7 @@
         "@opentelemetry/instrumentation-koa": "^0.41.0",
         "@opentelemetry/instrumentation-lru-memoizer": "^0.38.0",
         "@opentelemetry/instrumentation-memcached": "^0.37.0",
-        "@opentelemetry/instrumentation-mongodb": "^0.44.0",
+        "@opentelemetry/instrumentation-mongodb": "^0.45.0",
         "@opentelemetry/instrumentation-mongoose": "^0.39.0",
         "@opentelemetry/instrumentation-mysql": "^0.39.0",
         "@opentelemetry/instrumentation-mysql2": "^0.39.0",
@@ -46157,8 +46157,8 @@
         "@opentelemetry/instrumentation-winston": "^0.38.0",
         "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
         "@opentelemetry/resource-detector-aws": "^1.5.1",
-        "@opentelemetry/resource-detector-azure": "^0.2.8",
-        "@opentelemetry/resource-detector-container": "^0.3.10",
+        "@opentelemetry/resource-detector-azure": "^0.2.9",
+        "@opentelemetry/resource-detector-container": "^0.3.11",
         "@opentelemetry/resource-detector-gcp": "^0.29.10",
         "@opentelemetry/resources": "^1.24.0",
         "@opentelemetry/sdk-node": "^0.52.0",
diff --git a/packages/baggage-span-processor/CHANGELOG.md b/packages/baggage-span-processor/CHANGELOG.md
index eef7f3a900..41dd2d80af 100644
--- a/packages/baggage-span-processor/CHANGELOG.md
+++ b/packages/baggage-span-processor/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.3.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/baggage-span-processor-v0.3.0...baggage-span-processor-v0.3.1) (2024-06-10)
+
+
+### Bug Fixes
+
+* **baggage-span-processor:** cannot find module ([#2260](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2260)) ([6721bdd](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/6721bddc2d190befabab95f706ca467d06633674))
+
 ## [0.3.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/baggage-span-processor-v0.2.0...baggage-span-processor-v0.3.0) (2024-06-06)
 
 
diff --git a/packages/baggage-span-processor/package.json b/packages/baggage-span-processor/package.json
index 9ecad18e36..f61aa0e39a 100644
--- a/packages/baggage-span-processor/package.json
+++ b/packages/baggage-span-processor/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/baggage-span-processor",
-  "version": "0.3.0",
+  "version": "0.3.1",
   "description": "OpenTelemetry Baggage Span Processor for Node.js",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
index e90b68a690..37c57d491d 100644
--- a/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.40.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-express-v0.40.0...instrumentation-express-v0.40.1) (2024-06-10)
+
+
+### Bug Fixes
+
+* **instr-express:** keep hidden properties in layer handlers ([#2137](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2137)) ([ce5f48d](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/ce5f48d6960726bed69fac0ef07747780fa02a63))
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-express-v0.39.0...instrumentation-express-v0.40.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-express/package.json b/plugins/node/opentelemetry-instrumentation-express/package.json
index ec071012dd..d8aa38a859 100644
--- a/plugins/node/opentelemetry-instrumentation-express/package.json
+++ b/plugins/node/opentelemetry-instrumentation-express/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-express",
-  "version": "0.40.0",
+  "version": "0.40.1",
   "description": "OpenTelemetry instrumentation for `express` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
index d26b226e85..8038c77321 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.45.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongodb-v0.44.0...instrumentation-mongodb-v0.45.0) (2024-06-10)
+
+
+### Features
+
+* **instrumentation-mongodb:** support aggregation commands and support nested statements ([#1728](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1728)) ([2b1360d](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/2b1360daea5254d15c7dba71c30748630d92c17f))
+
 ## [0.44.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongodb-v0.43.0...instrumentation-mongodb-v0.44.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/package.json b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
index 6ed3a117de..7570e0afe6 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mongodb",
-  "version": "0.44.0",
+  "version": "0.45.0",
   "description": "OpenTelemetry instrumentation for `mongodb` database client for MongoDB",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",

From dadf30828e7008df7b85c8bd7eaacb90770aac5c Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Mon, 10 Jun 2024 09:49:40 -0700
Subject: [PATCH 033/123] test(instrumentation-pino): refactor Pino tests for
 correctness (#2247)

Before this change the 'PinoInstrumentation' was being created
one or more times per test case, which results in the pino
module getting wrapped *each* time. The pino instrumentation
wraps the top-level/default export, so it cannot use the typical
instrumentation._wrap along with isWrapped/unwrap handling.
The result was a stack of pino() being wrapped over a dozen
times, with each of those 'patchedPino's being active.

This caused debugging complexity. For example, every test
case after the logKeys test case would get span context
fields being added as trace_id/span_id *and* traceId/spandId
because the earlier PinoInstrumentation was still active.
I suspect the 'pino-disabled.test.ts' tests were only
working because they ran *first*, because 'disabled' luckily
comes before 'enabled' alphabetically.

This refactors the tests back to a single file
(because mocha runs separate test files in the same
process there is some cross-talk between the files), and
works with a single instance of PinoInstrumentation.
FWIW the instr-bunyan and instr-winston tests work
similarly.
---
 package-lock.json                             |   2 -
 .../package.json                              |   1 -
 .../test/common.ts                            | 121 -----
 .../test/pino-disabled.test.ts                |  86 ----
 .../test/pino-enabled.test.ts                 | 310 -------------
 .../test/pino.test.ts                         | 432 ++++++++++++++++++
 6 files changed, 432 insertions(+), 520 deletions(-)
 delete mode 100644 plugins/node/opentelemetry-instrumentation-pino/test/common.ts
 delete mode 100644 plugins/node/opentelemetry-instrumentation-pino/test/pino-disabled.test.ts
 delete mode 100644 plugins/node/opentelemetry-instrumentation-pino/test/pino-enabled.test.ts
 create mode 100644 plugins/node/opentelemetry-instrumentation-pino/test/pino.test.ts

diff --git a/package-lock.json b/package-lock.json
index b3d86f0f4c..6ab3eb4f09 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -38725,7 +38725,6 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -47454,7 +47453,6 @@
       "version": "file:plugins/node/opentelemetry-instrumentation-pino",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
diff --git a/plugins/node/opentelemetry-instrumentation-pino/package.json b/plugins/node/opentelemetry-instrumentation-pino/package.json
index 684b5a7e87..3d5bb458b1 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pino/package.json
@@ -45,7 +45,6 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/context-async-hooks": "^1.8.0",
     "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
diff --git a/plugins/node/opentelemetry-instrumentation-pino/test/common.ts b/plugins/node/opentelemetry-instrumentation-pino/test/common.ts
deleted file mode 100644
index 006f169e32..0000000000
--- a/plugins/node/opentelemetry-instrumentation-pino/test/common.ts
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import * as assert from 'assert';
-import * as sinon from 'sinon';
-
-import { PinoInstrumentation, PinoInstrumentationConfig } from '../src';
-
-import type { pino as Pino } from 'pino';
-import { Span } from '@opentelemetry/api';
-import { Writable } from 'stream';
-
-export const kMessage = 'log-message';
-
-export interface TestContext {
-  stream: Writable;
-  writeSpy: sinon.SinonSpy;
-  logger: Pino.Logger;
-}
-
-export interface TestInstrumentation {
-  instrumentation: PinoInstrumentation;
-  pino: typeof Pino;
-}
-
-export type TestInstrumentationAndContext = TestContext & TestInstrumentation;
-
-export function assertRecord(
-  record: any,
-  span: Span,
-  expectedKeys?: PinoInstrumentationConfig['logKeys']
-) {
-  const { traceId, spanId, traceFlags } = span.spanContext();
-  assert.strictEqual(record[expectedKeys?.traceId ?? 'trace_id'], traceId);
-  assert.strictEqual(record[expectedKeys?.spanId ?? 'span_id'], spanId);
-  assert.strictEqual(
-    record[expectedKeys?.traceFlags ?? 'trace_flags'],
-    `0${traceFlags.toString(16)}`
-  );
-  assert.strictEqual(kMessage, record['msg']);
-}
-
-export function assertInjection(
-  span: Span,
-  testContext: TestContext,
-  expectedKeys?: PinoInstrumentationConfig['logKeys']
-) {
-  sinon.assert.calledOnce(testContext.writeSpy);
-  const record = JSON.parse(testContext.writeSpy.firstCall.args[0].toString());
-  assertRecord(record, span, expectedKeys);
-  return record;
-}
-
-export function testInjection(
-  span: Span,
-  testContext: TestContext,
-  expectedKeys?: PinoInstrumentationConfig['logKeys']
-) {
-  testContext.logger.info(kMessage);
-  return assertInjection(span, testContext, expectedKeys);
-}
-
-export function testNoInjection(testContext: TestContext) {
-  testContext.logger.info(kMessage);
-  sinon.assert.calledOnce(testContext.writeSpy);
-  const record = JSON.parse(testContext.writeSpy.firstCall.args[0].toString());
-  assert.strictEqual(record['trace_id'], undefined);
-  assert.strictEqual(record['span_id'], undefined);
-  assert.strictEqual(record['trace_flags'], undefined);
-  assert.strictEqual(kMessage, record['msg']);
-  return record;
-}
-
-export function initTestContext(
-  testInstrumentation: TestInstrumentation,
-  importType: 'global' | 'default' | 'pino' = 'global'
-): TestContext {
-  const stream = new Writable();
-  stream._write = () => {};
-  const writeSpy = sinon.spy(stream, 'write');
-  const logger =
-    importType === 'global'
-      ? testInstrumentation.pino(stream)
-      : // @ts-expect-error the same function reexported
-        testInstrumentation.pino[importType](stream);
-
-  return { stream, writeSpy, logger };
-}
-
-export function setupInstrumentation(
-  config?: PinoInstrumentationConfig
-): TestInstrumentation {
-  const instrumentation = new PinoInstrumentation(config);
-  if (config?.enabled !== false) {
-    instrumentation.enable();
-  }
-  const pino = require('pino');
-  return { instrumentation, pino };
-}
-
-export function setupInstrumentationAndInitTestContext(
-  config?: PinoInstrumentationConfig,
-  importType: 'global' | 'default' | 'pino' = 'global'
-) {
-  const instrumentation = setupInstrumentation(config);
-  const context = initTestContext(instrumentation, importType);
-  return { ...instrumentation, ...context };
-}
diff --git a/plugins/node/opentelemetry-instrumentation-pino/test/pino-disabled.test.ts b/plugins/node/opentelemetry-instrumentation-pino/test/pino-disabled.test.ts
deleted file mode 100644
index f8258db444..0000000000
--- a/plugins/node/opentelemetry-instrumentation-pino/test/pino-disabled.test.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import * as assert from 'assert';
-
-import {
-  InMemorySpanExporter,
-  SimpleSpanProcessor,
-} from '@opentelemetry/sdk-trace-base';
-import {
-  TestContext,
-  TestInstrumentation,
-  initTestContext,
-  setupInstrumentation,
-  testInjection,
-  testNoInjection,
-} from './common';
-import { context, trace } from '@opentelemetry/api';
-
-import { AsyncHooksContextManager } from '@opentelemetry/context-async-hooks';
-import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
-
-const memoryExporter = new InMemorySpanExporter();
-const provider = new NodeTracerProvider();
-const tracer = provider.getTracer('default');
-provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
-context.setGlobalContextManager(new AsyncHooksContextManager());
-
-describe('PinoInstrumentation', () => {
-  describe('disabled instrumentation', () => {
-    let testInstrumentation: TestInstrumentation;
-    let testContext: TestContext;
-    before(() => {
-      testInstrumentation = setupInstrumentation();
-      testContext = initTestContext(testInstrumentation);
-      testInstrumentation.instrumentation.disable();
-    });
-    after(() => testInstrumentation.instrumentation.enable());
-
-    beforeEach(() => {
-      testContext = initTestContext(testInstrumentation);
-    });
-
-    it('does not inject span context', () => {
-      const span = tracer.startSpan('abc');
-      context.with(trace.setSpan(context.active(), span), () => {
-        testNoInjection(testContext);
-      });
-    });
-
-    it('does not call log hook', () => {
-      const span = tracer.startSpan('abc');
-      testInstrumentation.instrumentation.setConfig({
-        enabled: false,
-        logHook: (_span, record) => {
-          record['resource.service.name'] = 'test-service';
-        },
-      });
-      context.with(trace.setSpan(context.active(), span), () => {
-        const record = testNoInjection(testContext);
-        assert.strictEqual(record['resource.service.name'], undefined);
-      });
-    });
-
-    it('injects span context once re-enabled', () => {
-      testInstrumentation.instrumentation.enable();
-      const span = tracer.startSpan('abc');
-      context.with(trace.setSpan(context.active(), span), () => {
-        testInjection(span, testContext);
-      });
-    });
-  });
-});
diff --git a/plugins/node/opentelemetry-instrumentation-pino/test/pino-enabled.test.ts b/plugins/node/opentelemetry-instrumentation-pino/test/pino-enabled.test.ts
deleted file mode 100644
index 6262c1fdfe..0000000000
--- a/plugins/node/opentelemetry-instrumentation-pino/test/pino-enabled.test.ts
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import * as assert from 'assert';
-import * as semver from 'semver';
-import * as sinon from 'sinon';
-
-import { INVALID_SPAN_CONTEXT, context, trace } from '@opentelemetry/api';
-import {
-  InMemorySpanExporter,
-  SimpleSpanProcessor,
-} from '@opentelemetry/sdk-trace-base';
-import {
-  TestInstrumentationAndContext,
-  assertInjection,
-  assertRecord,
-  initTestContext,
-  kMessage,
-  setupInstrumentationAndInitTestContext,
-  testInjection,
-  testNoInjection,
-} from './common';
-import {
-  runTestFixture,
-  TestCollector,
-} from '@opentelemetry/contrib-test-utils';
-
-import { AsyncHooksContextManager } from '@opentelemetry/context-async-hooks';
-import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
-import type { pino as Pino } from 'pino';
-
-const memoryExporter = new InMemorySpanExporter();
-const provider = new NodeTracerProvider();
-const tracer = provider.getTracer('default');
-provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
-context.setGlobalContextManager(new AsyncHooksContextManager());
-
-describe('PinoInstrumentation', () => {
-  let testContext: TestInstrumentationAndContext;
-
-  describe('enabled instrumentation', () => {
-    beforeEach(() => {
-      testContext = setupInstrumentationAndInitTestContext();
-    });
-
-    it('injects span context to records', () => {
-      const span = tracer.startSpan('abc');
-      context.with(trace.setSpan(context.active(), span), () => {
-        testInjection(span, testContext);
-      });
-    });
-
-    it('injects span context to records with custom keys', () => {
-      const logKeys = {
-        traceId: 'traceId',
-        spanId: 'spanId',
-        traceFlags: 'traceFlags',
-      };
-
-      testContext = setupInstrumentationAndInitTestContext({ logKeys });
-
-      const span = tracer.startSpan('abc');
-      context.with(trace.setSpan(context.active(), span), () => {
-        testInjection(span, testContext, logKeys);
-      });
-    });
-
-    it('injects span context to records in default export', function () {
-      // @ts-expect-error the same function reexported
-      if (!testContext.pino.default) {
-        this.skip();
-      }
-      initTestContext(testContext, 'default');
-      const span = tracer.startSpan('abc');
-      context.with(trace.setSpan(context.active(), span), () => {
-        testInjection(span, testContext);
-      });
-    });
-
-    it('injects span context to records in named export', function () {
-      // @ts-expect-error the same function reexported
-      if (!testContext.pino.pino) {
-        this.skip();
-      }
-      initTestContext(testContext, 'pino');
-      const span = tracer.startSpan('abc');
-      context.with(trace.setSpan(context.active(), span), () => {
-        testInjection(span, testContext);
-      });
-    });
-
-    it('injects span context to child logger records', () => {
-      const span = tracer.startSpan('abc');
-      context.with(trace.setSpan(context.active(), span), () => {
-        const child = testContext.logger.child({ foo: 42 });
-        child.info(kMessage);
-        assertInjection(span, testContext);
-      });
-    });
-
-    it('calls the users log hook', () => {
-      const span = tracer.startSpan('abc');
-      testContext.instrumentation.setConfig({
-        enabled: true,
-        logHook: (_span, record, level) => {
-          record['resource.service.name'] = 'test-service';
-          if (semver.satisfies(testContext.pino.version, '>= 7.9.0')) {
-            assert.strictEqual(level, 30);
-          }
-        },
-      });
-      context.with(trace.setSpan(context.active(), span), () => {
-        const record = testInjection(span, testContext);
-        assert.strictEqual(record['resource.service.name'], 'test-service');
-      });
-    });
-
-    it('does not inject span context if no span is active', () => {
-      assert.strictEqual(trace.getSpan(context.active()), undefined);
-      testNoInjection(testContext);
-    });
-
-    it('does not inject span context if span context is invalid', () => {
-      const span = trace.wrapSpanContext(INVALID_SPAN_CONTEXT);
-      context.with(trace.setSpan(context.active(), span), () => {
-        testNoInjection(testContext);
-      });
-    });
-
-    it('does not propagate exceptions from user hooks', () => {
-      const span = tracer.startSpan('abc');
-      testContext.instrumentation.setConfig({
-        enabled: true,
-        logHook: () => {
-          throw new Error('Oops');
-        },
-      });
-      context.with(trace.setSpan(context.active(), span), () => {
-        testInjection(span, testContext);
-      });
-    });
-  });
-
-  describe('logger construction', () => {
-    let stdoutSpy: sinon.SinonSpy;
-
-    beforeEach(() => {
-      testContext = setupInstrumentationAndInitTestContext();
-
-      stdoutSpy = sinon.spy(process.stdout, 'write');
-    });
-
-    afterEach(() => {
-      stdoutSpy.restore();
-    });
-
-    it('does not fail when constructing logger without arguments', () => {
-      testContext.logger = testContext.pino();
-      const span = tracer.startSpan('abc');
-      context.with(trace.setSpan(context.active(), span), () => {
-        testContext.logger.info(kMessage);
-      });
-      const record = JSON.parse(stdoutSpy.firstCall.args[0].toString());
-      assertRecord(record, span);
-    });
-
-    it('preserves user options and adds a mixin', () => {
-      testContext.logger = testContext.pino(
-        { name: 'LogLog' },
-        testContext.stream
-      );
-
-      const span = tracer.startSpan('abc');
-      context.with(trace.setSpan(context.active(), span), () => {
-        const record = testInjection(span, testContext);
-        assert.strictEqual(record['name'], 'LogLog');
-      });
-    });
-
-    describe('binary arguments', () => {
-      it('is possible to construct logger with undefined options', () => {
-        testContext.logger = testContext.pino(
-          undefined as unknown as Pino.LoggerOptions,
-          testContext.stream
-        );
-        const span = tracer.startSpan('abc');
-        context.with(trace.setSpan(context.active(), span), () => {
-          testInjection(span, testContext);
-        });
-      });
-
-      it('preserves user mixins', () => {
-        testContext.logger = testContext.pino(
-          { name: 'LogLog', mixin: () => ({ a: 2, b: 'bar' }) },
-          testContext.stream
-        );
-
-        const span = tracer.startSpan('abc');
-        context.with(trace.setSpan(context.active(), span), () => {
-          const record = testInjection(span, testContext);
-          assert.strictEqual(record['a'], 2);
-          assert.strictEqual(record['b'], 'bar');
-          assert.strictEqual(record['name'], 'LogLog');
-        });
-      });
-
-      it('ensures user mixin values take precedence', () => {
-        testContext.logger = testContext.pino(
-          {
-            mixin() {
-              return { trace_id: '123' };
-            },
-          },
-          testContext.stream
-        );
-
-        const span = tracer.startSpan('abc');
-        context.with(trace.setSpan(context.active(), span), () => {
-          testContext.logger.info(kMessage);
-        });
-
-        const record = JSON.parse(
-          testContext.writeSpy.firstCall.args[0].toString()
-        );
-        assert.strictEqual(record['trace_id'], '123');
-      });
-    });
-  });
-
-  describe('ESM usage', () => {
-    it('should work with ESM default import', async function () {
-      testContext = setupInstrumentationAndInitTestContext();
-      let logRecords: any[];
-      await runTestFixture({
-        cwd: __dirname,
-        argv: ['fixtures/use-pino-default-import.mjs'],
-        env: {
-          NODE_OPTIONS:
-            '--experimental-loader=@opentelemetry/instrumentation/hook.mjs',
-          NODE_NO_WARNINGS: '1',
-        },
-        checkResult: (err, stdout, _stderr) => {
-          assert.ifError(err);
-          logRecords = stdout
-            .trim()
-            .split('\n')
-            .map(ln => JSON.parse(ln));
-          assert.strictEqual(logRecords.length, 1);
-        },
-        checkCollector: (collector: TestCollector) => {
-          // Check that both log records had the trace-context of the span injected.
-          const spans = collector.sortedSpans;
-          assert.strictEqual(spans.length, 1);
-          logRecords.forEach(rec => {
-            assert.strictEqual(rec.trace_id, spans[0].traceId);
-            assert.strictEqual(rec.span_id, spans[0].spanId);
-          });
-        },
-      });
-    });
-
-    it('should work with ESM named import', async function () {
-      if (semver.lt(testContext.pino.version, '6.8.0')) {
-        // Pino 6.8.0 added named ESM exports (https://github.com/pinojs/pino/pull/936).
-        this.skip();
-      } else {
-        let logRecords: any[];
-        await runTestFixture({
-          cwd: __dirname,
-          argv: ['fixtures/use-pino-named-import.mjs'],
-          env: {
-            NODE_OPTIONS:
-              '--experimental-loader=@opentelemetry/instrumentation/hook.mjs',
-            NODE_NO_WARNINGS: '1',
-          },
-          checkResult: (err, stdout, _stderr) => {
-            assert.ifError(err);
-            logRecords = stdout
-              .trim()
-              .split('\n')
-              .map(ln => JSON.parse(ln));
-            assert.strictEqual(logRecords.length, 1);
-          },
-          checkCollector: (collector: TestCollector) => {
-            // Check that both log records had the trace-context of the span injected.
-            const spans = collector.sortedSpans;
-            assert.strictEqual(spans.length, 1);
-            logRecords.forEach(rec => {
-              assert.strictEqual(rec.trace_id, spans[0].traceId);
-              assert.strictEqual(rec.span_id, spans[0].spanId);
-            });
-          },
-        });
-      }
-    });
-  });
-});
diff --git a/plugins/node/opentelemetry-instrumentation-pino/test/pino.test.ts b/plugins/node/opentelemetry-instrumentation-pino/test/pino.test.ts
new file mode 100644
index 0000000000..4b0936452d
--- /dev/null
+++ b/plugins/node/opentelemetry-instrumentation-pino/test/pino.test.ts
@@ -0,0 +1,432 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as assert from 'assert';
+import { Writable } from 'stream';
+
+import * as semver from 'semver';
+import * as sinon from 'sinon';
+import { INVALID_SPAN_CONTEXT, context, trace, Span } from '@opentelemetry/api';
+import {
+  InMemorySpanExporter,
+  SimpleSpanProcessor,
+} from '@opentelemetry/sdk-trace-base';
+import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
+import {
+  runTestFixture,
+  TestCollector,
+} from '@opentelemetry/contrib-test-utils';
+
+import { PinoInstrumentation, PinoInstrumentationConfig } from '../src';
+
+import type { pino as Pino } from 'pino';
+
+const tracerProvider = new NodeTracerProvider();
+tracerProvider.register();
+tracerProvider.addSpanProcessor(
+  new SimpleSpanProcessor(new InMemorySpanExporter())
+);
+const tracer = tracerProvider.getTracer('default');
+
+const instrumentation = new PinoInstrumentation();
+const pino = require('pino');
+
+describe('PinoInstrumentation', () => {
+  describe('disabled instrumentation', () => {
+    let logger: Pino.Logger;
+    let stream: Writable;
+    let writeSpy: sinon.SinonSpy;
+
+    beforeEach(() => {
+      instrumentation.disable();
+      stream = new Writable();
+      stream._write = () => {};
+      writeSpy = sinon.spy(stream, 'write');
+      logger = pino(stream);
+    });
+
+    after(() => {
+      instrumentation.enable();
+    });
+
+    it('does not inject span context', () => {
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assert.strictEqual(record['msg'], 'a message');
+        assert.strictEqual(record['trace_id'], undefined);
+        assert.strictEqual(record['span_id'], undefined);
+        assert.strictEqual(record['trace_flags'], undefined);
+      });
+    });
+
+    it('does not call log hook', () => {
+      instrumentation.setConfig({
+        enabled: false,
+        logHook: (_span, record) => {
+          record['resource.service.name'] = 'test-service';
+        },
+      });
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assert.strictEqual(record['resource.service.name'], undefined);
+      });
+    });
+
+    it('injects span context once re-enabled', () => {
+      instrumentation.enable();
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assertRecord(record, span);
+      });
+    });
+  });
+
+  describe('log correlation', () => {
+    let logger: Pino.Logger;
+    let stream: Writable;
+    let writeSpy: sinon.SinonSpy;
+
+    beforeEach(() => {
+      instrumentation.setConfig({}); // reset to defaults
+      stream = new Writable();
+      stream._write = () => {};
+      writeSpy = sinon.spy(stream, 'write');
+      logger = pino(stream);
+    });
+
+    it('injects span context to records', () => {
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assertRecord(record, span);
+        assert.strictEqual(record['msg'], 'a message');
+      });
+    });
+
+    it('injects span context to records with custom keys', () => {
+      const logKeys = {
+        traceId: 'traceId',
+        spanId: 'spanId',
+        traceFlags: 'traceFlags',
+      };
+      instrumentation.setConfig({ logKeys });
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assertRecord(record, span, logKeys);
+        assert.strictEqual(record['trace_id'], undefined);
+        assert.strictEqual(record['span_id'], undefined);
+        assert.strictEqual(record['trace_flags'], undefined);
+        assert.strictEqual(record['msg'], 'a message');
+      });
+    });
+
+    it('injects span context to child logger records', () => {
+      const child = logger.child({ childField: 42 });
+      tracer.startActiveSpan('abc', span => {
+        child.info('a message');
+        span.end();
+
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assertRecord(record, span);
+        assert.strictEqual(record['msg'], 'a message');
+        assert.strictEqual(record['childField'], 42);
+      });
+    });
+
+    it('does not inject span context if no span is active', () => {
+      assert.strictEqual(trace.getSpan(context.active()), undefined);
+
+      logger.info('a message');
+
+      sinon.assert.calledOnce(writeSpy);
+      const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+      assert.strictEqual(record['trace_id'], undefined);
+      assert.strictEqual(record['span_id'], undefined);
+      assert.strictEqual(record['trace_flags'], undefined);
+    });
+
+    it('does not inject span context if span context is invalid', () => {
+      const span = trace.wrapSpanContext(INVALID_SPAN_CONTEXT);
+      context.with(trace.setSpan(context.active(), span), () => {
+        logger.info('a message');
+
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assert.strictEqual(record['trace_id'], undefined);
+        assert.strictEqual(record['span_id'], undefined);
+        assert.strictEqual(record['trace_flags'], undefined);
+      });
+    });
+
+    it('calls the logHook', () => {
+      instrumentation.setConfig({
+        logHook: (_span, record, level) => {
+          record['resource.service.name'] = 'test-service';
+          if (semver.satisfies(pino.version, '>=7.9.0')) {
+            assert.strictEqual(level, 30);
+          }
+        },
+      });
+
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assertRecord(record, span);
+        assert.strictEqual(record['resource.service.name'], 'test-service');
+      });
+    });
+
+    it('does not propagate exceptions from logHook', () => {
+      instrumentation.setConfig({
+        logHook: (_span, record, level) => {
+          throw new Error('Oops');
+        },
+      });
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assertRecord(record, span);
+      });
+    });
+
+    it('instrumentation of `pino.default(...)` works', function () {
+      if (!pino.default) {
+        this.skip();
+      }
+      logger = pino.default(stream);
+
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        const { traceId, spanId } = span.spanContext();
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assert.strictEqual(record['trace_id'], traceId);
+        assert.strictEqual(record['span_id'], spanId);
+      });
+    });
+
+    it('instrumentation of `pino.pino(...)` works', function () {
+      if (!pino.default) {
+        this.skip();
+      }
+      logger = pino.pino(stream);
+
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        const { traceId, spanId } = span.spanContext();
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assert.strictEqual(record['trace_id'], traceId);
+        assert.strictEqual(record['span_id'], spanId);
+      });
+    });
+  });
+
+  describe('logger construction', () => {
+    let stdoutSpy: sinon.SinonSpy;
+
+    beforeEach(() => {
+      instrumentation.setConfig({}); // reset to defaults
+      stdoutSpy = sinon.spy(process.stdout, 'write');
+    });
+
+    afterEach(() => {
+      stdoutSpy.restore();
+    });
+
+    it('`pino()` with no args works', () => {
+      const logger = pino();
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        const record = JSON.parse(stdoutSpy.firstCall.args[0].toString());
+        assertRecord(record, span);
+      });
+    });
+
+    it('`pino(options)` works', () => {
+      const logger = pino({ name: 'LogLog' });
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        const record = JSON.parse(stdoutSpy.firstCall.args[0].toString());
+        assertRecord(record, span);
+        assert.strictEqual(record['name'], 'LogLog');
+      });
+    });
+
+    it('`pino(undefined, stream)` works', () => {
+      const logger = pino(undefined, process.stdout);
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        const record = JSON.parse(stdoutSpy.firstCall.args[0].toString());
+        assertRecord(record, span);
+      });
+    });
+
+    it('preserves user mixins', () => {
+      const logger = pino(
+        { name: 'LogLog', mixin: () => ({ a: 2, b: 'bar' }) },
+        process.stdout
+      );
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        const record = JSON.parse(stdoutSpy.firstCall.args[0].toString());
+        assertRecord(record, span);
+        assert.strictEqual(record['a'], 2);
+        assert.strictEqual(record['b'], 'bar');
+        assert.strictEqual(record['name'], 'LogLog');
+      });
+    });
+
+    it('ensures user mixin values take precedence', () => {
+      const logger = pino(
+        {
+          mixin() {
+            return { trace_id: '123' };
+          },
+        },
+        process.stdout
+      );
+      tracer.startActiveSpan('abc', span => {
+        logger.info('a message');
+        span.end();
+
+        const { spanId } = span.spanContext();
+        const record = JSON.parse(stdoutSpy.firstCall.args[0].toString());
+        assert.strictEqual(record['trace_id'], '123');
+        assert.strictEqual(record['span_id'], spanId);
+      });
+    });
+  });
+
+  describe('ESM usage', () => {
+    it('should work with ESM default import', async function () {
+      let logRecords: any[];
+      await runTestFixture({
+        cwd: __dirname,
+        argv: ['fixtures/use-pino-default-import.mjs'],
+        env: {
+          NODE_OPTIONS:
+            '--experimental-loader=@opentelemetry/instrumentation/hook.mjs',
+          NODE_NO_WARNINGS: '1',
+        },
+        checkResult: (err, stdout, _stderr) => {
+          assert.ifError(err);
+          logRecords = stdout
+            .trim()
+            .split('\n')
+            .map(ln => JSON.parse(ln));
+          assert.strictEqual(logRecords.length, 1);
+        },
+        checkCollector: (collector: TestCollector) => {
+          // Check that both log records had the trace-context of the span injected.
+          const spans = collector.sortedSpans;
+          assert.strictEqual(spans.length, 1);
+          logRecords.forEach(rec => {
+            assert.strictEqual(rec.trace_id, spans[0].traceId);
+            assert.strictEqual(rec.span_id, spans[0].spanId);
+          });
+        },
+      });
+    });
+
+    it('should work with ESM named import', async function () {
+      if (semver.lt(pino.version, '6.8.0')) {
+        // Pino 6.8.0 added named ESM exports (https://github.com/pinojs/pino/pull/936).
+        this.skip();
+      } else {
+        let logRecords: any[];
+        await runTestFixture({
+          cwd: __dirname,
+          argv: ['fixtures/use-pino-named-import.mjs'],
+          env: {
+            NODE_OPTIONS:
+              '--experimental-loader=@opentelemetry/instrumentation/hook.mjs',
+            NODE_NO_WARNINGS: '1',
+          },
+          checkResult: (err, stdout, _stderr) => {
+            assert.ifError(err);
+            logRecords = stdout
+              .trim()
+              .split('\n')
+              .map(ln => JSON.parse(ln));
+            assert.strictEqual(logRecords.length, 1);
+          },
+          checkCollector: (collector: TestCollector) => {
+            // Check that both log records had the trace-context of the span injected.
+            const spans = collector.sortedSpans;
+            assert.strictEqual(spans.length, 1);
+            logRecords.forEach(rec => {
+              assert.strictEqual(rec.trace_id, spans[0].traceId);
+              assert.strictEqual(rec.span_id, spans[0].spanId);
+            });
+          },
+        });
+      }
+    });
+  });
+});
+
+function assertRecord(
+  record: any,
+  span: Span,
+  expectedKeys?: PinoInstrumentationConfig['logKeys']
+) {
+  const { traceId, spanId, traceFlags } = span.spanContext();
+  assert.strictEqual(record[expectedKeys?.traceId ?? 'trace_id'], traceId);
+  assert.strictEqual(record[expectedKeys?.spanId ?? 'span_id'], spanId);
+  assert.strictEqual(
+    record[expectedKeys?.traceFlags ?? 'trace_flags'],
+    `0${traceFlags.toString(16)}`
+  );
+}

From caf7cb503760d17ac6455dcf712f677ef665f07a Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Tue, 11 Jun 2024 15:05:18 +0200
Subject: [PATCH 034/123] chore: update to webpack 5 (#2269)

* chore: update webpack

* chore: sync package-lock.json

* chore: re-format deps

* fix: use correct api dependency, remove unused

* chore: remove unused codecov

* chore: remove unused deps

* chore: add assert package

* chore: remove more unused packages

* chore: remove more unused dependencies
---
 examples/web/package.json                     |     2 +-
 karma.base.js                                 |    14 +-
 karma.webpack.js                              |    54 +-
 .../auto-instrumentations-web/package.json    |    35 +-
 package-lock.json                             | 43685 +++++++++-------
 package.json                                  |     3 +-
 .../package.json                              |    31 +-
 .../package.json                              |    37 +-
 .../package.json                              |    40 +-
 .../package.json                              |    36 +-
 .../package.json                              |    28 +-
 .../package.json                              |    29 +-
 12 files changed, 24704 insertions(+), 19290 deletions(-)

diff --git a/examples/web/package.json b/examples/web/package.json
index b4be8fa692..6d0005489f 100644
--- a/examples/web/package.json
+++ b/examples/web/package.json
@@ -30,7 +30,7 @@
     "@babel/core": "^7.21.8",
     "babel-loader": "^8.3.0",
     "ts-loader": "^6.2.2",
-    "webpack": "^4.46.0",
+    "webpack": "5.89.0",
     "webpack-cli": "^3.3.12",
     "webpack-dev-server": "^3.11.3",
     "webpack-merge": "^4.2.2"
diff --git a/karma.base.js b/karma.base.js
index 70435dda11..2af2869368 100644
--- a/karma.base.js
+++ b/karma.base.js
@@ -19,13 +19,15 @@ module.exports = {
   hostname: 'localhost',
   browsers: ['ChromeHeadless'],
   frameworks: ['mocha'],
-  coverageIstanbulReporter: {
-    reports: ['json'],
-    dir: '.nyc_output',
-    fixWebpackSourcePaths: true
+  coverageReporter: {
+    type : 'json',
+    subdir: '.',
+    dir : '.nyc_output/'
   },
-  reporters: ['spec', 'coverage-istanbul'],
+  reporters: ['spec', 'coverage'],
   files: ['test/index-webpack.ts'],
-  preprocessors: { 'test/index-webpack.ts': ['webpack'] },
+  preprocessors: {
+    'test/index-webpack*.ts': ['webpack']
+  },
   webpackMiddleware: { noInfo: true }
 };
diff --git a/karma.webpack.js b/karma.webpack.js
index 546704817a..3725d04970 100644
--- a/karma.webpack.js
+++ b/karma.webpack.js
@@ -14,33 +14,61 @@
  * limitations under the License.
  */
 
-const webpackNodePolyfills = require('./webpack.node-polyfills.js');
+const webpack = require('webpack')
 
 // This is the webpack configuration for browser Karma tests with coverage.
 module.exports = {
   mode: 'development',
   target: 'web',
-  output: { filename: 'bundle.js' },
-  resolve: { extensions: ['.ts', '.js', '.tsx'] },
-  devtool: 'inline-source-map',
+  output: {filename: 'bundle.js'},
+  resolve: {
+    extensions: ['.ts', '.js', '.tsx'],
+    fallback: {
+      // Enable the assert library polyfill because that is used in tests
+      "assert": require.resolve('assert/'),
+      "util": require.resolve('util/'),
+    },
+  },
+  devtool: 'eval-source-map',
+  plugins: [
+    new webpack.ProvidePlugin({
+      // Make a global `process` variable that points to the `process` package,
+      // because the `util` package expects there to be a global variable named `process`.
+      // Thanks to https://stackoverflow.com/a/65018686/14239942
+      // NOTE: I wish there was a better way as this pollutes the tests with a defined 'process' global.
+      process: 'process/browser'
+    })
+  ],
   module: {
     rules: [
       { test: /\.tsx?$/, use: 'ts-loader' },
+      {
+        test: /\.js$/,
+        exclude: {
+          and: [/node_modules/], // Exclude libraries in node_modules ...
+          not: [
+            // Except for a few of them that needs to be transpiled because they use modern syntax
+            /zone.js/,
+          ],
+        },
+        use: {
+          loader: 'babel-loader',
+          options: {
+            presets: ['@babel/preset-env'],
+          }
+        },
+      },
       {
         enforce: 'post',
         exclude: /(node_modules|\.test\.[tj]sx?$)/,
         test: /\.ts$/,
         use: {
-          loader: '@jsdevtools/coverage-istanbul-loader',
+          loader: 'babel-loader',
           options: {
-            produceSourceMap: false,
-            esModules: true
+            plugins: ['babel-plugin-istanbul'],
           }
-        }
+        },
       },
-      // This setting configures Node polyfills for the browser that will be
-      // added to the webpack bundle for Karma tests.
-      { parser: { node: webpackNodePolyfills } }
-    ]
-  }
+    ],
+  },
 };
diff --git a/metapackages/auto-instrumentations-web/package.json b/metapackages/auto-instrumentations-web/package.json
index 852351cef0..37522b0ae7 100644
--- a/metapackages/auto-instrumentations-web/package.json
+++ b/metapackages/auto-instrumentations-web/package.json
@@ -35,30 +35,33 @@
     "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
   },
   "devDependencies": {
-    "@babel/core": "7.22.17",
-    "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+    "@babel/core": "7.24.6",
+    "@babel/preset-env": "7.24.6",
     "@opentelemetry/api": "^1.3.0",
-    "@types/mocha": "8.2.3",
+    "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
-    "@types/webpack-env": "1.16.2",
-    "babel-loader": "8.2.2",
-    "karma": "6.3.16",
-    "karma-chrome-launcher": "^3.1.1",
-    "karma-coverage-istanbul-reporter": "3.0.3",
+    "@types/sinon": "17.0.3",
+    "@types/webpack-env": "1.16.3",
+    "assert": "2.0.0",
+    "babel-loader": "8.3.0",
+    "babel-plugin-istanbul": "6.1.1",
+    "cross-var": "1.1.0",
+    "karma": "6.4.3",
+    "karma-chrome-launcher": "3.1.0",
+    "karma-coverage": "2.2.1",
     "karma-mocha": "2.0.1",
     "karma-spec-reporter": "0.0.36",
-    "karma-webpack": "4.0.2",
-    "mocha": "7.2.0",
+    "karma-webpack": "5.0.1",
+    "mocha": "10.2.0",
     "nyc": "15.1.0",
     "rimraf": "5.0.5",
-    "sinon": "15.2.0",
-    "ts-loader": "8.3.0",
+    "sinon": "15.1.2",
+    "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "4.46.0",
-    "webpack-cli": "4.7.2",
-    "webpack-merge": "5.8.0"
+    "webpack": "5.89.0",
+    "webpack-cli": "5.1.4",
+    "webpack-merge": "5.10.0"
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.52.0",
diff --git a/package-lock.json b/package-lock.json
index 6ab3eb4f09..bc853e7751 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -32,8 +32,9 @@
         "markdownlint-cli2": "0.13.0",
         "minimatch": "^9.0.3",
         "prettier": "2.8.8",
+        "process": "0.11.10",
         "semver": "^7.6.0",
-        "typescript": "4.4.4"
+        "util": "0.12.5"
       }
     },
     "detectors/node/opentelemetry-resource-detector-alibaba-cloud": {
@@ -363,30 +364,33 @@
         "@opentelemetry/instrumentation-xml-http-request": "^0.52.0"
       },
       "devDependencies": {
-        "@babel/core": "7.22.17",
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.3.0",
-        "@types/mocha": "8.2.3",
+        "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "@types/webpack-env": "1.16.2",
-        "babel-loader": "8.2.2",
-        "karma": "6.3.16",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
+        "assert": "2.0.0",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "cross-var": "1.1.0",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
         "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-loader": "8.3.0",
+        "sinon": "15.1.2",
+        "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "4.46.0",
-        "webpack-cli": "4.7.2",
-        "webpack-merge": "5.8.0"
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0"
       },
       "engines": {
         "node": ">=14"
@@ -396,12 +400,570 @@
         "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
       }
     },
+    "metapackages/auto-instrumentations-web/node_modules/@babel/core": {
+      "version": "7.24.6",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+      "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+      "dev": true,
+      "dependencies": {
+        "@ampproject/remapping": "^2.2.0",
+        "@babel/code-frame": "^7.24.6",
+        "@babel/generator": "^7.24.6",
+        "@babel/helper-compilation-targets": "^7.24.6",
+        "@babel/helper-module-transforms": "^7.24.6",
+        "@babel/helpers": "^7.24.6",
+        "@babel/parser": "^7.24.6",
+        "@babel/template": "^7.24.6",
+        "@babel/traverse": "^7.24.6",
+        "@babel/types": "^7.24.6",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/@sinonjs/commons": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+      "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+      "dev": true,
+      "dependencies": {
+        "type-detect": "4.0.8"
+      }
+    },
     "metapackages/auto-instrumentations-web/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
+      "version": "10.0.6",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+      "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
+      "dev": true
+    },
+    "metapackages/auto-instrumentations-web/node_modules/@types/sinon": {
+      "version": "17.0.3",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+      "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
+      "dev": true,
+      "dependencies": {
+        "@types/sinonjs__fake-timers": "*"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/ansi-colors": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/camelcase": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/chalk/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/chokidar": {
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://paulmillr.com/funding/"
+        }
+      ],
+      "dependencies": {
+        "anymatch": "~3.1.2",
+        "braces": "~3.0.2",
+        "glob-parent": "~5.1.2",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.6.0"
+      },
+      "engines": {
+        "node": ">= 8.10.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "metapackages/auto-instrumentations-web/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "dev": true
+    },
+    "metapackages/auto-instrumentations-web/node_modules/decamelize": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+      "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/diff": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+      "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.3.1"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/enhanced-resolve": {
+      "version": "5.17.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.x"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/glob": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+      "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/glob/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/is-plain-obj": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+      "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+      "dev": true
+    },
+    "metapackages/auto-instrumentations-web/node_modules/log-symbols": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "is-unicode-supported": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/minimatch": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+      "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/minimatch/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/mocha": {
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+      "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-colors": "4.1.1",
+        "browser-stdout": "1.3.1",
+        "chokidar": "3.5.3",
+        "debug": "4.3.4",
+        "diff": "5.0.0",
+        "escape-string-regexp": "4.0.0",
+        "find-up": "5.0.0",
+        "glob": "7.2.0",
+        "he": "1.2.0",
+        "js-yaml": "4.1.0",
+        "log-symbols": "4.1.0",
+        "minimatch": "5.0.1",
+        "ms": "2.1.3",
+        "nanoid": "3.3.3",
+        "serialize-javascript": "6.0.0",
+        "strip-json-comments": "3.1.1",
+        "supports-color": "8.1.1",
+        "workerpool": "6.2.1",
+        "yargs": "16.2.0",
+        "yargs-parser": "20.2.4",
+        "yargs-unparser": "2.0.0"
+      },
+      "bin": {
+        "_mocha": "bin/_mocha",
+        "mocha": "bin/mocha.js"
+      },
+      "engines": {
+        "node": ">= 14.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/mochajs"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
       "dev": true
     },
+    "metapackages/auto-instrumentations-web/node_modules/nanoid": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+      "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+      "dev": true,
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
+      "engines": {
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/schema-utils": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+      "dev": true,
+      "dependencies": {
+        "@types/json-schema": "^7.0.8",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/sinon": {
+      "version": "15.1.2",
+      "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
+      "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==",
+      "deprecated": "16.1.1",
+      "dev": true,
+      "dependencies": {
+        "@sinonjs/commons": "^3.0.0",
+        "@sinonjs/fake-timers": "^10.1.0",
+        "@sinonjs/samsam": "^8.0.0",
+        "diff": "^5.1.0",
+        "nise": "^5.1.4",
+        "supports-color": "^7.2.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/sinon"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/sinon/node_modules/diff": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+      "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.3.1"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/sinon/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/source-map": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/tapable": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/ts-loader": {
+      "version": "9.5.1",
+      "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+      "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "enhanced-resolve": "^5.0.0",
+        "micromatch": "^4.0.0",
+        "semver": "^7.3.4",
+        "source-map": "^0.7.4"
+      },
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "peerDependencies": {
+        "typescript": "*",
+        "webpack": "^5.0.0"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/webpack": {
+      "version": "5.89.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+      "dev": true,
+      "dependencies": {
+        "@types/eslint-scope": "^3.7.3",
+        "@types/estree": "^1.0.0",
+        "@webassemblyjs/ast": "^1.11.5",
+        "@webassemblyjs/wasm-edit": "^1.11.5",
+        "@webassemblyjs/wasm-parser": "^1.11.5",
+        "acorn": "^8.7.1",
+        "acorn-import-assertions": "^1.9.0",
+        "browserslist": "^4.14.5",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^5.15.0",
+        "es-module-lexer": "^1.2.1",
+        "eslint-scope": "5.1.1",
+        "events": "^3.2.0",
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.2.9",
+        "json-parse-even-better-errors": "^2.3.1",
+        "loader-runner": "^4.2.0",
+        "mime-types": "^2.1.27",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.2.0",
+        "tapable": "^2.1.1",
+        "terser-webpack-plugin": "^5.3.7",
+        "watchpack": "^2.4.0",
+        "webpack-sources": "^3.2.3"
+      },
+      "bin": {
+        "webpack": "bin/webpack.js"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependenciesMeta": {
+        "webpack-cli": {
+          "optional": true
+        }
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/yargs": {
+      "version": "16.2.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+      "dev": true,
+      "dependencies": {
+        "cliui": "^7.0.2",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^20.2.2"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "metapackages/auto-instrumentations-web/node_modules/yargs-unparser": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+      "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^6.0.0",
+        "decamelize": "^4.0.0",
+        "flat": "^5.0.2",
+        "is-plain-obj": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@75lb/deep-merge": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/@75lb/deep-merge/-/deep-merge-1.1.1.tgz",
@@ -3962,22 +4524,22 @@
       }
     },
     "node_modules/@babel/code-frame": {
-      "version": "7.23.5",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
-      "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+      "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
       "dev": true,
       "dependencies": {
-        "@babel/highlight": "^7.23.4",
-        "chalk": "^2.4.2"
+        "@babel/highlight": "^7.24.7",
+        "picocolors": "^1.0.0"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/compat-data": {
-      "version": "7.23.5",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
-      "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz",
+      "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
@@ -4023,28 +4585,53 @@
       }
     },
     "node_modules/@babel/generator": {
-      "version": "7.23.6",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
-      "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
+      "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.23.6",
-        "@jridgewell/gen-mapping": "^0.3.2",
-        "@jridgewell/trace-mapping": "^0.3.17",
+        "@babel/types": "^7.24.7",
+        "@jridgewell/gen-mapping": "^0.3.5",
+        "@jridgewell/trace-mapping": "^0.3.25",
         "jsesc": "^2.5.1"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
+    "node_modules/@babel/helper-annotate-as-pure": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz",
+      "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz",
+      "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
     "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.23.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
-      "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz",
+      "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==",
       "dev": true,
       "dependencies": {
-        "@babel/compat-data": "^7.23.5",
-        "@babel/helper-validator-option": "^7.23.5",
+        "@babel/compat-data": "^7.24.7",
+        "@babel/helper-validator-option": "^7.24.7",
         "browserslist": "^4.22.2",
         "lru-cache": "^5.1.1",
         "semver": "^6.3.1"
@@ -4062,63 +4649,209 @@
         "semver": "bin/semver.js"
       }
     },
+    "node_modules/@babel/helper-create-class-features-plugin": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz",
+      "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.24.7",
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-function-name": "^7.24.7",
+        "@babel/helper-member-expression-to-functions": "^7.24.7",
+        "@babel/helper-optimise-call-expression": "^7.24.7",
+        "@babel/helper-replace-supers": "^7.24.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
+        "@babel/helper-split-export-declaration": "^7.24.7",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/helper-create-regexp-features-plugin": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz",
+      "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.24.7",
+        "regexpu-core": "^5.3.1",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/@babel/helper-define-polyfill-provider": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz",
+      "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-compilation-targets": "^7.22.6",
+        "@babel/helper-plugin-utils": "^7.22.5",
+        "debug": "^4.1.1",
+        "lodash.debounce": "^4.0.8",
+        "resolve": "^1.14.2"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+      }
+    },
     "node_modules/@babel/helper-environment-visitor": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
-      "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
+      "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
       "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.24.7"
+      },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-function-name": {
-      "version": "7.23.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
-      "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
+      "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
       "dev": true,
       "dependencies": {
-        "@babel/template": "^7.22.15",
-        "@babel/types": "^7.23.0"
+        "@babel/template": "^7.24.7",
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-hoist-variables": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
-      "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
+      "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.22.5"
+        "@babel/types": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-member-expression-to-functions": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz",
+      "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-module-imports": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
-      "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
+      "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.22.15"
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-module-transforms": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
-      "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz",
+      "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-module-imports": "^7.24.7",
+        "@babel/helper-simple-access": "^7.24.7",
+        "@babel/helper-split-export-declaration": "^7.24.7",
+        "@babel/helper-validator-identifier": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-optimise-call-expression": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz",
+      "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-plugin-utils": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz",
+      "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-remap-async-to-generator": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz",
+      "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.24.7",
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-wrap-function": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz",
+      "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-module-imports": "^7.22.15",
-        "@babel/helper-simple-access": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/helper-validator-identifier": "^7.22.20"
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-member-expression-to-functions": "^7.24.7",
+        "@babel/helper-optimise-call-expression": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -4128,88 +4861,117 @@
       }
     },
     "node_modules/@babel/helper-simple-access": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
-      "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
+      "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz",
+      "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.22.5"
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-split-export-declaration": {
-      "version": "7.22.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
-      "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
+      "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.22.5"
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-string-parser": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
-      "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
+      "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-validator-identifier": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-      "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+      "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-validator-option": {
-      "version": "7.23.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
-      "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz",
+      "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-wrap-function": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz",
+      "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==",
       "dev": true,
+      "dependencies": {
+        "@babel/helper-function-name": "^7.24.7",
+        "@babel/template": "^7.24.7",
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
+      },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helpers": {
-      "version": "7.23.9",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz",
-      "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz",
+      "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==",
       "dev": true,
       "dependencies": {
-        "@babel/template": "^7.23.9",
-        "@babel/traverse": "^7.23.9",
-        "@babel/types": "^7.23.9"
+        "@babel/template": "^7.24.7",
+        "@babel/types": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/highlight": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
-      "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+      "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-validator-identifier": "^7.22.20",
+        "@babel/helper-validator-identifier": "^7.24.7",
         "chalk": "^2.4.2",
-        "js-tokens": "^4.0.0"
+        "js-tokens": "^4.0.0",
+        "picocolors": "^1.0.0"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/parser": {
-      "version": "7.23.9",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz",
-      "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
+      "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
       "dev": true,
       "bin": {
         "parser": "bin/babel-parser.js"
@@ -4218,3838 +4980,3832 @@
         "node": ">=6.0.0"
       }
     },
-    "node_modules/@babel/template": {
-      "version": "7.23.9",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz",
-      "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==",
+    "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz",
+      "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==",
       "dev": true,
       "dependencies": {
-        "@babel/code-frame": "^7.23.5",
-        "@babel/parser": "^7.23.9",
-        "@babel/types": "^7.23.9"
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/@babel/traverse": {
-      "version": "7.23.9",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz",
-      "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.23.5",
-        "@babel/generator": "^7.23.6",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-hoist-variables": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/parser": "^7.23.9",
-        "@babel/types": "^7.23.9",
-        "debug": "^4.3.1",
-        "globals": "^11.1.0"
+    "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz",
+      "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/@babel/types": {
-      "version": "7.23.9",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz",
-      "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==",
+    "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz",
+      "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-string-parser": "^7.23.4",
-        "@babel/helper-validator-identifier": "^7.22.20",
-        "to-fast-properties": "^2.0.0"
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
+        "@babel/plugin-transform-optional-chaining": "^7.24.7"
       },
       "engines": {
         "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.13.0"
       }
     },
-    "node_modules/@colors/colors": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
-      "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
+    "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz",
+      "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==",
       "dev": true,
+      "dependencies": {
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=0.1.90"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/@cucumber/ci-environment": {
-      "version": "9.2.0",
-      "resolved": "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-9.2.0.tgz",
-      "integrity": "sha512-jLzRtVwdtNt+uAmTwvXwW9iGYLEOJFpDSmnx/dgoMGKXUWRx1UHT86Q696CLdgXO8kyTwsgJY0c6n5SW9VitAA==",
-      "dev": true
+    "node_modules/@babel/plugin-proposal-private-property-in-object": {
+      "version": "7.21.0-placeholder-for-preset-env.2",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
+      "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
     },
-    "node_modules/@cucumber/cucumber": {
-      "version": "9.6.0",
-      "resolved": "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-9.6.0.tgz",
-      "integrity": "sha512-bCw2uJdGHHLg4B3RoZpLzx0RXyXURmPe+swtdK1cGoA8rs+vv+/6osifcNwvFM2sv0nQ91+gDACSrXK7AHCylg==",
+    "node_modules/@babel/plugin-syntax-async-generators": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
       "dev": true,
       "dependencies": {
-        "@cucumber/ci-environment": "9.2.0",
-        "@cucumber/cucumber-expressions": "16.1.2",
-        "@cucumber/gherkin": "26.2.0",
-        "@cucumber/gherkin-streams": "5.0.1",
-        "@cucumber/gherkin-utils": "8.0.2",
-        "@cucumber/html-formatter": "20.4.0",
-        "@cucumber/message-streams": "4.0.1",
-        "@cucumber/messages": "22.0.0",
-        "@cucumber/tag-expressions": "5.0.1",
-        "assertion-error-formatter": "^3.0.0",
-        "capital-case": "^1.0.4",
-        "chalk": "^4.1.2",
-        "cli-table3": "0.6.3",
-        "commander": "^10.0.0",
-        "debug": "^4.3.4",
-        "error-stack-parser": "^2.1.4",
-        "figures": "^3.2.0",
-        "glob": "^7.1.6",
-        "has-ansi": "^4.0.1",
-        "indent-string": "^4.0.0",
-        "is-installed-globally": "^0.4.0",
-        "is-stream": "^2.0.0",
-        "knuth-shuffle-seeded": "^1.0.6",
-        "lodash.merge": "^4.6.2",
-        "lodash.mergewith": "^4.6.2",
-        "luxon": "3.2.1",
-        "mkdirp": "^2.1.5",
-        "mz": "^2.7.0",
-        "progress": "^2.0.3",
-        "resolve-pkg": "^2.0.0",
-        "semver": "7.5.3",
-        "string-argv": "^0.3.1",
-        "strip-ansi": "6.0.1",
-        "supports-color": "^8.1.1",
-        "tmp": "^0.2.1",
-        "util-arity": "^1.1.0",
-        "verror": "^1.10.0",
-        "xmlbuilder": "^15.1.1",
-        "yaml": "^2.2.2",
-        "yup": "1.2.0"
+        "@babel/helper-plugin-utils": "^7.8.0"
       },
-      "bin": {
-        "cucumber-js": "bin/cucumber.js"
-      },
-      "engines": {
-        "node": "14 || 16 || >=18"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/cucumber-expressions": {
-      "version": "16.1.2",
-      "resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-16.1.2.tgz",
-      "integrity": "sha512-CfHEbxJ5FqBwF6mJyLLz4B353gyHkoi6cCL4J0lfDZ+GorpcWw4n2OUAdxJmP7ZlREANWoTFlp4FhmkLKrCfUA==",
+    "node_modules/@babel/plugin-syntax-class-properties": {
+      "version": "7.12.13",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
       "dev": true,
       "dependencies": {
-        "regexp-match-indices": "1.0.2"
+        "@babel/helper-plugin-utils": "^7.12.13"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/cucumber/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+    "node_modules/@babel/plugin-syntax-class-static-block": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
       "dev": true,
       "dependencies": {
-        "color-convert": "^2.0.1"
+        "@babel/helper-plugin-utils": "^7.14.5"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=6.9.0"
       },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/cucumber/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+    "node_modules/@babel/plugin-syntax-dynamic-import": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
       "dev": true,
       "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
+        "@babel/helper-plugin-utils": "^7.8.0"
       },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/cucumber/node_modules/chalk/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+    "node_modules/@babel/plugin-syntax-export-namespace-from": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
       "dev": true,
       "dependencies": {
-        "has-flag": "^4.0.0"
+        "@babel/helper-plugin-utils": "^7.8.3"
       },
-      "engines": {
-        "node": ">=8"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/cucumber/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+    "node_modules/@babel/plugin-syntax-import-assertions": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz",
+      "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==",
       "dev": true,
       "dependencies": {
-        "color-name": "~1.1.4"
+        "@babel/helper-plugin-utils": "^7.24.7"
       },
       "engines": {
-        "node": ">=7.0.0"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/cucumber/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/@cucumber/cucumber/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+    "node_modules/@babel/plugin-syntax-import-attributes": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz",
+      "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==",
       "dev": true,
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
+        "@babel/helper-plugin-utils": "^7.24.7"
       },
       "engines": {
-        "node": "*"
+        "node": ">=6.9.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/cucumber/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+    "node_modules/@babel/plugin-syntax-import-meta": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+      "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
       "dev": true,
       "dependencies": {
-        "yallist": "^4.0.0"
+        "@babel/helper-plugin-utils": "^7.10.4"
       },
-      "engines": {
-        "node": ">=10"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/cucumber/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+    "node_modules/@babel/plugin-syntax-json-strings": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
       "dev": true,
       "dependencies": {
-        "brace-expansion": "^1.1.7"
+        "@babel/helper-plugin-utils": "^7.8.0"
       },
-      "engines": {
-        "node": "*"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/cucumber/node_modules/semver": {
-      "version": "7.5.3",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
-      "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
+    "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
       "dev": true,
       "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
+        "@babel/helper-plugin-utils": "^7.10.4"
       },
-      "engines": {
-        "node": ">=10"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/cucumber/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
-    "node_modules/@cucumber/gherkin": {
-      "version": "26.2.0",
-      "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-26.2.0.tgz",
-      "integrity": "sha512-iRSiK8YAIHAmLrn/mUfpAx7OXZ7LyNlh1zT89RoziSVCbqSVDxJS6ckEzW8loxs+EEXl0dKPQOXiDmbHV+C/fA==",
+    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
       "dev": true,
       "dependencies": {
-        "@cucumber/messages": ">=19.1.4 <=22"
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/gherkin-streams": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@cucumber/gherkin-streams/-/gherkin-streams-5.0.1.tgz",
-      "integrity": "sha512-/7VkIE/ASxIP/jd4Crlp4JHXqdNFxPGQokqWqsaCCiqBiu5qHoKMxcWNlp9njVL/n9yN4S08OmY3ZR8uC5x74Q==",
+    "node_modules/@babel/plugin-syntax-numeric-separator": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
       "dev": true,
       "dependencies": {
-        "commander": "9.1.0",
-        "source-map-support": "0.5.21"
-      },
-      "bin": {
-        "gherkin-javascript": "bin/gherkin"
+        "@babel/helper-plugin-utils": "^7.10.4"
       },
       "peerDependencies": {
-        "@cucumber/gherkin": ">=22.0.0",
-        "@cucumber/message-streams": ">=4.0.0",
-        "@cucumber/messages": ">=17.1.1"
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/gherkin-streams/node_modules/commander": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz",
-      "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==",
+    "node_modules/@babel/plugin-syntax-object-rest-spread": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
       "dev": true,
-      "engines": {
-        "node": "^12.20.0 || >=14"
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/gherkin-utils": {
-      "version": "8.0.2",
-      "resolved": "https://registry.npmjs.org/@cucumber/gherkin-utils/-/gherkin-utils-8.0.2.tgz",
-      "integrity": "sha512-aQlziN3r3cTwprEDbLEcFoMRQajb9DTOu2OZZp5xkuNz6bjSTowSY90lHUD2pWT7jhEEckZRIREnk7MAwC2d1A==",
+    "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
       "dev": true,
       "dependencies": {
-        "@cucumber/gherkin": "^25.0.0",
-        "@cucumber/messages": "^19.1.4",
-        "@teppeis/multimaps": "2.0.0",
-        "commander": "9.4.1",
-        "source-map-support": "^0.5.21"
+        "@babel/helper-plugin-utils": "^7.8.0"
       },
-      "bin": {
-        "gherkin-utils": "bin/gherkin-utils"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/gherkin": {
-      "version": "25.0.2",
-      "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-25.0.2.tgz",
-      "integrity": "sha512-EdsrR33Y5GjuOoe2Kq5Y9DYwgNRtUD32H4y2hCrT6+AWo7ibUQu7H+oiWTgfVhwbkHsZmksxHSxXz/AwqqyCRQ==",
+    "node_modules/@babel/plugin-syntax-optional-chaining": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
       "dev": true,
       "dependencies": {
-        "@cucumber/messages": "^19.1.4"
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/messages": {
-      "version": "19.1.4",
-      "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-19.1.4.tgz",
-      "integrity": "sha512-Pksl0pnDz2l1+L5Ug85NlG6LWrrklN9qkMxN5Mv+1XZ3T6u580dnE6mVaxjJRdcOq4tR17Pc0RqIDZMyVY1FlA==",
+    "node_modules/@babel/plugin-syntax-private-property-in-object": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
       "dev": true,
       "dependencies": {
-        "@types/uuid": "8.3.4",
-        "class-transformer": "0.5.1",
-        "reflect-metadata": "0.1.13",
-        "uuid": "9.0.0"
+        "@babel/helper-plugin-utils": "^7.14.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/gherkin-utils/node_modules/@types/uuid": {
-      "version": "8.3.4",
-      "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
-      "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
-      "dev": true
-    },
-    "node_modules/@cucumber/gherkin-utils/node_modules/commander": {
-      "version": "9.4.1",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz",
-      "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==",
+    "node_modules/@babel/plugin-syntax-top-level-await": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
       "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.14.5"
+      },
       "engines": {
-        "node": "^12.20.0 || >=14"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/gherkin-utils/node_modules/uuid": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
-      "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+    "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
+      "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
       "dev": true,
-      "bin": {
-        "uuid": "dist/bin/uuid"
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/@cucumber/html-formatter": {
-      "version": "20.4.0",
-      "resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-20.4.0.tgz",
-      "integrity": "sha512-TnLSXC5eJd8AXHENo69f5z+SixEVtQIf7Q2dZuTpT/Y8AOkilGpGl1MQR1Vp59JIw+fF3EQSUKdf+DAThCxUNg==",
+    "node_modules/@babel/plugin-transform-arrow-functions": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz",
+      "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==",
       "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
       "peerDependencies": {
-        "@cucumber/messages": ">=18"
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/message-streams": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/@cucumber/message-streams/-/message-streams-4.0.1.tgz",
-      "integrity": "sha512-Kxap9uP5jD8tHUZVjTWgzxemi/0uOsbGjd4LBOSxcJoOCRbESFwemUzilJuzNTB8pcTQUh8D5oudUyxfkJOKmA==",
+    "node_modules/@babel/plugin-transform-async-generator-functions": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz",
+      "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==",
       "dev": true,
+      "dependencies": {
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-remap-async-to-generator": "^7.24.7",
+        "@babel/plugin-syntax-async-generators": "^7.8.4"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
       "peerDependencies": {
-        "@cucumber/messages": ">=17.1.1"
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/messages": {
-      "version": "22.0.0",
-      "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-22.0.0.tgz",
-      "integrity": "sha512-EuaUtYte9ilkxcKmfqGF9pJsHRUU0jwie5ukuZ/1NPTuHS1LxHPsGEODK17RPRbZHOFhqybNzG2rHAwThxEymg==",
+    "node_modules/@babel/plugin-transform-async-to-generator": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz",
+      "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==",
       "dev": true,
       "dependencies": {
-        "@types/uuid": "9.0.1",
-        "class-transformer": "0.5.1",
-        "reflect-metadata": "0.1.13",
-        "uuid": "9.0.0"
+        "@babel/helper-module-imports": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-remap-async-to-generator": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/messages/node_modules/uuid": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
-      "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+    "node_modules/@babel/plugin-transform-block-scoped-functions": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz",
+      "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==",
       "dev": true,
-      "bin": {
-        "uuid": "dist/bin/uuid"
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@cucumber/tag-expressions": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-5.0.1.tgz",
-      "integrity": "sha512-N43uWud8ZXuVjza423T9ZCIJsaZhFekmakt7S9bvogTxqdVGbRobjR663s0+uW0Rz9e+Pa8I6jUuWtoBLQD2Mw==",
-      "dev": true
-    },
-    "node_modules/@dabh/diagnostics": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
-      "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==",
+    "node_modules/@babel/plugin-transform-block-scoping": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz",
+      "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==",
       "dev": true,
       "dependencies": {
-        "colorspace": "1.1.x",
-        "enabled": "2.0.x",
-        "kuler": "^2.0.0"
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@discoveryjs/json-ext": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
-      "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
+    "node_modules/@babel/plugin-transform-class-properties": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz",
+      "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==",
       "dev": true,
+      "dependencies": {
+        "@babel/helper-create-class-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=10.0.0"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/aix-ppc64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz",
-      "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==",
-      "cpu": [
-        "ppc64"
-      ],
+    "node_modules/@babel/plugin-transform-class-static-block": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz",
+      "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "aix"
-      ],
+      "dependencies": {
+        "@babel/helper-create-class-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-class-static-block": "^7.14.5"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.12.0"
       }
     },
-    "node_modules/@esbuild/android-arm": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz",
-      "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==",
-      "cpu": [
-        "arm"
-      ],
+    "node_modules/@babel/plugin-transform-classes": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz",
+      "integrity": "sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ],
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.24.7",
+        "@babel/helper-compilation-targets": "^7.24.7",
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-function-name": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-replace-supers": "^7.24.7",
+        "@babel/helper-split-export-declaration": "^7.24.7",
+        "globals": "^11.1.0"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/android-arm64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz",
-      "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==",
-      "cpu": [
-        "arm64"
-      ],
+    "node_modules/@babel/plugin-transform-computed-properties": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz",
+      "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/template": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/android-x64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz",
-      "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@babel/plugin-transform-destructuring": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz",
+      "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/darwin-arm64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz",
-      "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==",
-      "cpu": [
-        "arm64"
-      ],
+    "node_modules/@babel/plugin-transform-dotall-regex": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz",
+      "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/darwin-x64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz",
-      "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@babel/plugin-transform-duplicate-keys": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz",
+      "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/freebsd-arm64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz",
-      "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==",
-      "cpu": [
-        "arm64"
-      ],
+    "node_modules/@babel/plugin-transform-dynamic-import": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz",
+      "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "freebsd"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/freebsd-x64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz",
-      "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@babel/plugin-transform-exponentiation-operator": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz",
+      "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "freebsd"
-      ],
+      "dependencies": {
+        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/linux-arm": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz",
-      "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==",
-      "cpu": [
-        "arm"
-      ],
+    "node_modules/@babel/plugin-transform-export-namespace-from": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz",
+      "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/linux-arm64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz",
-      "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==",
-      "cpu": [
-        "arm64"
-      ],
+    "node_modules/@babel/plugin-transform-for-of": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz",
+      "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/linux-ia32": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz",
-      "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==",
-      "cpu": [
-        "ia32"
-      ],
+    "node_modules/@babel/plugin-transform-function-name": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz",
+      "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
+      "dependencies": {
+        "@babel/helper-compilation-targets": "^7.24.7",
+        "@babel/helper-function-name": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/linux-loong64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz",
-      "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==",
-      "cpu": [
-        "loong64"
-      ],
+    "node_modules/@babel/plugin-transform-json-strings": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz",
+      "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-json-strings": "^7.8.3"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/linux-mips64el": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz",
-      "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==",
-      "cpu": [
-        "mips64el"
-      ],
+    "node_modules/@babel/plugin-transform-literals": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz",
+      "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/linux-ppc64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz",
-      "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==",
-      "cpu": [
-        "ppc64"
-      ],
+    "node_modules/@babel/plugin-transform-logical-assignment-operators": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz",
+      "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/linux-riscv64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz",
-      "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==",
-      "cpu": [
-        "riscv64"
-      ],
+    "node_modules/@babel/plugin-transform-member-expression-literals": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz",
+      "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/linux-s390x": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz",
-      "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==",
-      "cpu": [
-        "s390x"
-      ],
+    "node_modules/@babel/plugin-transform-modules-amd": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz",
+      "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
+      "dependencies": {
+        "@babel/helper-module-transforms": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/linux-x64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz",
-      "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@babel/plugin-transform-modules-commonjs": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz",
+      "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
+      "dependencies": {
+        "@babel/helper-module-transforms": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-simple-access": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/netbsd-x64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz",
-      "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@babel/plugin-transform-modules-systemjs": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz",
+      "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "netbsd"
-      ],
+      "dependencies": {
+        "@babel/helper-hoist-variables": "^7.24.7",
+        "@babel/helper-module-transforms": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-validator-identifier": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/openbsd-x64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz",
-      "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@babel/plugin-transform-modules-umd": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz",
+      "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "openbsd"
-      ],
+      "dependencies": {
+        "@babel/helper-module-transforms": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/sunos-x64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz",
-      "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz",
+      "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "sunos"
-      ],
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/@esbuild/win32-arm64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz",
-      "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==",
-      "cpu": [
-        "arm64"
-      ],
+    "node_modules/@babel/plugin-transform-new-target": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz",
+      "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/win32-ia32": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz",
-      "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==",
-      "cpu": [
-        "ia32"
-      ],
+    "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz",
+      "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@esbuild/win32-x64": {
-      "version": "0.19.12",
-      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz",
-      "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@babel/plugin-transform-numeric-separator": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz",
+      "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@eslint/eslintrc": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
-      "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
+    "node_modules/@babel/plugin-transform-object-rest-spread": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz",
+      "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==",
       "dev": true,
       "dependencies": {
-        "ajv": "^6.12.4",
-        "debug": "^4.3.2",
-        "espree": "^9.4.0",
-        "globals": "^13.19.0",
-        "ignore": "^5.2.0",
-        "import-fresh": "^3.2.1",
-        "js-yaml": "^4.1.0",
-        "minimatch": "^3.1.2",
-        "strip-json-comments": "^3.1.1"
+        "@babel/helper-compilation-targets": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+        "@babel/plugin-transform-parameters": "^7.24.7"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": ">=6.9.0"
       },
-      "funding": {
-        "url": "https://opencollective.com/eslint"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@eslint/eslintrc/node_modules/globals": {
-      "version": "13.24.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
-      "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+    "node_modules/@babel/plugin-transform-object-super": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz",
+      "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==",
       "dev": true,
       "dependencies": {
-        "type-fest": "^0.20.2"
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-replace-supers": "^7.24.7"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=6.9.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@eslint/eslintrc/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+    "node_modules/@babel/plugin-transform-optional-catch-binding": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz",
+      "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==",
       "dev": true,
       "dependencies": {
-        "brace-expansion": "^1.1.7"
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
       },
       "engines": {
-        "node": "*"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@eslint/eslintrc/node_modules/type-fest": {
-      "version": "0.20.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+    "node_modules/@babel/plugin-transform-optional-chaining": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz",
+      "integrity": "sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==",
       "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+      },
       "engines": {
-        "node": ">=10"
+        "node": ">=6.9.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@fastify/ajv-compiler": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz",
-      "integrity": "sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==",
+    "node_modules/@babel/plugin-transform-parameters": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz",
+      "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==",
       "dev": true,
       "dependencies": {
-        "ajv": "^8.11.0",
-        "ajv-formats": "^2.1.1",
-        "fast-uri": "^2.0.0"
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@fastify/ajv-compiler/node_modules/ajv": {
-      "version": "8.12.0",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
-      "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+    "node_modules/@babel/plugin-transform-private-methods": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz",
+      "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==",
       "dev": true,
       "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "json-schema-traverse": "^1.0.0",
-        "require-from-string": "^2.0.2",
-        "uri-js": "^4.2.2"
+        "@babel/helper-create-class-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
       },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@fastify/ajv-compiler/node_modules/json-schema-traverse": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
-      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
-      "dev": true
-    },
-    "node_modules/@fastify/error": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz",
-      "integrity": "sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==",
-      "dev": true
-    },
-    "node_modules/@fastify/express": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@fastify/express/-/express-3.0.0.tgz",
-      "integrity": "sha512-Ug6aulXCUiHgMyrHVYQqnQbGdsAV0aTad6nZxbOr6w3QjKn1mdQS3Kyzvc+I0xMjZ9yIyMUWHSooHgZ0l7nOng==",
+    "node_modules/@babel/plugin-transform-private-property-in-object": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz",
+      "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==",
       "dev": true,
       "dependencies": {
-        "express": "^4.17.1",
-        "fastify-plugin": "^4.0.0"
+        "@babel/helper-annotate-as-pure": "^7.24.7",
+        "@babel/helper-create-class-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@fastify/fast-json-stringify-compiler": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz",
-      "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==",
+    "node_modules/@babel/plugin-transform-property-literals": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz",
+      "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==",
       "dev": true,
       "dependencies": {
-        "fast-json-stringify": "^5.7.0"
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@fastify/merge-json-schemas": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz",
-      "integrity": "sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==",
+    "node_modules/@babel/plugin-transform-regenerator": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz",
+      "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==",
       "dev": true,
       "dependencies": {
-        "fast-deep-equal": "^3.1.3"
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "regenerator-transform": "^0.15.2"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@gar/promisify": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
-      "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
-      "dev": true
-    },
-    "node_modules/@grpc/grpc-js": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.10.1.tgz",
-      "integrity": "sha512-55ONqFytZExfOIjF1RjXPcVmT/jJqFzbbDqxK9jmRV4nxiYWtL9hENSW1Jfx0SdZfrvoqd44YJ/GJTqfRrawSQ==",
+    "node_modules/@babel/plugin-transform-reserved-words": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz",
+      "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==",
+      "dev": true,
       "dependencies": {
-        "@grpc/proto-loader": "^0.7.8",
-        "@types/node": ">=12.12.47"
+        "@babel/helper-plugin-utils": "^7.24.7"
       },
       "engines": {
-        "node": "^8.13.0 || >=10.10.0"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@grpc/proto-loader": {
-      "version": "0.7.10",
-      "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz",
-      "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==",
+    "node_modules/@babel/plugin-transform-shorthand-properties": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz",
+      "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==",
+      "dev": true,
       "dependencies": {
-        "lodash.camelcase": "^4.3.0",
-        "long": "^5.0.0",
-        "protobufjs": "^7.2.4",
-        "yargs": "^17.7.2"
-      },
-      "bin": {
-        "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
+        "@babel/helper-plugin-utils": "^7.24.7"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@hapi/accept": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/@hapi/accept/-/accept-6.0.3.tgz",
-      "integrity": "sha512-p72f9k56EuF0n3MwlBNThyVE5PXX40g+aQh+C/xbKrfzahM2Oispv3AXmOIU51t3j77zay1qrX7IIziZXspMlw==",
+    "node_modules/@babel/plugin-transform-spread": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz",
+      "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==",
       "dev": true,
       "dependencies": {
-        "@hapi/boom": "^10.0.1",
-        "@hapi/hoek": "^11.0.2"
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@hapi/accept/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@babel/plugin-transform-sticky-regex": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz",
+      "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@hapi/accept/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
-    },
-    "node_modules/@hapi/ammo": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-6.0.1.tgz",
-      "integrity": "sha512-pmL+nPod4g58kXrMcsGLp05O2jF4P2Q3GiL8qYV7nKYEh3cGf+rV4P5Jyi2Uq0agGhVU63GtaSAfBEZOlrJn9w==",
+    "node_modules/@babel/plugin-transform-template-literals": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz",
+      "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@hapi/ammo/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
-    },
-    "node_modules/@hapi/bounce": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-3.0.1.tgz",
-      "integrity": "sha512-G+/Pp9c1Ha4FDP+3Sy/Xwg2O4Ahaw3lIZFSX+BL4uWi64CmiETuZPxhKDUD4xBMOUZbBlzvO8HjiK8ePnhBadA==",
+    "node_modules/@babel/plugin-transform-typeof-symbol": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz",
+      "integrity": "sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==",
       "dev": true,
       "dependencies": {
-        "@hapi/boom": "^10.0.1",
-        "@hapi/hoek": "^11.0.2"
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@hapi/bounce/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@babel/plugin-transform-unicode-escapes": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz",
+      "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@hapi/bounce/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
+    "node_modules/@babel/plugin-transform-unicode-property-regex": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz",
+      "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
     },
-    "node_modules/@hapi/call": {
-      "version": "9.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/call/-/call-9.0.1.tgz",
-      "integrity": "sha512-uPojQRqEL1GRZR4xXPqcLMujQGaEpyVPRyBlD8Pp5rqgIwLhtveF9PkixiKru2THXvuN8mUrLeet5fqxKAAMGg==",
+    "node_modules/@babel/plugin-transform-unicode-regex": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz",
+      "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==",
       "dev": true,
       "dependencies": {
-        "@hapi/boom": "^10.0.1",
-        "@hapi/hoek": "^11.0.2"
+        "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@hapi/call/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@babel/plugin-transform-unicode-sets-regex": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz",
+      "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/@hapi/call/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
+    "node_modules/@babel/preset-env": {
+      "version": "7.24.6",
+      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.6.tgz",
+      "integrity": "sha512-CrxEAvN7VxfjOG8JNF2Y/eMqMJbZPZ185amwGUBp8D9USK90xQmv7dLdFSa+VbD7fdIqcy/Mfv7WtzG8+/qxKg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/compat-data": "^7.24.6",
+        "@babel/helper-compilation-targets": "^7.24.6",
+        "@babel/helper-plugin-utils": "^7.24.6",
+        "@babel/helper-validator-option": "^7.24.6",
+        "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.6",
+        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.6",
+        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.6",
+        "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.6",
+        "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
+        "@babel/plugin-syntax-async-generators": "^7.8.4",
+        "@babel/plugin-syntax-class-properties": "^7.12.13",
+        "@babel/plugin-syntax-class-static-block": "^7.14.5",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+        "@babel/plugin-syntax-import-assertions": "^7.24.6",
+        "@babel/plugin-syntax-import-attributes": "^7.24.6",
+        "@babel/plugin-syntax-import-meta": "^7.10.4",
+        "@babel/plugin-syntax-json-strings": "^7.8.3",
+        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+        "@babel/plugin-syntax-top-level-await": "^7.14.5",
+        "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
+        "@babel/plugin-transform-arrow-functions": "^7.24.6",
+        "@babel/plugin-transform-async-generator-functions": "^7.24.6",
+        "@babel/plugin-transform-async-to-generator": "^7.24.6",
+        "@babel/plugin-transform-block-scoped-functions": "^7.24.6",
+        "@babel/plugin-transform-block-scoping": "^7.24.6",
+        "@babel/plugin-transform-class-properties": "^7.24.6",
+        "@babel/plugin-transform-class-static-block": "^7.24.6",
+        "@babel/plugin-transform-classes": "^7.24.6",
+        "@babel/plugin-transform-computed-properties": "^7.24.6",
+        "@babel/plugin-transform-destructuring": "^7.24.6",
+        "@babel/plugin-transform-dotall-regex": "^7.24.6",
+        "@babel/plugin-transform-duplicate-keys": "^7.24.6",
+        "@babel/plugin-transform-dynamic-import": "^7.24.6",
+        "@babel/plugin-transform-exponentiation-operator": "^7.24.6",
+        "@babel/plugin-transform-export-namespace-from": "^7.24.6",
+        "@babel/plugin-transform-for-of": "^7.24.6",
+        "@babel/plugin-transform-function-name": "^7.24.6",
+        "@babel/plugin-transform-json-strings": "^7.24.6",
+        "@babel/plugin-transform-literals": "^7.24.6",
+        "@babel/plugin-transform-logical-assignment-operators": "^7.24.6",
+        "@babel/plugin-transform-member-expression-literals": "^7.24.6",
+        "@babel/plugin-transform-modules-amd": "^7.24.6",
+        "@babel/plugin-transform-modules-commonjs": "^7.24.6",
+        "@babel/plugin-transform-modules-systemjs": "^7.24.6",
+        "@babel/plugin-transform-modules-umd": "^7.24.6",
+        "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.6",
+        "@babel/plugin-transform-new-target": "^7.24.6",
+        "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.6",
+        "@babel/plugin-transform-numeric-separator": "^7.24.6",
+        "@babel/plugin-transform-object-rest-spread": "^7.24.6",
+        "@babel/plugin-transform-object-super": "^7.24.6",
+        "@babel/plugin-transform-optional-catch-binding": "^7.24.6",
+        "@babel/plugin-transform-optional-chaining": "^7.24.6",
+        "@babel/plugin-transform-parameters": "^7.24.6",
+        "@babel/plugin-transform-private-methods": "^7.24.6",
+        "@babel/plugin-transform-private-property-in-object": "^7.24.6",
+        "@babel/plugin-transform-property-literals": "^7.24.6",
+        "@babel/plugin-transform-regenerator": "^7.24.6",
+        "@babel/plugin-transform-reserved-words": "^7.24.6",
+        "@babel/plugin-transform-shorthand-properties": "^7.24.6",
+        "@babel/plugin-transform-spread": "^7.24.6",
+        "@babel/plugin-transform-sticky-regex": "^7.24.6",
+        "@babel/plugin-transform-template-literals": "^7.24.6",
+        "@babel/plugin-transform-typeof-symbol": "^7.24.6",
+        "@babel/plugin-transform-unicode-escapes": "^7.24.6",
+        "@babel/plugin-transform-unicode-property-regex": "^7.24.6",
+        "@babel/plugin-transform-unicode-regex": "^7.24.6",
+        "@babel/plugin-transform-unicode-sets-regex": "^7.24.6",
+        "@babel/preset-modules": "0.1.6-no-external-plugins",
+        "babel-plugin-polyfill-corejs2": "^0.4.10",
+        "babel-plugin-polyfill-corejs3": "^0.10.4",
+        "babel-plugin-polyfill-regenerator": "^0.6.1",
+        "core-js-compat": "^3.31.0",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
     },
-    "node_modules/@hapi/catbox": {
-      "version": "12.1.1",
-      "resolved": "https://registry.npmjs.org/@hapi/catbox/-/catbox-12.1.1.tgz",
-      "integrity": "sha512-hDqYB1J+R0HtZg4iPH3LEnldoaBsar6bYp0EonBmNQ9t5CO+1CqgCul2ZtFveW1ReA5SQuze9GPSU7/aecERhw==",
+    "node_modules/@babel/preset-env/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
       "dev": true,
-      "dependencies": {
-        "@hapi/boom": "^10.0.1",
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/podium": "^5.0.0",
-        "@hapi/validate": "^2.0.1"
+      "bin": {
+        "semver": "bin/semver.js"
       }
     },
-    "node_modules/@hapi/catbox-memory": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/catbox-memory/-/catbox-memory-6.0.1.tgz",
-      "integrity": "sha512-sVb+/ZxbZIvaMtJfAbdyY+QJUQg9oKTwamXpEg/5xnfG5WbJLTjvEn4kIGKz9pN3ENNbIL/bIdctmHmqi/AdGA==",
+    "node_modules/@babel/preset-modules": {
+      "version": "0.1.6-no-external-plugins",
+      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
+      "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
       "dev": true,
       "dependencies": {
-        "@hapi/boom": "^10.0.1",
-        "@hapi/hoek": "^11.0.2"
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@babel/types": "^7.4.4",
+        "esutils": "^2.0.2"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
       }
     },
-    "node_modules/@hapi/catbox-memory/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@babel/regjsgen": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
+      "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
+      "dev": true
+    },
+    "node_modules/@babel/runtime": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
+      "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "regenerator-runtime": "^0.14.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@hapi/catbox-memory/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+    "node_modules/@babel/runtime/node_modules/regenerator-runtime": {
+      "version": "0.14.1",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+      "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
       "dev": true
     },
-    "node_modules/@hapi/catbox/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@babel/template": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
+      "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "@babel/code-frame": "^7.24.7",
+        "@babel/parser": "^7.24.7",
+        "@babel/types": "^7.24.7"
+      },
+      "engines": {
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@hapi/catbox/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
+    "node_modules/@babel/traverse": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
+      "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.24.7",
+        "@babel/generator": "^7.24.7",
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-function-name": "^7.24.7",
+        "@babel/helper-hoist-variables": "^7.24.7",
+        "@babel/helper-split-export-declaration": "^7.24.7",
+        "@babel/parser": "^7.24.7",
+        "@babel/types": "^7.24.7",
+        "debug": "^4.3.1",
+        "globals": "^11.1.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
     },
-    "node_modules/@hapi/catbox/node_modules/@hapi/podium": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-5.0.1.tgz",
-      "integrity": "sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ==",
+    "node_modules/@babel/types": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
+      "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/teamwork": "^6.0.0",
-        "@hapi/validate": "^2.0.1"
+        "@babel/helper-string-parser": "^7.24.7",
+        "@babel/helper-validator-identifier": "^7.24.7",
+        "to-fast-properties": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@hapi/catbox/node_modules/@hapi/teamwork": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-6.0.0.tgz",
-      "integrity": "sha512-05HumSy3LWfXpmJ9cr6HzwhAavrHkJ1ZRCmNE2qJMihdM5YcWreWPfyN0yKT2ZjCM92au3ZkuodjBxOibxM67A==",
+    "node_modules/@colors/colors": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+      "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
       "dev": true,
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=0.1.90"
       }
     },
-    "node_modules/@hapi/catbox/node_modules/@hapi/topo": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
+    "node_modules/@cucumber/ci-environment": {
+      "version": "9.2.0",
+      "resolved": "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-9.2.0.tgz",
+      "integrity": "sha512-jLzRtVwdtNt+uAmTwvXwW9iGYLEOJFpDSmnx/dgoMGKXUWRx1UHT86Q696CLdgXO8kyTwsgJY0c6n5SW9VitAA==",
+      "dev": true
+    },
+    "node_modules/@cucumber/cucumber": {
+      "version": "9.6.0",
+      "resolved": "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-9.6.0.tgz",
+      "integrity": "sha512-bCw2uJdGHHLg4B3RoZpLzx0RXyXURmPe+swtdK1cGoA8rs+vv+/6osifcNwvFM2sv0nQ91+gDACSrXK7AHCylg==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "@cucumber/ci-environment": "9.2.0",
+        "@cucumber/cucumber-expressions": "16.1.2",
+        "@cucumber/gherkin": "26.2.0",
+        "@cucumber/gherkin-streams": "5.0.1",
+        "@cucumber/gherkin-utils": "8.0.2",
+        "@cucumber/html-formatter": "20.4.0",
+        "@cucumber/message-streams": "4.0.1",
+        "@cucumber/messages": "22.0.0",
+        "@cucumber/tag-expressions": "5.0.1",
+        "assertion-error-formatter": "^3.0.0",
+        "capital-case": "^1.0.4",
+        "chalk": "^4.1.2",
+        "cli-table3": "0.6.3",
+        "commander": "^10.0.0",
+        "debug": "^4.3.4",
+        "error-stack-parser": "^2.1.4",
+        "figures": "^3.2.0",
+        "glob": "^7.1.6",
+        "has-ansi": "^4.0.1",
+        "indent-string": "^4.0.0",
+        "is-installed-globally": "^0.4.0",
+        "is-stream": "^2.0.0",
+        "knuth-shuffle-seeded": "^1.0.6",
+        "lodash.merge": "^4.6.2",
+        "lodash.mergewith": "^4.6.2",
+        "luxon": "3.2.1",
+        "mkdirp": "^2.1.5",
+        "mz": "^2.7.0",
+        "progress": "^2.0.3",
+        "resolve-pkg": "^2.0.0",
+        "semver": "7.5.3",
+        "string-argv": "^0.3.1",
+        "strip-ansi": "6.0.1",
+        "supports-color": "^8.1.1",
+        "tmp": "^0.2.1",
+        "util-arity": "^1.1.0",
+        "verror": "^1.10.0",
+        "xmlbuilder": "^15.1.1",
+        "yaml": "^2.2.2",
+        "yup": "1.2.0"
+      },
+      "bin": {
+        "cucumber-js": "bin/cucumber.js"
+      },
+      "engines": {
+        "node": "14 || 16 || >=18"
       }
     },
-    "node_modules/@hapi/catbox/node_modules/@hapi/validate": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
+    "node_modules/@cucumber/cucumber-expressions": {
+      "version": "16.1.2",
+      "resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-16.1.2.tgz",
+      "integrity": "sha512-CfHEbxJ5FqBwF6mJyLLz4B353gyHkoi6cCL4J0lfDZ+GorpcWw4n2OUAdxJmP7ZlREANWoTFlp4FhmkLKrCfUA==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/topo": "^6.0.1"
+        "regexp-match-indices": "1.0.2"
       }
     },
-    "node_modules/@hapi/content": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/@hapi/content/-/content-6.0.0.tgz",
-      "integrity": "sha512-CEhs7j+H0iQffKfe5Htdak5LBOz/Qc8TRh51cF+BFv0qnuph3Em4pjGVzJMkI2gfTDdlJKWJISGWS1rK34POGA==",
+    "node_modules/@cucumber/cucumber/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
       "dependencies": {
-        "@hapi/boom": "^10.0.0"
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/@hapi/content/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@cucumber/cucumber/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/@hapi/content/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
-    },
-    "node_modules/@hapi/file": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@hapi/file/-/file-3.0.0.tgz",
-      "integrity": "sha512-w+lKW+yRrLhJu620jT3y+5g2mHqnKfepreykvdOcl9/6up8GrQQn+l3FRTsjHTKbkbfQFkuksHpdv2EcpKcJ4Q==",
-      "dev": true
-    },
-    "node_modules/@hapi/hapi": {
-      "version": "21.3.3",
-      "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.3.tgz",
-      "integrity": "sha512-6pgwWVl/aSKSNVn86n+mWa06jRqCAKi2adZp/Hti19A0u5x3/6eiKz8UTBPMzfrdGf9WcrYbFBYzWr/qd2s28g==",
+    "node_modules/@cucumber/cucumber/node_modules/chalk/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
       "dependencies": {
-        "@hapi/accept": "^6.0.1",
-        "@hapi/ammo": "^6.0.1",
-        "@hapi/boom": "^10.0.1",
-        "@hapi/bounce": "^3.0.1",
-        "@hapi/call": "^9.0.1",
-        "@hapi/catbox": "^12.1.1",
-        "@hapi/catbox-memory": "^6.0.1",
-        "@hapi/heavy": "^8.0.1",
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/mimos": "^7.0.1",
-        "@hapi/podium": "^5.0.1",
-        "@hapi/shot": "^6.0.1",
-        "@hapi/somever": "^4.1.1",
-        "@hapi/statehood": "^8.1.1",
-        "@hapi/subtext": "^8.1.0",
-        "@hapi/teamwork": "^6.0.0",
-        "@hapi/topo": "^6.0.1",
-        "@hapi/validate": "^2.0.1"
+        "has-flag": "^4.0.0"
       },
       "engines": {
-        "node": ">=14.15.0"
+        "node": ">=8"
       }
     },
-    "node_modules/@hapi/hapi/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@cucumber/cucumber/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
       }
     },
-    "node_modules/@hapi/hapi/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+    "node_modules/@cucumber/cucumber/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
       "dev": true
     },
-    "node_modules/@hapi/hapi/node_modules/@hapi/podium": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-5.0.1.tgz",
-      "integrity": "sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ==",
+    "node_modules/@cucumber/cucumber/node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/teamwork": "^6.0.0",
-        "@hapi/validate": "^2.0.1"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@hapi/hapi/node_modules/@hapi/teamwork": {
+    "node_modules/@cucumber/cucumber/node_modules/lru-cache": {
       "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-6.0.0.tgz",
-      "integrity": "sha512-05HumSy3LWfXpmJ9cr6HzwhAavrHkJ1ZRCmNE2qJMihdM5YcWreWPfyN0yKT2ZjCM92au3ZkuodjBxOibxM67A==",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
       "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=10"
       }
     },
-    "node_modules/@hapi/hapi/node_modules/@hapi/topo": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
+    "node_modules/@cucumber/cucumber/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
       }
     },
-    "node_modules/@hapi/hapi/node_modules/@hapi/validate": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
+    "node_modules/@cucumber/cucumber/node_modules/semver": {
+      "version": "7.5.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
+      "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/topo": "^6.0.1"
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/@hapi/heavy": {
-      "version": "8.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/heavy/-/heavy-8.0.1.tgz",
-      "integrity": "sha512-gBD/NANosNCOp6RsYTsjo2vhr5eYA3BEuogk6cxY0QdhllkkTaJFYtTXv46xd6qhBVMbMMqcSdtqey+UQU3//w==",
+    "node_modules/@cucumber/cucumber/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
+    "node_modules/@cucumber/gherkin": {
+      "version": "26.2.0",
+      "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-26.2.0.tgz",
+      "integrity": "sha512-iRSiK8YAIHAmLrn/mUfpAx7OXZ7LyNlh1zT89RoziSVCbqSVDxJS6ckEzW8loxs+EEXl0dKPQOXiDmbHV+C/fA==",
       "dev": true,
       "dependencies": {
-        "@hapi/boom": "^10.0.1",
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/validate": "^2.0.1"
+        "@cucumber/messages": ">=19.1.4 <=22"
       }
     },
-    "node_modules/@hapi/heavy/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@cucumber/gherkin-streams": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/@cucumber/gherkin-streams/-/gherkin-streams-5.0.1.tgz",
+      "integrity": "sha512-/7VkIE/ASxIP/jd4Crlp4JHXqdNFxPGQokqWqsaCCiqBiu5qHoKMxcWNlp9njVL/n9yN4S08OmY3ZR8uC5x74Q==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "commander": "9.1.0",
+        "source-map-support": "0.5.21"
+      },
+      "bin": {
+        "gherkin-javascript": "bin/gherkin"
+      },
+      "peerDependencies": {
+        "@cucumber/gherkin": ">=22.0.0",
+        "@cucumber/message-streams": ">=4.0.0",
+        "@cucumber/messages": ">=17.1.1"
       }
     },
-    "node_modules/@hapi/heavy/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
+    "node_modules/@cucumber/gherkin-streams/node_modules/commander": {
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz",
+      "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==",
+      "dev": true,
+      "engines": {
+        "node": "^12.20.0 || >=14"
+      }
     },
-    "node_modules/@hapi/heavy/node_modules/@hapi/topo": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
+    "node_modules/@cucumber/gherkin-utils": {
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/@cucumber/gherkin-utils/-/gherkin-utils-8.0.2.tgz",
+      "integrity": "sha512-aQlziN3r3cTwprEDbLEcFoMRQajb9DTOu2OZZp5xkuNz6bjSTowSY90lHUD2pWT7jhEEckZRIREnk7MAwC2d1A==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "@cucumber/gherkin": "^25.0.0",
+        "@cucumber/messages": "^19.1.4",
+        "@teppeis/multimaps": "2.0.0",
+        "commander": "9.4.1",
+        "source-map-support": "^0.5.21"
+      },
+      "bin": {
+        "gherkin-utils": "bin/gherkin-utils"
       }
     },
-    "node_modules/@hapi/heavy/node_modules/@hapi/validate": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
+    "node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/gherkin": {
+      "version": "25.0.2",
+      "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-25.0.2.tgz",
+      "integrity": "sha512-EdsrR33Y5GjuOoe2Kq5Y9DYwgNRtUD32H4y2hCrT6+AWo7ibUQu7H+oiWTgfVhwbkHsZmksxHSxXz/AwqqyCRQ==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/topo": "^6.0.1"
+        "@cucumber/messages": "^19.1.4"
       }
     },
-    "node_modules/@hapi/hoek": {
-      "version": "9.3.0",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
-      "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==",
-      "dev": true
-    },
-    "node_modules/@hapi/mimos": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/mimos/-/mimos-7.0.1.tgz",
-      "integrity": "sha512-b79V+BrG0gJ9zcRx1VGcCI6r6GEzzZUgiGEJVoq5gwzuB2Ig9Cax8dUuBauQCFKvl2YWSWyOc8mZ8HDaJOtkew==",
+    "node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/messages": {
+      "version": "19.1.4",
+      "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-19.1.4.tgz",
+      "integrity": "sha512-Pksl0pnDz2l1+L5Ug85NlG6LWrrklN9qkMxN5Mv+1XZ3T6u580dnE6mVaxjJRdcOq4tR17Pc0RqIDZMyVY1FlA==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "mime-db": "^1.52.0"
+        "@types/uuid": "8.3.4",
+        "class-transformer": "0.5.1",
+        "reflect-metadata": "0.1.13",
+        "uuid": "9.0.0"
       }
     },
-    "node_modules/@hapi/mimos/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+    "node_modules/@cucumber/gherkin-utils/node_modules/@types/uuid": {
+      "version": "8.3.4",
+      "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
+      "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
       "dev": true
     },
-    "node_modules/@hapi/nigel": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/nigel/-/nigel-5.0.1.tgz",
-      "integrity": "sha512-uv3dtYuB4IsNaha+tigWmN8mQw/O9Qzl5U26Gm4ZcJVtDdB1AVJOwX3X5wOX+A07qzpEZnOMBAm8jjSqGsU6Nw==",
+    "node_modules/@cucumber/gherkin-utils/node_modules/commander": {
+      "version": "9.4.1",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz",
+      "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==",
       "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/vise": "^5.0.1"
-      },
       "engines": {
-        "node": ">=14.0.0"
+        "node": "^12.20.0 || >=14"
       }
     },
-    "node_modules/@hapi/nigel/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
+    "node_modules/@cucumber/gherkin-utils/node_modules/uuid": {
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
+      "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+      "dev": true,
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
     },
-    "node_modules/@hapi/pez": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/@hapi/pez/-/pez-6.1.0.tgz",
-      "integrity": "sha512-+FE3sFPYuXCpuVeHQ/Qag1b45clR2o54QoonE/gKHv9gukxQ8oJJZPR7o3/ydDTK6racnCJXxOyT1T93FCJMIg==",
+    "node_modules/@cucumber/html-formatter": {
+      "version": "20.4.0",
+      "resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-20.4.0.tgz",
+      "integrity": "sha512-TnLSXC5eJd8AXHENo69f5z+SixEVtQIf7Q2dZuTpT/Y8AOkilGpGl1MQR1Vp59JIw+fF3EQSUKdf+DAThCxUNg==",
       "dev": true,
-      "dependencies": {
-        "@hapi/b64": "^6.0.1",
-        "@hapi/boom": "^10.0.1",
-        "@hapi/content": "^6.0.0",
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/nigel": "^5.0.1"
+      "peerDependencies": {
+        "@cucumber/messages": ">=18"
       }
     },
-    "node_modules/@hapi/pez/node_modules/@hapi/b64": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/b64/-/b64-6.0.1.tgz",
-      "integrity": "sha512-ZvjX4JQReUmBheeCq+S9YavcnMMHWqx3S0jHNXWIM1kQDxB9cyfSycpVvjfrKcIS8Mh5N3hmu/YKo4Iag9g2Kw==",
+    "node_modules/@cucumber/message-streams": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/@cucumber/message-streams/-/message-streams-4.0.1.tgz",
+      "integrity": "sha512-Kxap9uP5jD8tHUZVjTWgzxemi/0uOsbGjd4LBOSxcJoOCRbESFwemUzilJuzNTB8pcTQUh8D5oudUyxfkJOKmA==",
       "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+      "peerDependencies": {
+        "@cucumber/messages": ">=17.1.1"
       }
     },
-    "node_modules/@hapi/pez/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@cucumber/messages": {
+      "version": "22.0.0",
+      "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-22.0.0.tgz",
+      "integrity": "sha512-EuaUtYte9ilkxcKmfqGF9pJsHRUU0jwie5ukuZ/1NPTuHS1LxHPsGEODK17RPRbZHOFhqybNzG2rHAwThxEymg==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "@types/uuid": "9.0.1",
+        "class-transformer": "0.5.1",
+        "reflect-metadata": "0.1.13",
+        "uuid": "9.0.0"
       }
     },
-    "node_modules/@hapi/pez/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
-    },
-    "node_modules/@hapi/shot": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/shot/-/shot-6.0.1.tgz",
-      "integrity": "sha512-s5ynMKZXYoDd3dqPw5YTvOR/vjHvMTxc388+0qL0jZZP1+uwXuUD32o9DuuuLsmTlyXCWi02BJl1pBpwRuUrNA==",
+    "node_modules/@cucumber/messages/node_modules/uuid": {
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
+      "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
       "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/validate": "^2.0.1"
+      "bin": {
+        "uuid": "dist/bin/uuid"
       }
     },
-    "node_modules/@hapi/shot/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+    "node_modules/@cucumber/tag-expressions": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-5.0.1.tgz",
+      "integrity": "sha512-N43uWud8ZXuVjza423T9ZCIJsaZhFekmakt7S9bvogTxqdVGbRobjR663s0+uW0Rz9e+Pa8I6jUuWtoBLQD2Mw==",
       "dev": true
     },
-    "node_modules/@hapi/shot/node_modules/@hapi/topo": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
+    "node_modules/@dabh/diagnostics": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
+      "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "colorspace": "1.1.x",
+        "enabled": "2.0.x",
+        "kuler": "^2.0.0"
       }
     },
-    "node_modules/@hapi/shot/node_modules/@hapi/validate": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
+    "node_modules/@discoveryjs/json-ext": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
+      "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
       "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/topo": "^6.0.1"
+      "engines": {
+        "node": ">=10.0.0"
       }
     },
-    "node_modules/@hapi/somever": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/@hapi/somever/-/somever-4.1.1.tgz",
-      "integrity": "sha512-lt3QQiDDOVRatS0ionFDNrDIv4eXz58IibQaZQDOg4DqqdNme8oa0iPWcE0+hkq/KTeBCPtEOjDOBKBKwDumVg==",
+    "node_modules/@esbuild/aix-ppc64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz",
+      "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==",
+      "cpu": [
+        "ppc64"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/bounce": "^3.0.1",
-        "@hapi/hoek": "^11.0.2"
+      "optional": true,
+      "os": [
+        "aix"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/somever/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
-    },
-    "node_modules/@hapi/statehood": {
-      "version": "8.1.1",
-      "resolved": "https://registry.npmjs.org/@hapi/statehood/-/statehood-8.1.1.tgz",
-      "integrity": "sha512-YbK7PSVUA59NArAW5Np0tKRoIZ5VNYUicOk7uJmWZF6XyH5gGL+k62w77SIJb0AoAJ0QdGQMCQ/WOGL1S3Ydow==",
+    "node_modules/@esbuild/android-arm": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz",
+      "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==",
+      "cpu": [
+        "arm"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/boom": "^10.0.1",
-        "@hapi/bounce": "^3.0.1",
-        "@hapi/bourne": "^3.0.0",
-        "@hapi/cryptiles": "^6.0.1",
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/iron": "^7.0.1",
-        "@hapi/validate": "^2.0.1"
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/statehood/node_modules/@hapi/b64": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/b64/-/b64-6.0.1.tgz",
-      "integrity": "sha512-ZvjX4JQReUmBheeCq+S9YavcnMMHWqx3S0jHNXWIM1kQDxB9cyfSycpVvjfrKcIS8Mh5N3hmu/YKo4Iag9g2Kw==",
+    "node_modules/@esbuild/android-arm64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz",
+      "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/statehood/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@esbuild/android-x64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz",
+      "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/statehood/node_modules/@hapi/bourne": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
-      "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==",
-      "dev": true
-    },
-    "node_modules/@hapi/statehood/node_modules/@hapi/cryptiles": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/cryptiles/-/cryptiles-6.0.1.tgz",
-      "integrity": "sha512-9GM9ECEHfR8lk5ASOKG4+4ZsEzFqLfhiryIJ2ISePVB92OHLp/yne4m+zn7z9dgvM98TLpiFebjDFQ0UHcqxXQ==",
+    "node_modules/@esbuild/darwin-arm64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz",
+      "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/boom": "^10.0.1"
-      },
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/statehood/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
-    },
-    "node_modules/@hapi/statehood/node_modules/@hapi/iron": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/iron/-/iron-7.0.1.tgz",
-      "integrity": "sha512-tEZnrOujKpS6jLKliyWBl3A9PaE+ppuL/+gkbyPPDb/l2KSKQyH4lhMkVb+sBhwN+qaxxlig01JRqB8dk/mPxQ==",
+    "node_modules/@esbuild/darwin-x64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz",
+      "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/b64": "^6.0.1",
-        "@hapi/boom": "^10.0.1",
-        "@hapi/bourne": "^3.0.0",
-        "@hapi/cryptiles": "^6.0.1",
-        "@hapi/hoek": "^11.0.2"
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/statehood/node_modules/@hapi/topo": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
+    "node_modules/@esbuild/freebsd-arm64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz",
+      "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/statehood/node_modules/@hapi/validate": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
+    "node_modules/@esbuild/freebsd-x64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz",
+      "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/topo": "^6.0.1"
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/subtext": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/@hapi/subtext/-/subtext-8.1.0.tgz",
-      "integrity": "sha512-PyaN4oSMtqPjjVxLny1k0iYg4+fwGusIhaom9B2StinBclHs7v46mIW706Y+Wo21lcgulGyXbQrmT/w4dus6ww==",
+    "node_modules/@esbuild/linux-arm": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz",
+      "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==",
+      "cpu": [
+        "arm"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/boom": "^10.0.1",
-        "@hapi/bourne": "^3.0.0",
-        "@hapi/content": "^6.0.0",
-        "@hapi/file": "^3.0.0",
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/pez": "^6.1.0",
-        "@hapi/wreck": "^18.0.1"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/subtext/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@esbuild/linux-arm64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz",
+      "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/subtext/node_modules/@hapi/bourne": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
-      "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==",
-      "dev": true
-    },
-    "node_modules/@hapi/subtext/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
-    },
-    "node_modules/@hapi/topo": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
-      "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
+    "node_modules/@esbuild/linux-ia32": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz",
+      "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==",
+      "cpu": [
+        "ia32"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^9.0.0"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/vise": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/vise/-/vise-5.0.1.tgz",
-      "integrity": "sha512-XZYWzzRtINQLedPYlIkSkUr7m5Ddwlu99V9elh8CSygXstfv3UnWIXT0QD+wmR0VAG34d2Vx3olqcEhRRoTu9A==",
+    "node_modules/@esbuild/linux-loong64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz",
+      "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==",
+      "cpu": [
+        "loong64"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/vise/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
-    },
-    "node_modules/@hapi/wreck": {
-      "version": "18.1.0",
-      "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-18.1.0.tgz",
-      "integrity": "sha512-0z6ZRCmFEfV/MQqkQomJ7sl/hyxvcZM7LtuVqN3vdAO4vM9eBbowl0kaqQj9EJJQab+3Uuh1GxbGIBFy4NfJ4w==",
+    "node_modules/@esbuild/linux-mips64el": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz",
+      "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==",
+      "cpu": [
+        "mips64el"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/boom": "^10.0.1",
-        "@hapi/bourne": "^3.0.0",
-        "@hapi/hoek": "^11.0.2"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/wreck/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@esbuild/linux-ppc64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz",
+      "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==",
+      "cpu": [
+        "ppc64"
+      ],
       "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@hapi/wreck/node_modules/@hapi/bourne": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
-      "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==",
-      "dev": true
-    },
-    "node_modules/@hapi/wreck/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
-    },
-    "node_modules/@humanwhocodes/config-array": {
-      "version": "0.9.5",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
-      "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
+    "node_modules/@esbuild/linux-riscv64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz",
+      "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==",
+      "cpu": [
+        "riscv64"
+      ],
       "dev": true,
-      "dependencies": {
-        "@humanwhocodes/object-schema": "^1.2.1",
-        "debug": "^4.1.1",
-        "minimatch": "^3.0.4"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=10.10.0"
+        "node": ">=12"
       }
     },
-    "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+    "node_modules/@esbuild/linux-s390x": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz",
+      "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==",
+      "cpu": [
+        "s390x"
+      ],
       "dev": true,
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "*"
+        "node": ">=12"
       }
     },
-    "node_modules/@humanwhocodes/object-schema": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
-      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
-      "dev": true
-    },
-    "node_modules/@hutson/parse-repository-url": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz",
-      "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==",
+    "node_modules/@esbuild/linux-x64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz",
+      "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=12"
       }
     },
-    "node_modules/@ioredis/commands": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz",
-      "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==",
-      "dev": true
-    },
-    "node_modules/@isaacs/cliui": {
-      "version": "8.0.2",
-      "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
-      "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+    "node_modules/@esbuild/netbsd-x64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz",
+      "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "dependencies": {
-        "string-width": "^5.1.2",
-        "string-width-cjs": "npm:string-width@^4.2.0",
-        "strip-ansi": "^7.0.1",
-        "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
-        "wrap-ansi": "^8.1.0",
-        "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
-      },
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
       "engines": {
         "node": ">=12"
       }
     },
-    "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
-      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+    "node_modules/@esbuild/openbsd-x64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz",
+      "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
+      "optional": true,
+      "os": [
+        "openbsd"
+      ],
       "engines": {
         "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
-    "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
-      "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+    "node_modules/@esbuild/sunos-x64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz",
+      "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
+      "optional": true,
+      "os": [
+        "sunos"
+      ],
       "engines": {
         "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
-      "version": "9.2.2",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
-      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
-      "dev": true
-    },
-    "node_modules/@isaacs/cliui/node_modules/string-width": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
-      "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+    "node_modules/@esbuild/win32-arm64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz",
+      "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
-      "dependencies": {
-        "eastasianwidth": "^0.2.0",
-        "emoji-regex": "^9.2.2",
-        "strip-ansi": "^7.0.1"
-      },
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
         "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
-      "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+    "node_modules/@esbuild/win32-ia32": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz",
+      "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==",
+      "cpu": [
+        "ia32"
+      ],
       "dev": true,
-      "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
         "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
-    "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
-      "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+    "node_modules/@esbuild/win32-x64": {
+      "version": "0.19.12",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz",
+      "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "dependencies": {
-        "ansi-styles": "^6.1.0",
-        "string-width": "^5.0.1",
-        "strip-ansi": "^7.0.1"
-      },
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
         "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/@isaacs/string-locale-compare": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz",
-      "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==",
-      "dev": true
-    },
-    "node_modules/@istanbuljs/load-nyc-config": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
-      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+    "node_modules/@eslint/eslintrc": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
+      "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
       "dev": true,
       "dependencies": {
-        "camelcase": "^5.3.1",
-        "find-up": "^4.1.0",
-        "get-package-type": "^0.1.0",
-        "js-yaml": "^3.13.1",
-        "resolve-from": "^5.0.0"
+        "ajv": "^6.12.4",
+        "debug": "^4.3.2",
+        "espree": "^9.4.0",
+        "globals": "^13.19.0",
+        "ignore": "^5.2.0",
+        "import-fresh": "^3.2.1",
+        "js-yaml": "^4.1.0",
+        "minimatch": "^3.1.2",
+        "strip-json-comments": "^3.1.1"
       },
       "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "dev": true,
-      "dependencies": {
-        "sprintf-js": "~1.0.2"
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+    "node_modules/@eslint/eslintrc/node_modules/globals": {
+      "version": "13.24.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+      "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
       "dev": true,
       "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
+        "type-fest": "^0.20.2"
       },
       "engines": {
         "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
-      "version": "3.14.1",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
-      "dev": true,
-      "dependencies": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
       },
-      "bin": {
-        "js-yaml": "bin/js-yaml.js"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+    "node_modules/@eslint/eslintrc/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
       "dev": true,
       "dependencies": {
-        "p-locate": "^4.1.0"
+        "brace-expansion": "^1.1.7"
       },
       "engines": {
-        "node": ">=8"
+        "node": "*"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+    "node_modules/@eslint/eslintrc/node_modules/type-fest": {
+      "version": "0.20.2",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
       "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
       "engines": {
-        "node": ">=6"
+        "node": ">=10"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+    "node_modules/@fastify/ajv-compiler": {
+      "version": "3.5.0",
+      "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz",
+      "integrity": "sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==",
       "dev": true,
       "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
+        "ajv": "^8.11.0",
+        "ajv-formats": "^2.1.1",
+        "fast-uri": "^2.0.0"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+    "node_modules/@fastify/ajv-compiler/node_modules/ajv": {
+      "version": "8.12.0",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+      "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
       "dev": true,
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+    "node_modules/@fastify/ajv-compiler/node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
       "dev": true
     },
-    "node_modules/@istanbuljs/schema": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
-      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+    "node_modules/@fastify/error": {
+      "version": "3.4.1",
+      "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz",
+      "integrity": "sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==",
+      "dev": true
+    },
+    "node_modules/@fastify/express": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@fastify/express/-/express-3.0.0.tgz",
+      "integrity": "sha512-Ug6aulXCUiHgMyrHVYQqnQbGdsAV0aTad6nZxbOr6w3QjKn1mdQS3Kyzvc+I0xMjZ9yIyMUWHSooHgZ0l7nOng==",
       "dev": true,
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "express": "^4.17.1",
+        "fastify-plugin": "^4.0.0"
       }
     },
-    "node_modules/@jest/expect-utils": {
-      "version": "29.7.0",
-      "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
-      "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
+    "node_modules/@fastify/fast-json-stringify-compiler": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz",
+      "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==",
       "dev": true,
       "dependencies": {
-        "jest-get-type": "^29.6.3"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "fast-json-stringify": "^5.7.0"
       }
     },
-    "node_modules/@jest/schemas": {
-      "version": "29.6.3",
-      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
-      "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+    "node_modules/@fastify/merge-json-schemas": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz",
+      "integrity": "sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==",
       "dev": true,
       "dependencies": {
-        "@sinclair/typebox": "^0.27.8"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "fast-deep-equal": "^3.1.3"
       }
     },
-    "node_modules/@jest/types": {
-      "version": "29.6.3",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
-      "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
-      "dev": true,
+    "node_modules/@gar/promisify": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
+      "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+      "dev": true
+    },
+    "node_modules/@grpc/grpc-js": {
+      "version": "1.10.1",
+      "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.10.1.tgz",
+      "integrity": "sha512-55ONqFytZExfOIjF1RjXPcVmT/jJqFzbbDqxK9jmRV4nxiYWtL9hENSW1Jfx0SdZfrvoqd44YJ/GJTqfRrawSQ==",
       "dependencies": {
-        "@jest/schemas": "^29.6.3",
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^17.0.8",
-        "chalk": "^4.0.0"
+        "@grpc/proto-loader": "^0.7.8",
+        "@types/node": ">=12.12.47"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": "^8.13.0 || >=10.10.0"
       }
     },
-    "node_modules/@jest/types/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
+    "node_modules/@grpc/proto-loader": {
+      "version": "0.7.10",
+      "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz",
+      "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==",
       "dependencies": {
-        "color-convert": "^2.0.1"
+        "lodash.camelcase": "^4.3.0",
+        "long": "^5.0.0",
+        "protobufjs": "^7.2.4",
+        "yargs": "^17.7.2"
       },
-      "engines": {
-        "node": ">=8"
+      "bin": {
+        "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
       },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      "engines": {
+        "node": ">=6"
       }
     },
-    "node_modules/@jest/types/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+    "node_modules/@hapi/accept": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/@hapi/accept/-/accept-6.0.3.tgz",
+      "integrity": "sha512-p72f9k56EuF0n3MwlBNThyVE5PXX40g+aQh+C/xbKrfzahM2Oispv3AXmOIU51t3j77zay1qrX7IIziZXspMlw==",
       "dev": true,
       "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
+        "@hapi/boom": "^10.0.1",
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@jest/types/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+    "node_modules/@hapi/accept/node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
       "dev": true,
       "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@jest/types/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+    "node_modules/@hapi/accept/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
       "dev": true
     },
-    "node_modules/@jest/types/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+    "node_modules/@hapi/ammo": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-6.0.1.tgz",
+      "integrity": "sha512-pmL+nPod4g58kXrMcsGLp05O2jF4P2Q3GiL8qYV7nKYEh3cGf+rV4P5Jyi2Uq0agGhVU63GtaSAfBEZOlrJn9w==",
       "dev": true,
       "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@jridgewell/gen-mapping": {
-      "version": "0.3.3",
-      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
-      "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+    "node_modules/@hapi/ammo/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/bounce": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-3.0.1.tgz",
+      "integrity": "sha512-G+/Pp9c1Ha4FDP+3Sy/Xwg2O4Ahaw3lIZFSX+BL4uWi64CmiETuZPxhKDUD4xBMOUZbBlzvO8HjiK8ePnhBadA==",
       "dev": true,
       "dependencies": {
-        "@jridgewell/set-array": "^1.0.1",
-        "@jridgewell/sourcemap-codec": "^1.4.10",
-        "@jridgewell/trace-mapping": "^0.3.9"
-      },
-      "engines": {
-        "node": ">=6.0.0"
+        "@hapi/boom": "^10.0.1",
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@jridgewell/resolve-uri": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
-      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+    "node_modules/@hapi/bounce/node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
       "dev": true,
-      "engines": {
-        "node": ">=6.0.0"
+      "dependencies": {
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@jridgewell/set-array": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
-      "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+    "node_modules/@hapi/bounce/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/call": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/call/-/call-9.0.1.tgz",
+      "integrity": "sha512-uPojQRqEL1GRZR4xXPqcLMujQGaEpyVPRyBlD8Pp5rqgIwLhtveF9PkixiKru2THXvuN8mUrLeet5fqxKAAMGg==",
       "dev": true,
-      "engines": {
-        "node": ">=6.0.0"
+      "dependencies": {
+        "@hapi/boom": "^10.0.1",
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@jridgewell/sourcemap-codec": {
-      "version": "1.4.15",
-      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
-      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
-      "dev": true
-    },
-    "node_modules/@jridgewell/trace-mapping": {
-      "version": "0.3.22",
-      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz",
-      "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==",
+    "node_modules/@hapi/call/node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
       "dev": true,
       "dependencies": {
-        "@jridgewell/resolve-uri": "^3.1.0",
-        "@jridgewell/sourcemap-codec": "^1.4.14"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@js-joda/core": {
-      "version": "5.6.1",
-      "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.6.1.tgz",
-      "integrity": "sha512-Xla/d7ZMMR6+zRd6lTio0wRZECfcfFJP7GGe9A9L4tDOlD5CX4YcZ4YZle9w58bBYzssojVapI84RraKWDQZRg==",
+    "node_modules/@hapi/call/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
       "dev": true
     },
-    "node_modules/@jsdevtools/coverage-istanbul-loader": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz",
-      "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==",
+    "node_modules/@hapi/catbox": {
+      "version": "12.1.1",
+      "resolved": "https://registry.npmjs.org/@hapi/catbox/-/catbox-12.1.1.tgz",
+      "integrity": "sha512-hDqYB1J+R0HtZg4iPH3LEnldoaBsar6bYp0EonBmNQ9t5CO+1CqgCul2ZtFveW1ReA5SQuze9GPSU7/aecERhw==",
       "dev": true,
       "dependencies": {
-        "convert-source-map": "^1.7.0",
-        "istanbul-lib-instrument": "^4.0.3",
-        "loader-utils": "^2.0.0",
-        "merge-source-map": "^1.1.0",
-        "schema-utils": "^2.7.0"
+        "@hapi/boom": "^10.0.1",
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/podium": "^5.0.0",
+        "@hapi/validate": "^2.0.1"
       }
     },
-    "node_modules/@koa/router": {
-      "version": "12.0.0",
-      "resolved": "https://registry.npmjs.org/@koa/router/-/router-12.0.0.tgz",
-      "integrity": "sha512-cnnxeKHXlt7XARJptflGURdJaO+ITpNkOHmQu7NHmCoRinPbyvFzce/EG/E8Zy81yQ1W9MoSdtklc3nyaDReUw==",
-      "deprecated": "**IMPORTANT 10x+ PERFORMANCE UPGRADE**: Please upgrade to v12.0.1+ as we have fixed an issue with debuglog causing 10x slower router benchmark performance, see https://github.com/koajs/router/pull/173",
+    "node_modules/@hapi/catbox-memory": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/catbox-memory/-/catbox-memory-6.0.1.tgz",
+      "integrity": "sha512-sVb+/ZxbZIvaMtJfAbdyY+QJUQg9oKTwamXpEg/5xnfG5WbJLTjvEn4kIGKz9pN3ENNbIL/bIdctmHmqi/AdGA==",
       "dev": true,
       "dependencies": {
-        "http-errors": "^2.0.0",
-        "koa-compose": "^4.1.0",
-        "methods": "^1.1.2",
-        "path-to-regexp": "^6.2.1"
-      },
-      "engines": {
-        "node": ">= 12"
+        "@hapi/boom": "^10.0.1",
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@koa/router/node_modules/path-to-regexp": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
-      "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==",
+    "node_modules/@hapi/catbox-memory/node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+      "dev": true,
+      "dependencies": {
+        "@hapi/hoek": "^11.0.2"
+      }
+    },
+    "node_modules/@hapi/catbox-memory/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
       "dev": true
     },
-    "node_modules/@lerna/child-process": {
-      "version": "6.6.2",
-      "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-6.6.2.tgz",
-      "integrity": "sha512-QyKIWEnKQFnYu2ey+SAAm1A5xjzJLJJj3bhIZd3QKyXKKjaJ0hlxam/OsWSltxTNbcyH1jRJjC6Cxv31usv0Ag==",
+    "node_modules/@hapi/catbox/node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
       "dev": true,
       "dependencies": {
-        "chalk": "^4.1.0",
-        "execa": "^5.0.0",
-        "strong-log-transformer": "^2.1.0"
-      },
-      "engines": {
-        "node": "^14.17.0 || >=16.0.0"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/child-process/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+    "node_modules/@hapi/catbox/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/catbox/node_modules/@hapi/podium": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-5.0.1.tgz",
+      "integrity": "sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ==",
       "dev": true,
       "dependencies": {
-        "color-convert": "^2.0.1"
-      },
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/teamwork": "^6.0.0",
+        "@hapi/validate": "^2.0.1"
+      }
+    },
+    "node_modules/@hapi/catbox/node_modules/@hapi/teamwork": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-6.0.0.tgz",
+      "integrity": "sha512-05HumSy3LWfXpmJ9cr6HzwhAavrHkJ1ZRCmNE2qJMihdM5YcWreWPfyN0yKT2ZjCM92au3ZkuodjBxOibxM67A==",
+      "dev": true,
       "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/@lerna/child-process/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+    "node_modules/@hapi/catbox/node_modules/@hapi/topo": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
+      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
       "dev": true,
       "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/child-process/node_modules/color-convert": {
+    "node_modules/@hapi/catbox/node_modules/@hapi/validate": {
       "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
+      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
       "dev": true,
       "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/topo": "^6.0.1"
       }
     },
-    "node_modules/@lerna/child-process/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+    "node_modules/@hapi/content": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@hapi/content/-/content-6.0.0.tgz",
+      "integrity": "sha512-CEhs7j+H0iQffKfe5Htdak5LBOz/Qc8TRh51cF+BFv0qnuph3Em4pjGVzJMkI2gfTDdlJKWJISGWS1rK34POGA==",
+      "dev": true,
+      "dependencies": {
+        "@hapi/boom": "^10.0.0"
+      }
+    },
+    "node_modules/@hapi/content/node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+      "dev": true,
+      "dependencies": {
+        "@hapi/hoek": "^11.0.2"
+      }
+    },
+    "node_modules/@hapi/content/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
       "dev": true
     },
-    "node_modules/@lerna/child-process/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+    "node_modules/@hapi/file": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@hapi/file/-/file-3.0.0.tgz",
+      "integrity": "sha512-w+lKW+yRrLhJu620jT3y+5g2mHqnKfepreykvdOcl9/6up8GrQQn+l3FRTsjHTKbkbfQFkuksHpdv2EcpKcJ4Q==",
+      "dev": true
+    },
+    "node_modules/@hapi/hapi": {
+      "version": "21.3.3",
+      "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.3.tgz",
+      "integrity": "sha512-6pgwWVl/aSKSNVn86n+mWa06jRqCAKi2adZp/Hti19A0u5x3/6eiKz8UTBPMzfrdGf9WcrYbFBYzWr/qd2s28g==",
       "dev": true,
       "dependencies": {
-        "has-flag": "^4.0.0"
+        "@hapi/accept": "^6.0.1",
+        "@hapi/ammo": "^6.0.1",
+        "@hapi/boom": "^10.0.1",
+        "@hapi/bounce": "^3.0.1",
+        "@hapi/call": "^9.0.1",
+        "@hapi/catbox": "^12.1.1",
+        "@hapi/catbox-memory": "^6.0.1",
+        "@hapi/heavy": "^8.0.1",
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/mimos": "^7.0.1",
+        "@hapi/podium": "^5.0.1",
+        "@hapi/shot": "^6.0.1",
+        "@hapi/somever": "^4.1.1",
+        "@hapi/statehood": "^8.1.1",
+        "@hapi/subtext": "^8.1.0",
+        "@hapi/teamwork": "^6.0.0",
+        "@hapi/topo": "^6.0.1",
+        "@hapi/validate": "^2.0.1"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=14.15.0"
       }
     },
-    "node_modules/@lerna/create": {
-      "version": "6.6.2",
-      "resolved": "https://registry.npmjs.org/@lerna/create/-/create-6.6.2.tgz",
-      "integrity": "sha512-xQ+1Y7D+9etvUlE+unhG/TwmM6XBzGIdFBaNoW8D8kyOa9M2Jf3vdEtAxVa7mhRz66CENfhL/+I/QkVaa7pwbQ==",
+    "node_modules/@hapi/hapi/node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
       "dev": true,
       "dependencies": {
-        "@lerna/child-process": "6.6.2",
-        "dedent": "^0.7.0",
-        "fs-extra": "^9.1.0",
-        "init-package-json": "^3.0.2",
-        "npm-package-arg": "8.1.1",
-        "p-reduce": "^2.1.0",
-        "pacote": "15.1.1",
-        "pify": "^5.0.0",
-        "semver": "^7.3.4",
-        "slash": "^3.0.0",
-        "validate-npm-package-license": "^3.0.4",
-        "validate-npm-package-name": "^4.0.0",
-        "yargs-parser": "20.2.4"
-      },
-      "engines": {
-        "node": "^14.17.0 || >=16.0.0"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management": {
-      "version": "6.6.2",
-      "resolved": "https://registry.npmjs.org/@lerna/legacy-package-management/-/legacy-package-management-6.6.2.tgz",
-      "integrity": "sha512-0hZxUPKnHwehUO2xC4ldtdX9bW0W1UosxebDIQlZL2STnZnA2IFmIk2lJVUyFW+cmTPQzV93jfS0i69T9Z+teg==",
+    "node_modules/@hapi/hapi/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/hapi/node_modules/@hapi/podium": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-5.0.1.tgz",
+      "integrity": "sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ==",
       "dev": true,
       "dependencies": {
-        "@npmcli/arborist": "6.2.3",
-        "@npmcli/run-script": "4.1.7",
-        "@nrwl/devkit": ">=15.5.2 < 16",
-        "@octokit/rest": "19.0.3",
-        "byte-size": "7.0.0",
-        "chalk": "4.1.0",
-        "clone-deep": "4.0.1",
-        "cmd-shim": "5.0.0",
-        "columnify": "1.6.0",
-        "config-chain": "1.1.12",
-        "conventional-changelog-core": "4.2.4",
-        "conventional-recommended-bump": "6.1.0",
-        "cosmiconfig": "7.0.0",
-        "dedent": "0.7.0",
-        "dot-prop": "6.0.1",
-        "execa": "5.0.0",
-        "file-url": "3.0.0",
-        "find-up": "5.0.0",
-        "fs-extra": "9.1.0",
-        "get-port": "5.1.1",
-        "get-stream": "6.0.0",
-        "git-url-parse": "13.1.0",
-        "glob-parent": "5.1.2",
-        "globby": "11.1.0",
-        "graceful-fs": "4.2.10",
-        "has-unicode": "2.0.1",
-        "inquirer": "8.2.4",
-        "is-ci": "2.0.0",
-        "is-stream": "2.0.0",
-        "libnpmpublish": "7.1.4",
-        "load-json-file": "6.2.0",
-        "make-dir": "3.1.0",
-        "minimatch": "3.0.5",
-        "multimatch": "5.0.0",
-        "node-fetch": "2.6.7",
-        "npm-package-arg": "8.1.1",
-        "npm-packlist": "5.1.1",
-        "npm-registry-fetch": "14.0.3",
-        "npmlog": "6.0.2",
-        "p-map": "4.0.0",
-        "p-map-series": "2.1.0",
-        "p-queue": "6.6.2",
-        "p-waterfall": "2.1.1",
-        "pacote": "15.1.1",
-        "pify": "5.0.0",
-        "pretty-format": "29.4.3",
-        "read-cmd-shim": "3.0.0",
-        "read-package-json": "5.0.1",
-        "resolve-from": "5.0.0",
-        "semver": "7.3.8",
-        "signal-exit": "3.0.7",
-        "slash": "3.0.0",
-        "ssri": "9.0.1",
-        "strong-log-transformer": "2.1.0",
-        "tar": "6.1.11",
-        "temp-dir": "1.0.0",
-        "tempy": "1.0.0",
-        "upath": "2.0.1",
-        "uuid": "8.3.2",
-        "write-file-atomic": "4.0.1",
-        "write-pkg": "4.0.0",
-        "yargs": "16.2.0"
-      },
-      "engines": {
-        "node": "^14.17.0 || >=16.0.0"
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/teamwork": "^6.0.0",
+        "@hapi/validate": "^2.0.1"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/@tootallnate/once": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
-      "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+    "node_modules/@hapi/hapi/node_modules/@hapi/teamwork": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-6.0.0.tgz",
+      "integrity": "sha512-05HumSy3LWfXpmJ9cr6HzwhAavrHkJ1ZRCmNE2qJMihdM5YcWreWPfyN0yKT2ZjCM92au3ZkuodjBxOibxM67A==",
       "dev": true,
       "engines": {
-        "node": ">= 10"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/agent-base": {
+    "node_modules/@hapi/hapi/node_modules/@hapi/topo": {
       "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
+      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
       "dev": true,
       "dependencies": {
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6.0.0"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+    "node_modules/@hapi/hapi/node_modules/@hapi/validate": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
+      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
       "dev": true,
       "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/topo": "^6.0.1"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/chalk": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
-      "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+    "node_modules/@hapi/heavy": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/heavy/-/heavy-8.0.1.tgz",
+      "integrity": "sha512-gBD/NANosNCOp6RsYTsjo2vhr5eYA3BEuogk6cxY0QdhllkkTaJFYtTXv46xd6qhBVMbMMqcSdtqey+UQU3//w==",
       "dev": true,
       "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
+        "@hapi/boom": "^10.0.1",
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/validate": "^2.0.1"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+    "node_modules/@hapi/heavy/node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
       "dev": true,
       "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+    "node_modules/@hapi/heavy/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
       "dev": true
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/glob-parent": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
-      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+    "node_modules/@hapi/heavy/node_modules/@hapi/topo": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
+      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
       "dev": true,
       "dependencies": {
-        "is-glob": "^4.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/graceful-fs": {
-      "version": "4.2.10",
-      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
-      "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+    "node_modules/@hapi/heavy/node_modules/@hapi/validate": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
+      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
+      "dev": true,
+      "dependencies": {
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/topo": "^6.0.1"
+      }
+    },
+    "node_modules/@hapi/hoek": {
+      "version": "9.3.0",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
+      "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==",
       "dev": true
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/http-proxy-agent": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
-      "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+    "node_modules/@hapi/mimos": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/mimos/-/mimos-7.0.1.tgz",
+      "integrity": "sha512-b79V+BrG0gJ9zcRx1VGcCI6r6GEzzZUgiGEJVoq5gwzuB2Ig9Cax8dUuBauQCFKvl2YWSWyOc8mZ8HDaJOtkew==",
       "dev": true,
       "dependencies": {
-        "@tootallnate/once": "2",
-        "agent-base": "6",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6"
+        "@hapi/hoek": "^11.0.2",
+        "mime-db": "^1.52.0"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/https-proxy-agent": {
+    "node_modules/@hapi/mimos/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/nigel": {
       "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+      "resolved": "https://registry.npmjs.org/@hapi/nigel/-/nigel-5.0.1.tgz",
+      "integrity": "sha512-uv3dtYuB4IsNaha+tigWmN8mQw/O9Qzl5U26Gm4ZcJVtDdB1AVJOwX3X5wOX+A07qzpEZnOMBAm8jjSqGsU6Nw==",
       "dev": true,
       "dependencies": {
-        "agent-base": "6",
-        "debug": "4"
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/vise": "^5.0.1"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/inquirer": {
-      "version": "8.2.4",
-      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
-      "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
+    "node_modules/@hapi/nigel/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/pez": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/@hapi/pez/-/pez-6.1.0.tgz",
+      "integrity": "sha512-+FE3sFPYuXCpuVeHQ/Qag1b45clR2o54QoonE/gKHv9gukxQ8oJJZPR7o3/ydDTK6racnCJXxOyT1T93FCJMIg==",
       "dev": true,
       "dependencies": {
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.1.1",
-        "cli-cursor": "^3.1.0",
-        "cli-width": "^3.0.0",
-        "external-editor": "^3.0.3",
-        "figures": "^3.0.0",
-        "lodash": "^4.17.21",
-        "mute-stream": "0.0.8",
-        "ora": "^5.4.1",
-        "run-async": "^2.4.0",
-        "rxjs": "^7.5.5",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0",
-        "through": "^2.3.6",
-        "wrap-ansi": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=12.0.0"
+        "@hapi/b64": "^6.0.1",
+        "@hapi/boom": "^10.0.1",
+        "@hapi/content": "^6.0.0",
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/nigel": "^5.0.1"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/inquirer/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+    "node_modules/@hapi/pez/node_modules/@hapi/b64": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/b64/-/b64-6.0.1.tgz",
+      "integrity": "sha512-ZvjX4JQReUmBheeCq+S9YavcnMMHWqx3S0jHNXWIM1kQDxB9cyfSycpVvjfrKcIS8Mh5N3hmu/YKo4Iag9g2Kw==",
       "dev": true,
       "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/is-stream": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
-      "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+    "node_modules/@hapi/pez/node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
       "dev": true,
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/lru-cache": {
-      "version": "7.18.3",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
-      "dev": true,
-      "engines": {
-        "node": ">=12"
-      }
+    "node_modules/@hapi/pez/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/make-fetch-happen": {
-      "version": "11.1.1",
-      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
-      "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+    "node_modules/@hapi/shot": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/shot/-/shot-6.0.1.tgz",
+      "integrity": "sha512-s5ynMKZXYoDd3dqPw5YTvOR/vjHvMTxc388+0qL0jZZP1+uwXuUD32o9DuuuLsmTlyXCWi02BJl1pBpwRuUrNA==",
       "dev": true,
       "dependencies": {
-        "agentkeepalive": "^4.2.1",
-        "cacache": "^17.0.0",
-        "http-cache-semantics": "^4.1.1",
-        "http-proxy-agent": "^5.0.0",
-        "https-proxy-agent": "^5.0.0",
-        "is-lambda": "^1.0.1",
-        "lru-cache": "^7.7.1",
-        "minipass": "^5.0.0",
-        "minipass-fetch": "^3.0.0",
-        "minipass-flush": "^1.0.5",
-        "minipass-pipeline": "^1.2.4",
-        "negotiator": "^0.6.3",
-        "promise-retry": "^2.0.1",
-        "socks-proxy-agent": "^7.0.0",
-        "ssri": "^10.0.0"
-      },
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/validate": "^2.0.1"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/make-fetch-happen/node_modules/minipass": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
-      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
+    "node_modules/@hapi/shot/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/make-fetch-happen/node_modules/ssri": {
-      "version": "10.0.5",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz",
-      "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==",
+    "node_modules/@hapi/shot/node_modules/@hapi/topo": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
+      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
       "dev": true,
       "dependencies": {
-        "minipass": "^7.0.3"
-      },
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/make-fetch-happen/node_modules/ssri/node_modules/minipass": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
-      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+    "node_modules/@hapi/shot/node_modules/@hapi/validate": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
+      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
       "dev": true,
-      "engines": {
-        "node": ">=16 || 14 >=14.17"
+      "dependencies": {
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/topo": "^6.0.1"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/minimatch": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
-      "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+    "node_modules/@hapi/somever": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/@hapi/somever/-/somever-4.1.1.tgz",
+      "integrity": "sha512-lt3QQiDDOVRatS0ionFDNrDIv4eXz58IibQaZQDOg4DqqdNme8oa0iPWcE0+hkq/KTeBCPtEOjDOBKBKwDumVg==",
       "dev": true,
       "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
+        "@hapi/bounce": "^3.0.1",
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/minipass": {
-      "version": "4.2.8",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
-      "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==",
+    "node_modules/@hapi/somever/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/statehood": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/@hapi/statehood/-/statehood-8.1.1.tgz",
+      "integrity": "sha512-YbK7PSVUA59NArAW5Np0tKRoIZ5VNYUicOk7uJmWZF6XyH5gGL+k62w77SIJb0AoAJ0QdGQMCQ/WOGL1S3Ydow==",
       "dev": true,
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "@hapi/boom": "^10.0.1",
+        "@hapi/bounce": "^3.0.1",
+        "@hapi/bourne": "^3.0.0",
+        "@hapi/cryptiles": "^6.0.1",
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/iron": "^7.0.1",
+        "@hapi/validate": "^2.0.1"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/minipass-fetch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz",
-      "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==",
+    "node_modules/@hapi/statehood/node_modules/@hapi/b64": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/b64/-/b64-6.0.1.tgz",
+      "integrity": "sha512-ZvjX4JQReUmBheeCq+S9YavcnMMHWqx3S0jHNXWIM1kQDxB9cyfSycpVvjfrKcIS8Mh5N3hmu/YKo4Iag9g2Kw==",
       "dev": true,
       "dependencies": {
-        "minipass": "^7.0.3",
-        "minipass-sized": "^1.0.3",
-        "minizlib": "^2.1.2"
-      },
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
-      },
-      "optionalDependencies": {
-        "encoding": "^0.1.13"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/minipass-fetch/node_modules/minipass": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
-      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+    "node_modules/@hapi/statehood/node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
       "dev": true,
-      "engines": {
-        "node": ">=16 || 14 >=14.17"
+      "dependencies": {
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/node-fetch": {
-      "version": "2.6.7",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
-      "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+    "node_modules/@hapi/statehood/node_modules/@hapi/bourne": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
+      "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==",
+      "dev": true
+    },
+    "node_modules/@hapi/statehood/node_modules/@hapi/cryptiles": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/cryptiles/-/cryptiles-6.0.1.tgz",
+      "integrity": "sha512-9GM9ECEHfR8lk5ASOKG4+4ZsEzFqLfhiryIJ2ISePVB92OHLp/yne4m+zn7z9dgvM98TLpiFebjDFQ0UHcqxXQ==",
       "dev": true,
       "dependencies": {
-        "whatwg-url": "^5.0.0"
+        "@hapi/boom": "^10.0.1"
       },
       "engines": {
-        "node": "4.x || >=6.0.0"
-      },
-      "peerDependencies": {
-        "encoding": "^0.1.0"
-      },
-      "peerDependenciesMeta": {
-        "encoding": {
-          "optional": true
-        }
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/npm-registry-fetch": {
-      "version": "14.0.3",
-      "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz",
-      "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==",
+    "node_modules/@hapi/statehood/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/statehood/node_modules/@hapi/iron": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/iron/-/iron-7.0.1.tgz",
+      "integrity": "sha512-tEZnrOujKpS6jLKliyWBl3A9PaE+ppuL/+gkbyPPDb/l2KSKQyH4lhMkVb+sBhwN+qaxxlig01JRqB8dk/mPxQ==",
       "dev": true,
       "dependencies": {
-        "make-fetch-happen": "^11.0.0",
-        "minipass": "^4.0.0",
-        "minipass-fetch": "^3.0.0",
-        "minipass-json-stream": "^1.0.1",
-        "minizlib": "^2.1.2",
-        "npm-package-arg": "^10.0.0",
-        "proc-log": "^3.0.0"
-      },
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "@hapi/b64": "^6.0.1",
+        "@hapi/boom": "^10.0.1",
+        "@hapi/bourne": "^3.0.0",
+        "@hapi/cryptiles": "^6.0.1",
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/npm-registry-fetch/node_modules/npm-package-arg": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz",
-      "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==",
+    "node_modules/@hapi/statehood/node_modules/@hapi/topo": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
+      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
       "dev": true,
       "dependencies": {
-        "hosted-git-info": "^6.0.0",
-        "proc-log": "^3.0.0",
-        "semver": "^7.3.5",
-        "validate-npm-package-name": "^5.0.0"
-      },
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/pretty-format": {
-      "version": "29.4.3",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.4.3.tgz",
-      "integrity": "sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA==",
+    "node_modules/@hapi/statehood/node_modules/@hapi/validate": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
+      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
       "dev": true,
       "dependencies": {
-        "@jest/schemas": "^29.4.3",
-        "ansi-styles": "^5.0.0",
-        "react-is": "^18.0.0"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/topo": "^6.0.1"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/pretty-format/node_modules/ansi-styles": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
-      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+    "node_modules/@hapi/subtext": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/@hapi/subtext/-/subtext-8.1.0.tgz",
+      "integrity": "sha512-PyaN4oSMtqPjjVxLny1k0iYg4+fwGusIhaom9B2StinBclHs7v46mIW706Y+Wo21lcgulGyXbQrmT/w4dus6ww==",
       "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      "dependencies": {
+        "@hapi/boom": "^10.0.1",
+        "@hapi/bourne": "^3.0.0",
+        "@hapi/content": "^6.0.0",
+        "@hapi/file": "^3.0.0",
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/pez": "^6.1.0",
+        "@hapi/wreck": "^18.0.1"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/resolve-from": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+    "node_modules/@hapi/subtext/node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
       "dev": true,
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/semver": {
-      "version": "7.3.8",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
-      "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+    "node_modules/@hapi/subtext/node_modules/@hapi/bourne": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
+      "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==",
+      "dev": true
+    },
+    "node_modules/@hapi/subtext/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/topo": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
+      "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
       "dev": true,
       "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
+        "@hapi/hoek": "^9.0.0"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/semver/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+    "node_modules/@hapi/vise": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/vise/-/vise-5.0.1.tgz",
+      "integrity": "sha512-XZYWzzRtINQLedPYlIkSkUr7m5Ddwlu99V9elh8CSygXstfv3UnWIXT0QD+wmR0VAG34d2Vx3olqcEhRRoTu9A==",
       "dev": true,
       "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/socks-proxy-agent": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
-      "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
+    "node_modules/@hapi/vise/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/wreck": {
+      "version": "18.1.0",
+      "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-18.1.0.tgz",
+      "integrity": "sha512-0z6ZRCmFEfV/MQqkQomJ7sl/hyxvcZM7LtuVqN3vdAO4vM9eBbowl0kaqQj9EJJQab+3Uuh1GxbGIBFy4NfJ4w==",
       "dev": true,
       "dependencies": {
-        "agent-base": "^6.0.2",
-        "debug": "^4.3.3",
-        "socks": "^2.6.2"
-      },
-      "engines": {
-        "node": ">= 10"
+        "@hapi/boom": "^10.0.1",
+        "@hapi/bourne": "^3.0.0",
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+    "node_modules/@hapi/wreck/node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
       "dev": true,
       "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
+        "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/tr46": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
-      "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+    "node_modules/@hapi/wreck/node_modules/@hapi/bourne": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
+      "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==",
       "dev": true
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/validate-npm-package-name": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz",
-      "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==",
+    "node_modules/@hapi/wreck/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@humanwhocodes/config-array": {
+      "version": "0.9.5",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
+      "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
       "dev": true,
       "dependencies": {
-        "builtins": "^5.0.0"
+        "@humanwhocodes/object-schema": "^1.2.1",
+        "debug": "^4.1.1",
+        "minimatch": "^3.0.4"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=10.10.0"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/webidl-conversions": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
-      "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
-      "dev": true
-    },
-    "node_modules/@lerna/legacy-package-management/node_modules/whatwg-url": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
-      "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+    "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
       "dev": true,
       "dependencies": {
-        "tr46": "~0.0.3",
-        "webidl-conversions": "^3.0.0"
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/wrap-ansi": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
-      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+    "node_modules/@humanwhocodes/object-schema": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+      "dev": true
+    },
+    "node_modules/@hutson/parse-repository-url": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz",
+      "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==",
       "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
-      },
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+    "node_modules/@ioredis/commands": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz",
+      "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==",
       "dev": true
     },
-    "node_modules/@lerna/legacy-package-management/node_modules/yargs": {
-      "version": "16.2.0",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
-      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+    "node_modules/@isaacs/cliui": {
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+      "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
       "dev": true,
       "dependencies": {
-        "cliui": "^7.0.2",
-        "escalade": "^3.1.1",
-        "get-caller-file": "^2.0.5",
-        "require-directory": "^2.1.1",
-        "string-width": "^4.2.0",
-        "y18n": "^5.0.5",
-        "yargs-parser": "^20.2.2"
+        "string-width": "^5.1.2",
+        "string-width-cjs": "npm:string-width@^4.2.0",
+        "strip-ansi": "^7.0.1",
+        "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+        "wrap-ansi": "^8.1.0",
+        "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=12"
       }
     },
-    "node_modules/@lukeed/csprng": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz",
-      "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==",
+    "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
       "dev": true,
       "engines": {
-        "node": ">=8"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
-    "node_modules/@mapbox/node-pre-gyp": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz",
-      "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==",
+    "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+      "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
       "dev": true,
-      "dependencies": {
-        "detect-libc": "^2.0.0",
-        "https-proxy-agent": "^5.0.0",
-        "make-dir": "^3.1.0",
-        "node-fetch": "^2.6.7",
-        "nopt": "^5.0.0",
-        "npmlog": "^5.0.1",
-        "rimraf": "^3.0.2",
-        "semver": "^7.3.5",
-        "tar": "^6.1.11"
+      "engines": {
+        "node": ">=12"
       },
-      "bin": {
-        "node-pre-gyp": "bin/node-pre-gyp"
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/abbrev": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+    "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
       "dev": true
     },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+    "node_modules/@isaacs/cliui/node_modules/string-width": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+      "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
       "dev": true,
       "dependencies": {
-        "debug": "4"
+        "eastasianwidth": "^0.2.0",
+        "emoji-regex": "^9.2.2",
+        "strip-ansi": "^7.0.1"
       },
       "engines": {
-        "node": ">= 6.0.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/are-we-there-yet": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
-      "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+    "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+      "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
       "dev": true,
       "dependencies": {
-        "delegates": "^1.0.0",
-        "readable-stream": "^3.6.0"
+        "ansi-regex": "^6.0.1"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/gauge": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
-      "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.0.3 || ^2.0.0",
-        "color-support": "^1.1.2",
-        "console-control-strings": "^1.0.0",
-        "has-unicode": "^2.0.1",
-        "object-assign": "^4.1.1",
-        "signal-exit": "^3.0.0",
-        "string-width": "^4.2.3",
-        "strip-ansi": "^6.0.1",
-        "wide-align": "^1.1.2"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+    "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+      "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
       "dev": true,
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
+        "ansi-styles": "^6.1.0",
+        "string-width": "^5.0.1",
+        "strip-ansi": "^7.0.1"
       },
       "engines": {
-        "node": "*"
+        "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/https-proxy-agent": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+    "node_modules/@isaacs/string-locale-compare": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz",
+      "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==",
+      "dev": true
+    },
+    "node_modules/@istanbuljs/load-nyc-config": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
       "dev": true,
       "dependencies": {
-        "agent-base": "6",
-        "debug": "4"
+        "camelcase": "^5.3.1",
+        "find-up": "^4.1.0",
+        "get-package-type": "^0.1.0",
+        "js-yaml": "^3.13.1",
+        "resolve-from": "^5.0.0"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">=8"
       }
     },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
       "dev": true,
       "dependencies": {
-        "brace-expansion": "^1.1.7"
+        "sprintf-js": "~1.0.2"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
       },
       "engines": {
-        "node": "*"
+        "node": ">=8"
       }
     },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/nopt": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
-      "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
+      "version": "3.14.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
       "dev": true,
       "dependencies": {
-        "abbrev": "1"
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
       },
       "bin": {
-        "nopt": "bin/nopt.js"
-      },
-      "engines": {
-        "node": ">=6"
+        "js-yaml": "bin/js-yaml.js"
       }
     },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/npmlog": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
-      "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
       "dev": true,
       "dependencies": {
-        "are-we-there-yet": "^2.0.0",
-        "console-control-strings": "^1.1.0",
-        "gauge": "^3.0.0",
-        "set-blocking": "^2.0.0"
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
       "dev": true,
       "dependencies": {
-        "glob": "^7.1.3"
+        "p-try": "^2.0.0"
       },
-      "bin": {
-        "rimraf": "bin.js"
+      "engines": {
+        "node": ">=6"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@mdn/browser-compat-data": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz",
-      "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==",
-      "dev": true
-    },
-    "node_modules/@mongodb-js/saslprep": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz",
-      "integrity": "sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
       "dev": true,
       "dependencies": {
-        "sparse-bitfield": "^3.0.3"
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/@nestjs/common": {
-      "version": "9.4.3",
-      "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.4.3.tgz",
-      "integrity": "sha512-Gd6D4IaYj01o14Bwv81ukidn4w3bPHCblMUq+SmUmWLyosK+XQmInCS09SbDDZyL8jy86PngtBLTdhJ2bXSUig==",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
       "dev": true,
-      "dependencies": {
-        "iterare": "1.2.1",
-        "tslib": "2.5.3",
-        "uid": "2.0.2"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/nest"
-      },
-      "peerDependencies": {
-        "cache-manager": "<=5",
-        "class-transformer": "*",
-        "class-validator": "*",
-        "reflect-metadata": "^0.1.12",
-        "rxjs": "^7.1.0"
-      },
-      "peerDependenciesMeta": {
-        "cache-manager": {
-          "optional": true
-        },
-        "class-transformer": {
-          "optional": true
-        },
-        "class-validator": {
-          "optional": true
-        }
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/@nestjs/common/node_modules/tslib": {
-      "version": "2.5.3",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
-      "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+      "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
       "dev": true
     },
-    "node_modules/@nestjs/core": {
-      "version": "9.4.3",
-      "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.4.3.tgz",
-      "integrity": "sha512-Qi63+wi55Jh4sDyaj5Hhx2jOpKqT386aeo+VOKsxnd+Ql9VvkO/FjmuwBGUyzkJt29ENYc+P0Sx/k5LtstNpPQ==",
+    "node_modules/@istanbuljs/schema": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
       "dev": true,
-      "hasInstallScript": true,
-      "dependencies": {
-        "@nuxtjs/opencollective": "0.3.2",
-        "fast-safe-stringify": "2.1.1",
-        "iterare": "1.2.1",
-        "path-to-regexp": "3.2.0",
-        "tslib": "2.5.3",
-        "uid": "2.0.2"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/nest"
-      },
-      "peerDependencies": {
-        "@nestjs/common": "^9.0.0",
-        "@nestjs/microservices": "^9.0.0",
-        "@nestjs/platform-express": "^9.0.0",
-        "@nestjs/websockets": "^9.0.0",
-        "reflect-metadata": "^0.1.12",
-        "rxjs": "^7.1.0"
-      },
-      "peerDependenciesMeta": {
-        "@nestjs/microservices": {
-          "optional": true
-        },
-        "@nestjs/platform-express": {
-          "optional": true
-        },
-        "@nestjs/websockets": {
-          "optional": true
-        }
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/@nestjs/core/node_modules/tslib": {
-      "version": "2.5.3",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
-      "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==",
-      "dev": true
-    },
-    "node_modules/@nestjs/microservices": {
-      "version": "9.4.3",
-      "resolved": "https://registry.npmjs.org/@nestjs/microservices/-/microservices-9.4.3.tgz",
-      "integrity": "sha512-piMw8d3C4ppc5St5AhQEtecMhyeBK2Q1VYk4AL3NKtG6U0fzz/6KLiETpWdKXmazeI/m7qac2upOvwmRzle0aA==",
+    "node_modules/@jest/expect-utils": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
+      "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
       "dev": true,
       "dependencies": {
-        "iterare": "1.2.1",
-        "tslib": "2.5.3"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/nest"
-      },
-      "peerDependencies": {
-        "@grpc/grpc-js": "*",
-        "@nestjs/common": "^9.0.0",
-        "@nestjs/core": "^9.0.0",
-        "@nestjs/websockets": "^9.0.0",
-        "amqp-connection-manager": "*",
-        "amqplib": "*",
-        "cache-manager": "*",
-        "ioredis": "*",
-        "kafkajs": "*",
-        "mqtt": "*",
-        "nats": "*",
-        "reflect-metadata": "^0.1.12",
-        "rxjs": "^7.1.0"
+        "jest-get-type": "^29.6.3"
       },
-      "peerDependenciesMeta": {
-        "@grpc/grpc-js": {
-          "optional": true
-        },
-        "@nestjs/websockets": {
-          "optional": true
-        },
-        "amqp-connection-manager": {
-          "optional": true
-        },
-        "amqplib": {
-          "optional": true
-        },
-        "cache-manager": {
-          "optional": true
-        },
-        "ioredis": {
-          "optional": true
-        },
-        "kafkajs": {
-          "optional": true
-        },
-        "mqtt": {
-          "optional": true
-        },
-        "nats": {
-          "optional": true
-        }
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@nestjs/microservices/node_modules/tslib": {
-      "version": "2.5.3",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
-      "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==",
-      "dev": true
-    },
-    "node_modules/@nestjs/platform-express": {
-      "version": "9.4.3",
-      "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-9.4.3.tgz",
-      "integrity": "sha512-FpdczWoRSC0zz2dNL9u2AQLXKXRVtq4HgHklAhbL59X0uy+mcxhlSThG7DHzDMkoSnuuHY8ojDVf7mDxk+GtCw==",
+    "node_modules/@jest/schemas": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+      "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
       "dev": true,
       "dependencies": {
-        "body-parser": "1.20.2",
-        "cors": "2.8.5",
-        "express": "4.18.2",
-        "multer": "1.4.4-lts.1",
-        "tslib": "2.5.3"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/nest"
+        "@sinclair/typebox": "^0.27.8"
       },
-      "peerDependencies": {
-        "@nestjs/common": "^9.0.0",
-        "@nestjs/core": "^9.0.0"
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@nestjs/platform-express/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+    "node_modules/@jest/types": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+      "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
       "dev": true,
       "dependencies": {
-        "ms": "2.0.0"
+        "@jest/schemas": "^29.6.3",
+        "@types/istanbul-lib-coverage": "^2.0.0",
+        "@types/istanbul-reports": "^3.0.0",
+        "@types/node": "*",
+        "@types/yargs": "^17.0.8",
+        "chalk": "^4.0.0"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@nestjs/platform-express/node_modules/express": {
-      "version": "4.18.2",
-      "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
-      "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
+    "node_modules/@jest/types/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
       "dependencies": {
-        "accepts": "~1.3.8",
-        "array-flatten": "1.1.1",
-        "body-parser": "1.20.1",
-        "content-disposition": "0.5.4",
-        "content-type": "~1.0.4",
-        "cookie": "0.5.0",
-        "cookie-signature": "1.0.6",
-        "debug": "2.6.9",
-        "depd": "2.0.0",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "finalhandler": "1.2.0",
-        "fresh": "0.5.2",
-        "http-errors": "2.0.0",
-        "merge-descriptors": "1.0.1",
-        "methods": "~1.1.2",
-        "on-finished": "2.4.1",
-        "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
-        "proxy-addr": "~2.0.7",
-        "qs": "6.11.0",
-        "range-parser": "~1.2.1",
-        "safe-buffer": "5.2.1",
-        "send": "0.18.0",
-        "serve-static": "1.15.0",
-        "setprototypeof": "1.2.0",
-        "statuses": "2.0.1",
-        "type-is": "~1.6.18",
-        "utils-merge": "1.0.1",
-        "vary": "~1.1.2"
+        "color-convert": "^2.0.1"
       },
       "engines": {
-        "node": ">= 0.10.0"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/@nestjs/platform-express/node_modules/express/node_modules/body-parser": {
-      "version": "1.20.1",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
-      "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+    "node_modules/@jest/types/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
       "dev": true,
       "dependencies": {
-        "bytes": "3.1.2",
-        "content-type": "~1.0.4",
-        "debug": "2.6.9",
-        "depd": "2.0.0",
-        "destroy": "1.2.0",
-        "http-errors": "2.0.0",
-        "iconv-lite": "0.4.24",
-        "on-finished": "2.4.1",
-        "qs": "6.11.0",
-        "raw-body": "2.5.1",
-        "type-is": "~1.6.18",
-        "unpipe": "1.0.0"
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
       },
       "engines": {
-        "node": ">= 0.8",
-        "npm": "1.2.8000 || >= 1.4.16"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/@nestjs/platform-express/node_modules/finalhandler": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
-      "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+    "node_modules/@jest/types/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "dev": true,
       "dependencies": {
-        "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "on-finished": "2.4.1",
-        "parseurl": "~1.3.3",
-        "statuses": "2.0.1",
-        "unpipe": "~1.0.0"
+        "color-name": "~1.1.4"
       },
       "engines": {
-        "node": ">= 0.8"
+        "node": ">=7.0.0"
       }
     },
-    "node_modules/@nestjs/platform-express/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
-      "dev": true
-    },
-    "node_modules/@nestjs/platform-express/node_modules/path-to-regexp": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-      "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
+    "node_modules/@jest/types/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
       "dev": true
     },
-    "node_modules/@nestjs/platform-express/node_modules/raw-body": {
-      "version": "2.5.1",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
-      "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+    "node_modules/@jest/types/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
       "dependencies": {
-        "bytes": "3.1.2",
-        "http-errors": "2.0.0",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
+        "has-flag": "^4.0.0"
       },
       "engines": {
-        "node": ">= 0.8"
+        "node": ">=8"
       }
     },
-    "node_modules/@nestjs/platform-express/node_modules/tslib": {
-      "version": "2.5.3",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
-      "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==",
-      "dev": true
-    },
-    "node_modules/@nestjs/websockets": {
-      "version": "9.4.3",
-      "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-9.4.3.tgz",
-      "integrity": "sha512-LMLKJWZbWH3VQRxDK/658ynyN1n5lLCIen/dey2y5TzB0RNgxlSso/YJATVVfWNaT2CxPG8TUQMOTdopXCWGQw==",
+    "node_modules/@jridgewell/gen-mapping": {
+      "version": "0.3.5",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+      "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
       "dev": true,
       "dependencies": {
-        "iterare": "1.2.1",
-        "object-hash": "3.0.0",
-        "tslib": "2.5.3"
-      },
-      "peerDependencies": {
-        "@nestjs/common": "^9.0.0",
-        "@nestjs/core": "^9.0.0",
-        "@nestjs/platform-socket.io": "^9.0.0",
-        "reflect-metadata": "^0.1.12",
-        "rxjs": "^7.1.0"
+        "@jridgewell/set-array": "^1.2.1",
+        "@jridgewell/sourcemap-codec": "^1.4.10",
+        "@jridgewell/trace-mapping": "^0.3.24"
       },
-      "peerDependenciesMeta": {
-        "@nestjs/platform-socket.io": {
-          "optional": true
-        }
+      "engines": {
+        "node": ">=6.0.0"
       }
     },
-    "node_modules/@nestjs/websockets/node_modules/tslib": {
-      "version": "2.5.3",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
-      "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==",
-      "dev": true
-    },
-    "node_modules/@netflix/nerror": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz",
-      "integrity": "sha512-b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==",
+    "node_modules/@jridgewell/resolve-uri": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
       "dev": true,
-      "dependencies": {
-        "assert-plus": "^1.0.0",
-        "extsprintf": "^1.4.0",
-        "lodash": "^4.17.15"
+      "engines": {
+        "node": ">=6.0.0"
       }
     },
-    "node_modules/@netflix/nerror/node_modules/extsprintf": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz",
-      "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==",
-      "dev": true,
-      "engines": [
-        "node >=0.6.0"
-      ]
-    },
-    "node_modules/@nodelib/fs.scandir": {
-      "version": "2.1.5",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
-      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+    "node_modules/@jridgewell/set-array": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+      "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
       "dev": true,
-      "dependencies": {
-        "@nodelib/fs.stat": "2.0.5",
-        "run-parallel": "^1.1.9"
-      },
       "engines": {
-        "node": ">= 8"
+        "node": ">=6.0.0"
       }
     },
-    "node_modules/@nodelib/fs.stat": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
-      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+    "node_modules/@jridgewell/source-map": {
+      "version": "0.3.6",
+      "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
+      "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
       "dev": true,
-      "engines": {
-        "node": ">= 8"
+      "dependencies": {
+        "@jridgewell/gen-mapping": "^0.3.5",
+        "@jridgewell/trace-mapping": "^0.3.25"
       }
     },
-    "node_modules/@nodelib/fs.walk": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
-      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+    "node_modules/@jridgewell/sourcemap-codec": {
+      "version": "1.4.15",
+      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+      "dev": true
+    },
+    "node_modules/@jridgewell/trace-mapping": {
+      "version": "0.3.25",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+      "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
       "dev": true,
       "dependencies": {
-        "@nodelib/fs.scandir": "2.1.5",
-        "fastq": "^1.6.0"
-      },
-      "engines": {
-        "node": ">= 8"
+        "@jridgewell/resolve-uri": "^3.1.0",
+        "@jridgewell/sourcemap-codec": "^1.4.14"
       }
     },
-    "node_modules/@npmcli/arborist": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-6.2.3.tgz",
-      "integrity": "sha512-lpGOC2ilSJXcc2zfW9QtukcCTcMbl3fVI0z4wvFB2AFIl0C+Q6Wv7ccrpdrQa8rvJ1ZVuc6qkX7HVTyKlzGqKA==",
+    "node_modules/@js-joda/core": {
+      "version": "5.6.1",
+      "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.6.1.tgz",
+      "integrity": "sha512-Xla/d7ZMMR6+zRd6lTio0wRZECfcfFJP7GGe9A9L4tDOlD5CX4YcZ4YZle9w58bBYzssojVapI84RraKWDQZRg==",
+      "dev": true
+    },
+    "node_modules/@jsdevtools/coverage-istanbul-loader": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz",
+      "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==",
       "dev": true,
       "dependencies": {
-        "@isaacs/string-locale-compare": "^1.1.0",
-        "@npmcli/fs": "^3.1.0",
-        "@npmcli/installed-package-contents": "^2.0.0",
-        "@npmcli/map-workspaces": "^3.0.2",
-        "@npmcli/metavuln-calculator": "^5.0.0",
-        "@npmcli/name-from-folder": "^2.0.0",
-        "@npmcli/node-gyp": "^3.0.0",
-        "@npmcli/package-json": "^3.0.0",
-        "@npmcli/query": "^3.0.0",
-        "@npmcli/run-script": "^6.0.0",
-        "bin-links": "^4.0.1",
-        "cacache": "^17.0.4",
-        "common-ancestor-path": "^1.0.1",
-        "hosted-git-info": "^6.1.1",
-        "json-parse-even-better-errors": "^3.0.0",
-        "json-stringify-nice": "^1.1.4",
-        "minimatch": "^6.1.6",
-        "nopt": "^7.0.0",
-        "npm-install-checks": "^6.0.0",
-        "npm-package-arg": "^10.1.0",
-        "npm-pick-manifest": "^8.0.1",
-        "npm-registry-fetch": "^14.0.3",
-        "npmlog": "^7.0.1",
-        "pacote": "^15.0.8",
-        "parse-conflict-json": "^3.0.0",
-        "proc-log": "^3.0.0",
-        "promise-all-reject-late": "^1.0.0",
-        "promise-call-limit": "^1.0.1",
-        "read-package-json-fast": "^3.0.2",
-        "semver": "^7.3.7",
-        "ssri": "^10.0.1",
-        "treeverse": "^3.0.0",
-        "walk-up-path": "^1.0.0"
-      },
-      "bin": {
-        "arborist": "bin/index.js"
-      },
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "convert-source-map": "^1.7.0",
+        "istanbul-lib-instrument": "^4.0.3",
+        "loader-utils": "^2.0.0",
+        "merge-source-map": "^1.1.0",
+        "schema-utils": "^2.7.0"
       }
     },
-    "node_modules/@npmcli/arborist/node_modules/@npmcli/run-script": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz",
-      "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==",
+    "node_modules/@koa/router": {
+      "version": "12.0.0",
+      "resolved": "https://registry.npmjs.org/@koa/router/-/router-12.0.0.tgz",
+      "integrity": "sha512-cnnxeKHXlt7XARJptflGURdJaO+ITpNkOHmQu7NHmCoRinPbyvFzce/EG/E8Zy81yQ1W9MoSdtklc3nyaDReUw==",
+      "deprecated": "**IMPORTANT 10x+ PERFORMANCE UPGRADE**: Please upgrade to v12.0.1+ as we have fixed an issue with debuglog causing 10x slower router benchmark performance, see https://github.com/koajs/router/pull/173",
       "dev": true,
       "dependencies": {
-        "@npmcli/node-gyp": "^3.0.0",
-        "@npmcli/promise-spawn": "^6.0.0",
-        "node-gyp": "^9.0.0",
-        "read-package-json-fast": "^3.0.0",
-        "which": "^3.0.0"
+        "http-errors": "^2.0.0",
+        "koa-compose": "^4.1.0",
+        "methods": "^1.1.2",
+        "path-to-regexp": "^6.2.1"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
-      }
-    },
-    "node_modules/@npmcli/arborist/node_modules/are-we-there-yet": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-4.0.2.tgz",
-      "integrity": "sha512-ncSWAawFhKMJDTdoAeOV+jyW1VCMj5QIAwULIBV0SSR7B/RLPPEQiknKcg/RIIZlUQrxELpsxMiTUoAQ4sIUyg==",
-      "dev": true,
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">= 12"
       }
     },
-    "node_modules/@npmcli/arborist/node_modules/brace-expansion": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
-      "dev": true,
-      "dependencies": {
-        "balanced-match": "^1.0.0"
-      }
+    "node_modules/@koa/router/node_modules/path-to-regexp": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
+      "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==",
+      "dev": true
     },
-    "node_modules/@npmcli/arborist/node_modules/gauge": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/gauge/-/gauge-5.0.1.tgz",
-      "integrity": "sha512-CmykPMJGuNan/3S4kZOpvvPYSNqSHANiWnh9XcMU2pSjtBfF0XzZ2p1bFAxTbnFxyBuPxQYHhzwaoOmUdqzvxQ==",
+    "node_modules/@lerna/child-process": {
+      "version": "6.6.2",
+      "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-6.6.2.tgz",
+      "integrity": "sha512-QyKIWEnKQFnYu2ey+SAAm1A5xjzJLJJj3bhIZd3QKyXKKjaJ0hlxam/OsWSltxTNbcyH1jRJjC6Cxv31usv0Ag==",
       "dev": true,
       "dependencies": {
-        "aproba": "^1.0.3 || ^2.0.0",
-        "color-support": "^1.1.3",
-        "console-control-strings": "^1.1.0",
-        "has-unicode": "^2.0.1",
-        "signal-exit": "^4.0.1",
-        "string-width": "^4.2.3",
-        "strip-ansi": "^6.0.1",
-        "wide-align": "^1.1.5"
+        "chalk": "^4.1.0",
+        "execa": "^5.0.0",
+        "strong-log-transformer": "^2.1.0"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": "^14.17.0 || >=16.0.0"
       }
     },
-    "node_modules/@npmcli/arborist/node_modules/minimatch": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz",
-      "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==",
+    "node_modules/@lerna/child-process/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
       "dependencies": {
-        "brace-expansion": "^2.0.1"
+        "color-convert": "^2.0.1"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=8"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/@npmcli/arborist/node_modules/npm-package-arg": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz",
-      "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==",
+    "node_modules/@lerna/child-process/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
       "dev": true,
       "dependencies": {
-        "hosted-git-info": "^6.0.0",
-        "proc-log": "^3.0.0",
-        "semver": "^7.3.5",
-        "validate-npm-package-name": "^5.0.0"
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/@npmcli/arborist/node_modules/npmlog": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-7.0.1.tgz",
-      "integrity": "sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg==",
+    "node_modules/@lerna/child-process/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "dev": true,
       "dependencies": {
-        "are-we-there-yet": "^4.0.0",
-        "console-control-strings": "^1.1.0",
-        "gauge": "^5.0.0",
-        "set-blocking": "^2.0.0"
+        "color-name": "~1.1.4"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=7.0.0"
       }
     },
-    "node_modules/@npmcli/arborist/node_modules/signal-exit": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
-      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
-      "dev": true,
-      "engines": {
-        "node": ">=14"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
+    "node_modules/@lerna/child-process/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
     },
-    "node_modules/@npmcli/arborist/node_modules/ssri": {
-      "version": "10.0.5",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz",
-      "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==",
+    "node_modules/@lerna/child-process/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
       "dependencies": {
-        "minipass": "^7.0.3"
+        "has-flag": "^4.0.0"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/@npmcli/arborist/node_modules/validate-npm-package-name": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz",
-      "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==",
+    "node_modules/@lerna/create": {
+      "version": "6.6.2",
+      "resolved": "https://registry.npmjs.org/@lerna/create/-/create-6.6.2.tgz",
+      "integrity": "sha512-xQ+1Y7D+9etvUlE+unhG/TwmM6XBzGIdFBaNoW8D8kyOa9M2Jf3vdEtAxVa7mhRz66CENfhL/+I/QkVaa7pwbQ==",
       "dev": true,
       "dependencies": {
-        "builtins": "^5.0.0"
+        "@lerna/child-process": "6.6.2",
+        "dedent": "^0.7.0",
+        "fs-extra": "^9.1.0",
+        "init-package-json": "^3.0.2",
+        "npm-package-arg": "8.1.1",
+        "p-reduce": "^2.1.0",
+        "pacote": "15.1.1",
+        "pify": "^5.0.0",
+        "semver": "^7.3.4",
+        "slash": "^3.0.0",
+        "validate-npm-package-license": "^3.0.4",
+        "validate-npm-package-name": "^4.0.0",
+        "yargs-parser": "20.2.4"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": "^14.17.0 || >=16.0.0"
       }
     },
-    "node_modules/@npmcli/arborist/node_modules/which": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
-      "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+    "node_modules/@lerna/legacy-package-management": {
+      "version": "6.6.2",
+      "resolved": "https://registry.npmjs.org/@lerna/legacy-package-management/-/legacy-package-management-6.6.2.tgz",
+      "integrity": "sha512-0hZxUPKnHwehUO2xC4ldtdX9bW0W1UosxebDIQlZL2STnZnA2IFmIk2lJVUyFW+cmTPQzV93jfS0i69T9Z+teg==",
       "dev": true,
       "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "node-which": "bin/which.js"
+        "@npmcli/arborist": "6.2.3",
+        "@npmcli/run-script": "4.1.7",
+        "@nrwl/devkit": ">=15.5.2 < 16",
+        "@octokit/rest": "19.0.3",
+        "byte-size": "7.0.0",
+        "chalk": "4.1.0",
+        "clone-deep": "4.0.1",
+        "cmd-shim": "5.0.0",
+        "columnify": "1.6.0",
+        "config-chain": "1.1.12",
+        "conventional-changelog-core": "4.2.4",
+        "conventional-recommended-bump": "6.1.0",
+        "cosmiconfig": "7.0.0",
+        "dedent": "0.7.0",
+        "dot-prop": "6.0.1",
+        "execa": "5.0.0",
+        "file-url": "3.0.0",
+        "find-up": "5.0.0",
+        "fs-extra": "9.1.0",
+        "get-port": "5.1.1",
+        "get-stream": "6.0.0",
+        "git-url-parse": "13.1.0",
+        "glob-parent": "5.1.2",
+        "globby": "11.1.0",
+        "graceful-fs": "4.2.10",
+        "has-unicode": "2.0.1",
+        "inquirer": "8.2.4",
+        "is-ci": "2.0.0",
+        "is-stream": "2.0.0",
+        "libnpmpublish": "7.1.4",
+        "load-json-file": "6.2.0",
+        "make-dir": "3.1.0",
+        "minimatch": "3.0.5",
+        "multimatch": "5.0.0",
+        "node-fetch": "2.6.7",
+        "npm-package-arg": "8.1.1",
+        "npm-packlist": "5.1.1",
+        "npm-registry-fetch": "14.0.3",
+        "npmlog": "6.0.2",
+        "p-map": "4.0.0",
+        "p-map-series": "2.1.0",
+        "p-queue": "6.6.2",
+        "p-waterfall": "2.1.1",
+        "pacote": "15.1.1",
+        "pify": "5.0.0",
+        "pretty-format": "29.4.3",
+        "read-cmd-shim": "3.0.0",
+        "read-package-json": "5.0.1",
+        "resolve-from": "5.0.0",
+        "semver": "7.3.8",
+        "signal-exit": "3.0.7",
+        "slash": "3.0.0",
+        "ssri": "9.0.1",
+        "strong-log-transformer": "2.1.0",
+        "tar": "6.1.11",
+        "temp-dir": "1.0.0",
+        "tempy": "1.0.0",
+        "upath": "2.0.1",
+        "uuid": "8.3.2",
+        "write-file-atomic": "4.0.1",
+        "write-pkg": "4.0.0",
+        "yargs": "16.2.0"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": "^14.17.0 || >=16.0.0"
       }
     },
-    "node_modules/@npmcli/arborist/node_modules/wide-align": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
-      "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+    "node_modules/@lerna/legacy-package-management/node_modules/@tootallnate/once": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+      "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
       "dev": true,
-      "dependencies": {
-        "string-width": "^1.0.2 || 2 || 3 || 4"
+      "engines": {
+        "node": ">= 10"
       }
     },
-    "node_modules/@npmcli/fs": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz",
-      "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==",
+    "node_modules/@lerna/legacy-package-management/node_modules/agent-base": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
       "dev": true,
       "dependencies": {
-        "semver": "^7.3.5"
+        "debug": "4"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">= 6.0.0"
       }
     },
-    "node_modules/@npmcli/git": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz",
-      "integrity": "sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==",
+    "node_modules/@lerna/legacy-package-management/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
       "dependencies": {
-        "@npmcli/promise-spawn": "^6.0.0",
-        "lru-cache": "^7.4.4",
-        "npm-pick-manifest": "^8.0.0",
-        "proc-log": "^3.0.0",
-        "promise-inflight": "^1.0.1",
-        "promise-retry": "^2.0.1",
-        "semver": "^7.3.5",
-        "which": "^3.0.0"
+        "color-convert": "^2.0.1"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/@npmcli/git/node_modules/lru-cache": {
-      "version": "7.18.3",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+    "node_modules/@lerna/legacy-package-management/node_modules/chalk": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+      "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
       "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/@npmcli/git/node_modules/which": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
-      "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+    "node_modules/@lerna/legacy-package-management/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "dev": true,
       "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "node-which": "bin/which.js"
+        "color-name": "~1.1.4"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=7.0.0"
       }
     },
-    "node_modules/@npmcli/installed-package-contents": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz",
-      "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==",
+    "node_modules/@lerna/legacy-package-management/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/@lerna/legacy-package-management/node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
       "dev": true,
       "dependencies": {
-        "npm-bundled": "^3.0.0",
-        "npm-normalize-package-bin": "^3.0.0"
-      },
-      "bin": {
-        "installed-package-contents": "lib/index.js"
+        "is-glob": "^4.0.1"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">= 6"
       }
     },
-    "node_modules/@npmcli/map-workspaces": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.4.tgz",
-      "integrity": "sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==",
+    "node_modules/@lerna/legacy-package-management/node_modules/graceful-fs": {
+      "version": "4.2.10",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+      "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+      "dev": true
+    },
+    "node_modules/@lerna/legacy-package-management/node_modules/http-proxy-agent": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+      "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
       "dev": true,
       "dependencies": {
-        "@npmcli/name-from-folder": "^2.0.0",
-        "glob": "^10.2.2",
-        "minimatch": "^9.0.0",
-        "read-package-json-fast": "^3.0.0"
+        "@tootallnate/once": "2",
+        "agent-base": "6",
+        "debug": "4"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">= 6"
       }
     },
-    "node_modules/@npmcli/metavuln-calculator": {
+    "node_modules/@lerna/legacy-package-management/node_modules/https-proxy-agent": {
       "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-5.0.1.tgz",
-      "integrity": "sha512-qb8Q9wIIlEPj3WeA1Lba91R4ZboPL0uspzV0F9uwP+9AYMVB2zOoa7Pbk12g6D2NHAinSbHh6QYmGuRyHZ874Q==",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
       "dev": true,
       "dependencies": {
-        "cacache": "^17.0.0",
-        "json-parse-even-better-errors": "^3.0.0",
-        "pacote": "^15.0.0",
-        "semver": "^7.3.5"
+        "agent-base": "6",
+        "debug": "4"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">= 6"
       }
     },
-    "node_modules/@npmcli/move-file": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz",
-      "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==",
-      "deprecated": "This functionality has been moved to @npmcli/fs",
+    "node_modules/@lerna/legacy-package-management/node_modules/inquirer": {
+      "version": "8.2.4",
+      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
+      "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
       "dev": true,
       "dependencies": {
-        "mkdirp": "^1.0.4",
-        "rimraf": "^3.0.2"
+        "ansi-escapes": "^4.2.1",
+        "chalk": "^4.1.1",
+        "cli-cursor": "^3.1.0",
+        "cli-width": "^3.0.0",
+        "external-editor": "^3.0.3",
+        "figures": "^3.0.0",
+        "lodash": "^4.17.21",
+        "mute-stream": "0.0.8",
+        "ora": "^5.4.1",
+        "run-async": "^2.4.0",
+        "rxjs": "^7.5.5",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0",
+        "through": "^2.3.6",
+        "wrap-ansi": "^7.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": ">=12.0.0"
       }
     },
-    "node_modules/@npmcli/move-file/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+    "node_modules/@lerna/legacy-package-management/node_modules/inquirer/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
       "dev": true,
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
       },
       "engines": {
-        "node": "*"
+        "node": ">=10"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/@npmcli/move-file/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+    "node_modules/@lerna/legacy-package-management/node_modules/is-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+      "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
       "dev": true,
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
       "engines": {
-        "node": "*"
+        "node": ">=8"
       }
     },
-    "node_modules/@npmcli/move-file/node_modules/mkdirp": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+    "node_modules/@lerna/legacy-package-management/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
       "dev": true,
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      },
       "engines": {
-        "node": ">=10"
+        "node": ">=12"
       }
     },
-    "node_modules/@npmcli/move-file/node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+    "node_modules/@lerna/legacy-package-management/node_modules/make-fetch-happen": {
+      "version": "11.1.1",
+      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+      "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
       "dev": true,
       "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
+        "agentkeepalive": "^4.2.1",
+        "cacache": "^17.0.0",
+        "http-cache-semantics": "^4.1.1",
+        "http-proxy-agent": "^5.0.0",
+        "https-proxy-agent": "^5.0.0",
+        "is-lambda": "^1.0.1",
+        "lru-cache": "^7.7.1",
+        "minipass": "^5.0.0",
+        "minipass-fetch": "^3.0.0",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "negotiator": "^0.6.3",
+        "promise-retry": "^2.0.1",
+        "socks-proxy-agent": "^7.0.0",
+        "ssri": "^10.0.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/@npmcli/name-from-folder": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz",
-      "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==",
-      "dev": true,
       "engines": {
         "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@npmcli/node-gyp": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz",
-      "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==",
+    "node_modules/@lerna/legacy-package-management/node_modules/make-fetch-happen/node_modules/minipass": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
       "dev": true,
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/@npmcli/package-json": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-3.1.1.tgz",
-      "integrity": "sha512-+UW0UWOYFKCkvszLoTwrYGrjNrT8tI5Ckeb/h+Z1y1fsNJEctl7HmerA5j2FgmoqFaLI2gsA1X9KgMFqx/bRmA==",
+    "node_modules/@lerna/legacy-package-management/node_modules/make-fetch-happen/node_modules/ssri": {
+      "version": "10.0.5",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz",
+      "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==",
       "dev": true,
       "dependencies": {
-        "@npmcli/git": "^4.1.0",
-        "glob": "^10.2.2",
-        "json-parse-even-better-errors": "^3.0.0",
-        "normalize-package-data": "^5.0.0",
-        "npm-normalize-package-bin": "^3.0.1",
-        "proc-log": "^3.0.0"
+        "minipass": "^7.0.3"
       },
       "engines": {
         "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@npmcli/promise-spawn": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz",
-      "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==",
+    "node_modules/@lerna/legacy-package-management/node_modules/make-fetch-happen/node_modules/ssri/node_modules/minipass": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
       "dev": true,
-      "dependencies": {
-        "which": "^3.0.0"
-      },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=16 || 14 >=14.17"
       }
     },
-    "node_modules/@npmcli/promise-spawn/node_modules/which": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
-      "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+    "node_modules/@lerna/legacy-package-management/node_modules/minimatch": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
+      "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
       "dev": true,
       "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "node-which": "bin/which.js"
+        "brace-expansion": "^1.1.7"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": "*"
       }
     },
-    "node_modules/@npmcli/query": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.1.0.tgz",
-      "integrity": "sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==",
+    "node_modules/@lerna/legacy-package-management/node_modules/minipass": {
+      "version": "4.2.8",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
+      "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==",
       "dev": true,
-      "dependencies": {
-        "postcss-selector-parser": "^6.0.10"
-      },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/@npmcli/run-script": {
-      "version": "4.1.7",
-      "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.1.7.tgz",
-      "integrity": "sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw==",
+    "node_modules/@lerna/legacy-package-management/node_modules/minipass-fetch": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz",
+      "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==",
       "dev": true,
       "dependencies": {
-        "@npmcli/node-gyp": "^2.0.0",
-        "@npmcli/promise-spawn": "^3.0.0",
-        "node-gyp": "^9.0.0",
-        "read-package-json-fast": "^2.0.3",
-        "which": "^2.0.2"
+        "minipass": "^7.0.3",
+        "minipass-sized": "^1.0.3",
+        "minizlib": "^2.1.2"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      },
+      "optionalDependencies": {
+        "encoding": "^0.1.13"
       }
     },
-    "node_modules/@npmcli/run-script/node_modules/@npmcli/node-gyp": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz",
-      "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==",
+    "node_modules/@lerna/legacy-package-management/node_modules/minipass-fetch/node_modules/minipass": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
       "dev": true,
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": ">=16 || 14 >=14.17"
       }
     },
-    "node_modules/@npmcli/run-script/node_modules/@npmcli/promise-spawn": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz",
-      "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==",
+    "node_modules/@lerna/legacy-package-management/node_modules/node-fetch": {
+      "version": "2.6.7",
+      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+      "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
       "dev": true,
       "dependencies": {
-        "infer-owner": "^1.0.4"
+        "whatwg-url": "^5.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "4.x || >=6.0.0"
+      },
+      "peerDependencies": {
+        "encoding": "^0.1.0"
+      },
+      "peerDependenciesMeta": {
+        "encoding": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@npmcli/run-script/node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true
-    },
-    "node_modules/@npmcli/run-script/node_modules/npm-normalize-package-bin": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
-      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
-      "dev": true
-    },
-    "node_modules/@npmcli/run-script/node_modules/read-package-json-fast": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz",
-      "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==",
+    "node_modules/@lerna/legacy-package-management/node_modules/npm-registry-fetch": {
+      "version": "14.0.3",
+      "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz",
+      "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==",
       "dev": true,
       "dependencies": {
-        "json-parse-even-better-errors": "^2.3.0",
-        "npm-normalize-package-bin": "^1.0.1"
+        "make-fetch-happen": "^11.0.0",
+        "minipass": "^4.0.0",
+        "minipass-fetch": "^3.0.0",
+        "minipass-json-stream": "^1.0.1",
+        "minizlib": "^2.1.2",
+        "npm-package-arg": "^10.0.0",
+        "proc-log": "^3.0.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@nrwl/cli": {
-      "version": "15.9.7",
-      "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-15.9.7.tgz",
-      "integrity": "sha512-1jtHBDuJzA57My5nLzYiM372mJW0NY6rFKxlWt5a0RLsAZdPTHsd8lE3Gs9XinGC1jhXbruWmhhnKyYtZvX/zA==",
+    "node_modules/@lerna/legacy-package-management/node_modules/npm-registry-fetch/node_modules/npm-package-arg": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz",
+      "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==",
       "dev": true,
       "dependencies": {
-        "nx": "15.9.7"
+        "hosted-git-info": "^6.0.0",
+        "proc-log": "^3.0.0",
+        "semver": "^7.3.5",
+        "validate-npm-package-name": "^5.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@nrwl/devkit": {
-      "version": "15.9.7",
-      "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.9.7.tgz",
-      "integrity": "sha512-Sb7Am2TMT8AVq8e+vxOlk3AtOA2M0qCmhBzoM1OJbdHaPKc0g0UgSnWRml1kPGg5qfPk72tWclLoZJ5/ut0vTg==",
+    "node_modules/@lerna/legacy-package-management/node_modules/pretty-format": {
+      "version": "29.4.3",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.4.3.tgz",
+      "integrity": "sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA==",
       "dev": true,
       "dependencies": {
-        "ejs": "^3.1.7",
-        "ignore": "^5.0.4",
-        "semver": "7.5.4",
-        "tmp": "~0.2.1",
-        "tslib": "^2.3.0"
+        "@jest/schemas": "^29.4.3",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
       },
-      "peerDependencies": {
-        "nx": ">= 14.1 <= 16"
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@nrwl/devkit/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+    "node_modules/@lerna/legacy-package-management/node_modules/pretty-format/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
       "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/@nrwl/devkit/node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+    "node_modules/@lerna/legacy-package-management/node_modules/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@lerna/legacy-package-management/node_modules/semver": {
+      "version": "7.3.8",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+      "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
       "dev": true,
       "dependencies": {
         "lru-cache": "^6.0.0"
@@ -8061,1449 +8817,1256 @@
         "node": ">=10"
       }
     },
-    "node_modules/@nrwl/devkit/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
-    "node_modules/@nrwl/nx-darwin-arm64": {
-      "version": "15.9.7",
-      "resolved": "https://registry.npmjs.org/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.7.tgz",
-      "integrity": "sha512-aBUgnhlkrgC0vu0fK6eb9Vob7eFnkuknrK+YzTjmLrrZwj7FGNAeyGXSlyo1dVokIzjVKjJg2saZZ0WQbfuCJw==",
-      "cpu": [
-        "arm64"
-      ],
+    "node_modules/@lerna/legacy-package-management/node_modules/semver/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
       "engines": {
-        "node": ">= 10"
+        "node": ">=10"
       }
     },
-    "node_modules/@nrwl/nx-darwin-x64": {
-      "version": "15.9.7",
-      "resolved": "https://registry.npmjs.org/@nrwl/nx-darwin-x64/-/nx-darwin-x64-15.9.7.tgz",
-      "integrity": "sha512-L+elVa34jhGf1cmn38Z0sotQatmLovxoASCIw5r1CBZZeJ5Tg7Y9nOwjRiDixZxNN56hPKXm6xl9EKlVHVeKlg==",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@lerna/legacy-package-management/node_modules/socks-proxy-agent": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
+      "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
+      "dependencies": {
+        "agent-base": "^6.0.2",
+        "debug": "^4.3.3",
+        "socks": "^2.6.2"
+      },
       "engines": {
         "node": ">= 10"
       }
     },
-    "node_modules/@nrwl/nx-linux-arm-gnueabihf": {
-      "version": "15.9.7",
-      "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-15.9.7.tgz",
-      "integrity": "sha512-pqmfqqEUGFu6PmmHKyXyUw1Al0Ki8PSaR0+ndgCAb1qrekVDGDfznJfaqxN0JSLeolPD6+PFtLyXNr9ZyPFlFg==",
-      "cpu": [
-        "arm"
-      ],
+    "node_modules/@lerna/legacy-package-management/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
       "engines": {
-        "node": ">= 10"
+        "node": ">=8"
       }
     },
-    "node_modules/@nrwl/nx-linux-arm64-gnu": {
-      "version": "15.9.7",
-      "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-15.9.7.tgz",
-      "integrity": "sha512-NYOa/eRrqmM+In5g3M0rrPVIS9Z+q6fvwXJYf/KrjOHqqan/KL+2TOfroA30UhcBrwghZvib7O++7gZ2hzwOnA==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">= 10"
-      }
+    "node_modules/@lerna/legacy-package-management/node_modules/tr46": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+      "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+      "dev": true
     },
-    "node_modules/@nrwl/nx-linux-arm64-musl": {
-      "version": "15.9.7",
-      "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-arm64-musl/-/nx-linux-arm64-musl-15.9.7.tgz",
-      "integrity": "sha512-zyStqjEcmbvLbejdTOrLUSEdhnxNtdQXlmOuymznCzYUEGRv+4f7OAepD3yRoR0a/57SSORZmmGQB7XHZoYZJA==",
-      "cpu": [
-        "arm64"
-      ],
+    "node_modules/@lerna/legacy-package-management/node_modules/validate-npm-package-name": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz",
+      "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
+      "dependencies": {
+        "builtins": "^5.0.0"
+      },
       "engines": {
-        "node": ">= 10"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@nrwl/nx-linux-x64-gnu": {
-      "version": "15.9.7",
-      "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-x64-gnu/-/nx-linux-x64-gnu-15.9.7.tgz",
-      "integrity": "sha512-saNK5i2A8pKO3Il+Ejk/KStTApUpWgCxjeUz9G+T8A+QHeDloZYH2c7pU/P3jA9QoNeKwjVO9wYQllPL9loeVg==",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@lerna/legacy-package-management/node_modules/webidl-conversions": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+      "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+      "dev": true
+    },
+    "node_modules/@lerna/legacy-package-management/node_modules/whatwg-url": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+      "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">= 10"
+      "dependencies": {
+        "tr46": "~0.0.3",
+        "webidl-conversions": "^3.0.0"
       }
     },
-    "node_modules/@nrwl/nx-linux-x64-musl": {
-      "version": "15.9.7",
-      "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-x64-musl/-/nx-linux-x64-musl-15.9.7.tgz",
-      "integrity": "sha512-extIUThYN94m4Vj4iZggt6hhMZWQSukBCo8pp91JHnDcryBg7SnYmnikwtY1ZAFyyRiNFBLCKNIDFGkKkSrZ9Q==",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@lerna/legacy-package-management/node_modules/wrap-ansi": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
       "engines": {
-        "node": ">= 10"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/@nrwl/nx-win32-arm64-msvc": {
-      "version": "15.9.7",
-      "resolved": "https://registry.npmjs.org/@nrwl/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-15.9.7.tgz",
-      "integrity": "sha512-GSQ54hJ5AAnKZb4KP4cmBnJ1oC4ILxnrG1mekxeM65c1RtWg9NpBwZ8E0gU3xNrTv8ZNsBeKi/9UhXBxhsIh8A==",
-      "cpu": [
-        "arm64"
-      ],
+    "node_modules/@lerna/legacy-package-management/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
+    "node_modules/@lerna/legacy-package-management/node_modules/yargs": {
+      "version": "16.2.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
+      "dependencies": {
+        "cliui": "^7.0.2",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^20.2.2"
+      },
       "engines": {
-        "node": ">= 10"
+        "node": ">=10"
       }
     },
-    "node_modules/@nrwl/nx-win32-x64-msvc": {
-      "version": "15.9.7",
-      "resolved": "https://registry.npmjs.org/@nrwl/nx-win32-x64-msvc/-/nx-win32-x64-msvc-15.9.7.tgz",
-      "integrity": "sha512-x6URof79RPd8AlapVbPefUD3ynJZpmah3tYaYZ9xZRMXojVtEHV8Qh5vysKXQ1rNYJiiB8Ah6evSKWLbAH60tw==",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@lukeed/csprng": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz",
+      "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==",
       "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
       "engines": {
-        "node": ">= 10"
+        "node": ">=8"
       }
     },
-    "node_modules/@nrwl/tao": {
-      "version": "15.9.7",
-      "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-15.9.7.tgz",
-      "integrity": "sha512-OBnHNvQf3vBH0qh9YnvBQQWyyFZ+PWguF6dJ8+1vyQYlrLVk/XZ8nJ4ukWFb+QfPv/O8VBmqaofaOI9aFC4yTw==",
+    "node_modules/@mapbox/node-pre-gyp": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz",
+      "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==",
       "dev": true,
       "dependencies": {
-        "nx": "15.9.7"
-      },
-      "bin": {
-        "tao": "index.js"
-      }
-    },
-    "node_modules/@nuxtjs/opencollective": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz",
-      "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^4.1.0",
-        "consola": "^2.15.0",
-        "node-fetch": "^2.6.1"
+        "detect-libc": "^2.0.0",
+        "https-proxy-agent": "^5.0.0",
+        "make-dir": "^3.1.0",
+        "node-fetch": "^2.6.7",
+        "nopt": "^5.0.0",
+        "npmlog": "^5.0.1",
+        "rimraf": "^3.0.2",
+        "semver": "^7.3.5",
+        "tar": "^6.1.11"
       },
       "bin": {
-        "opencollective": "bin/opencollective.js"
-      },
-      "engines": {
-        "node": ">=8.0.0",
-        "npm": ">=5.0.0"
+        "node-pre-gyp": "bin/node-pre-gyp"
       }
     },
-    "node_modules/@nuxtjs/opencollective/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+    "node_modules/@mapbox/node-pre-gyp/node_modules/abbrev": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+      "dev": true
+    },
+    "node_modules/@mapbox/node-pre-gyp/node_modules/agent-base": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
       "dev": true,
       "dependencies": {
-        "color-convert": "^2.0.1"
+        "debug": "4"
       },
       "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+        "node": ">= 6.0.0"
       }
     },
-    "node_modules/@nuxtjs/opencollective/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+    "node_modules/@mapbox/node-pre-gyp/node_modules/are-we-there-yet": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+      "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
       "dev": true,
       "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
+        "delegates": "^1.0.0",
+        "readable-stream": "^3.6.0"
       },
       "engines": {
         "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/@nuxtjs/opencollective/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+    "node_modules/@mapbox/node-pre-gyp/node_modules/gauge": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+      "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
       "dev": true,
       "dependencies": {
-        "color-name": "~1.1.4"
+        "aproba": "^1.0.3 || ^2.0.0",
+        "color-support": "^1.1.2",
+        "console-control-strings": "^1.0.0",
+        "has-unicode": "^2.0.1",
+        "object-assign": "^4.1.1",
+        "signal-exit": "^3.0.0",
+        "string-width": "^4.2.3",
+        "strip-ansi": "^6.0.1",
+        "wide-align": "^1.1.2"
       },
       "engines": {
-        "node": ">=7.0.0"
+        "node": ">=10"
       }
     },
-    "node_modules/@nuxtjs/opencollective/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/@nuxtjs/opencollective/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+    "node_modules/@mapbox/node-pre-gyp/node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
       "dev": true,
       "dependencies": {
-        "has-flag": "^4.0.0"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@octokit/auth-token": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz",
-      "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==",
+    "node_modules/@mapbox/node-pre-gyp/node_modules/https-proxy-agent": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
       "dev": true,
+      "dependencies": {
+        "agent-base": "6",
+        "debug": "4"
+      },
       "engines": {
-        "node": ">= 14"
+        "node": ">= 6"
       }
     },
-    "node_modules/@octokit/core": {
-      "version": "4.2.4",
-      "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz",
-      "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==",
+    "node_modules/@mapbox/node-pre-gyp/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
       "dev": true,
       "dependencies": {
-        "@octokit/auth-token": "^3.0.0",
-        "@octokit/graphql": "^5.0.0",
-        "@octokit/request": "^6.0.0",
-        "@octokit/request-error": "^3.0.0",
-        "@octokit/types": "^9.0.0",
-        "before-after-hook": "^2.2.0",
-        "universal-user-agent": "^6.0.0"
+        "brace-expansion": "^1.1.7"
       },
       "engines": {
-        "node": ">= 14"
+        "node": "*"
       }
     },
-    "node_modules/@octokit/endpoint": {
-      "version": "7.0.6",
-      "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz",
-      "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==",
+    "node_modules/@mapbox/node-pre-gyp/node_modules/nopt": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+      "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
       "dev": true,
       "dependencies": {
-        "@octokit/types": "^9.0.0",
-        "is-plain-object": "^5.0.0",
-        "universal-user-agent": "^6.0.0"
+        "abbrev": "1"
+      },
+      "bin": {
+        "nopt": "bin/nopt.js"
       },
       "engines": {
-        "node": ">= 14"
+        "node": ">=6"
       }
     },
-    "node_modules/@octokit/endpoint/node_modules/is-plain-object": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
-      "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+    "node_modules/@mapbox/node-pre-gyp/node_modules/npmlog": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+      "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
       "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
+      "dependencies": {
+        "are-we-there-yet": "^2.0.0",
+        "console-control-strings": "^1.1.0",
+        "gauge": "^3.0.0",
+        "set-blocking": "^2.0.0"
       }
     },
-    "node_modules/@octokit/graphql": {
-      "version": "5.0.6",
-      "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz",
-      "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==",
+    "node_modules/@mapbox/node-pre-gyp/node_modules/rimraf": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
       "dev": true,
       "dependencies": {
-        "@octokit/request": "^6.0.0",
-        "@octokit/types": "^9.0.0",
-        "universal-user-agent": "^6.0.0"
+        "glob": "^7.1.3"
       },
-      "engines": {
-        "node": ">= 14"
+      "bin": {
+        "rimraf": "bin.js"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@octokit/openapi-types": {
-      "version": "18.1.1",
-      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.1.1.tgz",
-      "integrity": "sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==",
+    "node_modules/@mdn/browser-compat-data": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz",
+      "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==",
       "dev": true
     },
-    "node_modules/@octokit/plugin-enterprise-rest": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz",
-      "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==",
-      "dev": true
+    "node_modules/@mongodb-js/saslprep": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz",
+      "integrity": "sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==",
+      "dev": true,
+      "dependencies": {
+        "sparse-bitfield": "^3.0.3"
+      }
     },
-    "node_modules/@octokit/plugin-paginate-rest": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz",
-      "integrity": "sha512-+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA==",
+    "node_modules/@nestjs/common": {
+      "version": "9.4.3",
+      "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.4.3.tgz",
+      "integrity": "sha512-Gd6D4IaYj01o14Bwv81ukidn4w3bPHCblMUq+SmUmWLyosK+XQmInCS09SbDDZyL8jy86PngtBLTdhJ2bXSUig==",
       "dev": true,
       "dependencies": {
-        "@octokit/types": "^6.41.0"
+        "iterare": "1.2.1",
+        "tslib": "2.5.3",
+        "uid": "2.0.2"
       },
-      "engines": {
-        "node": ">= 14"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/nest"
       },
       "peerDependencies": {
-        "@octokit/core": ">=4"
+        "cache-manager": "<=5",
+        "class-transformer": "*",
+        "class-validator": "*",
+        "reflect-metadata": "^0.1.12",
+        "rxjs": "^7.1.0"
+      },
+      "peerDependenciesMeta": {
+        "cache-manager": {
+          "optional": true
+        },
+        "class-transformer": {
+          "optional": true
+        },
+        "class-validator": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": {
-      "version": "12.11.0",
-      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz",
-      "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==",
+    "node_modules/@nestjs/common/node_modules/tslib": {
+      "version": "2.5.3",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
+      "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==",
       "dev": true
     },
-    "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
-      "version": "6.41.0",
-      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
-      "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
+    "node_modules/@nestjs/core": {
+      "version": "9.4.3",
+      "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.4.3.tgz",
+      "integrity": "sha512-Qi63+wi55Jh4sDyaj5Hhx2jOpKqT386aeo+VOKsxnd+Ql9VvkO/FjmuwBGUyzkJt29ENYc+P0Sx/k5LtstNpPQ==",
       "dev": true,
+      "hasInstallScript": true,
       "dependencies": {
-        "@octokit/openapi-types": "^12.11.0"
-      }
-    },
-    "node_modules/@octokit/plugin-request-log": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
-      "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==",
-      "dev": true,
+        "@nuxtjs/opencollective": "0.3.2",
+        "fast-safe-stringify": "2.1.1",
+        "iterare": "1.2.1",
+        "path-to-regexp": "3.2.0",
+        "tslib": "2.5.3",
+        "uid": "2.0.2"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/nest"
+      },
       "peerDependencies": {
-        "@octokit/core": ">=3"
+        "@nestjs/common": "^9.0.0",
+        "@nestjs/microservices": "^9.0.0",
+        "@nestjs/platform-express": "^9.0.0",
+        "@nestjs/websockets": "^9.0.0",
+        "reflect-metadata": "^0.1.12",
+        "rxjs": "^7.1.0"
+      },
+      "peerDependenciesMeta": {
+        "@nestjs/microservices": {
+          "optional": true
+        },
+        "@nestjs/platform-express": {
+          "optional": true
+        },
+        "@nestjs/websockets": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@octokit/plugin-rest-endpoint-methods": {
-      "version": "6.8.1",
-      "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz",
-      "integrity": "sha512-QrlaTm8Lyc/TbU7BL/8bO49vp+RZ6W3McxxmmQTgYxf2sWkO8ZKuj4dLhPNJD6VCUW1hetCmeIM0m6FTVpDiEg==",
+    "node_modules/@nestjs/core/node_modules/tslib": {
+      "version": "2.5.3",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
+      "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==",
+      "dev": true
+    },
+    "node_modules/@nestjs/microservices": {
+      "version": "9.4.3",
+      "resolved": "https://registry.npmjs.org/@nestjs/microservices/-/microservices-9.4.3.tgz",
+      "integrity": "sha512-piMw8d3C4ppc5St5AhQEtecMhyeBK2Q1VYk4AL3NKtG6U0fzz/6KLiETpWdKXmazeI/m7qac2upOvwmRzle0aA==",
       "dev": true,
       "dependencies": {
-        "@octokit/types": "^8.1.1",
-        "deprecation": "^2.3.1"
+        "iterare": "1.2.1",
+        "tslib": "2.5.3"
       },
-      "engines": {
-        "node": ">= 14"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/nest"
       },
       "peerDependencies": {
-        "@octokit/core": ">=3"
+        "@grpc/grpc-js": "*",
+        "@nestjs/common": "^9.0.0",
+        "@nestjs/core": "^9.0.0",
+        "@nestjs/websockets": "^9.0.0",
+        "amqp-connection-manager": "*",
+        "amqplib": "*",
+        "cache-manager": "*",
+        "ioredis": "*",
+        "kafkajs": "*",
+        "mqtt": "*",
+        "nats": "*",
+        "reflect-metadata": "^0.1.12",
+        "rxjs": "^7.1.0"
+      },
+      "peerDependenciesMeta": {
+        "@grpc/grpc-js": {
+          "optional": true
+        },
+        "@nestjs/websockets": {
+          "optional": true
+        },
+        "amqp-connection-manager": {
+          "optional": true
+        },
+        "amqplib": {
+          "optional": true
+        },
+        "cache-manager": {
+          "optional": true
+        },
+        "ioredis": {
+          "optional": true
+        },
+        "kafkajs": {
+          "optional": true
+        },
+        "mqtt": {
+          "optional": true
+        },
+        "nats": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": {
-      "version": "14.0.0",
-      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz",
-      "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==",
+    "node_modules/@nestjs/microservices/node_modules/tslib": {
+      "version": "2.5.3",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
+      "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==",
       "dev": true
     },
-    "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": {
-      "version": "8.2.1",
-      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.2.1.tgz",
-      "integrity": "sha512-8oWMUji8be66q2B9PmEIUyQm00VPDPun07umUWSaCwxmeaquFBro4Hcc3ruVoDo3zkQyZBlRvhIMEYS3pBhanw==",
+    "node_modules/@nestjs/platform-express": {
+      "version": "9.4.3",
+      "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-9.4.3.tgz",
+      "integrity": "sha512-FpdczWoRSC0zz2dNL9u2AQLXKXRVtq4HgHklAhbL59X0uy+mcxhlSThG7DHzDMkoSnuuHY8ojDVf7mDxk+GtCw==",
       "dev": true,
       "dependencies": {
-        "@octokit/openapi-types": "^14.0.0"
+        "body-parser": "1.20.2",
+        "cors": "2.8.5",
+        "express": "4.18.2",
+        "multer": "1.4.4-lts.1",
+        "tslib": "2.5.3"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/nest"
+      },
+      "peerDependencies": {
+        "@nestjs/common": "^9.0.0",
+        "@nestjs/core": "^9.0.0"
       }
     },
-    "node_modules/@octokit/request": {
-      "version": "6.2.8",
-      "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz",
-      "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==",
+    "node_modules/@nestjs/platform-express/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
       "dev": true,
       "dependencies": {
-        "@octokit/endpoint": "^7.0.0",
-        "@octokit/request-error": "^3.0.0",
-        "@octokit/types": "^9.0.0",
-        "is-plain-object": "^5.0.0",
-        "node-fetch": "^2.6.7",
-        "universal-user-agent": "^6.0.0"
-      },
-      "engines": {
-        "node": ">= 14"
+        "ms": "2.0.0"
       }
     },
-    "node_modules/@octokit/request-error": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz",
-      "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==",
+    "node_modules/@nestjs/platform-express/node_modules/express": {
+      "version": "4.18.2",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
+      "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
       "dev": true,
       "dependencies": {
-        "@octokit/types": "^9.0.0",
-        "deprecation": "^2.0.0",
-        "once": "^1.4.0"
+        "accepts": "~1.3.8",
+        "array-flatten": "1.1.1",
+        "body-parser": "1.20.1",
+        "content-disposition": "0.5.4",
+        "content-type": "~1.0.4",
+        "cookie": "0.5.0",
+        "cookie-signature": "1.0.6",
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "finalhandler": "1.2.0",
+        "fresh": "0.5.2",
+        "http-errors": "2.0.0",
+        "merge-descriptors": "1.0.1",
+        "methods": "~1.1.2",
+        "on-finished": "2.4.1",
+        "parseurl": "~1.3.3",
+        "path-to-regexp": "0.1.7",
+        "proxy-addr": "~2.0.7",
+        "qs": "6.11.0",
+        "range-parser": "~1.2.1",
+        "safe-buffer": "5.2.1",
+        "send": "0.18.0",
+        "serve-static": "1.15.0",
+        "setprototypeof": "1.2.0",
+        "statuses": "2.0.1",
+        "type-is": "~1.6.18",
+        "utils-merge": "1.0.1",
+        "vary": "~1.1.2"
       },
       "engines": {
-        "node": ">= 14"
+        "node": ">= 0.10.0"
       }
     },
-    "node_modules/@octokit/request/node_modules/is-plain-object": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
-      "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+    "node_modules/@nestjs/platform-express/node_modules/express/node_modules/body-parser": {
+      "version": "1.20.1",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+      "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
       "dev": true,
+      "dependencies": {
+        "bytes": "3.1.2",
+        "content-type": "~1.0.4",
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "http-errors": "2.0.0",
+        "iconv-lite": "0.4.24",
+        "on-finished": "2.4.1",
+        "qs": "6.11.0",
+        "raw-body": "2.5.1",
+        "type-is": "~1.6.18",
+        "unpipe": "1.0.0"
+      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">= 0.8",
+        "npm": "1.2.8000 || >= 1.4.16"
       }
     },
-    "node_modules/@octokit/rest": {
-      "version": "19.0.3",
-      "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.3.tgz",
-      "integrity": "sha512-5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ==",
+    "node_modules/@nestjs/platform-express/node_modules/finalhandler": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+      "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
       "dev": true,
       "dependencies": {
-        "@octokit/core": "^4.0.0",
-        "@octokit/plugin-paginate-rest": "^3.0.0",
-        "@octokit/plugin-request-log": "^1.0.4",
-        "@octokit/plugin-rest-endpoint-methods": "^6.0.0"
+        "debug": "2.6.9",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "on-finished": "2.4.1",
+        "parseurl": "~1.3.3",
+        "statuses": "2.0.1",
+        "unpipe": "~1.0.0"
       },
       "engines": {
-        "node": ">= 14"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/@octokit/types": {
-      "version": "9.3.2",
-      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz",
-      "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==",
-      "dev": true,
-      "dependencies": {
-        "@octokit/openapi-types": "^18.0.0"
-      }
+    "node_modules/@nestjs/platform-express/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "dev": true
     },
-    "node_modules/@opentelemetry/api": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
-      "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
-      "engines": {
-        "node": ">=8.0.0"
-      }
+    "node_modules/@nestjs/platform-express/node_modules/path-to-regexp": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+      "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
+      "dev": true
     },
-    "node_modules/@opentelemetry/api-logs": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.0.tgz",
-      "integrity": "sha512-HxjD7xH9iAE4OyhNaaSec65i1H6QZYBWSwWkowFfsc5YAcDvJG30/J1sRKXEQqdmUcKTXEAnA66UciqZha/4+Q==",
+    "node_modules/@nestjs/platform-express/node_modules/raw-body": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+      "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/api": "^1.0.0"
+        "bytes": "3.1.2",
+        "http-errors": "2.0.0",
+        "iconv-lite": "0.4.24",
+        "unpipe": "1.0.0"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/@opentelemetry/auto-instrumentations-node": {
-      "resolved": "metapackages/auto-instrumentations-node",
-      "link": true
-    },
-    "node_modules/@opentelemetry/auto-instrumentations-web": {
-      "resolved": "metapackages/auto-instrumentations-web",
-      "link": true
-    },
-    "node_modules/@opentelemetry/baggage-span-processor": {
-      "resolved": "packages/baggage-span-processor",
-      "link": true
+    "node_modules/@nestjs/platform-express/node_modules/tslib": {
+      "version": "2.5.3",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
+      "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==",
+      "dev": true
     },
-    "node_modules/@opentelemetry/context-async-hooks": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.0.tgz",
-      "integrity": "sha512-sBW313mnMyFg0cp/40BRzrZBWG+581s2j5gIsa5fgGadswyILk4mNFATsqrCOpAx945RDuZ2B7ThQLgor9OpfA==",
-      "engines": {
-        "node": ">=14"
+    "node_modules/@nestjs/websockets": {
+      "version": "9.4.3",
+      "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-9.4.3.tgz",
+      "integrity": "sha512-LMLKJWZbWH3VQRxDK/658ynyN1n5lLCIen/dey2y5TzB0RNgxlSso/YJATVVfWNaT2CxPG8TUQMOTdopXCWGQw==",
+      "dev": true,
+      "dependencies": {
+        "iterare": "1.2.1",
+        "object-hash": "3.0.0",
+        "tslib": "2.5.3"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.10.0"
+        "@nestjs/common": "^9.0.0",
+        "@nestjs/core": "^9.0.0",
+        "@nestjs/platform-socket.io": "^9.0.0",
+        "reflect-metadata": "^0.1.12",
+        "rxjs": "^7.1.0"
+      },
+      "peerDependenciesMeta": {
+        "@nestjs/platform-socket.io": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@opentelemetry/context-zone": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.25.0.tgz",
-      "integrity": "sha512-LmO64smA9SZrl8f1HRRSNA4oudwpjCMVxZz08EhkRCcTRvFB8p+6Lnu6mtT54wD/raeXoEbLGtVqMYHsZ6bpmA==",
+    "node_modules/@nestjs/websockets/node_modules/tslib": {
+      "version": "2.5.3",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
+      "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==",
+      "dev": true
+    },
+    "node_modules/@netflix/nerror": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz",
+      "integrity": "sha512-b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/context-zone-peer-dep": "1.25.0",
-        "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0"
+        "assert-plus": "^1.0.0",
+        "extsprintf": "^1.4.0",
+        "lodash": "^4.17.15"
+      }
+    },
+    "node_modules/@netflix/nerror/node_modules/extsprintf": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz",
+      "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==",
+      "dev": true,
+      "engines": [
+        "node >=0.6.0"
+      ]
+    },
+    "node_modules/@nodelib/fs.scandir": {
+      "version": "2.1.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.stat": "2.0.5",
+        "run-parallel": "^1.1.9"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">= 8"
       }
     },
-    "node_modules/@opentelemetry/context-zone-peer-dep": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.25.0.tgz",
-      "integrity": "sha512-wh03u4ECYonjaxB+hzriWzHcr4GRlYSQoirDn0ldBDebz3WDZgjHCD/NPBoZaulGGwU6lvmQZXuyfz5hRrJhOw==",
+    "node_modules/@nodelib/fs.stat": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+      "dev": true,
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.10.0",
-        "zone.js": "^0.10.2 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0"
+        "node": ">= 8"
       }
     },
-    "node_modules/@opentelemetry/contrib-test-utils": {
-      "resolved": "packages/opentelemetry-test-utils",
-      "link": true
-    },
-    "node_modules/@opentelemetry/core": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.0.tgz",
-      "integrity": "sha512-n0B3s8rrqGrasTgNkXLKXzN0fXo+6IYP7M5b7AMsrZM33f/y6DS6kJ0Btd7SespASWq8bgL3taLo0oe0vB52IQ==",
+    "node_modules/@nodelib/fs.walk": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@nodelib/fs.scandir": "2.1.5",
+        "fastq": "^1.6.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.10.0"
+        "node": ">= 8"
       }
     },
-    "node_modules/@opentelemetry/exporter-jaeger": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.25.0.tgz",
-      "integrity": "sha512-6h2dCpdOB2W2mxdH/6w6DZeev5Zc3X2rUlCWKMCUnKko36aTfbiVxgXHffs0pc3w5JmMtKIVkHg8eamvLA+Klw==",
+    "node_modules/@npmcli/arborist": {
+      "version": "6.2.3",
+      "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-6.2.3.tgz",
+      "integrity": "sha512-lpGOC2ilSJXcc2zfW9QtukcCTcMbl3fVI0z4wvFB2AFIl0C+Q6Wv7ccrpdrQa8rvJ1ZVuc6qkX7HVTyKlzGqKA==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0",
-        "jaeger-client": "^3.15.0"
+        "@isaacs/string-locale-compare": "^1.1.0",
+        "@npmcli/fs": "^3.1.0",
+        "@npmcli/installed-package-contents": "^2.0.0",
+        "@npmcli/map-workspaces": "^3.0.2",
+        "@npmcli/metavuln-calculator": "^5.0.0",
+        "@npmcli/name-from-folder": "^2.0.0",
+        "@npmcli/node-gyp": "^3.0.0",
+        "@npmcli/package-json": "^3.0.0",
+        "@npmcli/query": "^3.0.0",
+        "@npmcli/run-script": "^6.0.0",
+        "bin-links": "^4.0.1",
+        "cacache": "^17.0.4",
+        "common-ancestor-path": "^1.0.1",
+        "hosted-git-info": "^6.1.1",
+        "json-parse-even-better-errors": "^3.0.0",
+        "json-stringify-nice": "^1.1.4",
+        "minimatch": "^6.1.6",
+        "nopt": "^7.0.0",
+        "npm-install-checks": "^6.0.0",
+        "npm-package-arg": "^10.1.0",
+        "npm-pick-manifest": "^8.0.1",
+        "npm-registry-fetch": "^14.0.3",
+        "npmlog": "^7.0.1",
+        "pacote": "^15.0.8",
+        "parse-conflict-json": "^3.0.0",
+        "proc-log": "^3.0.0",
+        "promise-all-reject-late": "^1.0.0",
+        "promise-call-limit": "^1.0.1",
+        "read-package-json-fast": "^3.0.2",
+        "semver": "^7.3.7",
+        "ssri": "^10.0.1",
+        "treeverse": "^3.0.0",
+        "walk-up-path": "^1.0.0"
       },
-      "engines": {
-        "node": ">=14"
+      "bin": {
+        "arborist": "bin/index.js"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/exporter-trace-otlp-grpc": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.52.0.tgz",
-      "integrity": "sha512-Ln3HU54/ytTeEMrDGNDj01357YV8Kk9PkGDHvBRo1n7bWhwZoTEnX/cTuXLYOiygBIJJjCCM+VMfWCnvtFl4Kw==",
+    "node_modules/@npmcli/arborist/node_modules/@npmcli/run-script": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz",
+      "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==",
+      "dev": true,
       "dependencies": {
-        "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-grpc-exporter-base": "0.52.0",
-        "@opentelemetry/otlp-transformer": "0.52.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0"
+        "@npmcli/node-gyp": "^3.0.0",
+        "@npmcli/promise-spawn": "^6.0.0",
+        "node-gyp": "^9.0.0",
+        "read-package-json-fast": "^3.0.0",
+        "which": "^3.0.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/exporter-trace-otlp-http": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.52.0.tgz",
-      "integrity": "sha512-umj9tOSEAuUdqw2EZua1Dby3c+FZ6xWGT2OF/KGLFLtyIvxhtTOSeMfBy/9CaxHn4vF8mAynmAP5MvVKnRYunA==",
+    "node_modules/@npmcli/arborist/node_modules/are-we-there-yet": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-4.0.2.tgz",
+      "integrity": "sha512-ncSWAawFhKMJDTdoAeOV+jyW1VCMj5QIAwULIBV0SSR7B/RLPPEQiknKcg/RIIZlUQrxELpsxMiTUoAQ4sIUyg==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/arborist/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-exporter-base": "0.52.0",
-        "@opentelemetry/otlp-transformer": "0.52.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0"
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/@npmcli/arborist/node_modules/gauge": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/gauge/-/gauge-5.0.1.tgz",
+      "integrity": "sha512-CmykPMJGuNan/3S4kZOpvvPYSNqSHANiWnh9XcMU2pSjtBfF0XzZ2p1bFAxTbnFxyBuPxQYHhzwaoOmUdqzvxQ==",
+      "dev": true,
+      "dependencies": {
+        "aproba": "^1.0.3 || ^2.0.0",
+        "color-support": "^1.1.3",
+        "console-control-strings": "^1.1.0",
+        "has-unicode": "^2.0.1",
+        "signal-exit": "^4.0.1",
+        "string-width": "^4.2.3",
+        "strip-ansi": "^6.0.1",
+        "wide-align": "^1.1.5"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/exporter-trace-otlp-proto": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.52.0.tgz",
-      "integrity": "sha512-mpMEZFGaGnvon5pbjLieh7ffE9BuYnrG7qd4O5P3j1fk/4PCR3BcGfGhIfyZi0X8kBcjEhipiBfaHYqI7rxcXg==",
+    "node_modules/@npmcli/arborist/node_modules/minimatch": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz",
+      "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-exporter-base": "0.52.0",
-        "@opentelemetry/otlp-transformer": "0.52.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0"
+        "brace-expansion": "^2.0.1"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=10"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@opentelemetry/exporter-zipkin": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.25.0.tgz",
-      "integrity": "sha512-nnhY0e5DHg8BfUSNCQZoGZnGeqz+zMTeEUOh1dfgtaXmF99uM0QPuTa1i2lH+eZqebP8w1WDWZlewu9FUlHqIg==",
+    "node_modules/@npmcli/arborist/node_modules/npm-package-arg": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz",
+      "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "hosted-git-info": "^6.0.0",
+        "proc-log": "^3.0.0",
+        "semver": "^7.3.5",
+        "validate-npm-package-name": "^5.0.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/host-metrics": {
-      "resolved": "packages/opentelemetry-host-metrics",
-      "link": true
-    },
-    "node_modules/@opentelemetry/id-generator-aws-xray": {
-      "resolved": "packages/opentelemetry-id-generator-aws-xray",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.0.tgz",
-      "integrity": "sha512-LPwSIrw+60cheWaXsfGL8stBap/AppKQJFE+qqRvzYrgttXFH2ofoIMxWadeqPTq4BYOXM/C7Bdh/T+B60xnlQ==",
+    "node_modules/@npmcli/arborist/node_modules/npmlog": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-7.0.1.tgz",
+      "integrity": "sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/api-logs": "0.52.0",
-        "@types/shimmer": "^1.0.2",
-        "import-in-the-middle": "1.8.0",
-        "require-in-the-middle": "^7.1.1",
-        "semver": "^7.5.2",
-        "shimmer": "^1.2.1"
+        "are-we-there-yet": "^4.0.0",
+        "console-control-strings": "^1.1.0",
+        "gauge": "^5.0.0",
+        "set-blocking": "^2.0.0"
       },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/arborist/node_modules/signal-exit": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+      "dev": true,
       "engines": {
         "node": ">=14"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@opentelemetry/instrumentation-amqplib": {
-      "resolved": "plugins/node/instrumentation-amqplib",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-aws-lambda": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-aws-lambda",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-aws-sdk": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-aws-sdk",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-bunyan": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-bunyan",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-cassandra-driver": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-cassandra",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-connect": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-connect",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-cucumber": {
-      "resolved": "plugins/node/instrumentation-cucumber",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-dataloader": {
-      "resolved": "plugins/node/instrumentation-dataloader",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-dns": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-dns",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-document-load": {
-      "resolved": "plugins/web/opentelemetry-instrumentation-document-load",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-express": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-express",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-fastify": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-fastify",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-fetch": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.52.0.tgz",
-      "integrity": "sha512-ay1Ot0z/586MBnhZnWJJFWXjBCQjddVVjCxLPRECnorhzmXuOsjUb7zTY88Vv9ddRtcHe0EIp9Z8sWQeLT02kA==",
+    "node_modules/@npmcli/arborist/node_modules/ssri": {
+      "version": "10.0.5",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz",
+      "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/sdk-trace-web": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "minipass": "^7.0.3"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/instrumentation-fs": {
-      "resolved": "plugins/node/instrumentation-fs",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-generic-pool": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-generic-pool",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-graphql": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-graphql",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-grpc": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.0.tgz",
-      "integrity": "sha512-YYhA2pbhMWgF5Hp6eR7AHp1utzZQ3Y0VB8GIwd8zJoLtAuQRZa1N29DUtZ+t/pGRJF+xGPVI+vP+7ugHgeN0zQ==",
+    "node_modules/@npmcli/arborist/node_modules/validate-npm-package-name": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz",
+      "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "builtins": "^5.0.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/instrumentation-hapi": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-hapi",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-http": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.52.0.tgz",
-      "integrity": "sha512-E6ywZuxTa4LnVXZGwL1oj3e2Eog1yIaNqa8KjKXoGkDNKte9/SjQnePXOmhQYI0A9nf0UyFbP9aKd+yHrkJXUA==",
+    "node_modules/@npmcli/arborist/node_modules/which": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+      "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/semantic-conventions": "1.25.0",
-        "semver": "^7.5.2"
+        "isexe": "^2.0.0"
       },
-      "engines": {
-        "node": ">=14"
+      "bin": {
+        "node-which": "bin/which.js"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/instrumentation-ioredis": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-ioredis",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-kafkajs": {
-      "resolved": "plugins/node/instrumentation-kafkajs",
-      "link": true
+    "node_modules/@npmcli/arborist/node_modules/wide-align": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+      "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^1.0.2 || 2 || 3 || 4"
+      }
     },
-    "node_modules/@opentelemetry/instrumentation-knex": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-knex",
-      "link": true
+    "node_modules/@npmcli/fs": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz",
+      "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^7.3.5"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
     },
-    "node_modules/@opentelemetry/instrumentation-koa": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-koa",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-long-task": {
-      "resolved": "plugins/web/opentelemetry-instrumentation-long-task",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-lru-memoizer": {
-      "resolved": "plugins/node/instrumentation-lru-memoizer",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-memcached": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-memcached",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-mongodb": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-mongodb",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-mongoose": {
-      "resolved": "plugins/node/instrumentation-mongoose",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-mysql": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-mysql",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-mysql2": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-mysql2",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-nestjs-core": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-nestjs-core",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-net": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-net",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-pg": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-pg",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-pino": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-pino",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-redis": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-redis",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-redis-4": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-redis-4",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-restify": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-restify",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-router": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-router",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-runtime-node": {
-      "resolved": "plugins/node/instrumentation-runtime-node",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-socket.io": {
-      "resolved": "plugins/node/instrumentation-socket.io",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-tedious": {
-      "resolved": "plugins/node/instrumentation-tedious",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-undici": {
-      "resolved": "plugins/node/instrumentation-undici",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-user-interaction": {
-      "resolved": "plugins/web/opentelemetry-instrumentation-user-interaction",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-winston": {
-      "resolved": "plugins/node/opentelemetry-instrumentation-winston",
-      "link": true
-    },
-    "node_modules/@opentelemetry/instrumentation-xml-http-request": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.52.0.tgz",
-      "integrity": "sha512-Q6dEFKBkVmLs6XByXNPkCZXYF1Ovs3fFCD33nA4d4dgBgv8zMPt7xBLIxfEw0QVDZhyBhKXwv7byvMDB+yYQdA==",
+    "node_modules/@npmcli/git": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz",
+      "integrity": "sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/sdk-trace-web": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@npmcli/promise-spawn": "^6.0.0",
+        "lru-cache": "^7.4.4",
+        "npm-pick-manifest": "^8.0.0",
+        "proc-log": "^3.0.0",
+        "promise-inflight": "^1.0.1",
+        "promise-retry": "^2.0.1",
+        "semver": "^7.3.5",
+        "which": "^3.0.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/otlp-exporter-base": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.52.0.tgz",
-      "integrity": "sha512-rlyg5UKW9yMTNMUxYYib9XxEE/krpH7Q6mIuJNOBMbjLwmqe1WQ2MNKNzobVZTKop/FX4CvyNN3wUEl/6gnvfw==",
-      "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-transformer": "0.52.0"
-      },
+    "node_modules/@npmcli/git/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
+        "node": ">=12"
       }
     },
-    "node_modules/@opentelemetry/otlp-grpc-exporter-base": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.52.0.tgz",
-      "integrity": "sha512-iVq3wCElOoKUkxBOuvV8cfaELG8WO/zfLWIZil6iw/6hj6rktLodnJ7kVOneVmLki7Po1BjE1K7JOp2G3UPgYg==",
+    "node_modules/@npmcli/git/node_modules/which": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+      "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+      "dev": true,
       "dependencies": {
-        "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-exporter-base": "0.52.0",
-        "@opentelemetry/otlp-transformer": "0.52.0"
+        "isexe": "^2.0.0"
       },
-      "engines": {
-        "node": ">=14"
+      "bin": {
+        "node-which": "bin/which.js"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/otlp-transformer": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.0.tgz",
-      "integrity": "sha512-40acy3JxCAqQYcYepypF/64GVB8jerC6Oiz1HRUXxiSTVwg+ud7UtywfOkPRpc9bjHiyJouWxTjiUPQ9VBMKbg==",
+    "node_modules/@npmcli/installed-package-contents": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz",
+      "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/api-logs": "0.52.0",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-logs": "0.52.0",
-        "@opentelemetry/sdk-metrics": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "protobufjs": "^7.3.0"
+        "npm-bundled": "^3.0.0",
+        "npm-normalize-package-bin": "^3.0.0"
       },
-      "engines": {
-        "node": ">=14"
+      "bin": {
+        "installed-package-contents": "lib/index.js"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.3.0 <1.10.0"
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/plugin-react-load": {
-      "resolved": "plugins/web/opentelemetry-plugin-react-load",
-      "link": true
-    },
-    "node_modules/@opentelemetry/propagation-utils": {
-      "resolved": "packages/opentelemetry-propagation-utils",
-      "link": true
-    },
-    "node_modules/@opentelemetry/propagator-aws-xray": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.25.0.tgz",
-      "integrity": "sha512-+honT9J/Xa6Mxk7AO/VlSUGaVSSQzqHr0wZDWrSunnc3eVbS5YTuv7UrcoHTED+AYziawTlx7ICeAX2VPc1M+w==",
+    "node_modules/@npmcli/map-workspaces": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.4.tgz",
+      "integrity": "sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0"
+        "@npmcli/name-from-folder": "^2.0.0",
+        "glob": "^10.2.2",
+        "minimatch": "^9.0.0",
+        "read-package-json-fast": "^3.0.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.10.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/propagator-b3": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.0.tgz",
-      "integrity": "sha512-/A+1Tbnf0uwnP51OkoaQlrb9YILdHsoqIISna1MNXpZRzf42xm6LVLb49i+m/zlJoW1e8P4ekcrditR5pfmwog==",
+    "node_modules/@npmcli/metavuln-calculator": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-5.0.1.tgz",
+      "integrity": "sha512-qb8Q9wIIlEPj3WeA1Lba91R4ZboPL0uspzV0F9uwP+9AYMVB2zOoa7Pbk12g6D2NHAinSbHh6QYmGuRyHZ874Q==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0"
+        "cacache": "^17.0.0",
+        "json-parse-even-better-errors": "^3.0.0",
+        "pacote": "^15.0.0",
+        "semver": "^7.3.5"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.10.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/propagator-instana": {
-      "resolved": "propagators/opentelemetry-propagator-instana",
-      "link": true
-    },
-    "node_modules/@opentelemetry/propagator-jaeger": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.0.tgz",
-      "integrity": "sha512-uwA5xqaPISXeX+YutqbjmzENnCGCvrIXlqIXP5gRoA5N6S3W28p+ExL77TugMKHN5gXklapF67jDfz7lq5ETzQ==",
+    "node_modules/@npmcli/move-file": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz",
+      "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==",
+      "deprecated": "This functionality has been moved to @npmcli/fs",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0"
+        "mkdirp": "^1.0.4",
+        "rimraf": "^3.0.2"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.10.0"
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
       }
     },
-    "node_modules/@opentelemetry/propagator-ot-trace": {
-      "resolved": "propagators/opentelemetry-propagator-ot-trace",
-      "link": true
-    },
-    "node_modules/@opentelemetry/redis-common": {
-      "resolved": "packages/opentelemetry-redis-common",
-      "link": true
-    },
-    "node_modules/@opentelemetry/resource-detector-alibaba-cloud": {
-      "resolved": "detectors/node/opentelemetry-resource-detector-alibaba-cloud",
-      "link": true
-    },
-    "node_modules/@opentelemetry/resource-detector-aws": {
-      "resolved": "detectors/node/opentelemetry-resource-detector-aws",
-      "link": true
-    },
-    "node_modules/@opentelemetry/resource-detector-azure": {
-      "resolved": "detectors/node/opentelemetry-resource-detector-azure",
-      "link": true
-    },
-    "node_modules/@opentelemetry/resource-detector-container": {
-      "resolved": "detectors/node/opentelemetry-resource-detector-container",
-      "link": true
-    },
-    "node_modules/@opentelemetry/resource-detector-gcp": {
-      "resolved": "detectors/node/opentelemetry-resource-detector-gcp",
-      "link": true
-    },
-    "node_modules/@opentelemetry/resource-detector-github": {
-      "resolved": "detectors/node/opentelemetry-resource-detector-github",
-      "link": true
-    },
-    "node_modules/@opentelemetry/resource-detector-instana": {
-      "resolved": "detectors/node/opentelemetry-resource-detector-instana",
-      "link": true
-    },
-    "node_modules/@opentelemetry/resources": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.0.tgz",
-      "integrity": "sha512-iHjydPMYJ+Li1auveJCq2rp5U2h6Mhq8BidiyE0jfVlDTFyR1ny8AfJHfmFzJ/RAM8vT8L7T21kcmGybxZC7lQ==",
+    "node_modules/@npmcli/move-file/node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
       },
       "engines": {
-        "node": ">=14"
+        "node": "*"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.10.0"
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@opentelemetry/sdk-logs": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.0.tgz",
-      "integrity": "sha512-Dp6g7w7WglrDZMn2yHBMAKRGqQy8C0PUbFovkSwcSsmL47n4FSEc3eeGblZTtueOUW+rTsPJpLHoUpEdS0Wibw==",
+    "node_modules/@npmcli/move-file/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/api-logs": "0.52.0",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0"
+        "brace-expansion": "^1.1.7"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.4.0 <1.10.0"
+        "node": "*"
       }
     },
-    "node_modules/@opentelemetry/sdk-metrics": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.0.tgz",
-      "integrity": "sha512-IF+Sv4VHgBr/BPMKabl+GouJIhEqAOexCHgXVTISdz3q9P9H/uA8ScCF+22gitQ69aFtESbdYOV+Fen5+avQng==",
-      "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0",
-        "lodash.merge": "^4.6.2"
+    "node_modules/@npmcli/move-file/node_modules/mkdirp": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+      "dev": true,
+      "bin": {
+        "mkdirp": "bin/cmd.js"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.3.0 <1.10.0"
+        "node": ">=10"
       }
     },
-    "node_modules/@opentelemetry/sdk-node": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.52.0.tgz",
-      "integrity": "sha512-3RNnsoHGutya3oVsoc2WRrk/TKlxr+R2uN6H4boNJvW7kc8yxS4QrOI6DlbQYAgEMeC1PMu95jW9LirPOWcMGw==",
+    "node_modules/@npmcli/move-file/node_modules/rimraf": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/api-logs": "0.52.0",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/exporter-trace-otlp-grpc": "0.52.0",
-        "@opentelemetry/exporter-trace-otlp-http": "0.52.0",
-        "@opentelemetry/exporter-trace-otlp-proto": "0.52.0",
-        "@opentelemetry/exporter-zipkin": "1.25.0",
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-logs": "0.52.0",
-        "@opentelemetry/sdk-metrics": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "@opentelemetry/sdk-trace-node": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "glob": "^7.1.3"
       },
-      "engines": {
-        "node": ">=14"
+      "bin": {
+        "rimraf": "bin.js"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.3.0 <1.10.0"
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@opentelemetry/sdk-trace-base": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.0.tgz",
-      "integrity": "sha512-6+g2fiRQUG39guCsKVeY8ToeuUf3YUnPkN6DXRA1qDmFLprlLvZm9cS6+chgbW70cZJ406FTtSCDnJwxDC5sGQ==",
+    "node_modules/@npmcli/name-from-folder": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz",
+      "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/node-gyp": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz",
+      "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/package-json": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-3.1.1.tgz",
+      "integrity": "sha512-+UW0UWOYFKCkvszLoTwrYGrjNrT8tI5Ckeb/h+Z1y1fsNJEctl7HmerA5j2FgmoqFaLI2gsA1X9KgMFqx/bRmA==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@npmcli/git": "^4.1.0",
+        "glob": "^10.2.2",
+        "json-parse-even-better-errors": "^3.0.0",
+        "normalize-package-data": "^5.0.0",
+        "npm-normalize-package-bin": "^3.0.1",
+        "proc-log": "^3.0.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.10.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/sdk-trace-node": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.0.tgz",
-      "integrity": "sha512-sYdZmNCkqthPpjwCxAJk5aQNLxCOQjT1u3JMGvO6rb3Ic8uFdnzXavP13Md9uYPcZBo+KxetyDhCf0x8wJGRng==",
+    "node_modules/@npmcli/promise-spawn": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz",
+      "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/context-async-hooks": "1.25.0",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/propagator-b3": "1.25.0",
-        "@opentelemetry/propagator-jaeger": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "semver": "^7.5.2"
+        "which": "^3.0.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.10.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/sdk-trace-web": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.25.0.tgz",
-      "integrity": "sha512-TAWRDRiVOeliE1A99z8idWb4pwEKKY9Vj5aTpLtrF4cvPOl0mPg3ZczvOw/HnpfRsWY0Ra/J3vS5uFSpoqPwEA==",
+    "node_modules/@npmcli/promise-spawn/node_modules/which": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+      "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "isexe": "^2.0.0"
       },
-      "engines": {
-        "node": ">=14"
+      "bin": {
+        "node-which": "bin/which.js"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": ">=1.0.0 <1.10.0"
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/semantic-conventions": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.0.tgz",
-      "integrity": "sha512-M+kkXKRAIAiAP6qYyesfrC5TOmDpDVtsxuGfPcqd9B/iBrac+E14jYwrgm0yZBUIbIP2OnqC3j+UgkXLm1vxUQ==",
+    "node_modules/@npmcli/query": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.1.0.tgz",
+      "integrity": "sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==",
+      "dev": true,
+      "dependencies": {
+        "postcss-selector-parser": "^6.0.10"
+      },
       "engines": {
-        "node": ">=14"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@opentelemetry/sql-common": {
-      "resolved": "packages/opentelemetry-sql-common",
-      "link": true
-    },
-    "node_modules/@opentelemetry/winston-transport": {
-      "resolved": "packages/winston-transport",
-      "link": true
-    },
-    "node_modules/@parcel/watcher": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
-      "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==",
+    "node_modules/@npmcli/run-script": {
+      "version": "4.1.7",
+      "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.1.7.tgz",
+      "integrity": "sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw==",
       "dev": true,
-      "hasInstallScript": true,
       "dependencies": {
-        "node-addon-api": "^3.2.1",
-        "node-gyp-build": "^4.3.0"
+        "@npmcli/node-gyp": "^2.0.0",
+        "@npmcli/promise-spawn": "^3.0.0",
+        "node-gyp": "^9.0.0",
+        "read-package-json-fast": "^2.0.3",
+        "which": "^2.0.2"
       },
       "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
       }
     },
-    "node_modules/@pkgjs/parseargs": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
-      "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+    "node_modules/@npmcli/run-script/node_modules/@npmcli/node-gyp": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz",
+      "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==",
       "dev": true,
-      "optional": true,
       "engines": {
-        "node": ">=14"
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
       }
     },
-    "node_modules/@protobufjs/aspromise": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
-      "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
-    },
-    "node_modules/@protobufjs/base64": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
-      "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
-    },
-    "node_modules/@protobufjs/codegen": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
-      "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
-    },
-    "node_modules/@protobufjs/eventemitter": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
-      "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
-    },
-    "node_modules/@protobufjs/fetch": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
-      "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
-      "dependencies": {
-        "@protobufjs/aspromise": "^1.1.1",
-        "@protobufjs/inquire": "^1.1.0"
-      }
-    },
-    "node_modules/@protobufjs/float": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
-      "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
-    },
-    "node_modules/@protobufjs/inquire": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
-      "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
-    },
-    "node_modules/@protobufjs/path": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
-      "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
-    },
-    "node_modules/@protobufjs/pool": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
-      "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
-    },
-    "node_modules/@protobufjs/utf8": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
-      "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
-    },
-    "node_modules/@puppeteer/browsers": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.1.0.tgz",
-      "integrity": "sha512-xloWvocjvryHdUjDam/ZuGMh7zn4Sn3ZAaV4Ah2e2EwEt90N3XphZlSsU3n0VDc1F7kggCjMuH0UuxfPQ5mD9w==",
-      "dev": true,
-      "dependencies": {
-        "debug": "4.3.4",
-        "extract-zip": "2.0.1",
-        "progress": "2.0.3",
-        "proxy-agent": "6.4.0",
-        "semver": "7.6.0",
-        "tar-fs": "3.0.5",
-        "unbzip2-stream": "1.4.3",
-        "yargs": "17.7.2"
-      },
-      "bin": {
-        "browsers": "lib/cjs/main-cli.js"
-      },
-      "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/@redis/bloom": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.0.2.tgz",
-      "integrity": "sha512-EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw==",
-      "dev": true,
-      "peerDependencies": {
-        "@redis/client": "^1.0.0"
-      }
-    },
-    "node_modules/@redis/client": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@redis/client/-/client-1.1.0.tgz",
-      "integrity": "sha512-xO9JDIgzsZYDl3EvFhl6LC52DP3q3GCMUer8zHgKV6qSYsq1zB+pZs9+T80VgcRogrlRYhi4ZlfX6A+bHiBAgA==",
+    "node_modules/@npmcli/run-script/node_modules/@npmcli/promise-spawn": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz",
+      "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==",
       "dev": true,
       "dependencies": {
-        "cluster-key-slot": "1.1.0",
-        "generic-pool": "3.8.2",
-        "yallist": "4.0.0"
+        "infer-owner": "^1.0.4"
       },
       "engines": {
-        "node": ">=14"
-      }
-    },
-    "node_modules/@redis/client/node_modules/cluster-key-slot": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz",
-      "integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
       }
     },
-    "node_modules/@redis/client/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+    "node_modules/@npmcli/run-script/node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
       "dev": true
     },
-    "node_modules/@redis/graph": {
+    "node_modules/@npmcli/run-script/node_modules/npm-normalize-package-bin": {
       "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.0.1.tgz",
-      "integrity": "sha512-oDE4myMCJOCVKYMygEMWuriBgqlS5FqdWerikMoJxzmmTUErnTRRgmIDa2VcgytACZMFqpAOWDzops4DOlnkfQ==",
-      "dev": true,
-      "peerDependencies": {
-        "@redis/client": "^1.0.0"
-      }
-    },
-    "node_modules/@redis/json": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.3.tgz",
-      "integrity": "sha512-4X0Qv0BzD9Zlb0edkUoau5c1bInWSICqXAGrpwEltkncUwcxJIGEcVryZhLgb0p/3PkKaLIWkjhHRtLe9yiA7Q==",
-      "dev": true,
-      "peerDependencies": {
-        "@redis/client": "^1.0.0"
-      }
+      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
+      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
+      "dev": true
     },
-    "node_modules/@redis/search": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/@redis/search/-/search-1.0.6.tgz",
-      "integrity": "sha512-pP+ZQRis5P21SD6fjyCeLcQdps+LuTzp2wdUbzxEmNhleighDDTD5ck8+cYof+WLec4csZX7ks+BuoMw0RaZrA==",
+    "node_modules/@npmcli/run-script/node_modules/read-package-json-fast": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz",
+      "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==",
       "dev": true,
-      "peerDependencies": {
-        "@redis/client": "^1.0.0"
+      "dependencies": {
+        "json-parse-even-better-errors": "^2.3.0",
+        "npm-normalize-package-bin": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/@redis/time-series": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.3.tgz",
-      "integrity": "sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA==",
+    "node_modules/@nrwl/cli": {
+      "version": "15.9.7",
+      "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-15.9.7.tgz",
+      "integrity": "sha512-1jtHBDuJzA57My5nLzYiM372mJW0NY6rFKxlWt5a0RLsAZdPTHsd8lE3Gs9XinGC1jhXbruWmhhnKyYtZvX/zA==",
       "dev": true,
-      "peerDependencies": {
-        "@redis/client": "^1.0.0"
+      "dependencies": {
+        "nx": "15.9.7"
       }
     },
-    "node_modules/@rollup/plugin-commonjs": {
-      "version": "26.0.1",
-      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz",
-      "integrity": "sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==",
+    "node_modules/@nrwl/devkit": {
+      "version": "15.9.7",
+      "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.9.7.tgz",
+      "integrity": "sha512-Sb7Am2TMT8AVq8e+vxOlk3AtOA2M0qCmhBzoM1OJbdHaPKc0g0UgSnWRml1kPGg5qfPk72tWclLoZJ5/ut0vTg==",
       "dev": true,
       "dependencies": {
-        "@rollup/pluginutils": "^5.0.1",
-        "commondir": "^1.0.1",
-        "estree-walker": "^2.0.2",
-        "glob": "^10.4.1",
-        "is-reference": "1.2.1",
-        "magic-string": "^0.30.3"
-      },
-      "engines": {
-        "node": ">=16.0.0 || 14 >= 14.17"
+        "ejs": "^3.1.7",
+        "ignore": "^5.0.4",
+        "semver": "7.5.4",
+        "tmp": "~0.2.1",
+        "tslib": "^2.3.0"
       },
       "peerDependencies": {
-        "rollup": "^2.68.0||^3.0.0||^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "rollup": {
-          "optional": true
-        }
+        "nx": ">= 14.1 <= 16"
       }
     },
-    "node_modules/@rollup/plugin-node-resolve": {
-      "version": "15.2.3",
-      "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz",
-      "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==",
+    "node_modules/@nrwl/devkit/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
       "dev": true,
       "dependencies": {
-        "@rollup/pluginutils": "^5.0.1",
-        "@types/resolve": "1.20.2",
-        "deepmerge": "^4.2.2",
-        "is-builtin-module": "^3.2.1",
-        "is-module": "^1.0.0",
-        "resolve": "^1.22.1"
+        "yallist": "^4.0.0"
       },
       "engines": {
-        "node": ">=14.0.0"
-      },
-      "peerDependencies": {
-        "rollup": "^2.78.0||^3.0.0||^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "rollup": {
-          "optional": true
-        }
+        "node": ">=10"
       }
     },
-    "node_modules/@rollup/pluginutils": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz",
-      "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==",
+    "node_modules/@nrwl/devkit/node_modules/semver": {
+      "version": "7.5.4",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
       "dev": true,
       "dependencies": {
-        "@types/estree": "^1.0.0",
-        "estree-walker": "^2.0.2",
-        "picomatch": "^2.3.1"
-      },
-      "engines": {
-        "node": ">=14.0.0"
+        "lru-cache": "^6.0.0"
       },
-      "peerDependencies": {
-        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+      "bin": {
+        "semver": "bin/semver.js"
       },
-      "peerDependenciesMeta": {
-        "rollup": {
-          "optional": true
-        }
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/@rollup/rollup-android-arm-eabi": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.1.tgz",
-      "integrity": "sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==",
-      "cpu": [
-        "arm"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ]
-    },
-    "node_modules/@rollup/rollup-android-arm64": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.1.tgz",
-      "integrity": "sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ]
+    "node_modules/@nrwl/devkit/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
     },
-    "node_modules/@rollup/rollup-darwin-arm64": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.1.tgz",
-      "integrity": "sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==",
+    "node_modules/@nrwl/nx-darwin-arm64": {
+      "version": "15.9.7",
+      "resolved": "https://registry.npmjs.org/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.7.tgz",
+      "integrity": "sha512-aBUgnhlkrgC0vu0fK6eb9Vob7eFnkuknrK+YzTjmLrrZwj7FGNAeyGXSlyo1dVokIzjVKjJg2saZZ0WQbfuCJw==",
       "cpu": [
         "arm64"
       ],
@@ -9511,12 +10074,15 @@
       "optional": true,
       "os": [
         "darwin"
-      ]
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
     },
-    "node_modules/@rollup/rollup-darwin-x64": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.1.tgz",
-      "integrity": "sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==",
+    "node_modules/@nrwl/nx-darwin-x64": {
+      "version": "15.9.7",
+      "resolved": "https://registry.npmjs.org/@nrwl/nx-darwin-x64/-/nx-darwin-x64-15.9.7.tgz",
+      "integrity": "sha512-L+elVa34jhGf1cmn38Z0sotQatmLovxoASCIw5r1CBZZeJ5Tg7Y9nOwjRiDixZxNN56hPKXm6xl9EKlVHVeKlg==",
       "cpu": [
         "x64"
       ],
@@ -9524,12 +10090,15 @@
       "optional": true,
       "os": [
         "darwin"
-      ]
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
     },
-    "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.1.tgz",
-      "integrity": "sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==",
+    "node_modules/@nrwl/nx-linux-arm-gnueabihf": {
+      "version": "15.9.7",
+      "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-15.9.7.tgz",
+      "integrity": "sha512-pqmfqqEUGFu6PmmHKyXyUw1Al0Ki8PSaR0+ndgCAb1qrekVDGDfznJfaqxN0JSLeolPD6+PFtLyXNr9ZyPFlFg==",
       "cpu": [
         "arm"
       ],
@@ -9537,12 +10106,15 @@
       "optional": true,
       "os": [
         "linux"
-      ]
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
     },
-    "node_modules/@rollup/rollup-linux-arm64-gnu": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.1.tgz",
-      "integrity": "sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==",
+    "node_modules/@nrwl/nx-linux-arm64-gnu": {
+      "version": "15.9.7",
+      "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-15.9.7.tgz",
+      "integrity": "sha512-NYOa/eRrqmM+In5g3M0rrPVIS9Z+q6fvwXJYf/KrjOHqqan/KL+2TOfroA30UhcBrwghZvib7O++7gZ2hzwOnA==",
       "cpu": [
         "arm64"
       ],
@@ -9550,12 +10122,15 @@
       "optional": true,
       "os": [
         "linux"
-      ]
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
     },
-    "node_modules/@rollup/rollup-linux-arm64-musl": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.1.tgz",
-      "integrity": "sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==",
+    "node_modules/@nrwl/nx-linux-arm64-musl": {
+      "version": "15.9.7",
+      "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-arm64-musl/-/nx-linux-arm64-musl-15.9.7.tgz",
+      "integrity": "sha512-zyStqjEcmbvLbejdTOrLUSEdhnxNtdQXlmOuymznCzYUEGRv+4f7OAepD3yRoR0a/57SSORZmmGQB7XHZoYZJA==",
       "cpu": [
         "arm64"
       ],
@@ -9563,25 +10138,15 @@
       "optional": true,
       "os": [
         "linux"
-      ]
-    },
-    "node_modules/@rollup/rollup-linux-riscv64-gnu": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.1.tgz",
-      "integrity": "sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==",
-      "cpu": [
-        "riscv64"
       ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ]
+      "engines": {
+        "node": ">= 10"
+      }
     },
-    "node_modules/@rollup/rollup-linux-x64-gnu": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.1.tgz",
-      "integrity": "sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==",
+    "node_modules/@nrwl/nx-linux-x64-gnu": {
+      "version": "15.9.7",
+      "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-x64-gnu/-/nx-linux-x64-gnu-15.9.7.tgz",
+      "integrity": "sha512-saNK5i2A8pKO3Il+Ejk/KStTApUpWgCxjeUz9G+T8A+QHeDloZYH2c7pU/P3jA9QoNeKwjVO9wYQllPL9loeVg==",
       "cpu": [
         "x64"
       ],
@@ -9589,12 +10154,15 @@
       "optional": true,
       "os": [
         "linux"
-      ]
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
     },
-    "node_modules/@rollup/rollup-linux-x64-musl": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.1.tgz",
-      "integrity": "sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==",
+    "node_modules/@nrwl/nx-linux-x64-musl": {
+      "version": "15.9.7",
+      "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-x64-musl/-/nx-linux-x64-musl-15.9.7.tgz",
+      "integrity": "sha512-extIUThYN94m4Vj4iZggt6hhMZWQSukBCo8pp91JHnDcryBg7SnYmnikwtY1ZAFyyRiNFBLCKNIDFGkKkSrZ9Q==",
       "cpu": [
         "x64"
       ],
@@ -9602,12 +10170,15 @@
       "optional": true,
       "os": [
         "linux"
-      ]
+      ],
+      "engines": {
+        "node": ">= 10"
+      }
     },
-    "node_modules/@rollup/rollup-win32-arm64-msvc": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.1.tgz",
-      "integrity": "sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==",
+    "node_modules/@nrwl/nx-win32-arm64-msvc": {
+      "version": "15.9.7",
+      "resolved": "https://registry.npmjs.org/@nrwl/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-15.9.7.tgz",
+      "integrity": "sha512-GSQ54hJ5AAnKZb4KP4cmBnJ1oC4ILxnrG1mekxeM65c1RtWg9NpBwZ8E0gU3xNrTv8ZNsBeKi/9UhXBxhsIh8A==",
       "cpu": [
         "arm64"
       ],
@@ -9615,25 +10186,15 @@
       "optional": true,
       "os": [
         "win32"
-      ]
-    },
-    "node_modules/@rollup/rollup-win32-ia32-msvc": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.1.tgz",
-      "integrity": "sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==",
-      "cpu": [
-        "ia32"
       ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ]
+      "engines": {
+        "node": ">= 10"
+      }
     },
-    "node_modules/@rollup/rollup-win32-x64-msvc": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.1.tgz",
-      "integrity": "sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==",
+    "node_modules/@nrwl/nx-win32-x64-msvc": {
+      "version": "15.9.7",
+      "resolved": "https://registry.npmjs.org/@nrwl/nx-win32-x64-msvc/-/nx-win32-x64-msvc-15.9.7.tgz",
+      "integrity": "sha512-x6URof79RPd8AlapVbPefUD3ynJZpmah3tYaYZ9xZRMXojVtEHV8Qh5vysKXQ1rNYJiiB8Ah6evSKWLbAH60tw==",
       "cpu": [
         "x64"
       ],
@@ -9641,3353 +10202,5847 @@
       "optional": true,
       "os": [
         "win32"
-      ]
-    },
-    "node_modules/@sideway/address": {
-      "version": "4.1.5",
-      "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz",
-      "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^9.0.0"
+      ],
+      "engines": {
+        "node": ">= 10"
       }
     },
-    "node_modules/@sideway/formula": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
-      "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==",
-      "dev": true
-    },
-    "node_modules/@sideway/pinpoint": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
-      "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
-      "dev": true
-    },
-    "node_modules/@sigstore/bundle": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz",
-      "integrity": "sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==",
+    "node_modules/@nrwl/tao": {
+      "version": "15.9.7",
+      "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-15.9.7.tgz",
+      "integrity": "sha512-OBnHNvQf3vBH0qh9YnvBQQWyyFZ+PWguF6dJ8+1vyQYlrLVk/XZ8nJ4ukWFb+QfPv/O8VBmqaofaOI9aFC4yTw==",
       "dev": true,
       "dependencies": {
-        "@sigstore/protobuf-specs": "^0.2.0"
+        "nx": "15.9.7"
       },
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      "bin": {
+        "tao": "index.js"
       }
     },
-    "node_modules/@sigstore/protobuf-specs": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz",
-      "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==",
+    "node_modules/@nuxtjs/opencollective": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz",
+      "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==",
       "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "consola": "^2.15.0",
+        "node-fetch": "^2.6.1"
+      },
+      "bin": {
+        "opencollective": "bin/opencollective.js"
+      },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=8.0.0",
+        "npm": ">=5.0.0"
       }
     },
-    "node_modules/@sigstore/sign": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz",
-      "integrity": "sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==",
+    "node_modules/@nuxtjs/opencollective/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
       "dependencies": {
-        "@sigstore/bundle": "^1.1.0",
-        "@sigstore/protobuf-specs": "^0.2.0",
-        "make-fetch-happen": "^11.0.1"
+        "color-convert": "^2.0.1"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/@sigstore/sign/node_modules/@tootallnate/once": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
-      "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+    "node_modules/@nuxtjs/opencollective/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
       "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
       "engines": {
-        "node": ">= 10"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/@sigstore/sign/node_modules/agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+    "node_modules/@nuxtjs/opencollective/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "dev": true,
       "dependencies": {
-        "debug": "4"
+        "color-name": "~1.1.4"
       },
       "engines": {
-        "node": ">= 6.0.0"
+        "node": ">=7.0.0"
       }
     },
-    "node_modules/@sigstore/sign/node_modules/http-proxy-agent": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
-      "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
-      "dev": true,
-      "dependencies": {
-        "@tootallnate/once": "2",
-        "agent-base": "6",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/@sigstore/sign/node_modules/https-proxy-agent": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
-      "dev": true,
-      "dependencies": {
-        "agent-base": "6",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/@sigstore/sign/node_modules/lru-cache": {
-      "version": "7.18.3",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
-      "dev": true,
-      "engines": {
-        "node": ">=12"
-      }
+    "node_modules/@nuxtjs/opencollective/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
     },
-    "node_modules/@sigstore/sign/node_modules/make-fetch-happen": {
-      "version": "11.1.1",
-      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
-      "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+    "node_modules/@nuxtjs/opencollective/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
       "dependencies": {
-        "agentkeepalive": "^4.2.1",
-        "cacache": "^17.0.0",
-        "http-cache-semantics": "^4.1.1",
-        "http-proxy-agent": "^5.0.0",
-        "https-proxy-agent": "^5.0.0",
-        "is-lambda": "^1.0.1",
-        "lru-cache": "^7.7.1",
-        "minipass": "^5.0.0",
-        "minipass-fetch": "^3.0.0",
-        "minipass-flush": "^1.0.5",
-        "minipass-pipeline": "^1.2.4",
-        "negotiator": "^0.6.3",
-        "promise-retry": "^2.0.1",
-        "socks-proxy-agent": "^7.0.0",
-        "ssri": "^10.0.0"
+        "has-flag": "^4.0.0"
       },
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
-      }
-    },
-    "node_modules/@sigstore/sign/node_modules/minipass": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
-      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
-      "dev": true,
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/@sigstore/sign/node_modules/minipass-fetch": {
+    "node_modules/@octokit/auth-token": {
       "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz",
-      "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^7.0.3",
-        "minipass-sized": "^1.0.3",
-        "minizlib": "^2.1.2"
-      },
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
-      },
-      "optionalDependencies": {
-        "encoding": "^0.1.13"
-      }
-    },
-    "node_modules/@sigstore/sign/node_modules/minipass-fetch/node_modules/minipass": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
-      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+      "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz",
+      "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==",
       "dev": true,
       "engines": {
-        "node": ">=16 || 14 >=14.17"
+        "node": ">= 14"
       }
     },
-    "node_modules/@sigstore/sign/node_modules/socks-proxy-agent": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
-      "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
+    "node_modules/@octokit/core": {
+      "version": "4.2.4",
+      "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz",
+      "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==",
       "dev": true,
       "dependencies": {
-        "agent-base": "^6.0.2",
-        "debug": "^4.3.3",
-        "socks": "^2.6.2"
+        "@octokit/auth-token": "^3.0.0",
+        "@octokit/graphql": "^5.0.0",
+        "@octokit/request": "^6.0.0",
+        "@octokit/request-error": "^3.0.0",
+        "@octokit/types": "^9.0.0",
+        "before-after-hook": "^2.2.0",
+        "universal-user-agent": "^6.0.0"
       },
       "engines": {
-        "node": ">= 10"
+        "node": ">= 14"
       }
     },
-    "node_modules/@sigstore/sign/node_modules/ssri": {
-      "version": "10.0.5",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz",
-      "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==",
+    "node_modules/@octokit/endpoint": {
+      "version": "7.0.6",
+      "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz",
+      "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==",
       "dev": true,
       "dependencies": {
-        "minipass": "^7.0.3"
+        "@octokit/types": "^9.0.0",
+        "is-plain-object": "^5.0.0",
+        "universal-user-agent": "^6.0.0"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">= 14"
       }
     },
-    "node_modules/@sigstore/sign/node_modules/ssri/node_modules/minipass": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
-      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+    "node_modules/@octokit/endpoint/node_modules/is-plain-object": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+      "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
       "dev": true,
       "engines": {
-        "node": ">=16 || 14 >=14.17"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@sigstore/tuf": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz",
-      "integrity": "sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==",
+    "node_modules/@octokit/graphql": {
+      "version": "5.0.6",
+      "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz",
+      "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==",
       "dev": true,
       "dependencies": {
-        "@sigstore/protobuf-specs": "^0.2.0",
-        "tuf-js": "^1.1.7"
+        "@octokit/request": "^6.0.0",
+        "@octokit/types": "^9.0.0",
+        "universal-user-agent": "^6.0.0"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">= 14"
       }
     },
-    "node_modules/@sinclair/typebox": {
-      "version": "0.27.8",
-      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
-      "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+    "node_modules/@octokit/openapi-types": {
+      "version": "18.1.1",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.1.1.tgz",
+      "integrity": "sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==",
       "dev": true
     },
-    "node_modules/@sindresorhus/merge-streams": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
-      "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
+    "node_modules/@octokit/plugin-enterprise-rest": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz",
+      "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==",
+      "dev": true
+    },
+    "node_modules/@octokit/plugin-paginate-rest": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz",
+      "integrity": "sha512-+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA==",
       "dev": true,
+      "dependencies": {
+        "@octokit/types": "^6.41.0"
+      },
       "engines": {
-        "node": ">=18"
+        "node": ">= 14"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "@octokit/core": ">=4"
       }
     },
-    "node_modules/@sinonjs/commons": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz",
-      "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==",
-      "dev": true,
-      "dependencies": {
-        "type-detect": "4.0.8"
-      }
+    "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": {
+      "version": "12.11.0",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz",
+      "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==",
+      "dev": true
     },
-    "node_modules/@sinonjs/fake-timers": {
-      "version": "10.3.0",
-      "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
-      "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
+    "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
+      "version": "6.41.0",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
+      "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
       "dev": true,
       "dependencies": {
-        "@sinonjs/commons": "^3.0.0"
+        "@octokit/openapi-types": "^12.11.0"
       }
     },
-    "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
-      "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+    "node_modules/@octokit/plugin-request-log": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
+      "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==",
       "dev": true,
-      "dependencies": {
-        "type-detect": "4.0.8"
+      "peerDependencies": {
+        "@octokit/core": ">=3"
       }
     },
-    "node_modules/@sinonjs/samsam": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz",
-      "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==",
+    "node_modules/@octokit/plugin-rest-endpoint-methods": {
+      "version": "6.8.1",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz",
+      "integrity": "sha512-QrlaTm8Lyc/TbU7BL/8bO49vp+RZ6W3McxxmmQTgYxf2sWkO8ZKuj4dLhPNJD6VCUW1hetCmeIM0m6FTVpDiEg==",
       "dev": true,
       "dependencies": {
-        "@sinonjs/commons": "^2.0.0",
-        "lodash.get": "^4.4.2",
-        "type-detect": "^4.0.8"
+        "@octokit/types": "^8.1.1",
+        "deprecation": "^2.3.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      },
+      "peerDependencies": {
+        "@octokit/core": ">=3"
       }
     },
-    "node_modules/@sinonjs/text-encoding": {
-      "version": "0.7.2",
-      "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz",
-      "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==",
+    "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": {
+      "version": "14.0.0",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz",
+      "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==",
       "dev": true
     },
-    "node_modules/@smithy/abort-controller": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.2.tgz",
-      "integrity": "sha512-iwUxrFm/ZFCXhzhtZ6JnoJzAsqUrVfBAZUTQj8ypXGtIjwXZpKqmgYiuqrDERiydDI5gesqvsC4Rqe57GGhbVg==",
+    "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": {
+      "version": "8.2.1",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.2.1.tgz",
+      "integrity": "sha512-8oWMUji8be66q2B9PmEIUyQm00VPDPun07umUWSaCwxmeaquFBro4Hcc3ruVoDo3zkQyZBlRvhIMEYS3pBhanw==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
-      },
-      "engines": {
-        "node": ">=14.0.0"
+        "@octokit/openapi-types": "^14.0.0"
       }
     },
-    "node_modules/@smithy/config-resolver": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.2.tgz",
-      "integrity": "sha512-ZDMY63xJVsJl7ei/yIMv9nx8OiEOulwNnQOUDGpIvzoBrcbvYwiMjIMe5mP5J4fUmttKkpiTKwta/7IUriAn9w==",
+    "node_modules/@octokit/request": {
+      "version": "6.2.8",
+      "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz",
+      "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "@smithy/node-config-provider": "^2.2.2",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-config-provider": "^2.2.1",
-        "@smithy/util-middleware": "^2.1.2",
-        "tslib": "^2.5.0"
+        "@octokit/endpoint": "^7.0.0",
+        "@octokit/request-error": "^3.0.0",
+        "@octokit/types": "^9.0.0",
+        "is-plain-object": "^5.0.0",
+        "node-fetch": "^2.6.7",
+        "universal-user-agent": "^6.0.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">= 14"
       }
     },
-    "node_modules/@smithy/core": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.3.tgz",
-      "integrity": "sha512-8cT/swERvU1EUMuJF914+psSeVy4+NcNhbRe1WEKN1yIMPE5+Tq5EaPq1HWjKCodcdBIyU9ViTjd62XnebXMHA==",
+    "node_modules/@octokit/request-error": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz",
+      "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "@smithy/middleware-endpoint": "^2.4.2",
-        "@smithy/middleware-retry": "^2.1.2",
-        "@smithy/middleware-serde": "^2.1.2",
-        "@smithy/protocol-http": "^3.2.0",
-        "@smithy/smithy-client": "^2.4.0",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-middleware": "^2.1.2",
-        "tslib": "^2.5.0"
+        "@octokit/types": "^9.0.0",
+        "deprecation": "^2.0.0",
+        "once": "^1.4.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">= 14"
       }
     },
-    "node_modules/@smithy/credential-provider-imds": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.2.tgz",
-      "integrity": "sha512-a2xpqWzhzcYwImGbFox5qJLf6i5HKdVeOVj7d6kVFElmbS2QW2T4HmefRc5z1huVArk9bh5Rk1NiFp9YBCXU3g==",
+    "node_modules/@octokit/request/node_modules/is-plain-object": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+      "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
       "dev": true,
-      "optional": true,
-      "dependencies": {
-        "@smithy/node-config-provider": "^2.2.2",
-        "@smithy/property-provider": "^2.1.2",
-        "@smithy/types": "^2.10.0",
-        "@smithy/url-parser": "^2.1.2",
-        "tslib": "^2.5.0"
-      },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@smithy/eventstream-codec": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.2.tgz",
-      "integrity": "sha512-2PHrVRixITHSOj3bxfZmY93apGf8/DFiyhRh9W0ukfi07cvlhlRonZ0fjgcqryJjUZ5vYHqqmfIE/Qe1HM9mlw==",
+    "node_modules/@octokit/rest": {
+      "version": "19.0.3",
+      "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.3.tgz",
+      "integrity": "sha512-5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "@aws-crypto/crc32": "3.0.0",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-hex-encoding": "^2.1.1",
-        "tslib": "^2.5.0"
+        "@octokit/core": "^4.0.0",
+        "@octokit/plugin-paginate-rest": "^3.0.0",
+        "@octokit/plugin-request-log": "^1.0.4",
+        "@octokit/plugin-rest-endpoint-methods": "^6.0.0"
+      },
+      "engines": {
+        "node": ">= 14"
       }
     },
-    "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/crc32": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz",
-      "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==",
+    "node_modules/@octokit/types": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz",
+      "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "@aws-crypto/util": "^3.0.0",
-        "@aws-sdk/types": "^3.222.0",
-        "tslib": "^1.11.1"
+        "@octokit/openapi-types": "^18.0.0"
       }
     },
-    "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/crc32/node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "dev": true,
-      "optional": true
-    },
-    "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/util": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz",
-      "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "@aws-sdk/types": "^3.222.0",
-        "@aws-sdk/util-utf8-browser": "^3.0.0",
-        "tslib": "^1.11.1"
+    "node_modules/@opentelemetry/api": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
+      "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
+      "engines": {
+        "node": ">=8.0.0"
       }
     },
-    "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/util/node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "dev": true,
-      "optional": true
-    },
-    "node_modules/@smithy/eventstream-codec/node_modules/@aws-sdk/types": {
-      "version": "3.521.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.521.0.tgz",
-      "integrity": "sha512-H9I3Lut0F9d+kTibrhnTRqDRzhxf/vrDu12FUdTXVZEvVAQ7w9yrVHAZx8j2e8GWegetsQsNitO3KMrj4dA4pw==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/api-logs": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.0.tgz",
+      "integrity": "sha512-HxjD7xH9iAE4OyhNaaSec65i1H6QZYBWSwWkowFfsc5YAcDvJG30/J1sRKXEQqdmUcKTXEAnA66UciqZha/4+Q==",
       "dependencies": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/api": "^1.0.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
       }
     },
-    "node_modules/@smithy/fetch-http-handler": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.2.tgz",
-      "integrity": "sha512-sIGMVwa/8h6eqNjarI3F07gvML3mMXcqBe+BINNLuKsVKXMNBN6wRzeZbbx7lfiJDEHAP28qRns8flHEoBB7zw==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "@smithy/protocol-http": "^3.2.0",
-        "@smithy/querystring-builder": "^2.1.2",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-base64": "^2.1.1",
-        "tslib": "^2.5.0"
+    "node_modules/@opentelemetry/auto-instrumentations-node": {
+      "resolved": "metapackages/auto-instrumentations-node",
+      "link": true
+    },
+    "node_modules/@opentelemetry/auto-instrumentations-web": {
+      "resolved": "metapackages/auto-instrumentations-web",
+      "link": true
+    },
+    "node_modules/@opentelemetry/baggage-span-processor": {
+      "resolved": "packages/baggage-span-processor",
+      "link": true
+    },
+    "node_modules/@opentelemetry/context-async-hooks": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.0.tgz",
+      "integrity": "sha512-sBW313mnMyFg0cp/40BRzrZBWG+581s2j5gIsa5fgGadswyILk4mNFATsqrCOpAx945RDuZ2B7ThQLgor9OpfA==",
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/hash-node": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.2.tgz",
-      "integrity": "sha512-3Sgn4s0g4xud1M/j6hQwYCkz04lVJ24wvCAx4xI26frr3Ao6v0o2VZkBpUySTeQbMUBp2DhuzJ0fV1zybzkckw==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/context-zone": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.25.0.tgz",
+      "integrity": "sha512-LmO64smA9SZrl8f1HRRSNA4oudwpjCMVxZz08EhkRCcTRvFB8p+6Lnu6mtT54wD/raeXoEbLGtVqMYHsZ6bpmA==",
       "dependencies": {
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-buffer-from": "^2.1.1",
-        "@smithy/util-utf8": "^2.1.1",
-        "tslib": "^2.5.0"
+        "@opentelemetry/context-zone-peer-dep": "1.25.0",
+        "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
       }
     },
-    "node_modules/@smithy/invalid-dependency": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.2.tgz",
-      "integrity": "sha512-qdgKhkFYxDJnKecx2ANwz3JRkXjm0qDgEnAs5BIfb2z/XqA2l7s9BTH7GTC/RR4E8h6EDCeb5rM2rnARxviqIg==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+    "node_modules/@opentelemetry/context-zone-peer-dep": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.25.0.tgz",
+      "integrity": "sha512-wh03u4ECYonjaxB+hzriWzHcr4GRlYSQoirDn0ldBDebz3WDZgjHCD/NPBoZaulGGwU6lvmQZXuyfz5hRrJhOw==",
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.0.0 <1.10.0",
+        "zone.js": "^0.10.2 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0"
       }
     },
-    "node_modules/@smithy/is-array-buffer": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz",
-      "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/contrib-test-utils": {
+      "resolved": "packages/opentelemetry-test-utils",
+      "link": true
+    },
+    "node_modules/@opentelemetry/core": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.0.tgz",
+      "integrity": "sha512-n0B3s8rrqGrasTgNkXLKXzN0fXo+6IYP7M5b7AMsrZM33f/y6DS6kJ0Btd7SespASWq8bgL3taLo0oe0vB52IQ==",
       "dependencies": {
-        "tslib": "^2.5.0"
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/middleware-content-length": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.2.tgz",
-      "integrity": "sha512-XEWtul1tHP31EtUIobEyN499paUIbnCTRtjY+ciDCEXW81lZmpjrDG3aL0FxJDPnvatVQuMV1V5eg6MCqTFaLQ==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/exporter-jaeger": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.25.0.tgz",
+      "integrity": "sha512-6h2dCpdOB2W2mxdH/6w6DZeev5Zc3X2rUlCWKMCUnKko36aTfbiVxgXHffs0pc3w5JmMtKIVkHg8eamvLA+Klw==",
       "dependencies": {
-        "@smithy/protocol-http": "^3.2.0",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0",
+        "jaeger-client": "^3.15.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/@smithy/middleware-endpoint": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.2.tgz",
-      "integrity": "sha512-72qbmVwaWcLOd/OT52fszrrlXywPwciwpsRiIk/dIvpcwkpGE9qrYZ2bt/SYcA/ma8Rz9Ni2AbBuSXLDYISS+A==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/exporter-trace-otlp-grpc": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.52.0.tgz",
+      "integrity": "sha512-Ln3HU54/ytTeEMrDGNDj01357YV8Kk9PkGDHvBRo1n7bWhwZoTEnX/cTuXLYOiygBIJJjCCM+VMfWCnvtFl4Kw==",
       "dependencies": {
-        "@smithy/middleware-serde": "^2.1.2",
-        "@smithy/node-config-provider": "^2.2.2",
-        "@smithy/shared-ini-file-loader": "^2.3.2",
-        "@smithy/types": "^2.10.0",
-        "@smithy/url-parser": "^2.1.2",
-        "@smithy/util-middleware": "^2.1.2",
-        "tslib": "^2.5.0"
+        "@grpc/grpc-js": "^1.7.1",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-grpc-exporter-base": "0.52.0",
+        "@opentelemetry/otlp-transformer": "0.52.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/@smithy/middleware-retry": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.2.tgz",
-      "integrity": "sha512-tlvSK+v9bPHHb0dLWvEaFW2Iz0IeA57ISvSaso36I33u8F8wYqo5FCvenH7TgMVBx57jyJBXOmYCZa9n5gdJIg==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/exporter-trace-otlp-http": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.52.0.tgz",
+      "integrity": "sha512-umj9tOSEAuUdqw2EZua1Dby3c+FZ6xWGT2OF/KGLFLtyIvxhtTOSeMfBy/9CaxHn4vF8mAynmAP5MvVKnRYunA==",
       "dependencies": {
-        "@smithy/node-config-provider": "^2.2.2",
-        "@smithy/protocol-http": "^3.2.0",
-        "@smithy/service-error-classification": "^2.1.2",
-        "@smithy/smithy-client": "^2.4.0",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-middleware": "^2.1.2",
-        "@smithy/util-retry": "^2.1.2",
-        "tslib": "^2.5.0",
-        "uuid": "^8.3.2"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-exporter-base": "0.52.0",
+        "@opentelemetry/otlp-transformer": "0.52.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/@smithy/middleware-serde": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.2.tgz",
-      "integrity": "sha512-XNU6aVIhlSbjuo2XsfZ7rd4HhjTXDlNWxAmhlBfViTW1TNK02CeWdeEntp5XtQKYD//pyTIbYi35EQvIidAkOw==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/exporter-trace-otlp-proto": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.52.0.tgz",
+      "integrity": "sha512-mpMEZFGaGnvon5pbjLieh7ffE9BuYnrG7qd4O5P3j1fk/4PCR3BcGfGhIfyZi0X8kBcjEhipiBfaHYqI7rxcXg==",
       "dependencies": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-exporter-base": "0.52.0",
+        "@opentelemetry/otlp-transformer": "0.52.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/@smithy/middleware-stack": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.2.tgz",
-      "integrity": "sha512-EPGaHGd4XmZcaRYjbhyqiqN/Q/ESxXu5e5TK24CTZUe99y8/XCxmiX8VLMM4H0DI7K3yfElR0wPAAvceoSkTgw==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/exporter-zipkin": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.25.0.tgz",
+      "integrity": "sha512-nnhY0e5DHg8BfUSNCQZoGZnGeqz+zMTeEUOh1dfgtaXmF99uM0QPuTa1i2lH+eZqebP8w1WDWZlewu9FUlHqIg==",
       "dependencies": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/@smithy/node-config-provider": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.2.tgz",
-      "integrity": "sha512-QXvpqHSijAm13ZsVkUo92b085UzDvYP1LblWTb3uWi9WilhDvYnVyPLXaryLhOWZ2YvdhK2170T3ZBqtg+quIQ==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/host-metrics": {
+      "resolved": "packages/opentelemetry-host-metrics",
+      "link": true
+    },
+    "node_modules/@opentelemetry/id-generator-aws-xray": {
+      "resolved": "packages/opentelemetry-id-generator-aws-xray",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.0.tgz",
+      "integrity": "sha512-LPwSIrw+60cheWaXsfGL8stBap/AppKQJFE+qqRvzYrgttXFH2ofoIMxWadeqPTq4BYOXM/C7Bdh/T+B60xnlQ==",
       "dependencies": {
-        "@smithy/property-provider": "^2.1.2",
-        "@smithy/shared-ini-file-loader": "^2.3.2",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/api-logs": "0.52.0",
+        "@types/shimmer": "^1.0.2",
+        "import-in-the-middle": "1.8.0",
+        "require-in-the-middle": "^7.1.1",
+        "semver": "^7.5.2",
+        "shimmer": "^1.2.1"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/@smithy/node-http-handler": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.0.tgz",
-      "integrity": "sha512-Mf2f7MMy31W8LisJ9O+7J5cKiNwBwBBLU6biQ7/sFSFdhuOxPN7hOPoZ8vlaFjvrpfOUJw9YOpjGyNTKuvomOQ==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/instrumentation-amqplib": {
+      "resolved": "plugins/node/instrumentation-amqplib",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-aws-lambda": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-aws-lambda",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-aws-sdk": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-aws-sdk",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-bunyan": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-bunyan",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-cassandra-driver": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-cassandra",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-connect": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-connect",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-cucumber": {
+      "resolved": "plugins/node/instrumentation-cucumber",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-dataloader": {
+      "resolved": "plugins/node/instrumentation-dataloader",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-dns": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-dns",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-document-load": {
+      "resolved": "plugins/web/opentelemetry-instrumentation-document-load",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-express": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-express",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-fastify": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-fastify",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-fetch": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.52.0.tgz",
+      "integrity": "sha512-ay1Ot0z/586MBnhZnWJJFWXjBCQjddVVjCxLPRECnorhzmXuOsjUb7zTY88Vv9ddRtcHe0EIp9Z8sWQeLT02kA==",
       "dependencies": {
-        "@smithy/abort-controller": "^2.1.2",
-        "@smithy/protocol-http": "^3.2.0",
-        "@smithy/querystring-builder": "^2.1.2",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/sdk-trace-web": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/@smithy/property-provider": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.2.tgz",
-      "integrity": "sha512-yaXCVFKzxbSXqOoyA7AdAgXhwdjiLeui7n2P6XLjBCz/GZFdLUJgSY6KL1PevaxT4REMwUSs/bSHAe/0jdzEHw==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/instrumentation-fs": {
+      "resolved": "plugins/node/instrumentation-fs",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-generic-pool": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-generic-pool",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-graphql": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-graphql",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-grpc": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.0.tgz",
+      "integrity": "sha512-YYhA2pbhMWgF5Hp6eR7AHp1utzZQ3Y0VB8GIwd8zJoLtAuQRZa1N29DUtZ+t/pGRJF+xGPVI+vP+7ugHgeN0zQ==",
       "dependencies": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/@smithy/protocol-http": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.0.tgz",
-      "integrity": "sha512-VRp0YITYIQum+rX4zeZ3cW1wl9r90IQzQN+VLS1NxdSMt6NLsJiJqR9czTxlaeWNrLHsFAETmjmdrS48Ug1liA==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/instrumentation-hapi": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-hapi",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-http": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.52.0.tgz",
+      "integrity": "sha512-E6ywZuxTa4LnVXZGwL1oj3e2Eog1yIaNqa8KjKXoGkDNKte9/SjQnePXOmhQYI0A9nf0UyFbP9aKd+yHrkJXUA==",
       "dependencies": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/semantic-conventions": "1.25.0",
+        "semver": "^7.5.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/@smithy/querystring-builder": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.2.tgz",
-      "integrity": "sha512-wk6QpuvBBLJF5w8aADsZOtxaHY9cF5MZe1Ry3hSqqBxARdUrMoXi/jukUz5W0ftXGlbA398IN8dIIUj3WXqJXg==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/instrumentation-ioredis": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-ioredis",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-kafkajs": {
+      "resolved": "plugins/node/instrumentation-kafkajs",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-knex": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-knex",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-koa": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-koa",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-long-task": {
+      "resolved": "plugins/web/opentelemetry-instrumentation-long-task",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-lru-memoizer": {
+      "resolved": "plugins/node/instrumentation-lru-memoizer",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-memcached": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-memcached",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-mongodb": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-mongodb",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-mongoose": {
+      "resolved": "plugins/node/instrumentation-mongoose",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-mysql": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-mysql",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-mysql2": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-mysql2",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-nestjs-core": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-nestjs-core",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-net": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-net",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-pg": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-pg",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-pino": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-pino",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-redis": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-redis",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-redis-4": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-redis-4",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-restify": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-restify",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-router": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-router",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-runtime-node": {
+      "resolved": "plugins/node/instrumentation-runtime-node",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-socket.io": {
+      "resolved": "plugins/node/instrumentation-socket.io",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-tedious": {
+      "resolved": "plugins/node/instrumentation-tedious",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-undici": {
+      "resolved": "plugins/node/instrumentation-undici",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-user-interaction": {
+      "resolved": "plugins/web/opentelemetry-instrumentation-user-interaction",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-winston": {
+      "resolved": "plugins/node/opentelemetry-instrumentation-winston",
+      "link": true
+    },
+    "node_modules/@opentelemetry/instrumentation-xml-http-request": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.52.0.tgz",
+      "integrity": "sha512-Q6dEFKBkVmLs6XByXNPkCZXYF1Ovs3fFCD33nA4d4dgBgv8zMPt7xBLIxfEw0QVDZhyBhKXwv7byvMDB+yYQdA==",
       "dependencies": {
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-uri-escape": "^2.1.1",
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/sdk-trace-web": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/@smithy/querystring-parser": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.2.tgz",
-      "integrity": "sha512-z1yL5Iiagm/UxVy1tcuTFZdfOBK/QtYeK6wfClAJ7cOY7kIaYR6jn1cVXXJmhAQSh1b2ljP4xiZN4Ybj7Tbs5w==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/otlp-exporter-base": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.52.0.tgz",
+      "integrity": "sha512-rlyg5UKW9yMTNMUxYYib9XxEE/krpH7Q6mIuJNOBMbjLwmqe1WQ2MNKNzobVZTKop/FX4CvyNN3wUEl/6gnvfw==",
       "dependencies": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-transformer": "0.52.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/@smithy/service-error-classification": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.2.tgz",
-      "integrity": "sha512-R+gL1pAPuWkH6unFridk57wDH5PFY2IlVg2NUjSAjoaIaU+sxqKf/7AOWIcx9Bdn+xY0/4IRQ69urlC+F3I9gg==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/otlp-grpc-exporter-base": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.52.0.tgz",
+      "integrity": "sha512-iVq3wCElOoKUkxBOuvV8cfaELG8WO/zfLWIZil6iw/6hj6rktLodnJ7kVOneVmLki7Po1BjE1K7JOp2G3UPgYg==",
       "dependencies": {
-        "@smithy/types": "^2.10.0"
+        "@grpc/grpc-js": "^1.7.1",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/otlp-exporter-base": "0.52.0",
+        "@opentelemetry/otlp-transformer": "0.52.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/@smithy/shared-ini-file-loader": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.2.tgz",
-      "integrity": "sha512-idHGDJB+gBh+aaIjmWj6agmtNWftoyAenErky74hAtKyUaCvfocSBgEJ2pQ6o68svBluvGIj4NGFgJu0198mow==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/otlp-transformer": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.0.tgz",
+      "integrity": "sha512-40acy3JxCAqQYcYepypF/64GVB8jerC6Oiz1HRUXxiSTVwg+ud7UtywfOkPRpc9bjHiyJouWxTjiUPQ9VBMKbg==",
       "dependencies": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/api-logs": "0.52.0",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-logs": "0.52.0",
+        "@opentelemetry/sdk-metrics": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "protobufjs": "^7.3.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.3.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/signature-v4": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.2.tgz",
-      "integrity": "sha512-DdPWaNGIbxzyocR3ncH8xlxQgsqteRADEdCPoivgBzwv17UzKy2obtdi2vwNc5lAJ955bGEkkWef9O7kc1Eocg==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/plugin-react-load": {
+      "resolved": "plugins/web/opentelemetry-plugin-react-load",
+      "link": true
+    },
+    "node_modules/@opentelemetry/propagation-utils": {
+      "resolved": "packages/opentelemetry-propagation-utils",
+      "link": true
+    },
+    "node_modules/@opentelemetry/propagator-aws-xray": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.25.0.tgz",
+      "integrity": "sha512-+honT9J/Xa6Mxk7AO/VlSUGaVSSQzqHr0wZDWrSunnc3eVbS5YTuv7UrcoHTED+AYziawTlx7ICeAX2VPc1M+w==",
       "dependencies": {
-        "@smithy/eventstream-codec": "^2.1.2",
-        "@smithy/is-array-buffer": "^2.1.1",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-hex-encoding": "^2.1.1",
-        "@smithy/util-middleware": "^2.1.2",
-        "@smithy/util-uri-escape": "^2.1.1",
-        "@smithy/util-utf8": "^2.1.1",
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/smithy-client": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.0.tgz",
-      "integrity": "sha512-6/jxk0om9l2s9BcgHtrBn+Hd3xcFGDzxfEJ2FvGpZxIz0S7bgvZg1gyR66O1xf1w9WZBH+W7JClhfSn2gETINw==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/propagator-b3": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.0.tgz",
+      "integrity": "sha512-/A+1Tbnf0uwnP51OkoaQlrb9YILdHsoqIISna1MNXpZRzf42xm6LVLb49i+m/zlJoW1e8P4ekcrditR5pfmwog==",
       "dependencies": {
-        "@smithy/middleware-endpoint": "^2.4.2",
-        "@smithy/middleware-stack": "^2.1.2",
-        "@smithy/protocol-http": "^3.2.0",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-stream": "^2.1.2",
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/types": {
-      "version": "2.10.0",
-      "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.10.0.tgz",
-      "integrity": "sha512-QYXQmpIebS8/jYXgyJjCanKZbI4Rr8tBVGBAIdDhA35f025TVjJNW69FJ0TGiDqt+lIGo037YIswq2t2Y1AYZQ==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^2.5.0"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      }
+    "node_modules/@opentelemetry/propagator-instana": {
+      "resolved": "propagators/opentelemetry-propagator-instana",
+      "link": true
     },
-    "node_modules/@smithy/url-parser": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.2.tgz",
-      "integrity": "sha512-KBPi740ciTujUaY+RfQuPABD0QFmgSBN5qNVDCGTryfsbG4jkwC0YnElSzi72m24HegMyxzZDLG4Oh4/97mw2g==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/propagator-jaeger": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.0.tgz",
+      "integrity": "sha512-uwA5xqaPISXeX+YutqbjmzENnCGCvrIXlqIXP5gRoA5N6S3W28p+ExL77TugMKHN5gXklapF67jDfz7lq5ETzQ==",
       "dependencies": {
-        "@smithy/querystring-parser": "^2.1.2",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/util-base64": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz",
-      "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/propagator-ot-trace": {
+      "resolved": "propagators/opentelemetry-propagator-ot-trace",
+      "link": true
+    },
+    "node_modules/@opentelemetry/redis-common": {
+      "resolved": "packages/opentelemetry-redis-common",
+      "link": true
+    },
+    "node_modules/@opentelemetry/resource-detector-alibaba-cloud": {
+      "resolved": "detectors/node/opentelemetry-resource-detector-alibaba-cloud",
+      "link": true
+    },
+    "node_modules/@opentelemetry/resource-detector-aws": {
+      "resolved": "detectors/node/opentelemetry-resource-detector-aws",
+      "link": true
+    },
+    "node_modules/@opentelemetry/resource-detector-azure": {
+      "resolved": "detectors/node/opentelemetry-resource-detector-azure",
+      "link": true
+    },
+    "node_modules/@opentelemetry/resource-detector-container": {
+      "resolved": "detectors/node/opentelemetry-resource-detector-container",
+      "link": true
+    },
+    "node_modules/@opentelemetry/resource-detector-gcp": {
+      "resolved": "detectors/node/opentelemetry-resource-detector-gcp",
+      "link": true
+    },
+    "node_modules/@opentelemetry/resource-detector-github": {
+      "resolved": "detectors/node/opentelemetry-resource-detector-github",
+      "link": true
+    },
+    "node_modules/@opentelemetry/resource-detector-instana": {
+      "resolved": "detectors/node/opentelemetry-resource-detector-instana",
+      "link": true
+    },
+    "node_modules/@opentelemetry/resources": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.0.tgz",
+      "integrity": "sha512-iHjydPMYJ+Li1auveJCq2rp5U2h6Mhq8BidiyE0jfVlDTFyR1ny8AfJHfmFzJ/RAM8vT8L7T21kcmGybxZC7lQ==",
       "dependencies": {
-        "@smithy/util-buffer-from": "^2.1.1",
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/util-body-length-browser": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz",
-      "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/sdk-logs": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.0.tgz",
+      "integrity": "sha512-Dp6g7w7WglrDZMn2yHBMAKRGqQy8C0PUbFovkSwcSsmL47n4FSEc3eeGblZTtueOUW+rTsPJpLHoUpEdS0Wibw==",
       "dependencies": {
-        "tslib": "^2.5.0"
+        "@opentelemetry/api-logs": "0.52.0",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.4.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/util-body-length-node": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz",
-      "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/sdk-metrics": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.0.tgz",
+      "integrity": "sha512-IF+Sv4VHgBr/BPMKabl+GouJIhEqAOexCHgXVTISdz3q9P9H/uA8ScCF+22gitQ69aFtESbdYOV+Fen5+avQng==",
       "dependencies": {
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0",
+        "lodash.merge": "^4.6.2"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.3.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/util-buffer-from": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz",
-      "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/sdk-node": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.52.0.tgz",
+      "integrity": "sha512-3RNnsoHGutya3oVsoc2WRrk/TKlxr+R2uN6H4boNJvW7kc8yxS4QrOI6DlbQYAgEMeC1PMu95jW9LirPOWcMGw==",
       "dependencies": {
-        "@smithy/is-array-buffer": "^2.1.1",
-        "tslib": "^2.5.0"
+        "@opentelemetry/api-logs": "0.52.0",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/exporter-trace-otlp-grpc": "0.52.0",
+        "@opentelemetry/exporter-trace-otlp-http": "0.52.0",
+        "@opentelemetry/exporter-trace-otlp-proto": "0.52.0",
+        "@opentelemetry/exporter-zipkin": "1.25.0",
+        "@opentelemetry/instrumentation": "0.52.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/sdk-logs": "0.52.0",
+        "@opentelemetry/sdk-metrics": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "@opentelemetry/sdk-trace-node": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.3.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/util-config-provider": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz",
-      "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/sdk-trace-base": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.0.tgz",
+      "integrity": "sha512-6+g2fiRQUG39guCsKVeY8ToeuUf3YUnPkN6DXRA1qDmFLprlLvZm9cS6+chgbW70cZJ406FTtSCDnJwxDC5sGQ==",
       "dependencies": {
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/util-defaults-mode-browser": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.2.tgz",
-      "integrity": "sha512-YmojdmsE7VbvFGJ/8btn/5etLm1HOQkgVX6nMWlB0yBL/Vb//s3aTebUJ66zj2+LNrBS3B9S+18+LQU72Yj0AQ==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/sdk-trace-node": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.0.tgz",
+      "integrity": "sha512-sYdZmNCkqthPpjwCxAJk5aQNLxCOQjT1u3JMGvO6rb3Ic8uFdnzXavP13Md9uYPcZBo+KxetyDhCf0x8wJGRng==",
       "dependencies": {
-        "@smithy/property-provider": "^2.1.2",
-        "@smithy/smithy-client": "^2.4.0",
-        "@smithy/types": "^2.10.0",
-        "bowser": "^2.11.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/context-async-hooks": "1.25.0",
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/propagator-b3": "1.25.0",
+        "@opentelemetry/propagator-jaeger": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "semver": "^7.5.2"
       },
       "engines": {
-        "node": ">= 10.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/util-defaults-mode-node": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.1.tgz",
-      "integrity": "sha512-kof7M9Q2qP5yaQn8hHJL3KwozyvIfLe+ys7feifSul6gBAAeoraibo/MWqotb/I0fVLMlCMDwn7WXFsGUwnsew==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@opentelemetry/sdk-trace-web": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.25.0.tgz",
+      "integrity": "sha512-TAWRDRiVOeliE1A99z8idWb4pwEKKY9Vj5aTpLtrF4cvPOl0mPg3ZczvOw/HnpfRsWY0Ra/J3vS5uFSpoqPwEA==",
       "dependencies": {
-        "@smithy/config-resolver": "^2.1.2",
-        "@smithy/credential-provider-imds": "^2.2.2",
-        "@smithy/node-config-provider": "^2.2.2",
-        "@smithy/property-provider": "^2.1.2",
-        "@smithy/smithy-client": "^2.4.0",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@opentelemetry/core": "1.25.0",
+        "@opentelemetry/sdk-trace-base": "1.25.0",
+        "@opentelemetry/semantic-conventions": "1.25.0"
       },
       "engines": {
-        "node": ">= 10.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
-    "node_modules/@smithy/util-endpoints": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.2.tgz",
-      "integrity": "sha512-2/REfdcJ20y9iF+9kSBRBsaoGzjT5dZ3E6/TA45GHJuJAb/vZTj76VLTcrl2iN3fWXiDK1B8RxchaLGbr7RxxA==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "@smithy/node-config-provider": "^2.2.2",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
-      },
+    "node_modules/@opentelemetry/semantic-conventions": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.0.tgz",
+      "integrity": "sha512-M+kkXKRAIAiAP6qYyesfrC5TOmDpDVtsxuGfPcqd9B/iBrac+E14jYwrgm0yZBUIbIP2OnqC3j+UgkXLm1vxUQ==",
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">=14"
       }
     },
-    "node_modules/@smithy/util-hex-encoding": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz",
-      "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==",
+    "node_modules/@opentelemetry/sql-common": {
+      "resolved": "packages/opentelemetry-sql-common",
+      "link": true
+    },
+    "node_modules/@opentelemetry/winston-transport": {
+      "resolved": "packages/winston-transport",
+      "link": true
+    },
+    "node_modules/@parcel/watcher": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
+      "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==",
       "dev": true,
-      "optional": true,
+      "hasInstallScript": true,
       "dependencies": {
-        "tslib": "^2.5.0"
+        "node-addon-api": "^3.2.1",
+        "node-gyp-build": "^4.3.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@smithy/util-middleware": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.2.tgz",
-      "integrity": "sha512-lvSOnwQ7iAajtWb1nAyy0CkOIn8d+jGykQOtt2NXDsPzOTfejZM/Uph+O/TmVgWoXdcGuw5peUMG2f5xEIl6UQ==",
+    "node_modules/@pkgjs/parseargs": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+      "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
       "dev": true,
       "optional": true,
-      "dependencies": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
-      },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
       }
     },
-    "node_modules/@smithy/util-retry": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.2.tgz",
-      "integrity": "sha512-pqifOgRqwLfRu+ks3awEKKqPeYxrHLwo4Yu2EarGzeoarTd1LVEyyf5qLE6M7IiCsxnXRhn9FoWIdZOC+oC/VQ==",
-      "dev": true,
-      "optional": true,
+    "node_modules/@protobufjs/aspromise": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
+      "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
+    },
+    "node_modules/@protobufjs/base64": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
+      "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
+    },
+    "node_modules/@protobufjs/codegen": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
+      "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
+    },
+    "node_modules/@protobufjs/eventemitter": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
+      "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
+    },
+    "node_modules/@protobufjs/fetch": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
+      "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
       "dependencies": {
-        "@smithy/service-error-classification": "^2.1.2",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
-      },
-      "engines": {
-        "node": ">= 14.0.0"
+        "@protobufjs/aspromise": "^1.1.1",
+        "@protobufjs/inquire": "^1.1.0"
       }
     },
-    "node_modules/@smithy/util-stream": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.2.tgz",
-      "integrity": "sha512-AbGjvoSok7YeUKv9WRVRSChQfsufLR54YCAabTbaABRdIucywRQs29em0uAP6r4RLj+4aFZStWGYpFgT0P8UlQ==",
+    "node_modules/@protobufjs/float": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
+      "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
+    },
+    "node_modules/@protobufjs/inquire": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
+      "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
+    },
+    "node_modules/@protobufjs/path": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
+      "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
+    },
+    "node_modules/@protobufjs/pool": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
+      "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
+    },
+    "node_modules/@protobufjs/utf8": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
+      "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
+    },
+    "node_modules/@puppeteer/browsers": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.1.0.tgz",
+      "integrity": "sha512-xloWvocjvryHdUjDam/ZuGMh7zn4Sn3ZAaV4Ah2e2EwEt90N3XphZlSsU3n0VDc1F7kggCjMuH0UuxfPQ5mD9w==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "@smithy/fetch-http-handler": "^2.4.2",
-        "@smithy/node-http-handler": "^2.4.0",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-base64": "^2.1.1",
-        "@smithy/util-buffer-from": "^2.1.1",
-        "@smithy/util-hex-encoding": "^2.1.1",
-        "@smithy/util-utf8": "^2.1.1",
-        "tslib": "^2.5.0"
+        "debug": "4.3.4",
+        "extract-zip": "2.0.1",
+        "progress": "2.0.3",
+        "proxy-agent": "6.4.0",
+        "semver": "7.6.0",
+        "tar-fs": "3.0.5",
+        "unbzip2-stream": "1.4.3",
+        "yargs": "17.7.2"
+      },
+      "bin": {
+        "browsers": "lib/cjs/main-cli.js"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@smithy/util-uri-escape": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz",
-      "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==",
+    "node_modules/@redis/bloom": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.0.2.tgz",
+      "integrity": "sha512-EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw==",
+      "dev": true,
+      "peerDependencies": {
+        "@redis/client": "^1.0.0"
+      }
+    },
+    "node_modules/@redis/client": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@redis/client/-/client-1.1.0.tgz",
+      "integrity": "sha512-xO9JDIgzsZYDl3EvFhl6LC52DP3q3GCMUer8zHgKV6qSYsq1zB+pZs9+T80VgcRogrlRYhi4ZlfX6A+bHiBAgA==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "tslib": "^2.5.0"
+        "cluster-key-slot": "1.1.0",
+        "generic-pool": "3.8.2",
+        "yallist": "4.0.0"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
       }
     },
-    "node_modules/@smithy/util-utf8": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz",
-      "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==",
+    "node_modules/@redis/client/node_modules/cluster-key-slot": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz",
+      "integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==",
       "dev": true,
-      "optional": true,
-      "dependencies": {
-        "@smithy/util-buffer-from": "^2.1.1",
-        "tslib": "^2.5.0"
-      },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@socket.io/component-emitter": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
-      "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
+    "node_modules/@redis/client/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
       "dev": true
     },
-    "node_modules/@teppeis/multimaps": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@teppeis/multimaps/-/multimaps-2.0.0.tgz",
-      "integrity": "sha512-TL1adzq1HdxUf9WYduLcQ/DNGYiz71U31QRgbnr0Ef1cPyOUOsBojxHVWpFeOSUucB6Lrs0LxFRA14ntgtkc9w==",
+    "node_modules/@redis/graph": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.0.1.tgz",
+      "integrity": "sha512-oDE4myMCJOCVKYMygEMWuriBgqlS5FqdWerikMoJxzmmTUErnTRRgmIDa2VcgytACZMFqpAOWDzops4DOlnkfQ==",
       "dev": true,
-      "engines": {
-        "node": ">=10.17"
+      "peerDependencies": {
+        "@redis/client": "^1.0.0"
       }
     },
-    "node_modules/@tootallnate/once": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
-      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+    "node_modules/@redis/json": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.3.tgz",
+      "integrity": "sha512-4X0Qv0BzD9Zlb0edkUoau5c1bInWSICqXAGrpwEltkncUwcxJIGEcVryZhLgb0p/3PkKaLIWkjhHRtLe9yiA7Q==",
       "dev": true,
-      "engines": {
-        "node": ">= 6"
+      "peerDependencies": {
+        "@redis/client": "^1.0.0"
       }
     },
-    "node_modules/@tootallnate/quickjs-emscripten": {
-      "version": "0.23.0",
-      "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
-      "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
-      "dev": true
+    "node_modules/@redis/search": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/@redis/search/-/search-1.0.6.tgz",
+      "integrity": "sha512-pP+ZQRis5P21SD6fjyCeLcQdps+LuTzp2wdUbzxEmNhleighDDTD5ck8+cYof+WLec4csZX7ks+BuoMw0RaZrA==",
+      "dev": true,
+      "peerDependencies": {
+        "@redis/client": "^1.0.0"
+      }
     },
-    "node_modules/@tufjs/canonical-json": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz",
-      "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==",
+    "node_modules/@redis/time-series": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.3.tgz",
+      "integrity": "sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA==",
       "dev": true,
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      "peerDependencies": {
+        "@redis/client": "^1.0.0"
       }
     },
-    "node_modules/@tufjs/models": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz",
-      "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==",
+    "node_modules/@rollup/plugin-commonjs": {
+      "version": "26.0.1",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz",
+      "integrity": "sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==",
       "dev": true,
       "dependencies": {
-        "@tufjs/canonical-json": "1.0.0",
-        "minimatch": "^9.0.0"
+        "@rollup/pluginutils": "^5.0.1",
+        "commondir": "^1.0.1",
+        "estree-walker": "^2.0.2",
+        "glob": "^10.4.1",
+        "is-reference": "1.2.1",
+        "magic-string": "^0.30.3"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
-      }
-    },
-    "node_modules/@types/accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz",
-      "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==",
-      "dependencies": {
-        "@types/node": "*"
+        "node": ">=16.0.0 || 14 >= 14.17"
+      },
+      "peerDependencies": {
+        "rollup": "^2.68.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@types/amqplib": {
-      "version": "0.5.17",
-      "resolved": "https://registry.npmjs.org/@types/amqplib/-/amqplib-0.5.17.tgz",
-      "integrity": "sha512-RImqiLP1swDqWBW8UX9iBXVEOw6MYzNmxdXqfemDfdwtUvdTM/W0s2RlSuMVIGkRhaWvpkC9O/N81VzzQwfAbw==",
+    "node_modules/@rollup/plugin-node-resolve": {
+      "version": "15.2.3",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz",
+      "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==",
       "dev": true,
       "dependencies": {
-        "@types/bluebird": "*",
-        "@types/node": "*"
-      }
+        "@rollup/pluginutils": "^5.0.1",
+        "@types/resolve": "1.20.2",
+        "deepmerge": "^4.2.2",
+        "is-builtin-module": "^3.2.1",
+        "is-module": "^1.0.0",
+        "resolve": "^1.22.1"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^2.78.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@rollup/pluginutils": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz",
+      "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==",
+      "dev": true,
+      "dependencies": {
+        "@types/estree": "^1.0.0",
+        "estree-walker": "^2.0.2",
+        "picomatch": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@rollup/rollup-android-arm-eabi": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.1.tgz",
+      "integrity": "sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ]
+    },
+    "node_modules/@rollup/rollup-android-arm64": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.1.tgz",
+      "integrity": "sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ]
+    },
+    "node_modules/@rollup/rollup-darwin-arm64": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.1.tgz",
+      "integrity": "sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
+    },
+    "node_modules/@rollup/rollup-darwin-x64": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.1.tgz",
+      "integrity": "sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.1.tgz",
+      "integrity": "sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-arm64-gnu": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.1.tgz",
+      "integrity": "sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-arm64-musl": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.1.tgz",
+      "integrity": "sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.1.tgz",
+      "integrity": "sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==",
+      "cpu": [
+        "riscv64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-x64-gnu": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.1.tgz",
+      "integrity": "sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-x64-musl": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.1.tgz",
+      "integrity": "sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-win32-arm64-msvc": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.1.tgz",
+      "integrity": "sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ]
+    },
+    "node_modules/@rollup/rollup-win32-ia32-msvc": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.1.tgz",
+      "integrity": "sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ]
+    },
+    "node_modules/@rollup/rollup-win32-x64-msvc": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.1.tgz",
+      "integrity": "sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ]
+    },
+    "node_modules/@sideway/address": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz",
+      "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==",
+      "dev": true,
+      "dependencies": {
+        "@hapi/hoek": "^9.0.0"
+      }
+    },
+    "node_modules/@sideway/formula": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
+      "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==",
+      "dev": true
+    },
+    "node_modules/@sideway/pinpoint": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
+      "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
+      "dev": true
+    },
+    "node_modules/@sigstore/bundle": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz",
+      "integrity": "sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==",
+      "dev": true,
+      "dependencies": {
+        "@sigstore/protobuf-specs": "^0.2.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@sigstore/protobuf-specs": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz",
+      "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@sigstore/sign": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz",
+      "integrity": "sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==",
+      "dev": true,
+      "dependencies": {
+        "@sigstore/bundle": "^1.1.0",
+        "@sigstore/protobuf-specs": "^0.2.0",
+        "make-fetch-happen": "^11.0.1"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@sigstore/sign/node_modules/@tootallnate/once": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+      "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+      "dev": true,
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@sigstore/sign/node_modules/agent-base": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+      "dev": true,
+      "dependencies": {
+        "debug": "4"
+      },
+      "engines": {
+        "node": ">= 6.0.0"
+      }
+    },
+    "node_modules/@sigstore/sign/node_modules/http-proxy-agent": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+      "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+      "dev": true,
+      "dependencies": {
+        "@tootallnate/once": "2",
+        "agent-base": "6",
+        "debug": "4"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/@sigstore/sign/node_modules/https-proxy-agent": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+      "dev": true,
+      "dependencies": {
+        "agent-base": "6",
+        "debug": "4"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/@sigstore/sign/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@sigstore/sign/node_modules/make-fetch-happen": {
+      "version": "11.1.1",
+      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+      "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+      "dev": true,
+      "dependencies": {
+        "agentkeepalive": "^4.2.1",
+        "cacache": "^17.0.0",
+        "http-cache-semantics": "^4.1.1",
+        "http-proxy-agent": "^5.0.0",
+        "https-proxy-agent": "^5.0.0",
+        "is-lambda": "^1.0.1",
+        "lru-cache": "^7.7.1",
+        "minipass": "^5.0.0",
+        "minipass-fetch": "^3.0.0",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "negotiator": "^0.6.3",
+        "promise-retry": "^2.0.1",
+        "socks-proxy-agent": "^7.0.0",
+        "ssri": "^10.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@sigstore/sign/node_modules/minipass": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@sigstore/sign/node_modules/minipass-fetch": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz",
+      "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^7.0.3",
+        "minipass-sized": "^1.0.3",
+        "minizlib": "^2.1.2"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      },
+      "optionalDependencies": {
+        "encoding": "^0.1.13"
+      }
+    },
+    "node_modules/@sigstore/sign/node_modules/minipass-fetch/node_modules/minipass": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      }
+    },
+    "node_modules/@sigstore/sign/node_modules/socks-proxy-agent": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
+      "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
+      "dev": true,
+      "dependencies": {
+        "agent-base": "^6.0.2",
+        "debug": "^4.3.3",
+        "socks": "^2.6.2"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/@sigstore/sign/node_modules/ssri": {
+      "version": "10.0.5",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz",
+      "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==",
+      "dev": true,
+      "dependencies": {
+        "minipass": "^7.0.3"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@sigstore/sign/node_modules/ssri/node_modules/minipass": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      }
+    },
+    "node_modules/@sigstore/tuf": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz",
+      "integrity": "sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==",
+      "dev": true,
+      "dependencies": {
+        "@sigstore/protobuf-specs": "^0.2.0",
+        "tuf-js": "^1.1.7"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@sinclair/typebox": {
+      "version": "0.27.8",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+      "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+      "dev": true
+    },
+    "node_modules/@sindresorhus/merge-streams": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
+      "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
+      "dev": true,
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@sinonjs/commons": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz",
+      "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==",
+      "dev": true,
+      "dependencies": {
+        "type-detect": "4.0.8"
+      }
+    },
+    "node_modules/@sinonjs/fake-timers": {
+      "version": "10.3.0",
+      "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
+      "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
+      "dev": true,
+      "dependencies": {
+        "@sinonjs/commons": "^3.0.0"
+      }
+    },
+    "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+      "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+      "dev": true,
+      "dependencies": {
+        "type-detect": "4.0.8"
+      }
+    },
+    "node_modules/@sinonjs/samsam": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz",
+      "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==",
+      "dev": true,
+      "dependencies": {
+        "@sinonjs/commons": "^2.0.0",
+        "lodash.get": "^4.4.2",
+        "type-detect": "^4.0.8"
+      }
+    },
+    "node_modules/@sinonjs/text-encoding": {
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz",
+      "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==",
+      "dev": true
+    },
+    "node_modules/@smithy/abort-controller": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.2.tgz",
+      "integrity": "sha512-iwUxrFm/ZFCXhzhtZ6JnoJzAsqUrVfBAZUTQj8ypXGtIjwXZpKqmgYiuqrDERiydDI5gesqvsC4Rqe57GGhbVg==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/config-resolver": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.2.tgz",
+      "integrity": "sha512-ZDMY63xJVsJl7ei/yIMv9nx8OiEOulwNnQOUDGpIvzoBrcbvYwiMjIMe5mP5J4fUmttKkpiTKwta/7IUriAn9w==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.2.2",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-config-provider": "^2.2.1",
+        "@smithy/util-middleware": "^2.1.2",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/core": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.3.tgz",
+      "integrity": "sha512-8cT/swERvU1EUMuJF914+psSeVy4+NcNhbRe1WEKN1yIMPE5+Tq5EaPq1HWjKCodcdBIyU9ViTjd62XnebXMHA==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/middleware-endpoint": "^2.4.2",
+        "@smithy/middleware-retry": "^2.1.2",
+        "@smithy/middleware-serde": "^2.1.2",
+        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/smithy-client": "^2.4.0",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-middleware": "^2.1.2",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/credential-provider-imds": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.2.tgz",
+      "integrity": "sha512-a2xpqWzhzcYwImGbFox5qJLf6i5HKdVeOVj7d6kVFElmbS2QW2T4HmefRc5z1huVArk9bh5Rk1NiFp9YBCXU3g==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.2.2",
+        "@smithy/property-provider": "^2.1.2",
+        "@smithy/types": "^2.10.0",
+        "@smithy/url-parser": "^2.1.2",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/eventstream-codec": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.2.tgz",
+      "integrity": "sha512-2PHrVRixITHSOj3bxfZmY93apGf8/DFiyhRh9W0ukfi07cvlhlRonZ0fjgcqryJjUZ5vYHqqmfIE/Qe1HM9mlw==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@aws-crypto/crc32": "3.0.0",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-hex-encoding": "^2.1.1",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/crc32": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz",
+      "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@aws-crypto/util": "^3.0.0",
+        "@aws-sdk/types": "^3.222.0",
+        "tslib": "^1.11.1"
+      }
+    },
+    "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/crc32/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "dev": true,
+      "optional": true
+    },
+    "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/util": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz",
+      "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "^3.222.0",
+        "@aws-sdk/util-utf8-browser": "^3.0.0",
+        "tslib": "^1.11.1"
+      }
+    },
+    "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/util/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "dev": true,
+      "optional": true
+    },
+    "node_modules/@smithy/eventstream-codec/node_modules/@aws-sdk/types": {
+      "version": "3.521.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.521.0.tgz",
+      "integrity": "sha512-H9I3Lut0F9d+kTibrhnTRqDRzhxf/vrDu12FUdTXVZEvVAQ7w9yrVHAZx8j2e8GWegetsQsNitO3KMrj4dA4pw==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/fetch-http-handler": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.2.tgz",
+      "integrity": "sha512-sIGMVwa/8h6eqNjarI3F07gvML3mMXcqBe+BINNLuKsVKXMNBN6wRzeZbbx7lfiJDEHAP28qRns8flHEoBB7zw==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/querystring-builder": "^2.1.2",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-base64": "^2.1.1",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@smithy/hash-node": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.2.tgz",
+      "integrity": "sha512-3Sgn4s0g4xud1M/j6hQwYCkz04lVJ24wvCAx4xI26frr3Ao6v0o2VZkBpUySTeQbMUBp2DhuzJ0fV1zybzkckw==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-buffer-from": "^2.1.1",
+        "@smithy/util-utf8": "^2.1.1",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/invalid-dependency": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.2.tgz",
+      "integrity": "sha512-qdgKhkFYxDJnKecx2ANwz3JRkXjm0qDgEnAs5BIfb2z/XqA2l7s9BTH7GTC/RR4E8h6EDCeb5rM2rnARxviqIg==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@smithy/is-array-buffer": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz",
+      "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/middleware-content-length": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.2.tgz",
+      "integrity": "sha512-XEWtul1tHP31EtUIobEyN499paUIbnCTRtjY+ciDCEXW81lZmpjrDG3aL0FxJDPnvatVQuMV1V5eg6MCqTFaLQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/middleware-endpoint": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.2.tgz",
+      "integrity": "sha512-72qbmVwaWcLOd/OT52fszrrlXywPwciwpsRiIk/dIvpcwkpGE9qrYZ2bt/SYcA/ma8Rz9Ni2AbBuSXLDYISS+A==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/middleware-serde": "^2.1.2",
+        "@smithy/node-config-provider": "^2.2.2",
+        "@smithy/shared-ini-file-loader": "^2.3.2",
+        "@smithy/types": "^2.10.0",
+        "@smithy/url-parser": "^2.1.2",
+        "@smithy/util-middleware": "^2.1.2",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/middleware-retry": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.2.tgz",
+      "integrity": "sha512-tlvSK+v9bPHHb0dLWvEaFW2Iz0IeA57ISvSaso36I33u8F8wYqo5FCvenH7TgMVBx57jyJBXOmYCZa9n5gdJIg==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.2.2",
+        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/service-error-classification": "^2.1.2",
+        "@smithy/smithy-client": "^2.4.0",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-middleware": "^2.1.2",
+        "@smithy/util-retry": "^2.1.2",
+        "tslib": "^2.5.0",
+        "uuid": "^8.3.2"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/middleware-serde": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.2.tgz",
+      "integrity": "sha512-XNU6aVIhlSbjuo2XsfZ7rd4HhjTXDlNWxAmhlBfViTW1TNK02CeWdeEntp5XtQKYD//pyTIbYi35EQvIidAkOw==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/middleware-stack": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.2.tgz",
+      "integrity": "sha512-EPGaHGd4XmZcaRYjbhyqiqN/Q/ESxXu5e5TK24CTZUe99y8/XCxmiX8VLMM4H0DI7K3yfElR0wPAAvceoSkTgw==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/node-config-provider": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.2.tgz",
+      "integrity": "sha512-QXvpqHSijAm13ZsVkUo92b085UzDvYP1LblWTb3uWi9WilhDvYnVyPLXaryLhOWZ2YvdhK2170T3ZBqtg+quIQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/property-provider": "^2.1.2",
+        "@smithy/shared-ini-file-loader": "^2.3.2",
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/node-http-handler": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.0.tgz",
+      "integrity": "sha512-Mf2f7MMy31W8LisJ9O+7J5cKiNwBwBBLU6biQ7/sFSFdhuOxPN7hOPoZ8vlaFjvrpfOUJw9YOpjGyNTKuvomOQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/abort-controller": "^2.1.2",
+        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/querystring-builder": "^2.1.2",
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/property-provider": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.2.tgz",
+      "integrity": "sha512-yaXCVFKzxbSXqOoyA7AdAgXhwdjiLeui7n2P6XLjBCz/GZFdLUJgSY6KL1PevaxT4REMwUSs/bSHAe/0jdzEHw==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/protocol-http": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.0.tgz",
+      "integrity": "sha512-VRp0YITYIQum+rX4zeZ3cW1wl9r90IQzQN+VLS1NxdSMt6NLsJiJqR9czTxlaeWNrLHsFAETmjmdrS48Ug1liA==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/querystring-builder": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.2.tgz",
+      "integrity": "sha512-wk6QpuvBBLJF5w8aADsZOtxaHY9cF5MZe1Ry3hSqqBxARdUrMoXi/jukUz5W0ftXGlbA398IN8dIIUj3WXqJXg==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-uri-escape": "^2.1.1",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/querystring-parser": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.2.tgz",
+      "integrity": "sha512-z1yL5Iiagm/UxVy1tcuTFZdfOBK/QtYeK6wfClAJ7cOY7kIaYR6jn1cVXXJmhAQSh1b2ljP4xiZN4Ybj7Tbs5w==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/service-error-classification": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.2.tgz",
+      "integrity": "sha512-R+gL1pAPuWkH6unFridk57wDH5PFY2IlVg2NUjSAjoaIaU+sxqKf/7AOWIcx9Bdn+xY0/4IRQ69urlC+F3I9gg==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/shared-ini-file-loader": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.2.tgz",
+      "integrity": "sha512-idHGDJB+gBh+aaIjmWj6agmtNWftoyAenErky74hAtKyUaCvfocSBgEJ2pQ6o68svBluvGIj4NGFgJu0198mow==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/signature-v4": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.2.tgz",
+      "integrity": "sha512-DdPWaNGIbxzyocR3ncH8xlxQgsqteRADEdCPoivgBzwv17UzKy2obtdi2vwNc5lAJ955bGEkkWef9O7kc1Eocg==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/eventstream-codec": "^2.1.2",
+        "@smithy/is-array-buffer": "^2.1.1",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-hex-encoding": "^2.1.1",
+        "@smithy/util-middleware": "^2.1.2",
+        "@smithy/util-uri-escape": "^2.1.1",
+        "@smithy/util-utf8": "^2.1.1",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/smithy-client": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.0.tgz",
+      "integrity": "sha512-6/jxk0om9l2s9BcgHtrBn+Hd3xcFGDzxfEJ2FvGpZxIz0S7bgvZg1gyR66O1xf1w9WZBH+W7JClhfSn2gETINw==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/middleware-endpoint": "^2.4.2",
+        "@smithy/middleware-stack": "^2.1.2",
+        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-stream": "^2.1.2",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/types": {
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.10.0.tgz",
+      "integrity": "sha512-QYXQmpIebS8/jYXgyJjCanKZbI4Rr8tBVGBAIdDhA35f025TVjJNW69FJ0TGiDqt+lIGo037YIswq2t2Y1AYZQ==",
+      "dev": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/url-parser": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.2.tgz",
+      "integrity": "sha512-KBPi740ciTujUaY+RfQuPABD0QFmgSBN5qNVDCGTryfsbG4jkwC0YnElSzi72m24HegMyxzZDLG4Oh4/97mw2g==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/querystring-parser": "^2.1.2",
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@smithy/util-base64": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz",
+      "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/util-buffer-from": "^2.1.1",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-body-length-browser": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz",
+      "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@smithy/util-body-length-node": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz",
+      "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-buffer-from": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz",
+      "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/is-array-buffer": "^2.1.1",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-config-provider": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz",
+      "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-defaults-mode-browser": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.2.tgz",
+      "integrity": "sha512-YmojdmsE7VbvFGJ/8btn/5etLm1HOQkgVX6nMWlB0yBL/Vb//s3aTebUJ66zj2+LNrBS3B9S+18+LQU72Yj0AQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/property-provider": "^2.1.2",
+        "@smithy/smithy-client": "^2.4.0",
+        "@smithy/types": "^2.10.0",
+        "bowser": "^2.11.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
+    "node_modules/@smithy/util-defaults-mode-node": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.1.tgz",
+      "integrity": "sha512-kof7M9Q2qP5yaQn8hHJL3KwozyvIfLe+ys7feifSul6gBAAeoraibo/MWqotb/I0fVLMlCMDwn7WXFsGUwnsew==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/config-resolver": "^2.1.2",
+        "@smithy/credential-provider-imds": "^2.2.2",
+        "@smithy/node-config-provider": "^2.2.2",
+        "@smithy/property-provider": "^2.1.2",
+        "@smithy/smithy-client": "^2.4.0",
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
+    "node_modules/@smithy/util-endpoints": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.2.tgz",
+      "integrity": "sha512-2/REfdcJ20y9iF+9kSBRBsaoGzjT5dZ3E6/TA45GHJuJAb/vZTj76VLTcrl2iN3fWXiDK1B8RxchaLGbr7RxxA==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.2.2",
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-hex-encoding": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz",
+      "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-middleware": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.2.tgz",
+      "integrity": "sha512-lvSOnwQ7iAajtWb1nAyy0CkOIn8d+jGykQOtt2NXDsPzOTfejZM/Uph+O/TmVgWoXdcGuw5peUMG2f5xEIl6UQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-retry": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.2.tgz",
+      "integrity": "sha512-pqifOgRqwLfRu+ks3awEKKqPeYxrHLwo4Yu2EarGzeoarTd1LVEyyf5qLE6M7IiCsxnXRhn9FoWIdZOC+oC/VQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/service-error-classification": "^2.1.2",
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-stream": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.2.tgz",
+      "integrity": "sha512-AbGjvoSok7YeUKv9WRVRSChQfsufLR54YCAabTbaABRdIucywRQs29em0uAP6r4RLj+4aFZStWGYpFgT0P8UlQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/fetch-http-handler": "^2.4.2",
+        "@smithy/node-http-handler": "^2.4.0",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-base64": "^2.1.1",
+        "@smithy/util-buffer-from": "^2.1.1",
+        "@smithy/util-hex-encoding": "^2.1.1",
+        "@smithy/util-utf8": "^2.1.1",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-uri-escape": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz",
+      "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@smithy/util-utf8": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz",
+      "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@smithy/util-buffer-from": "^2.1.1",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@socket.io/component-emitter": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+      "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
+      "dev": true
+    },
+    "node_modules/@teppeis/multimaps": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@teppeis/multimaps/-/multimaps-2.0.0.tgz",
+      "integrity": "sha512-TL1adzq1HdxUf9WYduLcQ/DNGYiz71U31QRgbnr0Ef1cPyOUOsBojxHVWpFeOSUucB6Lrs0LxFRA14ntgtkc9w==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.17"
+      }
+    },
+    "node_modules/@tootallnate/once": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/@tootallnate/quickjs-emscripten": {
+      "version": "0.23.0",
+      "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
+      "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
+      "dev": true
+    },
+    "node_modules/@tufjs/canonical-json": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz",
+      "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@tufjs/models": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz",
+      "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==",
+      "dev": true,
+      "dependencies": {
+        "@tufjs/canonical-json": "1.0.0",
+        "minimatch": "^9.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@types/accepts": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz",
+      "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==",
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/amqplib": {
+      "version": "0.5.17",
+      "resolved": "https://registry.npmjs.org/@types/amqplib/-/amqplib-0.5.17.tgz",
+      "integrity": "sha512-RImqiLP1swDqWBW8UX9iBXVEOw6MYzNmxdXqfemDfdwtUvdTM/W0s2RlSuMVIGkRhaWvpkC9O/N81VzzQwfAbw==",
+      "dev": true,
+      "dependencies": {
+        "@types/bluebird": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/aws-lambda": {
+      "version": "8.10.122",
+      "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.122.tgz",
+      "integrity": "sha512-vBkIh9AY22kVOCEKo5CJlyCgmSWvasC+SWUxL/x/vOwRobMpI/HG1xp/Ae3AqmSiZeLUbOhW0FCD3ZjqqUxmXw=="
+    },
+    "node_modules/@types/babel__code-frame": {
+      "version": "7.0.6",
+      "resolved": "https://registry.npmjs.org/@types/babel__code-frame/-/babel__code-frame-7.0.6.tgz",
+      "integrity": "sha512-Anitqkl3+KrzcW2k77lRlg/GfLZLWXBuNgbEcIOU6M92yw42vsd3xV/Z/yAHEj8m+KUjL6bWOVOFqX8PFPJ4LA==",
+      "dev": true
+    },
+    "node_modules/@types/bluebird": {
+      "version": "3.5.42",
+      "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.42.tgz",
+      "integrity": "sha512-Jhy+MWRlro6UjVi578V/4ZGNfeCOcNCp0YaFNIUGFKlImowqwb1O/22wDVk3FDGMLqxdpOV3qQHD5fPEH4hK6A==",
+      "dev": true
+    },
+    "node_modules/@types/body-parser": {
+      "version": "1.19.5",
+      "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
+      "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
+      "dependencies": {
+        "@types/connect": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/bson": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.5.tgz",
+      "integrity": "sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/bunyan": {
+      "version": "1.8.11",
+      "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.11.tgz",
+      "integrity": "sha512-758fRH7umIMk5qt5ELmRMff4mLDlN+xyYzC+dkPTdKwbSkJFvz6xwyScrytPU0QIBbRRwbiE8/BIg8bpajerNQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/chai": {
+      "version": "4.3.12",
+      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.12.tgz",
+      "integrity": "sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==",
+      "dev": true
+    },
+    "node_modules/@types/co-body": {
+      "version": "6.1.3",
+      "resolved": "https://registry.npmjs.org/@types/co-body/-/co-body-6.1.3.tgz",
+      "integrity": "sha512-UhuhrQ5hclX6UJctv5m4Rfp52AfG9o9+d9/HwjxhVB5NjXxr5t9oKgJxN8xRHgr35oo8meUEHUPFWiKg6y71aA==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*",
+        "@types/qs": "*"
+      }
+    },
+    "node_modules/@types/command-line-args": {
+      "version": "5.2.3",
+      "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.3.tgz",
+      "integrity": "sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==",
+      "dev": true
+    },
+    "node_modules/@types/connect": {
+      "version": "3.4.38",
+      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
+      "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/content-disposition": {
+      "version": "0.5.8",
+      "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.8.tgz",
+      "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg=="
+    },
+    "node_modules/@types/convert-source-map": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@types/convert-source-map/-/convert-source-map-2.0.3.tgz",
+      "integrity": "sha512-ag0BfJLZf6CQz8VIuRIEYQ5Ggwk/82uvTQf27RcpyDNbY0Vw49LIPqAxk5tqYfrCs9xDaIMvl4aj7ZopnYL8bA==",
+      "dev": true
+    },
+    "node_modules/@types/cookie": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
+      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==",
+      "dev": true
+    },
+    "node_modules/@types/cookies": {
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.9.0.tgz",
+      "integrity": "sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==",
+      "dependencies": {
+        "@types/connect": "*",
+        "@types/express": "*",
+        "@types/keygrip": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/cors": {
+      "version": "2.8.17",
+      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz",
+      "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/debounce": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.4.tgz",
+      "integrity": "sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw==",
+      "dev": true
+    },
+    "node_modules/@types/eslint": {
+      "version": "8.56.10",
+      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz",
+      "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/estree": "*",
+        "@types/json-schema": "*"
+      }
+    },
+    "node_modules/@types/eslint-scope": {
+      "version": "3.7.7",
+      "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
+      "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
+      "dev": true,
+      "dependencies": {
+        "@types/eslint": "*",
+        "@types/estree": "*"
+      }
+    },
+    "node_modules/@types/estree": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+      "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+      "dev": true
+    },
+    "node_modules/@types/express": {
+      "version": "4.17.18",
+      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz",
+      "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==",
+      "dependencies": {
+        "@types/body-parser": "*",
+        "@types/express-serve-static-core": "^4.17.33",
+        "@types/qs": "*",
+        "@types/serve-static": "*"
+      }
+    },
+    "node_modules/@types/express-serve-static-core": {
+      "version": "4.17.43",
+      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz",
+      "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==",
+      "dependencies": {
+        "@types/node": "*",
+        "@types/qs": "*",
+        "@types/range-parser": "*",
+        "@types/send": "*"
+      }
+    },
+    "node_modules/@types/generic-pool": {
+      "version": "3.8.1",
+      "resolved": "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.8.1.tgz",
+      "integrity": "sha512-eaMAbZS0EfKvaP5PUZ/Cdf5uJBO2t6T3RdvQTKuMqUwGhNpCnPAsKWEMyV+mCeCQG3UiHrtgdzni8X6DmhxRaQ==",
+      "deprecated": "This is a stub types definition. generic-pool provides its own type definitions, so you do not need this installed.",
+      "dev": true,
+      "dependencies": {
+        "generic-pool": "*"
+      }
+    },
+    "node_modules/@types/http-assert": {
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz",
+      "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g=="
+    },
+    "node_modules/@types/http-errors": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
+      "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA=="
+    },
+    "node_modules/@types/ioredis4": {
+      "name": "@types/ioredis",
+      "version": "4.28.10",
+      "resolved": "https://registry.npmjs.org/@types/ioredis/-/ioredis-4.28.10.tgz",
+      "integrity": "sha512-69LyhUgrXdgcNDv7ogs1qXZomnfOEnSmrmMFqKgt1XMJxmoOSG/u3wYy13yACIfKuMJ8IhKgHafDO3sx19zVQQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/istanbul-lib-coverage": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+      "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+      "dev": true
+    },
+    "node_modules/@types/istanbul-lib-report": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
+      "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
+      "dev": true,
+      "dependencies": {
+        "@types/istanbul-lib-coverage": "*"
+      }
+    },
+    "node_modules/@types/istanbul-reports": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+      "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/istanbul-lib-report": "*"
+      }
+    },
+    "node_modules/@types/jquery": {
+      "version": "3.5.30",
+      "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.30.tgz",
+      "integrity": "sha512-nbWKkkyb919DOUxjmRVk8vwtDb0/k8FKncmUKFi+NY+QXqWltooxTrswvz4LspQwxvLdvzBN1TImr6cw3aQx2A==",
+      "dev": true,
+      "dependencies": {
+        "@types/sizzle": "*"
+      }
+    },
+    "node_modules/@types/json-schema": {
+      "version": "7.0.15",
+      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+      "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+      "dev": true
+    },
+    "node_modules/@types/json5": {
+      "version": "0.0.29",
+      "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+      "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
+      "dev": true
+    },
+    "node_modules/@types/keygrip": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.6.tgz",
+      "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ=="
+    },
+    "node_modules/@types/koa": {
+      "version": "2.14.0",
+      "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.14.0.tgz",
+      "integrity": "sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==",
+      "dependencies": {
+        "@types/accepts": "*",
+        "@types/content-disposition": "*",
+        "@types/cookies": "*",
+        "@types/http-assert": "*",
+        "@types/http-errors": "*",
+        "@types/keygrip": "*",
+        "@types/koa-compose": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/koa__router": {
+      "version": "12.0.3",
+      "resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-12.0.3.tgz",
+      "integrity": "sha512-5YUJVv6NwM1z7m6FuYpKfNLTZ932Z6EF6xy2BbtpJSyn13DKNQEkXVffFVSnJHxvwwWh2SAeumpjAYUELqgjyw==",
+      "dependencies": {
+        "@types/koa": "*"
+      }
+    },
+    "node_modules/@types/koa-compose": {
+      "version": "3.2.8",
+      "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.8.tgz",
+      "integrity": "sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==",
+      "dependencies": {
+        "@types/koa": "*"
+      }
+    },
+    "node_modules/@types/lodash": {
+      "version": "4.14.199",
+      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz",
+      "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==",
+      "dev": true
+    },
+    "node_modules/@types/long": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
+      "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==",
+      "dev": true
+    },
+    "node_modules/@types/lru-cache": {
+      "version": "7.10.9",
+      "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-7.10.9.tgz",
+      "integrity": "sha512-wrwgkdJ0xr8AbzKhVaRI8SXZN9saapPwwLoydBEr4HqMZET1LUTi1gdoaj82XmRJ9atqN7MtB0aja29iiK+7ag==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "*"
+      }
+    },
+    "node_modules/@types/memcached": {
+      "version": "2.2.10",
+      "resolved": "https://registry.npmjs.org/@types/memcached/-/memcached-2.2.10.tgz",
+      "integrity": "sha512-AM9smvZN55Gzs2wRrqeMHVP7KE8KWgCJO/XL5yCly2xF6EKa4YlbpK+cLSAH4NG/Ah64HrlegmGqW8kYws7Vxg==",
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/mime": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
+      "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="
+    },
+    "node_modules/@types/minimatch": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
+      "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
+      "dev": true
+    },
+    "node_modules/@types/minimist": {
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
+      "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
+      "dev": true
+    },
+    "node_modules/@types/mocha": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz",
+      "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==",
+      "dev": true
+    },
+    "node_modules/@types/mongodb": {
+      "version": "3.6.20",
+      "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz",
+      "integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/bson": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/mysql": {
+      "version": "2.15.22",
+      "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.22.tgz",
+      "integrity": "sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==",
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/node": {
+      "version": "18.6.5",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.5.tgz",
+      "integrity": "sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw=="
+    },
+    "node_modules/@types/normalize-package-data": {
+      "version": "2.4.4",
+      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
+      "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
+      "dev": true
+    },
+    "node_modules/@types/parse-json": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
+      "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
+      "dev": true
+    },
+    "node_modules/@types/parse5": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz",
+      "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==",
+      "dev": true
+    },
+    "node_modules/@types/pg": {
+      "version": "8.6.1",
+      "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz",
+      "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==",
+      "dependencies": {
+        "@types/node": "*",
+        "pg-protocol": "*",
+        "pg-types": "^2.2.0"
+      }
+    },
+    "node_modules/@types/pg-pool": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.4.tgz",
+      "integrity": "sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ==",
+      "dependencies": {
+        "@types/pg": "*"
+      }
+    },
+    "node_modules/@types/prop-types": {
+      "version": "15.7.11",
+      "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
+      "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==",
+      "dev": true
+    },
+    "node_modules/@types/qs": {
+      "version": "6.9.11",
+      "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz",
+      "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ=="
+    },
+    "node_modules/@types/range-parser": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
+      "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="
+    },
+    "node_modules/@types/react": {
+      "version": "17.0.67",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.67.tgz",
+      "integrity": "sha512-zE76EIJ0Y58Oy9yDX/9csb/NuKjt0Eq2YgWb/8Wxo91YmuLzzbyiRoaqJE9h8iDlsT7n35GdpoLomHlaB1kFbg==",
+      "dev": true,
+      "dependencies": {
+        "@types/prop-types": "*",
+        "@types/scheduler": "*",
+        "csstype": "^3.0.2"
+      }
+    },
+    "node_modules/@types/react-addons-test-utils": {
+      "version": "0.14.26",
+      "resolved": "https://registry.npmjs.org/@types/react-addons-test-utils/-/react-addons-test-utils-0.14.26.tgz",
+      "integrity": "sha512-zrnMrqGCfIniXyipb9HFPgdWf9TO0llA7n5QduJsx0IDB0pPK8p3/4rL4SfOLgsmtbb2X2XWCW9kBn/2k+52fg==",
+      "dev": true,
+      "dependencies": {
+        "@types/react": "*"
+      }
+    },
+    "node_modules/@types/react-dom": {
+      "version": "18.0.2",
+      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.2.tgz",
+      "integrity": "sha512-UxeS+Wtj5bvLRREz9tIgsK4ntCuLDo0EcAcACgw3E+9wE8ePDr9uQpq53MfcyxyIS55xJ+0B6mDS8c4qkkHLBg==",
+      "dev": true,
+      "dependencies": {
+        "@types/react": "*"
+      }
+    },
+    "node_modules/@types/readable-stream": {
+      "version": "4.0.12",
+      "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.12.tgz",
+      "integrity": "sha512-SCaw+bs9o/HCX1eTa3glTcQgW1oPxof49mqP2Qikik3xzTimNv2M4p43BQHhBuf7CwOJdQW0s1SrWU3MZxz6lw==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*",
+        "safe-buffer": "~5.1.1"
+      }
+    },
+    "node_modules/@types/readable-stream/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/@types/redis": {
+      "version": "2.8.32",
+      "resolved": "https://registry.npmjs.org/@types/redis/-/redis-2.8.32.tgz",
+      "integrity": "sha512-7jkMKxcGq9p242exlbsVzuJb57KqHRhNl4dHoQu2Y5v9bCAbtIXXH0R3HleSQW4CTOqpHIYUW3t6tpUj4BVQ+w==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/resolve": {
+      "version": "1.20.2",
+      "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+      "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
+      "dev": true
+    },
+    "node_modules/@types/restify": {
+      "version": "4.3.10",
+      "resolved": "https://registry.npmjs.org/@types/restify/-/restify-4.3.10.tgz",
+      "integrity": "sha512-lSt9uvWwdYrGgRCqKyh5DyC008xN8hij5RWzOPlPaTiec2smfpd7s034BASPDMIG4WhRfk0y4oLFoAi/AzVN9g==",
+      "dev": true,
+      "dependencies": {
+        "@types/bunyan": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/scheduler": {
+      "version": "0.16.8",
+      "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
+      "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==",
+      "dev": true
+    },
+    "node_modules/@types/semver": {
+      "version": "7.5.3",
+      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz",
+      "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==",
+      "dev": true
+    },
+    "node_modules/@types/send": {
+      "version": "0.17.4",
+      "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
+      "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
+      "dependencies": {
+        "@types/mime": "^1",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/serve-static": {
+      "version": "1.15.5",
+      "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz",
+      "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==",
+      "dependencies": {
+        "@types/http-errors": "*",
+        "@types/mime": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/shimmer": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.0.3.tgz",
+      "integrity": "sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA=="
+    },
+    "node_modules/@types/sinon": {
+      "version": "10.0.18",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.18.tgz",
+      "integrity": "sha512-OpQC9ug8BcnNxue2WF5aTruMaDRFn6NyfaE4DmAKOlQMn54b7CnCvDFV3wj5fk/HbSSTYmOYs2bTb5ShANjyQg==",
+      "dev": true,
+      "dependencies": {
+        "@types/sinonjs__fake-timers": "*"
+      }
+    },
+    "node_modules/@types/sinonjs__fake-timers": {
+      "version": "8.1.5",
+      "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz",
+      "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==",
+      "dev": true
+    },
+    "node_modules/@types/sizzle": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz",
+      "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==",
+      "dev": true
+    },
+    "node_modules/@types/stack-utils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
+      "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
+      "dev": true
+    },
+    "node_modules/@types/tedious": {
+      "version": "4.0.14",
+      "resolved": "https://registry.npmjs.org/@types/tedious/-/tedious-4.0.14.tgz",
+      "integrity": "sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==",
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/triple-beam": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz",
+      "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw=="
+    },
+    "node_modules/@types/uuid": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz",
+      "integrity": "sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==",
+      "dev": true
+    },
+    "node_modules/@types/webidl-conversions": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
+      "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
+      "dev": true
+    },
+    "node_modules/@types/webpack-env": {
+      "version": "1.16.3",
+      "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.3.tgz",
+      "integrity": "sha512-9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw==",
+      "dev": true
+    },
+    "node_modules/@types/whatwg-url": {
+      "version": "8.2.2",
+      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+      "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*",
+        "@types/webidl-conversions": "*"
+      }
     },
-    "node_modules/@types/aws-lambda": {
-      "version": "8.10.122",
-      "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.122.tgz",
-      "integrity": "sha512-vBkIh9AY22kVOCEKo5CJlyCgmSWvasC+SWUxL/x/vOwRobMpI/HG1xp/Ae3AqmSiZeLUbOhW0FCD3ZjqqUxmXw=="
+    "node_modules/@types/ws": {
+      "version": "7.4.7",
+      "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz",
+      "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/yargs": {
+      "version": "17.0.32",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+      "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+      "dev": true,
+      "dependencies": {
+        "@types/yargs-parser": "*"
+      }
+    },
+    "node_modules/@types/yargs-parser": {
+      "version": "21.0.3",
+      "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+      "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
+      "dev": true
+    },
+    "node_modules/@types/yauzl": {
+      "version": "2.10.3",
+      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
+      "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@typescript-eslint/eslint-plugin": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.8.1.tgz",
+      "integrity": "sha512-wTZ5oEKrKj/8/366qTM366zqhIKAp6NCMweoRONtfuC07OAU9nVI2GZZdqQ1qD30WAAtcPdkH+npDwtRFdp4Rw==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/experimental-utils": "5.8.1",
+        "@typescript-eslint/scope-manager": "5.8.1",
+        "debug": "^4.3.2",
+        "functional-red-black-tree": "^1.0.1",
+        "ignore": "^5.1.8",
+        "regexpp": "^3.2.0",
+        "semver": "^7.3.5",
+        "tsutils": "^3.21.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "@typescript-eslint/parser": "^5.0.0",
+        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@typescript-eslint/experimental-utils": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.8.1.tgz",
+      "integrity": "sha512-fbodVnjIDU4JpeXWRDsG5IfIjYBxEvs8EBO8W1+YVdtrc2B9ppfof5sZhVEDOtgTfFHnYQJDI8+qdqLYO4ceww==",
+      "dev": true,
+      "dependencies": {
+        "@types/json-schema": "^7.0.9",
+        "@typescript-eslint/scope-manager": "5.8.1",
+        "@typescript-eslint/types": "5.8.1",
+        "@typescript-eslint/typescript-estree": "5.8.1",
+        "eslint-scope": "^5.1.1",
+        "eslint-utils": "^3.0.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      }
+    },
+    "node_modules/@typescript-eslint/parser": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.8.1.tgz",
+      "integrity": "sha512-K1giKHAjHuyB421SoXMXFHHVI4NdNY603uKw92++D3qyxSeYvC10CBJ/GE5Thpo4WTUvu1mmJI2/FFkz38F2Gw==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/scope-manager": "5.8.1",
+        "@typescript-eslint/types": "5.8.1",
+        "@typescript-eslint/typescript-estree": "5.8.1",
+        "debug": "^4.3.2"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@typescript-eslint/scope-manager": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.1.tgz",
+      "integrity": "sha512-DGxJkNyYruFH3NIZc3PwrzwOQAg7vvgsHsHCILOLvUpupgkwDZdNq/cXU3BjF4LNrCsVg0qxEyWasys5AiJ85Q==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.8.1",
+        "@typescript-eslint/visitor-keys": "5.8.1"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@typescript-eslint/types": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.1.tgz",
+      "integrity": "sha512-L/FlWCCgnjKOLefdok90/pqInkomLnAcF9UAzNr+DSqMC3IffzumHTQTrINXhP1gVp9zlHiYYjvozVZDPleLcA==",
+      "dev": true,
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@typescript-eslint/typescript-estree": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.1.tgz",
+      "integrity": "sha512-26lQ8l8tTbG7ri7xEcCFT9ijU5Fk+sx/KRRyyzCv7MQ+rZZlqiDPtMKWLC8P7o+dtCnby4c+OlxuX1tp8WfafQ==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.8.1",
+        "@typescript-eslint/visitor-keys": "5.8.1",
+        "debug": "^4.3.2",
+        "globby": "^11.0.4",
+        "is-glob": "^4.0.3",
+        "semver": "^7.3.5",
+        "tsutils": "^3.21.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@typescript-eslint/visitor-keys": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.1.tgz",
+      "integrity": "sha512-SWgiWIwocK6NralrJarPZlWdr0hZnj5GXHIgfdm8hNkyKvpeQuFyLP6YjSIe9kf3YBIfU6OHSZLYkQ+smZwtNg==",
+      "dev": true,
+      "dependencies": {
+        "@typescript-eslint/types": "5.8.1",
+        "eslint-visitor-keys": "^3.0.0"
+      },
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      }
+    },
+    "node_modules/@web/browser-logs": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.4.0.tgz",
+      "integrity": "sha512-/EBiDAUCJ2DzZhaFxTPRIznEPeafdLbXShIL6aTu7x73x7ZoxSDv7DGuTsh2rWNMUa4+AKli4UORrpyv6QBOiA==",
+      "dev": true,
+      "dependencies": {
+        "errorstacks": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=18.0.0"
+      }
+    },
+    "node_modules/@web/config-loader": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.3.1.tgz",
+      "integrity": "sha512-IYjHXUgSGGNpO3YJQ9foLcazbJlAWDdJGRe9be7aOhon0Nd6Na5JIOJAej7jsMu76fKHr4b4w2LfIdNQ4fJ8pA==",
+      "dev": true,
+      "engines": {
+        "node": ">=18.0.0"
+      }
+    },
+    "node_modules/@web/dev-server": {
+      "version": "0.4.3",
+      "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.4.3.tgz",
+      "integrity": "sha512-vf2ZVjdTj8ExrMSYagyHD+snRue9oRetynxd1p0P7ndEpZDKeNLYsvkJyo0pNU6moBxHmXnYeC5VrAT4E3+lNg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.12.11",
+        "@types/command-line-args": "^5.0.0",
+        "@web/config-loader": "^0.3.0",
+        "@web/dev-server-core": "^0.7.1",
+        "@web/dev-server-rollup": "^0.6.1",
+        "camelcase": "^6.2.0",
+        "command-line-args": "^5.1.1",
+        "command-line-usage": "^7.0.1",
+        "debounce": "^1.2.0",
+        "deepmerge": "^4.2.2",
+        "ip": "^2.0.1",
+        "nanocolors": "^0.2.1",
+        "open": "^8.0.2",
+        "portfinder": "^1.0.32"
+      },
+      "bin": {
+        "wds": "dist/bin.js",
+        "web-dev-server": "dist/bin.js"
+      },
+      "engines": {
+        "node": ">=18.0.0"
+      }
+    },
+    "node_modules/@web/dev-server-core": {
+      "version": "0.7.1",
+      "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.7.1.tgz",
+      "integrity": "sha512-alHd2j0f4e1ekqYDR8lWScrzR7D5gfsUZq3BP3De9bkFWM3AELINCmqqlVKmCtlkAdEc9VyQvNiEqrxraOdc2A==",
+      "dev": true,
+      "dependencies": {
+        "@types/koa": "^2.11.6",
+        "@types/ws": "^7.4.0",
+        "@web/parse5-utils": "^2.1.0",
+        "chokidar": "^3.4.3",
+        "clone": "^2.1.2",
+        "es-module-lexer": "^1.0.0",
+        "get-stream": "^6.0.0",
+        "is-stream": "^2.0.0",
+        "isbinaryfile": "^5.0.0",
+        "koa": "^2.13.0",
+        "koa-etag": "^4.0.0",
+        "koa-send": "^5.0.1",
+        "koa-static": "^5.0.0",
+        "lru-cache": "^8.0.4",
+        "mime-types": "^2.1.27",
+        "parse5": "^6.0.1",
+        "picomatch": "^2.2.2",
+        "ws": "^7.4.2"
+      },
+      "engines": {
+        "node": ">=18.0.0"
+      }
+    },
+    "node_modules/@web/dev-server-core/node_modules/clone": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+      "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/@web/dev-server-core/node_modules/isbinaryfile": {
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.2.tgz",
+      "integrity": "sha512-GvcjojwonMjWbTkfMpnVHVqXW/wKMYDfEpY94/8zy8HFMOqb/VL6oeONq9v87q4ttVlaTLnGXnJD4B5B1OTGIg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 18.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/gjtorikian/"
+      }
+    },
+    "node_modules/@web/dev-server-core/node_modules/lru-cache": {
+      "version": "8.0.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz",
+      "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==",
+      "dev": true,
+      "engines": {
+        "node": ">=16.14"
+      }
+    },
+    "node_modules/@web/dev-server-core/node_modules/parse5": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+      "dev": true
+    },
+    "node_modules/@web/dev-server-core/node_modules/ws": {
+      "version": "7.5.9",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+      "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.3.0"
+      },
+      "peerDependencies": {
+        "bufferutil": "^4.0.1",
+        "utf-8-validate": "^5.0.2"
+      },
+      "peerDependenciesMeta": {
+        "bufferutil": {
+          "optional": true
+        },
+        "utf-8-validate": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@web/dev-server-esbuild": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@web/dev-server-esbuild/-/dev-server-esbuild-1.0.2.tgz",
+      "integrity": "sha512-ak5mKt7L0H/Fa470Ku7p9A1eI32DNyFGM83jDkJviBO8r3lM00O5hVFW1K+UIYNC5EyanLyPxTqgtIuQEyMYcQ==",
+      "dev": true,
+      "dependencies": {
+        "@mdn/browser-compat-data": "^4.0.0",
+        "@web/dev-server-core": "^0.7.0",
+        "esbuild": "^0.19.11",
+        "get-tsconfig": "^4.7.2",
+        "parse5": "^6.0.1",
+        "ua-parser-js": "^1.0.33"
+      },
+      "engines": {
+        "node": ">=18.0.0"
+      }
+    },
+    "node_modules/@web/dev-server-esbuild/node_modules/parse5": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+      "dev": true
+    },
+    "node_modules/@web/dev-server-esbuild/node_modules/ua-parser-js": {
+      "version": "1.0.37",
+      "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz",
+      "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/ua-parser-js"
+        },
+        {
+          "type": "paypal",
+          "url": "https://paypal.me/faisalman"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/faisalman"
+        }
+      ],
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/@web/dev-server-rollup": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.6.1.tgz",
+      "integrity": "sha512-vhtsQ8qu1pBHailOBOYJwZnYDc1Lmx6ZAd2j+y5PD2ck0R1LmVsZ7dZK8hDCpkvpvlu2ndURjL9tbzdcsBRJmg==",
+      "dev": true,
+      "dependencies": {
+        "@rollup/plugin-node-resolve": "^15.0.1",
+        "@web/dev-server-core": "^0.7.0",
+        "nanocolors": "^0.2.1",
+        "parse5": "^6.0.1",
+        "rollup": "^4.4.0",
+        "whatwg-url": "^11.0.0"
+      },
+      "engines": {
+        "node": ">=18.0.0"
+      }
+    },
+    "node_modules/@web/dev-server-rollup/node_modules/parse5": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+      "dev": true
+    },
+    "node_modules/@web/dev-server/node_modules/camelcase": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@web/parse5-utils": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@web/parse5-utils/-/parse5-utils-2.1.0.tgz",
+      "integrity": "sha512-GzfK5disEJ6wEjoPwx8AVNwUe9gYIiwc+x//QYxYDAFKUp4Xb1OJAGLc2l2gVrSQmtPGLKrTRcW90Hv4pEq1qA==",
+      "dev": true,
+      "dependencies": {
+        "@types/parse5": "^6.0.1",
+        "parse5": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=18.0.0"
+      }
+    },
+    "node_modules/@web/parse5-utils/node_modules/parse5": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+      "dev": true
+    },
+    "node_modules/@web/test-runner": {
+      "version": "0.18.1",
+      "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.1.tgz",
+      "integrity": "sha512-jB/9vrpGVtcLY6/7sPpKpSheQ3wWY9P5aQcz2SK2gMHTq3gNpa51NAyec0Al7EFpHvJ1wKYTGRLB2gPyEoJeDg==",
+      "dev": true,
+      "dependencies": {
+        "@web/browser-logs": "^0.4.0",
+        "@web/config-loader": "^0.3.0",
+        "@web/dev-server": "^0.4.0",
+        "@web/test-runner-chrome": "^0.16.0",
+        "@web/test-runner-commands": "^0.9.0",
+        "@web/test-runner-core": "^0.13.0",
+        "@web/test-runner-mocha": "^0.9.0",
+        "camelcase": "^6.2.0",
+        "command-line-args": "^5.1.1",
+        "command-line-usage": "^7.0.1",
+        "convert-source-map": "^2.0.0",
+        "diff": "^5.0.0",
+        "globby": "^11.0.1",
+        "nanocolors": "^0.2.1",
+        "portfinder": "^1.0.32",
+        "source-map": "^0.7.3"
+      },
+      "bin": {
+        "web-test-runner": "dist/bin.js",
+        "wtr": "dist/bin.js"
+      },
+      "engines": {
+        "node": ">=18.0.0"
+      }
+    },
+    "node_modules/@web/test-runner-chrome": {
+      "version": "0.16.0",
+      "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.16.0.tgz",
+      "integrity": "sha512-Edc6Y49aVB6k18S5IOj9OCX3rEf8F3jptIu0p95+imqxmcutFEh1GNmlAk2bQGnXS0U6uVY7Xbf61fiaXUQqhg==",
+      "dev": true,
+      "dependencies": {
+        "@web/test-runner-core": "^0.13.0",
+        "@web/test-runner-coverage-v8": "^0.8.0",
+        "async-mutex": "0.4.0",
+        "chrome-launcher": "^0.15.0",
+        "puppeteer-core": "^22.0.0"
+      },
+      "engines": {
+        "node": ">=18.0.0"
+      }
+    },
+    "node_modules/@web/test-runner-commands": {
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.9.0.tgz",
+      "integrity": "sha512-zeLI6QdH0jzzJMDV5O42Pd8WLJtYqovgdt0JdytgHc0d1EpzXDsc7NTCJSImboc2NcayIsWAvvGGeRF69SMMYg==",
+      "dev": true,
+      "dependencies": {
+        "@web/test-runner-core": "^0.13.0",
+        "mkdirp": "^1.0.4"
+      },
+      "engines": {
+        "node": ">=18.0.0"
+      }
+    },
+    "node_modules/@web/test-runner-commands/node_modules/mkdirp": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+      "dev": true,
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@web/test-runner-core": {
+      "version": "0.13.1",
+      "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.13.1.tgz",
+      "integrity": "sha512-2hESALx/UFsAzK+ApWXAkFp2eCmwcs2yj1v4YjwV8F38sQumJ40P3px3BMjFwkOYDORtQOicW0RUeSw1g3BMLA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.12.11",
+        "@types/babel__code-frame": "^7.0.2",
+        "@types/co-body": "^6.1.0",
+        "@types/convert-source-map": "^2.0.0",
+        "@types/debounce": "^1.2.0",
+        "@types/istanbul-lib-coverage": "^2.0.3",
+        "@types/istanbul-reports": "^3.0.0",
+        "@web/browser-logs": "^0.4.0",
+        "@web/dev-server-core": "^0.7.0",
+        "chokidar": "^3.4.3",
+        "cli-cursor": "^3.1.0",
+        "co-body": "^6.1.0",
+        "convert-source-map": "^2.0.0",
+        "debounce": "^1.2.0",
+        "dependency-graph": "^0.11.0",
+        "globby": "^11.0.1",
+        "ip": "^2.0.1",
+        "istanbul-lib-coverage": "^3.0.0",
+        "istanbul-lib-report": "^3.0.1",
+        "istanbul-reports": "^3.0.2",
+        "log-update": "^4.0.0",
+        "nanocolors": "^0.2.1",
+        "nanoid": "^3.1.25",
+        "open": "^8.0.2",
+        "picomatch": "^2.2.2",
+        "source-map": "^0.7.3"
+      },
+      "engines": {
+        "node": ">=18.0.0"
+      }
     },
-    "node_modules/@types/babel__code-frame": {
-      "version": "7.0.6",
-      "resolved": "https://registry.npmjs.org/@types/babel__code-frame/-/babel__code-frame-7.0.6.tgz",
-      "integrity": "sha512-Anitqkl3+KrzcW2k77lRlg/GfLZLWXBuNgbEcIOU6M92yw42vsd3xV/Z/yAHEj8m+KUjL6bWOVOFqX8PFPJ4LA==",
+    "node_modules/@web/test-runner-core/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
       "dev": true
     },
-    "node_modules/@types/bluebird": {
-      "version": "3.5.42",
-      "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.42.tgz",
-      "integrity": "sha512-Jhy+MWRlro6UjVi578V/4ZGNfeCOcNCp0YaFNIUGFKlImowqwb1O/22wDVk3FDGMLqxdpOV3qQHD5fPEH4hK6A==",
-      "dev": true
+    "node_modules/@web/test-runner-core/node_modules/source-map": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
     },
-    "node_modules/@types/body-parser": {
-      "version": "1.19.5",
-      "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
-      "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
+    "node_modules/@web/test-runner-coverage-v8": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.8.0.tgz",
+      "integrity": "sha512-PskiucYpjUtgNfR2zF2AWqWwjXL7H3WW/SnCAYmzUrtob7X9o/+BjdyZ4wKbOxWWSbJO4lEdGIDLu+8X2Xw+lA==",
+      "dev": true,
       "dependencies": {
-        "@types/connect": "*",
-        "@types/node": "*"
+        "@web/test-runner-core": "^0.13.0",
+        "istanbul-lib-coverage": "^3.0.0",
+        "lru-cache": "^8.0.4",
+        "picomatch": "^2.2.2",
+        "v8-to-istanbul": "^9.0.1"
+      },
+      "engines": {
+        "node": ">=18.0.0"
       }
     },
-    "node_modules/@types/bson": {
-      "version": "4.0.5",
-      "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.5.tgz",
-      "integrity": "sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg==",
+    "node_modules/@web/test-runner-coverage-v8/node_modules/lru-cache": {
+      "version": "8.0.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz",
+      "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==",
       "dev": true,
-      "dependencies": {
-        "@types/node": "*"
+      "engines": {
+        "node": ">=16.14"
       }
     },
-    "node_modules/@types/bunyan": {
-      "version": "1.8.11",
-      "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.11.tgz",
-      "integrity": "sha512-758fRH7umIMk5qt5ELmRMff4mLDlN+xyYzC+dkPTdKwbSkJFvz6xwyScrytPU0QIBbRRwbiE8/BIg8bpajerNQ==",
+    "node_modules/@web/test-runner-mocha": {
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/@web/test-runner-mocha/-/test-runner-mocha-0.9.0.tgz",
+      "integrity": "sha512-ZL9F6FXd0DBQvo/h/+mSfzFTSRVxzV9st/AHhpgABtUtV/AIpVE9to6+xdkpu6827kwjezdpuadPfg+PlrBWqQ==",
       "dev": true,
       "dependencies": {
-        "@types/node": "*"
+        "@web/test-runner-core": "^0.13.0"
+      },
+      "engines": {
+        "node": ">=18.0.0"
       }
     },
-    "node_modules/@types/chai": {
-      "version": "4.3.12",
-      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.12.tgz",
-      "integrity": "sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==",
+    "node_modules/@web/test-runner/node_modules/camelcase": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@web/test-runner/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
       "dev": true
     },
-    "node_modules/@types/co-body": {
-      "version": "6.1.3",
-      "resolved": "https://registry.npmjs.org/@types/co-body/-/co-body-6.1.3.tgz",
-      "integrity": "sha512-UhuhrQ5hclX6UJctv5m4Rfp52AfG9o9+d9/HwjxhVB5NjXxr5t9oKgJxN8xRHgr35oo8meUEHUPFWiKg6y71aA==",
+    "node_modules/@web/test-runner/node_modules/diff": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+      "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
       "dev": true,
-      "dependencies": {
-        "@types/node": "*",
-        "@types/qs": "*"
+      "engines": {
+        "node": ">=0.3.1"
       }
     },
-    "node_modules/@types/command-line-args": {
-      "version": "5.2.3",
-      "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.3.tgz",
-      "integrity": "sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==",
-      "dev": true
+    "node_modules/@web/test-runner/node_modules/source-map": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
     },
-    "node_modules/@types/connect": {
-      "version": "3.4.38",
-      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
-      "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
+    "node_modules/@webassemblyjs/ast": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
+      "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
+      "dev": true,
       "dependencies": {
-        "@types/node": "*"
+        "@webassemblyjs/helper-numbers": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
       }
     },
-    "node_modules/@types/content-disposition": {
-      "version": "0.5.8",
-      "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.8.tgz",
-      "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg=="
+    "node_modules/@webassemblyjs/floating-point-hex-parser": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
+      "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
+      "dev": true
     },
-    "node_modules/@types/convert-source-map": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/@types/convert-source-map/-/convert-source-map-2.0.3.tgz",
-      "integrity": "sha512-ag0BfJLZf6CQz8VIuRIEYQ5Ggwk/82uvTQf27RcpyDNbY0Vw49LIPqAxk5tqYfrCs9xDaIMvl4aj7ZopnYL8bA==",
+    "node_modules/@webassemblyjs/helper-api-error": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
+      "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
       "dev": true
     },
-    "node_modules/@types/cookie": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
-      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==",
+    "node_modules/@webassemblyjs/helper-buffer": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
+      "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
       "dev": true
     },
-    "node_modules/@types/cookies": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.9.0.tgz",
-      "integrity": "sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==",
+    "node_modules/@webassemblyjs/helper-numbers": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+      "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
+      "dev": true,
       "dependencies": {
-        "@types/connect": "*",
-        "@types/express": "*",
-        "@types/keygrip": "*",
-        "@types/node": "*"
+        "@webassemblyjs/floating-point-hex-parser": "1.11.6",
+        "@webassemblyjs/helper-api-error": "1.11.6",
+        "@xtuc/long": "4.2.2"
       }
     },
-    "node_modules/@types/cors": {
-      "version": "2.8.17",
-      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz",
-      "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==",
+    "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+      "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
+      "dev": true
+    },
+    "node_modules/@webassemblyjs/helper-wasm-section": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
+      "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
       "dev": true,
       "dependencies": {
-        "@types/node": "*"
+        "@webassemblyjs/ast": "1.12.1",
+        "@webassemblyjs/helper-buffer": "1.12.1",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/wasm-gen": "1.12.1"
       }
     },
-    "node_modules/@types/debounce": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.4.tgz",
-      "integrity": "sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw==",
-      "dev": true
+    "node_modules/@webassemblyjs/ieee754": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+      "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
+      "dev": true,
+      "dependencies": {
+        "@xtuc/ieee754": "^1.2.0"
+      }
     },
-    "node_modules/@types/estree": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
-      "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+    "node_modules/@webassemblyjs/leb128": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+      "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
+      "dev": true,
+      "dependencies": {
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "node_modules/@webassemblyjs/utf8": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+      "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
       "dev": true
     },
-    "node_modules/@types/express": {
-      "version": "4.17.18",
-      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz",
-      "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==",
+    "node_modules/@webassemblyjs/wasm-edit": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
+      "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
+      "dev": true,
       "dependencies": {
-        "@types/body-parser": "*",
-        "@types/express-serve-static-core": "^4.17.33",
-        "@types/qs": "*",
-        "@types/serve-static": "*"
+        "@webassemblyjs/ast": "1.12.1",
+        "@webassemblyjs/helper-buffer": "1.12.1",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/helper-wasm-section": "1.12.1",
+        "@webassemblyjs/wasm-gen": "1.12.1",
+        "@webassemblyjs/wasm-opt": "1.12.1",
+        "@webassemblyjs/wasm-parser": "1.12.1",
+        "@webassemblyjs/wast-printer": "1.12.1"
       }
     },
-    "node_modules/@types/express-serve-static-core": {
-      "version": "4.17.43",
-      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz",
-      "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==",
+    "node_modules/@webassemblyjs/wasm-gen": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
+      "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
+      "dev": true,
       "dependencies": {
-        "@types/node": "*",
-        "@types/qs": "*",
-        "@types/range-parser": "*",
-        "@types/send": "*"
+        "@webassemblyjs/ast": "1.12.1",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/ieee754": "1.11.6",
+        "@webassemblyjs/leb128": "1.11.6",
+        "@webassemblyjs/utf8": "1.11.6"
       }
     },
-    "node_modules/@types/generic-pool": {
-      "version": "3.8.1",
-      "resolved": "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.8.1.tgz",
-      "integrity": "sha512-eaMAbZS0EfKvaP5PUZ/Cdf5uJBO2t6T3RdvQTKuMqUwGhNpCnPAsKWEMyV+mCeCQG3UiHrtgdzni8X6DmhxRaQ==",
-      "deprecated": "This is a stub types definition. generic-pool provides its own type definitions, so you do not need this installed.",
+    "node_modules/@webassemblyjs/wasm-opt": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
+      "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
       "dev": true,
       "dependencies": {
-        "generic-pool": "*"
+        "@webassemblyjs/ast": "1.12.1",
+        "@webassemblyjs/helper-buffer": "1.12.1",
+        "@webassemblyjs/wasm-gen": "1.12.1",
+        "@webassemblyjs/wasm-parser": "1.12.1"
       }
     },
-    "node_modules/@types/http-assert": {
-      "version": "1.5.5",
-      "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz",
-      "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g=="
-    },
-    "node_modules/@types/http-errors": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
-      "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA=="
+    "node_modules/@webassemblyjs/wasm-parser": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
+      "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
+      "dev": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.12.1",
+        "@webassemblyjs/helper-api-error": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/ieee754": "1.11.6",
+        "@webassemblyjs/leb128": "1.11.6",
+        "@webassemblyjs/utf8": "1.11.6"
+      }
     },
-    "node_modules/@types/ioredis4": {
-      "name": "@types/ioredis",
-      "version": "4.28.10",
-      "resolved": "https://registry.npmjs.org/@types/ioredis/-/ioredis-4.28.10.tgz",
-      "integrity": "sha512-69LyhUgrXdgcNDv7ogs1qXZomnfOEnSmrmMFqKgt1XMJxmoOSG/u3wYy13yACIfKuMJ8IhKgHafDO3sx19zVQQ==",
+    "node_modules/@webassemblyjs/wast-printer": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
+      "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
       "dev": true,
       "dependencies": {
-        "@types/node": "*"
+        "@webassemblyjs/ast": "1.12.1",
+        "@xtuc/long": "4.2.2"
       }
     },
-    "node_modules/@types/istanbul-lib-coverage": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
-      "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+    "node_modules/@webpack-cli/configtest": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz",
+      "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==",
+      "dev": true,
+      "engines": {
+        "node": ">=14.15.0"
+      },
+      "peerDependencies": {
+        "webpack": "5.x.x",
+        "webpack-cli": "5.x.x"
+      }
+    },
+    "node_modules/@webpack-cli/info": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz",
+      "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==",
+      "dev": true,
+      "engines": {
+        "node": ">=14.15.0"
+      },
+      "peerDependencies": {
+        "webpack": "5.x.x",
+        "webpack-cli": "5.x.x"
+      }
+    },
+    "node_modules/@webpack-cli/serve": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz",
+      "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=14.15.0"
+      },
+      "peerDependencies": {
+        "webpack": "5.x.x",
+        "webpack-cli": "5.x.x"
+      },
+      "peerDependenciesMeta": {
+        "webpack-dev-server": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@xtuc/ieee754": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
       "dev": true
     },
-    "node_modules/@types/istanbul-lib-report": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
-      "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
+    "node_modules/@xtuc/long": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+      "dev": true
+    },
+    "node_modules/@yarnpkg/lockfile": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
+      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
+      "dev": true
+    },
+    "node_modules/@yarnpkg/parsers": {
+      "version": "3.0.0-rc.46",
+      "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz",
+      "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==",
       "dev": true,
       "dependencies": {
-        "@types/istanbul-lib-coverage": "*"
+        "js-yaml": "^3.10.0",
+        "tslib": "^2.4.0"
+      },
+      "engines": {
+        "node": ">=14.15.0"
       }
     },
-    "node_modules/@types/istanbul-reports": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
-      "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+    "node_modules/@yarnpkg/parsers/node_modules/argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
       "dev": true,
       "dependencies": {
-        "@types/istanbul-lib-report": "*"
+        "sprintf-js": "~1.0.2"
       }
     },
-    "node_modules/@types/jquery": {
-      "version": "3.5.20",
-      "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.20.tgz",
-      "integrity": "sha512-UI+EGhgYD4LdSZ8gaiziFqXYIIB38VQSDsnAs8jL/div7FGrzrShx4HKCykVzk3tPfiIlusdNP9Wi3G60LCF2Q==",
+    "node_modules/@yarnpkg/parsers/node_modules/js-yaml": {
+      "version": "3.14.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
       "dev": true,
       "dependencies": {
-        "@types/sizzle": "*"
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
       }
     },
-    "node_modules/@types/json-schema": {
-      "version": "7.0.15",
-      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
-      "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+    "node_modules/@yarnpkg/parsers/node_modules/sprintf-js": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+      "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
       "dev": true
     },
-    "node_modules/@types/json5": {
-      "version": "0.0.29",
-      "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
-      "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
-      "dev": true
+    "node_modules/@zkochan/js-yaml": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz",
+      "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==",
+      "dev": true,
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
     },
-    "node_modules/@types/keygrip": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.6.tgz",
-      "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ=="
+    "node_modules/abbrev": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
+      "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
     },
-    "node_modules/@types/koa": {
-      "version": "2.14.0",
-      "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.14.0.tgz",
-      "integrity": "sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==",
+    "node_modules/abort-controller": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+      "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+      "dev": true,
       "dependencies": {
-        "@types/accepts": "*",
-        "@types/content-disposition": "*",
-        "@types/cookies": "*",
-        "@types/http-assert": "*",
-        "@types/http-errors": "*",
-        "@types/keygrip": "*",
-        "@types/koa-compose": "*",
-        "@types/node": "*"
+        "event-target-shim": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=6.5"
       }
     },
-    "node_modules/@types/koa__router": {
-      "version": "12.0.3",
-      "resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-12.0.3.tgz",
-      "integrity": "sha512-5YUJVv6NwM1z7m6FuYpKfNLTZ932Z6EF6xy2BbtpJSyn13DKNQEkXVffFVSnJHxvwwWh2SAeumpjAYUELqgjyw==",
+    "node_modules/abstract-logging": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz",
+      "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==",
+      "dev": true
+    },
+    "node_modules/accepts": {
+      "version": "1.3.8",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+      "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+      "dev": true,
       "dependencies": {
-        "@types/koa": "*"
+        "mime-types": "~2.1.34",
+        "negotiator": "0.6.3"
+      },
+      "engines": {
+        "node": ">= 0.6"
       }
     },
-    "node_modules/@types/koa-compose": {
-      "version": "3.2.8",
-      "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.8.tgz",
-      "integrity": "sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==",
-      "dependencies": {
-        "@types/koa": "*"
+    "node_modules/acorn": {
+      "version": "8.11.3",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+      "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
       }
     },
-    "node_modules/@types/lodash": {
-      "version": "4.14.199",
-      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz",
-      "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==",
+    "node_modules/acorn-import-assertions": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
+      "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
+      "dev": true,
+      "peerDependencies": {
+        "acorn": "^8"
+      }
+    },
+    "node_modules/acorn-import-attributes": {
+      "version": "1.9.5",
+      "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
+      "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
+      "peerDependencies": {
+        "acorn": "^8"
+      }
+    },
+    "node_modules/acorn-jsx": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+      "dev": true,
+      "peerDependencies": {
+        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      }
+    },
+    "node_modules/add-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz",
+      "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==",
       "dev": true
     },
-    "node_modules/@types/long": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
-      "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==",
+    "node_modules/adm-zip": {
+      "version": "0.5.10",
+      "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz",
+      "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.0"
+      }
+    },
+    "node_modules/after-all-results": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/after-all-results/-/after-all-results-2.0.0.tgz",
+      "integrity": "sha512-2zHEyuhSJOuCrmas9YV0YL/MFCWLxe1dS6k/ENhgYrb/JqyMnadLN4iIAc9kkZrbElMDyyAGH/0J18OPErOWLg==",
       "dev": true
     },
-    "node_modules/@types/lru-cache": {
-      "version": "7.10.9",
-      "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-7.10.9.tgz",
-      "integrity": "sha512-wrwgkdJ0xr8AbzKhVaRI8SXZN9saapPwwLoydBEr4HqMZET1LUTi1gdoaj82XmRJ9atqN7MtB0aja29iiK+7ag==",
+    "node_modules/agent-base": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
+      "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+      "dependencies": {
+        "debug": "^4.3.4"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/agentkeepalive": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
+      "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
+      "dev": true,
+      "dependencies": {
+        "humanize-ms": "^1.2.1"
+      },
+      "engines": {
+        "node": ">= 8.0.0"
+      }
+    },
+    "node_modules/aggregate-error": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
       "dev": true,
       "dependencies": {
-        "lru-cache": "*"
+        "clean-stack": "^2.0.0",
+        "indent-string": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/@types/memcached": {
-      "version": "2.2.10",
-      "resolved": "https://registry.npmjs.org/@types/memcached/-/memcached-2.2.10.tgz",
-      "integrity": "sha512-AM9smvZN55Gzs2wRrqeMHVP7KE8KWgCJO/XL5yCly2xF6EKa4YlbpK+cLSAH4NG/Ah64HrlegmGqW8kYws7Vxg==",
+    "node_modules/ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "dev": true,
       "dependencies": {
-        "@types/node": "*"
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
       }
     },
-    "node_modules/@types/mime": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
-      "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="
-    },
-    "node_modules/@types/minimatch": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
-      "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
-      "dev": true
-    },
-    "node_modules/@types/minimist": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
-      "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
-      "dev": true
-    },
-    "node_modules/@types/mocha": {
-      "version": "7.0.2",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz",
-      "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==",
-      "dev": true
-    },
-    "node_modules/@types/mongodb": {
-      "version": "3.6.20",
-      "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz",
-      "integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==",
+    "node_modules/ajv-formats": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+      "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
       "dev": true,
       "dependencies": {
-        "@types/bson": "*",
-        "@types/node": "*"
+        "ajv": "^8.0.0"
+      },
+      "peerDependencies": {
+        "ajv": "^8.0.0"
+      },
+      "peerDependenciesMeta": {
+        "ajv": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@types/mysql": {
-      "version": "2.15.22",
-      "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.22.tgz",
-      "integrity": "sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==",
+    "node_modules/ajv-formats/node_modules/ajv": {
+      "version": "8.12.0",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+      "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+      "dev": true,
       "dependencies": {
-        "@types/node": "*"
+        "fast-deep-equal": "^3.1.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2",
+        "uri-js": "^4.2.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
       }
     },
-    "node_modules/@types/node": {
-      "version": "18.6.5",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.5.tgz",
-      "integrity": "sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw=="
-    },
-    "node_modules/@types/normalize-package-data": {
-      "version": "2.4.4",
-      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
-      "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
-      "dev": true
-    },
-    "node_modules/@types/parse-json": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
-      "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
-      "dev": true
-    },
-    "node_modules/@types/parse5": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz",
-      "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==",
+    "node_modules/ajv-formats/node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
       "dev": true
     },
-    "node_modules/@types/pg": {
-      "version": "8.6.1",
-      "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz",
-      "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==",
-      "dependencies": {
-        "@types/node": "*",
-        "pg-protocol": "*",
-        "pg-types": "^2.2.0"
+    "node_modules/ajv-keywords": {
+      "version": "3.5.2",
+      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+      "dev": true,
+      "peerDependencies": {
+        "ajv": "^6.9.1"
       }
     },
-    "node_modules/@types/pg-pool": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.4.tgz",
-      "integrity": "sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ==",
+    "node_modules/amqplib": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.8.0.tgz",
+      "integrity": "sha512-icU+a4kkq4Y1PS4NNi+YPDMwdlbFcZ1EZTQT2nigW3fvOb6AOgUQ9+Mk4ue0Zu5cBg/XpDzB40oH10ysrk2dmA==",
+      "dev": true,
       "dependencies": {
-        "@types/pg": "*"
+        "bitsyntax": "~0.1.0",
+        "bluebird": "^3.7.2",
+        "buffer-more-ints": "~1.0.0",
+        "readable-stream": "1.x >=1.1.9",
+        "safe-buffer": "~5.2.1",
+        "url-parse": "~1.5.1"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/@types/prop-types": {
-      "version": "15.7.11",
-      "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
-      "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==",
-      "dev": true
-    },
-    "node_modules/@types/qs": {
-      "version": "6.9.11",
-      "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz",
-      "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ=="
-    },
-    "node_modules/@types/range-parser": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
-      "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="
+    "node_modules/ansi-color": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-color/-/ansi-color-0.2.1.tgz",
+      "integrity": "sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ==",
+      "engines": {
+        "node": "*"
+      }
     },
-    "node_modules/@types/react": {
-      "version": "17.0.67",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.67.tgz",
-      "integrity": "sha512-zE76EIJ0Y58Oy9yDX/9csb/NuKjt0Eq2YgWb/8Wxo91YmuLzzbyiRoaqJE9h8iDlsT7n35GdpoLomHlaB1kFbg==",
+    "node_modules/ansi-colors": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
+      "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
       "dev": true,
-      "dependencies": {
-        "@types/prop-types": "*",
-        "@types/scheduler": "*",
-        "csstype": "^3.0.2"
+      "engines": {
+        "node": ">=6"
       }
     },
-    "node_modules/@types/react-addons-test-utils": {
-      "version": "0.14.26",
-      "resolved": "https://registry.npmjs.org/@types/react-addons-test-utils/-/react-addons-test-utils-0.14.26.tgz",
-      "integrity": "sha512-zrnMrqGCfIniXyipb9HFPgdWf9TO0llA7n5QduJsx0IDB0pPK8p3/4rL4SfOLgsmtbb2X2XWCW9kBn/2k+52fg==",
+    "node_modules/ansi-diff-stream": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-diff-stream/-/ansi-diff-stream-1.2.1.tgz",
+      "integrity": "sha512-PaKs34INoKpTzcjyKd2GM/CCEeTyDgWKuHSgF0z7ywjpbBFj/pzQf/30v+TR6VBBLia6Mso+W2ygU22ljqbi6A==",
       "dev": true,
       "dependencies": {
-        "@types/react": "*"
+        "ansi-regex": "^2.0.0",
+        "buffer-from": "^1.0.0",
+        "through2": "^2.0.1"
+      },
+      "bin": {
+        "ansi-diff-stream": "bin.js"
       }
     },
-    "node_modules/@types/react-dom": {
-      "version": "18.0.2",
-      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.2.tgz",
-      "integrity": "sha512-UxeS+Wtj5bvLRREz9tIgsK4ntCuLDo0EcAcACgw3E+9wE8ePDr9uQpq53MfcyxyIS55xJ+0B6mDS8c4qkkHLBg==",
+    "node_modules/ansi-diff-stream/node_modules/ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
       "dev": true,
-      "dependencies": {
-        "@types/react": "*"
+      "engines": {
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@types/readable-stream": {
-      "version": "4.0.12",
-      "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.12.tgz",
-      "integrity": "sha512-SCaw+bs9o/HCX1eTa3glTcQgW1oPxof49mqP2Qikik3xzTimNv2M4p43BQHhBuf7CwOJdQW0s1SrWU3MZxz6lw==",
+    "node_modules/ansi-diff-stream/node_modules/readable-stream": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
       "dev": true,
       "dependencies": {
-        "@types/node": "*",
-        "safe-buffer": "~5.1.1"
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
       }
     },
-    "node_modules/@types/readable-stream/node_modules/safe-buffer": {
+    "node_modules/ansi-diff-stream/node_modules/safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
       "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
       "dev": true
     },
-    "node_modules/@types/redis": {
-      "version": "2.8.32",
-      "resolved": "https://registry.npmjs.org/@types/redis/-/redis-2.8.32.tgz",
-      "integrity": "sha512-7jkMKxcGq9p242exlbsVzuJb57KqHRhNl4dHoQu2Y5v9bCAbtIXXH0R3HleSQW4CTOqpHIYUW3t6tpUj4BVQ+w==",
+    "node_modules/ansi-diff-stream/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
       "dev": true,
       "dependencies": {
-        "@types/node": "*"
+        "safe-buffer": "~5.1.0"
       }
     },
-    "node_modules/@types/resolve": {
-      "version": "1.20.2",
-      "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
-      "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
-      "dev": true
-    },
-    "node_modules/@types/restify": {
-      "version": "4.3.10",
-      "resolved": "https://registry.npmjs.org/@types/restify/-/restify-4.3.10.tgz",
-      "integrity": "sha512-lSt9uvWwdYrGgRCqKyh5DyC008xN8hij5RWzOPlPaTiec2smfpd7s034BASPDMIG4WhRfk0y4oLFoAi/AzVN9g==",
+    "node_modules/ansi-diff-stream/node_modules/through2": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
       "dev": true,
       "dependencies": {
-        "@types/bunyan": "*",
-        "@types/node": "*"
+        "readable-stream": "~2.3.6",
+        "xtend": "~4.0.1"
       }
     },
-    "node_modules/@types/scheduler": {
-      "version": "0.16.8",
-      "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
-      "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==",
-      "dev": true
-    },
-    "node_modules/@types/semver": {
-      "version": "7.5.3",
-      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz",
-      "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==",
-      "dev": true
-    },
-    "node_modules/@types/send": {
-      "version": "0.17.4",
-      "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
-      "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
+    "node_modules/ansi-escapes": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+      "dev": true,
       "dependencies": {
-        "@types/mime": "^1",
-        "@types/node": "*"
+        "type-fest": "^0.21.3"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@types/serve-static": {
-      "version": "1.15.5",
-      "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz",
-      "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==",
-      "dependencies": {
-        "@types/http-errors": "*",
-        "@types/mime": "*",
-        "@types/node": "*"
+    "node_modules/ansi-regex": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
+      "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
       }
     },
-    "node_modules/@types/shimmer": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.0.3.tgz",
-      "integrity": "sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA=="
-    },
-    "node_modules/@types/sinon": {
-      "version": "10.0.18",
-      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.18.tgz",
-      "integrity": "sha512-OpQC9ug8BcnNxue2WF5aTruMaDRFn6NyfaE4DmAKOlQMn54b7CnCvDFV3wj5fk/HbSSTYmOYs2bTb5ShANjyQg==",
+    "node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
       "dev": true,
       "dependencies": {
-        "@types/sinonjs__fake-timers": "*"
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
       }
     },
-    "node_modules/@types/sinonjs__fake-timers": {
-      "version": "8.1.5",
-      "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz",
-      "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==",
-      "dev": true
-    },
-    "node_modules/@types/sizzle": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz",
-      "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==",
-      "dev": true
-    },
-    "node_modules/@types/stack-utils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
-      "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
+    "node_modules/any-promise": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+      "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
       "dev": true
     },
-    "node_modules/@types/tedious": {
-      "version": "4.0.14",
-      "resolved": "https://registry.npmjs.org/@types/tedious/-/tedious-4.0.14.tgz",
-      "integrity": "sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==",
+    "node_modules/anymatch": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+      "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+      "dev": true,
       "dependencies": {
-        "@types/node": "*"
+        "normalize-path": "^3.0.0",
+        "picomatch": "^2.0.4"
+      },
+      "engines": {
+        "node": ">= 8"
       }
     },
-    "node_modules/@types/triple-beam": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz",
-      "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw=="
-    },
-    "node_modules/@types/uuid": {
-      "version": "9.0.1",
-      "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz",
-      "integrity": "sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==",
-      "dev": true
-    },
-    "node_modules/@types/webidl-conversions": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
-      "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
-      "dev": true
-    },
-    "node_modules/@types/webpack-env": {
-      "version": "1.16.2",
-      "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.2.tgz",
-      "integrity": "sha512-vKx7WNQNZDyJveYcHAm9ZxhqSGLYwoyLhrHjLBOkw3a7cT76sTdjgtwyijhk1MaHyRIuSztcVwrUOO/NEu68Dw==",
+    "node_modules/append-field": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
+      "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==",
       "dev": true
     },
-    "node_modules/@types/whatwg-url": {
-      "version": "8.2.2",
-      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
-      "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+    "node_modules/append-transform": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
+      "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
       "dev": true,
       "dependencies": {
-        "@types/node": "*",
-        "@types/webidl-conversions": "*"
+        "default-require-extensions": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/@types/ws": {
-      "version": "7.4.7",
-      "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz",
-      "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*"
-      }
+    "node_modules/aproba": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+      "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
+      "dev": true
     },
-    "node_modules/@types/yargs": {
-      "version": "17.0.32",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
-      "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+    "node_modules/archy": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+      "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
+      "dev": true
+    },
+    "node_modules/are-we-there-yet": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
+      "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
       "dev": true,
       "dependencies": {
-        "@types/yargs-parser": "*"
+        "delegates": "^1.0.0",
+        "readable-stream": "^3.6.0"
+      },
+      "engines": {
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
       }
     },
-    "node_modules/@types/yargs-parser": {
-      "version": "21.0.3",
-      "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
-      "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
+    "node_modules/argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
       "dev": true
     },
-    "node_modules/@types/yauzl": {
-      "version": "2.10.3",
-      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
-      "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
+    "node_modules/array-back": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
+      "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
       "dev": true,
-      "optional": true,
-      "dependencies": {
-        "@types/node": "*"
+      "engines": {
+        "node": ">=6"
       }
     },
-    "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.8.1.tgz",
-      "integrity": "sha512-wTZ5oEKrKj/8/366qTM366zqhIKAp6NCMweoRONtfuC07OAU9nVI2GZZdqQ1qD30WAAtcPdkH+npDwtRFdp4Rw==",
+    "node_modules/array-buffer-byte-length": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+      "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/experimental-utils": "5.8.1",
-        "@typescript-eslint/scope-manager": "5.8.1",
-        "debug": "^4.3.2",
-        "functional-red-black-tree": "^1.0.1",
-        "ignore": "^5.1.8",
-        "regexpp": "^3.2.0",
-        "semver": "^7.3.5",
-        "tsutils": "^3.21.0"
+        "call-bind": "^1.0.5",
+        "is-array-buffer": "^3.0.4"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": ">= 0.4"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "@typescript-eslint/parser": "^5.0.0",
-        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/@typescript-eslint/experimental-utils": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.8.1.tgz",
-      "integrity": "sha512-fbodVnjIDU4JpeXWRDsG5IfIjYBxEvs8EBO8W1+YVdtrc2B9ppfof5sZhVEDOtgTfFHnYQJDI8+qdqLYO4ceww==",
+    "node_modules/array-differ": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
+      "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
       "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.9",
-        "@typescript-eslint/scope-manager": "5.8.1",
-        "@typescript-eslint/types": "5.8.1",
-        "@typescript-eslint/typescript-estree": "5.8.1",
-        "eslint-scope": "^5.1.1",
-        "eslint-utils": "^3.0.0"
-      },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/@typescript-eslint/parser": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.8.1.tgz",
-      "integrity": "sha512-K1giKHAjHuyB421SoXMXFHHVI4NdNY603uKw92++D3qyxSeYvC10CBJ/GE5Thpo4WTUvu1mmJI2/FFkz38F2Gw==",
+    "node_modules/array-flatten": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+      "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
+      "dev": true
+    },
+    "node_modules/array-ify": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
+      "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==",
+      "dev": true
+    },
+    "node_modules/array-includes": {
+      "version": "3.1.7",
+      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz",
+      "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/scope-manager": "5.8.1",
-        "@typescript-eslint/types": "5.8.1",
-        "@typescript-eslint/typescript-estree": "5.8.1",
-        "debug": "^4.3.2"
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "get-intrinsic": "^1.2.1",
+        "is-string": "^1.0.7"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": ">= 0.4"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/@typescript-eslint/scope-manager": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.1.tgz",
-      "integrity": "sha512-DGxJkNyYruFH3NIZc3PwrzwOQAg7vvgsHsHCILOLvUpupgkwDZdNq/cXU3BjF4LNrCsVg0qxEyWasys5AiJ85Q==",
+    "node_modules/array-union": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
       "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "5.8.1",
-        "@typescript-eslint/visitor-keys": "5.8.1"
-      },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
+        "node": ">=8"
       }
     },
-    "node_modules/@typescript-eslint/types": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.1.tgz",
-      "integrity": "sha512-L/FlWCCgnjKOLefdok90/pqInkomLnAcF9UAzNr+DSqMC3IffzumHTQTrINXhP1gVp9zlHiYYjvozVZDPleLcA==",
+    "node_modules/array.prototype.flat": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
+      "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
       "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "es-shim-unscopables": "^1.0.0"
+      },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": ">= 0.4"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/@typescript-eslint/typescript-estree": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.1.tgz",
-      "integrity": "sha512-26lQ8l8tTbG7ri7xEcCFT9ijU5Fk+sx/KRRyyzCv7MQ+rZZlqiDPtMKWLC8P7o+dtCnby4c+OlxuX1tp8WfafQ==",
+    "node_modules/array.prototype.flatmap": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
+      "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.8.1",
-        "@typescript-eslint/visitor-keys": "5.8.1",
-        "debug": "^4.3.2",
-        "globby": "^11.0.4",
-        "is-glob": "^4.0.3",
-        "semver": "^7.3.5",
-        "tsutils": "^3.21.0"
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "es-shim-unscopables": "^1.0.0"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": ">= 0.4"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/@typescript-eslint/visitor-keys": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.1.tgz",
-      "integrity": "sha512-SWgiWIwocK6NralrJarPZlWdr0hZnj5GXHIgfdm8hNkyKvpeQuFyLP6YjSIe9kf3YBIfU6OHSZLYkQ+smZwtNg==",
+    "node_modules/array.prototype.reduce": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz",
+      "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.8.1",
-        "eslint-visitor-keys": "^3.0.0"
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "es-array-method-boxes-properly": "^1.0.0",
+        "is-string": "^1.0.7"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": ">= 0.4"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/@web/browser-logs": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.4.0.tgz",
-      "integrity": "sha512-/EBiDAUCJ2DzZhaFxTPRIznEPeafdLbXShIL6aTu7x73x7ZoxSDv7DGuTsh2rWNMUa4+AKli4UORrpyv6QBOiA==",
+    "node_modules/arraybuffer.prototype.slice": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+      "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
       "dev": true,
       "dependencies": {
-        "errorstacks": "^2.2.0"
+        "array-buffer-byte-length": "^1.0.1",
+        "call-bind": "^1.0.5",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.22.3",
+        "es-errors": "^1.2.1",
+        "get-intrinsic": "^1.2.3",
+        "is-array-buffer": "^3.0.4",
+        "is-shared-array-buffer": "^1.0.2"
       },
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/@web/config-loader": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.3.1.tgz",
-      "integrity": "sha512-IYjHXUgSGGNpO3YJQ9foLcazbJlAWDdJGRe9be7aOhon0Nd6Na5JIOJAej7jsMu76fKHr4b4w2LfIdNQ4fJ8pA==",
+    "node_modules/arrify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+      "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
       "dev": true,
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@web/dev-server": {
-      "version": "0.4.3",
-      "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.4.3.tgz",
-      "integrity": "sha512-vf2ZVjdTj8ExrMSYagyHD+snRue9oRetynxd1p0P7ndEpZDKeNLYsvkJyo0pNU6moBxHmXnYeC5VrAT4E3+lNg==",
+    "node_modules/asn1": {
+      "version": "0.2.6",
+      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
       "dev": true,
       "dependencies": {
-        "@babel/code-frame": "^7.12.11",
-        "@types/command-line-args": "^5.0.0",
-        "@web/config-loader": "^0.3.0",
-        "@web/dev-server-core": "^0.7.1",
-        "@web/dev-server-rollup": "^0.6.1",
-        "camelcase": "^6.2.0",
-        "command-line-args": "^5.1.1",
-        "command-line-usage": "^7.0.1",
-        "debounce": "^1.2.0",
-        "deepmerge": "^4.2.2",
-        "ip": "^2.0.1",
-        "nanocolors": "^0.2.1",
-        "open": "^8.0.2",
-        "portfinder": "^1.0.32"
-      },
-      "bin": {
-        "wds": "dist/bin.js",
-        "web-dev-server": "dist/bin.js"
-      },
-      "engines": {
-        "node": ">=18.0.0"
+        "safer-buffer": "~2.1.0"
       }
     },
-    "node_modules/@web/dev-server-core": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.7.1.tgz",
-      "integrity": "sha512-alHd2j0f4e1ekqYDR8lWScrzR7D5gfsUZq3BP3De9bkFWM3AELINCmqqlVKmCtlkAdEc9VyQvNiEqrxraOdc2A==",
+    "node_modules/assert": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
+      "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
       "dev": true,
       "dependencies": {
-        "@types/koa": "^2.11.6",
-        "@types/ws": "^7.4.0",
-        "@web/parse5-utils": "^2.1.0",
-        "chokidar": "^3.4.3",
-        "clone": "^2.1.2",
-        "es-module-lexer": "^1.0.0",
-        "get-stream": "^6.0.0",
-        "is-stream": "^2.0.0",
-        "isbinaryfile": "^5.0.0",
-        "koa": "^2.13.0",
-        "koa-etag": "^4.0.0",
-        "koa-send": "^5.0.1",
-        "koa-static": "^5.0.0",
-        "lru-cache": "^8.0.4",
-        "mime-types": "^2.1.27",
-        "parse5": "^6.0.1",
-        "picomatch": "^2.2.2",
-        "ws": "^7.4.2"
-      },
-      "engines": {
-        "node": ">=18.0.0"
+        "es6-object-assign": "^1.1.0",
+        "is-nan": "^1.2.1",
+        "object-is": "^1.0.1",
+        "util": "^0.12.0"
       }
     },
-    "node_modules/@web/dev-server-core/node_modules/clone": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
-      "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
+    "node_modules/assert-plus": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+      "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
       "dev": true,
       "engines": {
         "node": ">=0.8"
       }
     },
-    "node_modules/@web/dev-server-core/node_modules/isbinaryfile": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.2.tgz",
-      "integrity": "sha512-GvcjojwonMjWbTkfMpnVHVqXW/wKMYDfEpY94/8zy8HFMOqb/VL6oeONq9v87q4ttVlaTLnGXnJD4B5B1OTGIg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 18.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/gjtorikian/"
-      }
-    },
-    "node_modules/@web/dev-server-core/node_modules/lru-cache": {
-      "version": "8.0.5",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz",
-      "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==",
+    "node_modules/assertion-error": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+      "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
       "dev": true,
       "engines": {
-        "node": ">=16.14"
+        "node": "*"
       }
     },
-    "node_modules/@web/dev-server-core/node_modules/parse5": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
-      "dev": true
-    },
-    "node_modules/@web/dev-server-core/node_modules/ws": {
-      "version": "7.5.9",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
-      "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+    "node_modules/assertion-error-formatter": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz",
+      "integrity": "sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ==",
       "dev": true,
-      "engines": {
-        "node": ">=8.3.0"
-      },
-      "peerDependencies": {
-        "bufferutil": "^4.0.1",
-        "utf-8-validate": "^5.0.2"
-      },
-      "peerDependenciesMeta": {
-        "bufferutil": {
-          "optional": true
-        },
-        "utf-8-validate": {
-          "optional": true
-        }
+      "dependencies": {
+        "diff": "^4.0.1",
+        "pad-right": "^0.2.2",
+        "repeat-string": "^1.6.1"
       }
     },
-    "node_modules/@web/dev-server-esbuild": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/@web/dev-server-esbuild/-/dev-server-esbuild-1.0.2.tgz",
-      "integrity": "sha512-ak5mKt7L0H/Fa470Ku7p9A1eI32DNyFGM83jDkJviBO8r3lM00O5hVFW1K+UIYNC5EyanLyPxTqgtIuQEyMYcQ==",
+    "node_modules/ast-types": {
+      "version": "0.13.4",
+      "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
+      "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
       "dev": true,
       "dependencies": {
-        "@mdn/browser-compat-data": "^4.0.0",
-        "@web/dev-server-core": "^0.7.0",
-        "esbuild": "^0.19.11",
-        "get-tsconfig": "^4.7.2",
-        "parse5": "^6.0.1",
-        "ua-parser-js": "^1.0.33"
+        "tslib": "^2.0.1"
       },
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">=4"
       }
     },
-    "node_modules/@web/dev-server-esbuild/node_modules/parse5": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
-      "dev": true
-    },
-    "node_modules/@web/dev-server-esbuild/node_modules/ua-parser-js": {
-      "version": "1.0.37",
-      "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz",
-      "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==",
+    "node_modules/astral-regex": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+      "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
       "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/ua-parser-js"
-        },
-        {
-          "type": "paypal",
-          "url": "https://paypal.me/faisalman"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/faisalman"
-        }
-      ],
       "engines": {
-        "node": "*"
+        "node": ">=8"
       }
     },
-    "node_modules/@web/dev-server-rollup": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.6.1.tgz",
-      "integrity": "sha512-vhtsQ8qu1pBHailOBOYJwZnYDc1Lmx6ZAd2j+y5PD2ck0R1LmVsZ7dZK8hDCpkvpvlu2ndURjL9tbzdcsBRJmg==",
+    "node_modules/async": {
+      "version": "3.2.5",
+      "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
+      "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
+      "dev": true
+    },
+    "node_modules/async-mutex": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.0.tgz",
+      "integrity": "sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA==",
       "dev": true,
       "dependencies": {
-        "@rollup/plugin-node-resolve": "^15.0.1",
-        "@web/dev-server-core": "^0.7.0",
-        "nanocolors": "^0.2.1",
-        "parse5": "^6.0.1",
-        "rollup": "^4.4.0",
-        "whatwg-url": "^11.0.0"
-      },
-      "engines": {
-        "node": ">=18.0.0"
+        "tslib": "^2.4.0"
       }
     },
-    "node_modules/@web/dev-server-rollup/node_modules/parse5": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+    "node_modules/asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
       "dev": true
     },
-    "node_modules/@web/dev-server/node_modules/camelcase": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
-      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+    "node_modules/at-least-node": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
       "dev": true,
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">= 4.0.0"
       }
     },
-    "node_modules/@web/parse5-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@web/parse5-utils/-/parse5-utils-2.1.0.tgz",
-      "integrity": "sha512-GzfK5disEJ6wEjoPwx8AVNwUe9gYIiwc+x//QYxYDAFKUp4Xb1OJAGLc2l2gVrSQmtPGLKrTRcW90Hv4pEq1qA==",
+    "node_modules/atomic-sleep": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz",
+      "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==",
       "dev": true,
-      "dependencies": {
-        "@types/parse5": "^6.0.1",
-        "parse5": "^6.0.1"
-      },
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">=8.0.0"
       }
     },
-    "node_modules/@web/parse5-utils/node_modules/parse5": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
-      "dev": true
-    },
-    "node_modules/@web/test-runner": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.1.tgz",
-      "integrity": "sha512-jB/9vrpGVtcLY6/7sPpKpSheQ3wWY9P5aQcz2SK2gMHTq3gNpa51NAyec0Al7EFpHvJ1wKYTGRLB2gPyEoJeDg==",
+    "node_modules/available-typed-arrays": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+      "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
       "dev": true,
       "dependencies": {
-        "@web/browser-logs": "^0.4.0",
-        "@web/config-loader": "^0.3.0",
-        "@web/dev-server": "^0.4.0",
-        "@web/test-runner-chrome": "^0.16.0",
-        "@web/test-runner-commands": "^0.9.0",
-        "@web/test-runner-core": "^0.13.0",
-        "@web/test-runner-mocha": "^0.9.0",
-        "camelcase": "^6.2.0",
-        "command-line-args": "^5.1.1",
-        "command-line-usage": "^7.0.1",
-        "convert-source-map": "^2.0.0",
-        "diff": "^5.0.0",
-        "globby": "^11.0.1",
-        "nanocolors": "^0.2.1",
-        "portfinder": "^1.0.32",
-        "source-map": "^0.7.3"
-      },
-      "bin": {
-        "web-test-runner": "dist/bin.js",
-        "wtr": "dist/bin.js"
+        "possible-typed-array-names": "^1.0.0"
       },
       "engines": {
-        "node": ">=18.0.0"
-      }
-    },
-    "node_modules/@web/test-runner-chrome": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.16.0.tgz",
-      "integrity": "sha512-Edc6Y49aVB6k18S5IOj9OCX3rEf8F3jptIu0p95+imqxmcutFEh1GNmlAk2bQGnXS0U6uVY7Xbf61fiaXUQqhg==",
-      "dev": true,
-      "dependencies": {
-        "@web/test-runner-core": "^0.13.0",
-        "@web/test-runner-coverage-v8": "^0.8.0",
-        "async-mutex": "0.4.0",
-        "chrome-launcher": "^0.15.0",
-        "puppeteer-core": "^22.0.0"
+        "node": ">= 0.4"
       },
-      "engines": {
-        "node": ">=18.0.0"
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/@web/test-runner-commands": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.9.0.tgz",
-      "integrity": "sha512-zeLI6QdH0jzzJMDV5O42Pd8WLJtYqovgdt0JdytgHc0d1EpzXDsc7NTCJSImboc2NcayIsWAvvGGeRF69SMMYg==",
+    "node_modules/avvio": {
+      "version": "8.3.0",
+      "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz",
+      "integrity": "sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==",
       "dev": true,
       "dependencies": {
-        "@web/test-runner-core": "^0.13.0",
-        "mkdirp": "^1.0.4"
-      },
-      "engines": {
-        "node": ">=18.0.0"
+        "@fastify/error": "^3.3.0",
+        "archy": "^1.0.0",
+        "debug": "^4.0.0",
+        "fastq": "^1.17.1"
       }
     },
-    "node_modules/@web/test-runner-commands/node_modules/mkdirp": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+    "node_modules/aws-sdk": {
+      "version": "2.1008.0",
+      "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1008.0.tgz",
+      "integrity": "sha512-wBEon+ARCuMcwEPpOFZqRT3elBLfLtPqv8jMql3Hsr7Ua5toPlgKMmjf368iTzBNaY7TOZsjLAT9nAhvtSZ++g==",
       "dev": true,
-      "bin": {
-        "mkdirp": "bin/cmd.js"
+      "hasInstallScript": true,
+      "dependencies": {
+        "buffer": "4.9.2",
+        "events": "1.1.1",
+        "ieee754": "1.1.13",
+        "jmespath": "0.15.0",
+        "querystring": "0.2.0",
+        "sax": "1.2.1",
+        "url": "0.10.3",
+        "uuid": "3.3.2",
+        "xml2js": "0.4.19"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">= 0.8.0"
       }
     },
-    "node_modules/@web/test-runner-core": {
-      "version": "0.13.1",
-      "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.13.1.tgz",
-      "integrity": "sha512-2hESALx/UFsAzK+ApWXAkFp2eCmwcs2yj1v4YjwV8F38sQumJ40P3px3BMjFwkOYDORtQOicW0RUeSw1g3BMLA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.12.11",
-        "@types/babel__code-frame": "^7.0.2",
-        "@types/co-body": "^6.1.0",
-        "@types/convert-source-map": "^2.0.0",
-        "@types/debounce": "^1.2.0",
-        "@types/istanbul-lib-coverage": "^2.0.3",
-        "@types/istanbul-reports": "^3.0.0",
-        "@web/browser-logs": "^0.4.0",
-        "@web/dev-server-core": "^0.7.0",
-        "chokidar": "^3.4.3",
-        "cli-cursor": "^3.1.0",
-        "co-body": "^6.1.0",
-        "convert-source-map": "^2.0.0",
-        "debounce": "^1.2.0",
-        "dependency-graph": "^0.11.0",
-        "globby": "^11.0.1",
-        "ip": "^2.0.1",
-        "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-report": "^3.0.1",
-        "istanbul-reports": "^3.0.2",
-        "log-update": "^4.0.0",
-        "nanocolors": "^0.2.1",
-        "nanoid": "^3.1.25",
-        "open": "^8.0.2",
-        "picomatch": "^2.2.2",
-        "source-map": "^0.7.3"
-      },
-      "engines": {
-        "node": ">=18.0.0"
+    "node_modules/aws-sdk/node_modules/uuid": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
+      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
+      "dev": true,
+      "bin": {
+        "uuid": "bin/uuid"
       }
     },
-    "node_modules/@web/test-runner-core/node_modules/convert-source-map": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
-      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+    "node_modules/axios": {
+      "version": "1.6.7",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz",
+      "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
+      "dev": true,
+      "dependencies": {
+        "follow-redirects": "^1.15.4",
+        "form-data": "^4.0.0",
+        "proxy-from-env": "^1.1.0"
+      }
+    },
+    "node_modules/b4a": {
+      "version": "1.6.6",
+      "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz",
+      "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==",
       "dev": true
     },
-    "node_modules/@web/test-runner-core/node_modules/source-map": {
-      "version": "0.7.4",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
-      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+    "node_modules/babel-code-frame": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+      "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==",
       "dev": true,
-      "engines": {
-        "node": ">= 8"
+      "dependencies": {
+        "chalk": "^1.1.3",
+        "esutils": "^2.0.2",
+        "js-tokens": "^3.0.2"
       }
     },
-    "node_modules/@web/test-runner-coverage-v8": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmjs.org/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.8.0.tgz",
-      "integrity": "sha512-PskiucYpjUtgNfR2zF2AWqWwjXL7H3WW/SnCAYmzUrtob7X9o/+BjdyZ4wKbOxWWSbJO4lEdGIDLu+8X2Xw+lA==",
+    "node_modules/babel-code-frame/node_modules/ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
       "dev": true,
-      "dependencies": {
-        "@web/test-runner-core": "^0.13.0",
-        "istanbul-lib-coverage": "^3.0.0",
-        "lru-cache": "^8.0.4",
-        "picomatch": "^2.2.2",
-        "v8-to-istanbul": "^9.0.1"
-      },
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@web/test-runner-coverage-v8/node_modules/lru-cache": {
-      "version": "8.0.5",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz",
-      "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==",
+    "node_modules/babel-code-frame/node_modules/ansi-styles": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+      "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
       "dev": true,
       "engines": {
-        "node": ">=16.14"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@web/test-runner-mocha": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/@web/test-runner-mocha/-/test-runner-mocha-0.9.0.tgz",
-      "integrity": "sha512-ZL9F6FXd0DBQvo/h/+mSfzFTSRVxzV9st/AHhpgABtUtV/AIpVE9to6+xdkpu6827kwjezdpuadPfg+PlrBWqQ==",
+    "node_modules/babel-code-frame/node_modules/chalk": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+      "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
       "dev": true,
       "dependencies": {
-        "@web/test-runner-core": "^0.13.0"
+        "ansi-styles": "^2.2.1",
+        "escape-string-regexp": "^1.0.2",
+        "has-ansi": "^2.0.0",
+        "strip-ansi": "^3.0.0",
+        "supports-color": "^2.0.0"
       },
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@web/test-runner/node_modules/camelcase": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
-      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+    "node_modules/babel-code-frame/node_modules/has-ansi": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+      "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
       "dev": true,
-      "engines": {
-        "node": ">=10"
+      "dependencies": {
+        "ansi-regex": "^2.0.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "engines": {
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@web/test-runner/node_modules/convert-source-map": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
-      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+    "node_modules/babel-code-frame/node_modules/js-tokens": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+      "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==",
       "dev": true
     },
-    "node_modules/@web/test-runner/node_modules/diff": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
-      "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+    "node_modules/babel-code-frame/node_modules/strip-ansi": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+      "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
       "dev": true,
+      "dependencies": {
+        "ansi-regex": "^2.0.0"
+      },
       "engines": {
-        "node": ">=0.3.1"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@web/test-runner/node_modules/source-map": {
-      "version": "0.7.4",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
-      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+    "node_modules/babel-code-frame/node_modules/supports-color": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+      "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
       "dev": true,
       "engines": {
-        "node": ">= 8"
+        "node": ">=0.8.0"
       }
     },
-    "node_modules/@webassemblyjs/ast": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
-      "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
+    "node_modules/babel-core": {
+      "version": "6.26.3",
+      "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
+      "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
       "dev": true,
       "dependencies": {
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0"
+        "babel-code-frame": "^6.26.0",
+        "babel-generator": "^6.26.0",
+        "babel-helpers": "^6.24.1",
+        "babel-messages": "^6.23.0",
+        "babel-register": "^6.26.0",
+        "babel-runtime": "^6.26.0",
+        "babel-template": "^6.26.0",
+        "babel-traverse": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "babylon": "^6.18.0",
+        "convert-source-map": "^1.5.1",
+        "debug": "^2.6.9",
+        "json5": "^0.5.1",
+        "lodash": "^4.17.4",
+        "minimatch": "^3.0.4",
+        "path-is-absolute": "^1.0.1",
+        "private": "^0.1.8",
+        "slash": "^1.0.0",
+        "source-map": "^0.5.7"
       }
     },
-    "node_modules/@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
-      "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-api-error": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
-      "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-buffer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
-      "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-code-frame": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
-      "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
+    "node_modules/babel-core/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
       "dev": true,
       "dependencies": {
-        "@webassemblyjs/wast-printer": "1.9.0"
+        "ms": "2.0.0"
       }
     },
-    "node_modules/@webassemblyjs/helper-fsm": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
-      "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
-      "dev": true
+    "node_modules/babel-core/node_modules/json5": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+      "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==",
+      "dev": true,
+      "bin": {
+        "json5": "lib/cli.js"
+      }
     },
-    "node_modules/@webassemblyjs/helper-module-context": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
-      "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
+    "node_modules/babel-core/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
       "dev": true,
       "dependencies": {
-        "@webassemblyjs/ast": "1.9.0"
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
       }
     },
-    "node_modules/@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
-      "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
+    "node_modules/babel-core/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
       "dev": true
     },
-    "node_modules/@webassemblyjs/helper-wasm-section": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
-      "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
+    "node_modules/babel-core/node_modules/slash": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+      "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==",
       "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0"
+      "engines": {
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@webassemblyjs/ieee754": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
-      "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
+    "node_modules/babel-core/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/babel-generator": {
+      "version": "6.26.1",
+      "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+      "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
       "dev": true,
       "dependencies": {
-        "@xtuc/ieee754": "^1.2.0"
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "detect-indent": "^4.0.0",
+        "jsesc": "^1.3.0",
+        "lodash": "^4.17.4",
+        "source-map": "^0.5.7",
+        "trim-right": "^1.0.1"
       }
     },
-    "node_modules/@webassemblyjs/leb128": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
-      "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
+    "node_modules/babel-generator/node_modules/detect-indent": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+      "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==",
       "dev": true,
       "dependencies": {
-        "@xtuc/long": "4.2.2"
+        "repeating": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@webassemblyjs/utf8": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
-      "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
-      "dev": true
+    "node_modules/babel-generator/node_modules/jsesc": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+      "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==",
+      "dev": true,
+      "bin": {
+        "jsesc": "bin/jsesc"
+      }
     },
-    "node_modules/@webassemblyjs/wasm-edit": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
-      "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
+    "node_modules/babel-generator/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
       "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/helper-wasm-section": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-opt": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "@webassemblyjs/wast-printer": "1.9.0"
+      "engines": {
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/@webassemblyjs/wasm-gen": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
-      "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
+    "node_modules/babel-helper-bindify-decorators": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
+      "integrity": "sha512-TYX2QQATKA6Wssp6j7jqlw4QLmABDN1olRdEHndYvBXdaXM5dcx6j5rN0+nd+aVL+Th40fAEYvvw/Xxd/LETuQ==",
       "dev": true,
       "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
+        "babel-runtime": "^6.22.0",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/@webassemblyjs/wasm-opt": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
-      "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
+    "node_modules/babel-helper-builder-binary-assignment-operator-visitor": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
+      "integrity": "sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==",
       "dev": true,
       "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0"
+        "babel-helper-explode-assignable-expression": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/@webassemblyjs/wasm-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
-      "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
+    "node_modules/babel-helper-call-delegate": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
+      "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==",
       "dev": true,
       "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
+        "babel-helper-hoist-variables": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/@webassemblyjs/wast-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
-      "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
+    "node_modules/babel-helper-define-map": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
+      "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==",
       "dev": true,
       "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-code-frame": "1.9.0",
-        "@webassemblyjs/helper-fsm": "1.9.0",
-        "@xtuc/long": "4.2.2"
+        "babel-helper-function-name": "^6.24.1",
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "lodash": "^4.17.4"
       }
     },
-    "node_modules/@webassemblyjs/wast-printer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
-      "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
+    "node_modules/babel-helper-explode-assignable-expression": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
+      "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==",
       "dev": true,
       "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0",
-        "@xtuc/long": "4.2.2"
+        "babel-runtime": "^6.22.0",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/@webpack-cli/configtest": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
-      "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
+    "node_modules/babel-helper-explode-class": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
+      "integrity": "sha512-SFbWewr0/0U4AiRzsHqwsbOQeLXVa9T1ELdqEa2efcQB5KopTnunAqoj07TuHlN2lfTQNPGO/rJR4FMln5fVcA==",
       "dev": true,
-      "peerDependencies": {
-        "webpack": "4.x.x || 5.x.x",
-        "webpack-cli": "4.x.x"
+      "dependencies": {
+        "babel-helper-bindify-decorators": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/@webpack-cli/info": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
-      "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
+    "node_modules/babel-helper-function-name": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+      "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==",
       "dev": true,
       "dependencies": {
-        "envinfo": "^7.7.3"
-      },
-      "peerDependencies": {
-        "webpack-cli": "4.x.x"
+        "babel-helper-get-function-arity": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/@webpack-cli/serve": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
-      "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
+    "node_modules/babel-helper-get-function-arity": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+      "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==",
       "dev": true,
-      "peerDependencies": {
-        "webpack-cli": "4.x.x"
-      },
-      "peerDependenciesMeta": {
-        "webpack-dev-server": {
-          "optional": true
-        }
+      "dependencies": {
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
-      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "dev": true
-    },
-    "node_modules/@xtuc/long": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
-      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
-      "dev": true
-    },
-    "node_modules/@yarnpkg/lockfile": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
-      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
-      "dev": true
-    },
-    "node_modules/@yarnpkg/parsers": {
-      "version": "3.0.0-rc.46",
-      "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz",
-      "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==",
+    "node_modules/babel-helper-hoist-variables": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
+      "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==",
       "dev": true,
       "dependencies": {
-        "js-yaml": "^3.10.0",
-        "tslib": "^2.4.0"
-      },
-      "engines": {
-        "node": ">=14.15.0"
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/@yarnpkg/parsers/node_modules/argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+    "node_modules/babel-helper-optimise-call-expression": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
+      "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==",
       "dev": true,
       "dependencies": {
-        "sprintf-js": "~1.0.2"
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/@yarnpkg/parsers/node_modules/js-yaml": {
-      "version": "3.14.1",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+    "node_modules/babel-helper-regex": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
+      "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==",
       "dev": true,
       "dependencies": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      },
-      "bin": {
-        "js-yaml": "bin/js-yaml.js"
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "lodash": "^4.17.4"
       }
     },
-    "node_modules/@yarnpkg/parsers/node_modules/sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
-      "dev": true
-    },
-    "node_modules/@zkochan/js-yaml": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz",
-      "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==",
+    "node_modules/babel-helper-remap-async-to-generator": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
+      "integrity": "sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==",
       "dev": true,
       "dependencies": {
-        "argparse": "^2.0.1"
-      },
-      "bin": {
-        "js-yaml": "bin/js-yaml.js"
+        "babel-helper-function-name": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/abbrev": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
-      "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
+    "node_modules/babel-helper-replace-supers": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
+      "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==",
       "dev": true,
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      "dependencies": {
+        "babel-helper-optimise-call-expression": "^6.24.1",
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/abort-controller": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
-      "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+    "node_modules/babel-helpers": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+      "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==",
       "dev": true,
       "dependencies": {
-        "event-target-shim": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=6.5"
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
       }
     },
-    "node_modules/abstract-logging": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz",
-      "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==",
-      "dev": true
-    },
-    "node_modules/accepts": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
-      "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+    "node_modules/babel-loader": {
+      "version": "8.3.0",
+      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz",
+      "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==",
       "dev": true,
       "dependencies": {
-        "mime-types": "~2.1.34",
-        "negotiator": "0.6.3"
+        "find-cache-dir": "^3.3.1",
+        "loader-utils": "^2.0.0",
+        "make-dir": "^3.1.0",
+        "schema-utils": "^2.6.5"
       },
       "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/acorn": {
-      "version": "8.11.3",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-      "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
-      "bin": {
-        "acorn": "bin/acorn"
+        "node": ">= 8.9"
       },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/acorn-import-attributes": {
-      "version": "1.9.5",
-      "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
-      "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
       "peerDependencies": {
-        "acorn": "^8"
+        "@babel/core": "^7.0.0",
+        "webpack": ">=2"
       }
     },
-    "node_modules/acorn-jsx": {
-      "version": "5.3.2",
-      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
-      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+    "node_modules/babel-messages": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+      "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==",
       "dev": true,
-      "peerDependencies": {
-        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      "dependencies": {
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/add-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz",
-      "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==",
-      "dev": true
-    },
-    "node_modules/adm-zip": {
-      "version": "0.5.10",
-      "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz",
-      "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==",
+    "node_modules/babel-plugin-check-es2015-constants": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
+      "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==",
       "dev": true,
-      "engines": {
-        "node": ">=6.0"
-      }
-    },
-    "node_modules/after-all-results": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/after-all-results/-/after-all-results-2.0.0.tgz",
-      "integrity": "sha512-2zHEyuhSJOuCrmas9YV0YL/MFCWLxe1dS6k/ENhgYrb/JqyMnadLN4iIAc9kkZrbElMDyyAGH/0J18OPErOWLg==",
-      "dev": true
-    },
-    "node_modules/agent-base": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
-      "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
       "dependencies": {
-        "debug": "^4.3.4"
-      },
-      "engines": {
-        "node": ">= 14"
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/agentkeepalive": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
-      "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
+    "node_modules/babel-plugin-istanbul": {
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+      "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
       "dev": true,
       "dependencies": {
-        "humanize-ms": "^1.2.1"
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@istanbuljs/load-nyc-config": "^1.0.0",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-instrument": "^5.0.4",
+        "test-exclude": "^6.0.0"
       },
       "engines": {
-        "node": ">= 8.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/aggregate-error": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
-      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+    "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+      "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
       "dev": true,
       "dependencies": {
-        "clean-stack": "^2.0.0",
-        "indent-string": "^4.0.0"
+        "@babel/core": "^7.12.3",
+        "@babel/parser": "^7.14.7",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-coverage": "^3.2.0",
+        "semver": "^6.3.0"
       },
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+    "node_modules/babel-plugin-istanbul/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/babel-plugin-polyfill-corejs2": {
+      "version": "0.4.11",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz",
+      "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==",
       "dev": true,
       "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
+        "@babel/compat-data": "^7.22.6",
+        "@babel/helper-define-polyfill-provider": "^0.6.2",
+        "semver": "^6.3.1"
       },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
+      "peerDependencies": {
+        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
       }
     },
-    "node_modules/ajv-errors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
-      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
+    "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
       "dev": true,
-      "peerDependencies": {
-        "ajv": ">=5.0.0"
+      "bin": {
+        "semver": "bin/semver.js"
       }
     },
-    "node_modules/ajv-formats": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
-      "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+    "node_modules/babel-plugin-polyfill-corejs3": {
+      "version": "0.10.4",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz",
+      "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==",
       "dev": true,
       "dependencies": {
-        "ajv": "^8.0.0"
+        "@babel/helper-define-polyfill-provider": "^0.6.1",
+        "core-js-compat": "^3.36.1"
       },
       "peerDependencies": {
-        "ajv": "^8.0.0"
-      },
-      "peerDependenciesMeta": {
-        "ajv": {
-          "optional": true
-        }
+        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
       }
     },
-    "node_modules/ajv-formats/node_modules/ajv": {
-      "version": "8.12.0",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
-      "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+    "node_modules/babel-plugin-polyfill-regenerator": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz",
+      "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==",
       "dev": true,
       "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "json-schema-traverse": "^1.0.0",
-        "require-from-string": "^2.0.2",
-        "uri-js": "^4.2.2"
+        "@babel/helper-define-polyfill-provider": "^0.6.2"
       },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
+      "peerDependencies": {
+        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
       }
     },
-    "node_modules/ajv-formats/node_modules/json-schema-traverse": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
-      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+    "node_modules/babel-plugin-syntax-async-functions": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+      "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==",
       "dev": true
     },
-    "node_modules/ajv-keywords": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true,
-      "peerDependencies": {
-        "ajv": "^6.9.1"
-      }
+    "node_modules/babel-plugin-syntax-async-generators": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
+      "integrity": "sha512-EbciFN5Jb9iqU9bqaLmmFLx2G8pAUsvpWJ6OzOWBNrSY9qTohXj+7YfZx6Ug1Qqh7tCb1EA7Jvn9bMC1HBiucg==",
+      "dev": true
     },
-    "node_modules/amqplib": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.8.0.tgz",
-      "integrity": "sha512-icU+a4kkq4Y1PS4NNi+YPDMwdlbFcZ1EZTQT2nigW3fvOb6AOgUQ9+Mk4ue0Zu5cBg/XpDzB40oH10ysrk2dmA==",
-      "dev": true,
-      "dependencies": {
-        "bitsyntax": "~0.1.0",
-        "bluebird": "^3.7.2",
-        "buffer-more-ints": "~1.0.0",
-        "readable-stream": "1.x >=1.1.9",
-        "safe-buffer": "~5.2.1",
-        "url-parse": "~1.5.1"
-      },
-      "engines": {
-        "node": ">=10"
-      }
+    "node_modules/babel-plugin-syntax-class-constructor-call": {
+      "version": "6.18.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
+      "integrity": "sha512-EEuBcXz/wZ81Jaac0LnMHtD4Mfz9XWn2oH2Xj+CHwz2SZWUqqdtR2BgWPSdTGMmxN/5KLSh4PImt9+9ZedDarA==",
+      "dev": true
     },
-    "node_modules/ansi-color": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-color/-/ansi-color-0.2.1.tgz",
-      "integrity": "sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ==",
-      "engines": {
-        "node": "*"
-      }
+    "node_modules/babel-plugin-syntax-class-properties": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
+      "integrity": "sha512-chI3Rt9T1AbrQD1s+vxw3KcwC9yHtF621/MacuItITfZX344uhQoANjpoSJZleAmW2tjlolqB/f+h7jIqXa7pA==",
+      "dev": true
     },
-    "node_modules/ansi-colors": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
-      "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
+    "node_modules/babel-plugin-syntax-decorators": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+      "integrity": "sha512-AWj19x2aDm8qFQ5O2JcD6pwJDW1YdcnO+1b81t7gxrGjz5VHiUqeYWAR4h7zueWMalRelrQDXprv2FrY1dbpbw==",
+      "dev": true
     },
-    "node_modules/ansi-diff-stream": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-diff-stream/-/ansi-diff-stream-1.2.1.tgz",
-      "integrity": "sha512-PaKs34INoKpTzcjyKd2GM/CCEeTyDgWKuHSgF0z7ywjpbBFj/pzQf/30v+TR6VBBLia6Mso+W2ygU22ljqbi6A==",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^2.0.0",
-        "buffer-from": "^1.0.0",
-        "through2": "^2.0.1"
-      },
-      "bin": {
-        "ansi-diff-stream": "bin.js"
-      }
+    "node_modules/babel-plugin-syntax-do-expressions": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
+      "integrity": "sha512-HD/5qJB9oSXzl0caxM+aRD7ENICXqcc3Up/8toDQk7zNIDE7TzsqtxC5f4t9Rwhu2Ya8l9l4j6b3vOsy+a6qxg==",
+      "dev": true
     },
-    "node_modules/ansi-diff-stream/node_modules/ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
+    "node_modules/babel-plugin-syntax-dynamic-import": {
+      "version": "6.18.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+      "integrity": "sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==",
+      "dev": true
     },
-    "node_modules/ansi-diff-stream/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
+    "node_modules/babel-plugin-syntax-exponentiation-operator": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+      "integrity": "sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==",
+      "dev": true
+    },
+    "node_modules/babel-plugin-syntax-export-extensions": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
+      "integrity": "sha512-Eo0rcRaIDMld/W6mVhePiudIuLW+Cr/8eveW3mBREfZORScZgx4rh6BAPyvzdEc/JZvQ+LkC80t0VGFs6FX+lg==",
+      "dev": true
+    },
+    "node_modules/babel-plugin-syntax-function-bind": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
+      "integrity": "sha512-m8yMoh9LIiNyeLdQs5I9G+3YXo4nqVsKQkk7YplrG4qAFbNi9hkZlow8HDHxhH9QOVFPHmy8+03NzRCdyChIKw==",
+      "dev": true
+    },
+    "node_modules/babel-plugin-syntax-object-rest-spread": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+      "integrity": "sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==",
+      "dev": true
     },
-    "node_modules/ansi-diff-stream/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+    "node_modules/babel-plugin-syntax-trailing-function-commas": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+      "integrity": "sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==",
       "dev": true
     },
-    "node_modules/ansi-diff-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+    "node_modules/babel-plugin-transform-async-generator-functions": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
+      "integrity": "sha512-uT7eovUxtXe8Q2ufcjRuJIOL0hg6VAUJhiWJBLxH/evYAw+aqoJLcYTR8hqx13iOx/FfbCMHgBmXWZjukbkyPg==",
       "dev": true,
       "dependencies": {
-        "safe-buffer": "~5.1.0"
+        "babel-helper-remap-async-to-generator": "^6.24.1",
+        "babel-plugin-syntax-async-generators": "^6.5.0",
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/ansi-diff-stream/node_modules/through2": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
-      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+    "node_modules/babel-plugin-transform-async-to-generator": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+      "integrity": "sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==",
       "dev": true,
       "dependencies": {
-        "readable-stream": "~2.3.6",
-        "xtend": "~4.0.1"
+        "babel-helper-remap-async-to-generator": "^6.24.1",
+        "babel-plugin-syntax-async-functions": "^6.8.0",
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/ansi-escapes": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
-      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+    "node_modules/babel-plugin-transform-class-constructor-call": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz",
+      "integrity": "sha512-RvYukT1Nh7njz8P8326ztpQUGCKwmjgu6aRIx1lkvylWITYcskg29vy1Kp8WXIq7FvhXsz0Crf2kS94bjB690A==",
       "dev": true,
       "dependencies": {
-        "type-fest": "^0.21.3"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "babel-plugin-syntax-class-constructor-call": "^6.18.0",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
       }
     },
-    "node_modules/ansi-regex": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
-      "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
+    "node_modules/babel-plugin-transform-class-properties": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
+      "integrity": "sha512-n4jtBA3OYBdvG5PRMKsMXJXHfLYw/ZOmtxCLOOwz6Ro5XlrColkStLnz1AS1L2yfPA9BKJ1ZNlmVCLjAL9DSIg==",
       "dev": true,
-      "engines": {
-        "node": ">=6"
+      "dependencies": {
+        "babel-helper-function-name": "^6.24.1",
+        "babel-plugin-syntax-class-properties": "^6.8.0",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
       }
     },
-    "node_modules/ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+    "node_modules/babel-plugin-transform-decorators": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
+      "integrity": "sha512-skQ2CImwDkCHu0mkWvCOlBCpBIHW4/49IZWVwV4A/EnWjL9bB6UBvLyMNe3Td5XDStSZNhe69j4bfEW8dvUbew==",
       "dev": true,
       "dependencies": {
-        "color-convert": "^1.9.0"
-      },
-      "engines": {
-        "node": ">=4"
+        "babel-helper-explode-class": "^6.24.1",
+        "babel-plugin-syntax-decorators": "^6.13.0",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/any-promise": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
-      "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
-      "dev": true
+    "node_modules/babel-plugin-transform-do-expressions": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz",
+      "integrity": "sha512-yQwYqYg+Tnj1InA8W1rsItsZVhkv1Euc4KVua9ledtPz5PDWYz7LVyy6rDBpVYUWFZj5k6GUm3YZpCbIm8Tqew==",
+      "dev": true,
+      "dependencies": {
+        "babel-plugin-syntax-do-expressions": "^6.8.0",
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "node_modules/anymatch": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
-      "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+    "node_modules/babel-plugin-transform-es2015-arrow-functions": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+      "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==",
       "dev": true,
       "dependencies": {
-        "normalize-path": "^3.0.0",
-        "picomatch": "^2.0.4"
-      },
-      "engines": {
-        "node": ">= 8"
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/append-field": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
-      "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==",
-      "dev": true
+    "node_modules/babel-plugin-transform-es2015-block-scoped-functions": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+      "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==",
+      "dev": true,
+      "dependencies": {
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "node_modules/append-transform": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
-      "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
+    "node_modules/babel-plugin-transform-es2015-block-scoping": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+      "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==",
       "dev": true,
       "dependencies": {
-        "default-require-extensions": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
+        "babel-runtime": "^6.26.0",
+        "babel-template": "^6.26.0",
+        "babel-traverse": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "lodash": "^4.17.4"
       }
     },
-    "node_modules/aproba": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
-      "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
-      "dev": true
+    "node_modules/babel-plugin-transform-es2015-classes": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+      "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==",
+      "dev": true,
+      "dependencies": {
+        "babel-helper-define-map": "^6.24.1",
+        "babel-helper-function-name": "^6.24.1",
+        "babel-helper-optimise-call-expression": "^6.24.1",
+        "babel-helper-replace-supers": "^6.24.1",
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
+      }
     },
-    "node_modules/archy": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
-      "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
-      "dev": true
+    "node_modules/babel-plugin-transform-es2015-computed-properties": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+      "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==",
+      "dev": true,
+      "dependencies": {
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
+      }
     },
-    "node_modules/are-we-there-yet": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
-      "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
+    "node_modules/babel-plugin-transform-es2015-destructuring": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+      "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==",
       "dev": true,
       "dependencies": {
-        "delegates": "^1.0.0",
-        "readable-stream": "^3.6.0"
-      },
-      "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/argparse": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
-      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
-      "dev": true
+    "node_modules/babel-plugin-transform-es2015-duplicate-keys": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+      "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==",
+      "dev": true,
+      "dependencies": {
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
+      }
     },
-    "node_modules/arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
+    "node_modules/babel-plugin-transform-es2015-for-of": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+      "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==",
       "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
+      "dependencies": {
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+    "node_modules/babel-plugin-transform-es2015-function-name": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+      "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==",
       "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
+      "dependencies": {
+        "babel-helper-function-name": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
+    "node_modules/babel-plugin-transform-es2015-literals": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+      "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==",
       "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
+      "dependencies": {
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/array-back": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
-      "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
+    "node_modules/babel-plugin-transform-es2015-modules-amd": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+      "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==",
       "dev": true,
-      "engines": {
-        "node": ">=6"
+      "dependencies": {
+        "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
       }
     },
-    "node_modules/array-buffer-byte-length": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
-      "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
+    "node_modules/babel-plugin-transform-es2015-modules-commonjs": {
+      "version": "6.26.2",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
+      "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.5",
-        "is-array-buffer": "^3.0.4"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "babel-plugin-transform-strict-mode": "^6.24.1",
+        "babel-runtime": "^6.26.0",
+        "babel-template": "^6.26.0",
+        "babel-types": "^6.26.0"
       }
     },
-    "node_modules/array-differ": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
-      "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
+    "node_modules/babel-plugin-transform-es2015-modules-systemjs": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+      "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==",
       "dev": true,
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "babel-helper-hoist-variables": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
       }
     },
-    "node_modules/array-flatten": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
-      "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
-      "dev": true
+    "node_modules/babel-plugin-transform-es2015-modules-umd": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+      "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==",
+      "dev": true,
+      "dependencies": {
+        "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
+      }
     },
-    "node_modules/array-ify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
-      "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==",
-      "dev": true
+    "node_modules/babel-plugin-transform-es2015-object-super": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+      "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==",
+      "dev": true,
+      "dependencies": {
+        "babel-helper-replace-supers": "^6.24.1",
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "node_modules/array-includes": {
-      "version": "3.1.7",
-      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz",
-      "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==",
+    "node_modules/babel-plugin-transform-es2015-parameters": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+      "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1",
-        "get-intrinsic": "^1.2.1",
-        "is-string": "^1.0.7"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "babel-helper-call-delegate": "^6.24.1",
+        "babel-helper-get-function-arity": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/array-union": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
-      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+    "node_modules/babel-plugin-transform-es2015-shorthand-properties": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+      "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==",
       "dev": true,
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
+    "node_modules/babel-plugin-transform-es2015-spread": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+      "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==",
       "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
+      "dependencies": {
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/array.prototype.flat": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
-      "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
+    "node_modules/babel-plugin-transform-es2015-sticky-regex": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+      "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1",
-        "es-shim-unscopables": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "babel-helper-regex": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/array.prototype.flatmap": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
-      "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
+    "node_modules/babel-plugin-transform-es2015-template-literals": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+      "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1",
-        "es-shim-unscopables": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/array.prototype.reduce": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz",
-      "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==",
+    "node_modules/babel-plugin-transform-es2015-typeof-symbol": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+      "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1",
-        "es-array-method-boxes-properly": "^1.0.0",
-        "is-string": "^1.0.7"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/arraybuffer.prototype.slice": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
-      "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
+    "node_modules/babel-plugin-transform-es2015-unicode-regex": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+      "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==",
       "dev": true,
       "dependencies": {
-        "array-buffer-byte-length": "^1.0.1",
-        "call-bind": "^1.0.5",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.22.3",
-        "es-errors": "^1.2.1",
-        "get-intrinsic": "^1.2.3",
-        "is-array-buffer": "^3.0.4",
-        "is-shared-array-buffer": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "babel-helper-regex": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "regexpu-core": "^2.0.0"
       }
     },
-    "node_modules/arrify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
-      "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
+    "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/jsesc": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+      "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
       "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
+      "bin": {
+        "jsesc": "bin/jsesc"
       }
     },
-    "node_modules/asn1": {
-      "version": "0.2.6",
-      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
-      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+    "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/regexpu-core": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
+      "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==",
       "dev": true,
       "dependencies": {
-        "safer-buffer": "~2.1.0"
+        "regenerate": "^1.2.1",
+        "regjsgen": "^0.2.0",
+        "regjsparser": "^0.1.4"
       }
     },
-    "node_modules/asn1.js": {
-      "version": "5.4.1",
-      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
-      "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
+    "node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/regjsparser": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+      "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==",
       "dev": true,
       "dependencies": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "safer-buffer": "^2.1.0"
+        "jsesc": "~0.5.0"
+      },
+      "bin": {
+        "regjsparser": "bin/parser"
       }
     },
-    "node_modules/asn1.js/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
+    "node_modules/babel-plugin-transform-exponentiation-operator": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
+      "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==",
+      "dev": true,
+      "dependencies": {
+        "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
+        "babel-plugin-syntax-exponentiation-operator": "^6.8.0",
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "node_modules/assert": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
-      "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
+    "node_modules/babel-plugin-transform-export-extensions": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
+      "integrity": "sha512-mtzELzINaYqdVglyZrDDVwkcFRuE7s6QUFWXxwffKAHB/NkfbJ2NJSytugB43ytIC8UVt30Ereyx+7gNyTkDLg==",
       "dev": true,
       "dependencies": {
-        "es6-object-assign": "^1.1.0",
-        "is-nan": "^1.2.1",
-        "object-is": "^1.0.1",
-        "util": "^0.12.0"
+        "babel-plugin-syntax-export-extensions": "^6.8.0",
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/assert-plus": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+    "node_modules/babel-plugin-transform-function-bind": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz",
+      "integrity": "sha512-9Ec4KYf1GurT39mlUjDSlN7HWSlB3u3mWRMogQbb+Y88lO0ZM3rJ0ADhPnQwWK9TbO6e/4E+Et1rrfGY9mFimA==",
       "dev": true,
-      "engines": {
-        "node": ">=0.8"
+      "dependencies": {
+        "babel-plugin-syntax-function-bind": "^6.8.0",
+        "babel-runtime": "^6.22.0"
       }
     },
-    "node_modules/assertion-error": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
-      "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+    "node_modules/babel-plugin-transform-object-rest-spread": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
+      "integrity": "sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==",
       "dev": true,
-      "engines": {
-        "node": "*"
+      "dependencies": {
+        "babel-plugin-syntax-object-rest-spread": "^6.8.0",
+        "babel-runtime": "^6.26.0"
       }
     },
-    "node_modules/assertion-error-formatter": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz",
-      "integrity": "sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ==",
+    "node_modules/babel-plugin-transform-regenerator": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
+      "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==",
       "dev": true,
       "dependencies": {
-        "diff": "^4.0.1",
-        "pad-right": "^0.2.2",
-        "repeat-string": "^1.6.1"
+        "regenerator-transform": "^0.10.0"
       }
     },
-    "node_modules/assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
+    "node_modules/babel-plugin-transform-regenerator/node_modules/regenerator-transform": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
+      "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
       "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
+      "dependencies": {
+        "babel-runtime": "^6.18.0",
+        "babel-types": "^6.19.0",
+        "private": "^0.1.6"
       }
     },
-    "node_modules/ast-types": {
-      "version": "0.13.4",
-      "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
-      "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
+    "node_modules/babel-plugin-transform-strict-mode": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
+      "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==",
       "dev": true,
       "dependencies": {
-        "tslib": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=4"
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "node_modules/astral-regex": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
-      "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+    "node_modules/babel-preset-es2015": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz",
+      "integrity": "sha512-XfwUqG1Ry6R43m4Wfob+vHbIVBIqTg/TJY4Snku1iIzeH7mUnwHA8Vagmv+ZQbPwhS8HgsdQvy28Py3k5zpoFQ==",
+      "deprecated": "🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!",
       "dev": true,
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "babel-plugin-check-es2015-constants": "^6.22.0",
+        "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
+        "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
+        "babel-plugin-transform-es2015-block-scoping": "^6.24.1",
+        "babel-plugin-transform-es2015-classes": "^6.24.1",
+        "babel-plugin-transform-es2015-computed-properties": "^6.24.1",
+        "babel-plugin-transform-es2015-destructuring": "^6.22.0",
+        "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1",
+        "babel-plugin-transform-es2015-for-of": "^6.22.0",
+        "babel-plugin-transform-es2015-function-name": "^6.24.1",
+        "babel-plugin-transform-es2015-literals": "^6.22.0",
+        "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
+        "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
+        "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1",
+        "babel-plugin-transform-es2015-modules-umd": "^6.24.1",
+        "babel-plugin-transform-es2015-object-super": "^6.24.1",
+        "babel-plugin-transform-es2015-parameters": "^6.24.1",
+        "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1",
+        "babel-plugin-transform-es2015-spread": "^6.22.0",
+        "babel-plugin-transform-es2015-sticky-regex": "^6.24.1",
+        "babel-plugin-transform-es2015-template-literals": "^6.22.0",
+        "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0",
+        "babel-plugin-transform-es2015-unicode-regex": "^6.24.1",
+        "babel-plugin-transform-regenerator": "^6.24.1"
       }
     },
-    "node_modules/async": {
-      "version": "3.2.5",
-      "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
-      "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
-      "dev": true
+    "node_modules/babel-preset-stage-0": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz",
+      "integrity": "sha512-MJD+xBbpsApbKlzAX0sOBF+VeFaUmv5s8FSOO7SSZpes1QgphCjq/UIGRFWSmQ/0i5bqQjLGCTXGGXqcLQ9JDA==",
+      "dev": true,
+      "dependencies": {
+        "babel-plugin-transform-do-expressions": "^6.22.0",
+        "babel-plugin-transform-function-bind": "^6.22.0",
+        "babel-preset-stage-1": "^6.24.1"
+      }
     },
-    "node_modules/async-each": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz",
-      "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==",
+    "node_modules/babel-preset-stage-1": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz",
+      "integrity": "sha512-rn+UOcd7BHDniq1SVxv2/AVVSVI1NK+hfS0I/iR6m6KbOi/aeBRcqBilqO73pd9VUpRXF2HFtlDuC9F2BEQqmg==",
       "dev": true,
-      "funding": [
-        {
-          "type": "individual",
-          "url": "https://paulmillr.com/funding/"
-        }
-      ],
-      "optional": true
+      "dependencies": {
+        "babel-plugin-transform-class-constructor-call": "^6.24.1",
+        "babel-plugin-transform-export-extensions": "^6.22.0",
+        "babel-preset-stage-2": "^6.24.1"
+      }
     },
-    "node_modules/async-mutex": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.0.tgz",
-      "integrity": "sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA==",
+    "node_modules/babel-preset-stage-2": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz",
+      "integrity": "sha512-9F+nquz+37PrlTSBdpeQBKnQfAMNBnryXw+m4qBh35FNbJPfzZz+sjN2G5Uf1CRedU9PH7fJkTbYijxmkLX8Og==",
       "dev": true,
       "dependencies": {
-        "tslib": "^2.4.0"
+        "babel-plugin-syntax-dynamic-import": "^6.18.0",
+        "babel-plugin-transform-class-properties": "^6.24.1",
+        "babel-plugin-transform-decorators": "^6.24.1",
+        "babel-preset-stage-3": "^6.24.1"
       }
     },
-    "node_modules/asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
-      "dev": true
+    "node_modules/babel-preset-stage-3": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz",
+      "integrity": "sha512-eCbEOF8uN0KypFXJmZXn2sTk7bPV9uM5xov7G/7BM08TbQEObsVs0cEWfy6NQySlfk7JBi/t+XJP1JkruYfthA==",
+      "dev": true,
+      "dependencies": {
+        "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
+        "babel-plugin-transform-async-generator-functions": "^6.24.1",
+        "babel-plugin-transform-async-to-generator": "^6.24.1",
+        "babel-plugin-transform-exponentiation-operator": "^6.24.1",
+        "babel-plugin-transform-object-rest-spread": "^6.22.0"
+      }
     },
-    "node_modules/at-least-node": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
-      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+    "node_modules/babel-register": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+      "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==",
       "dev": true,
-      "engines": {
-        "node": ">= 4.0.0"
+      "dependencies": {
+        "babel-core": "^6.26.0",
+        "babel-runtime": "^6.26.0",
+        "core-js": "^2.5.0",
+        "home-or-tmp": "^2.0.0",
+        "lodash": "^4.17.4",
+        "mkdirp": "^0.5.1",
+        "source-map-support": "^0.4.15"
       }
     },
-    "node_modules/atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+    "node_modules/babel-register/node_modules/mkdirp": {
+      "version": "0.5.6",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
       "dev": true,
-      "bin": {
-        "atob": "bin/atob.js"
+      "dependencies": {
+        "minimist": "^1.2.6"
       },
-      "engines": {
-        "node": ">= 4.5.0"
+      "bin": {
+        "mkdirp": "bin/cmd.js"
       }
     },
-    "node_modules/atomic-sleep": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz",
-      "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==",
+    "node_modules/babel-register/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
       "dev": true,
       "engines": {
-        "node": ">=8.0.0"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/available-typed-arrays": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
-      "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+    "node_modules/babel-register/node_modules/source-map-support": {
+      "version": "0.4.18",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+      "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
       "dev": true,
       "dependencies": {
-        "possible-typed-array-names": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "source-map": "^0.5.6"
       }
     },
-    "node_modules/avvio": {
-      "version": "8.3.0",
-      "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz",
-      "integrity": "sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==",
+    "node_modules/babel-runtime": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+      "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
       "dev": true,
       "dependencies": {
-        "@fastify/error": "^3.3.0",
-        "archy": "^1.0.0",
-        "debug": "^4.0.0",
-        "fastq": "^1.17.1"
+        "core-js": "^2.4.0",
+        "regenerator-runtime": "^0.11.0"
       }
     },
-    "node_modules/aws-sdk": {
-      "version": "2.1008.0",
-      "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1008.0.tgz",
-      "integrity": "sha512-wBEon+ARCuMcwEPpOFZqRT3elBLfLtPqv8jMql3Hsr7Ua5toPlgKMmjf368iTzBNaY7TOZsjLAT9nAhvtSZ++g==",
+    "node_modules/babel-template": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+      "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==",
       "dev": true,
-      "hasInstallScript": true,
       "dependencies": {
-        "buffer": "4.9.2",
-        "events": "1.1.1",
-        "ieee754": "1.1.13",
-        "jmespath": "0.15.0",
-        "querystring": "0.2.0",
-        "sax": "1.2.1",
-        "url": "0.10.3",
-        "uuid": "3.3.2",
-        "xml2js": "0.4.19"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
+        "babel-runtime": "^6.26.0",
+        "babel-traverse": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "babylon": "^6.18.0",
+        "lodash": "^4.17.4"
       }
     },
-    "node_modules/aws-sdk/node_modules/uuid": {
-      "version": "3.3.2",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
-      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
-      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
+    "node_modules/babel-traverse": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+      "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==",
       "dev": true,
-      "bin": {
-        "uuid": "bin/uuid"
+      "dependencies": {
+        "babel-code-frame": "^6.26.0",
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "babylon": "^6.18.0",
+        "debug": "^2.6.8",
+        "globals": "^9.18.0",
+        "invariant": "^2.2.2",
+        "lodash": "^4.17.4"
       }
     },
-    "node_modules/axios": {
-      "version": "1.6.7",
-      "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz",
-      "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
+    "node_modules/babel-traverse/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
       "dev": true,
       "dependencies": {
-        "follow-redirects": "^1.15.4",
-        "form-data": "^4.0.0",
-        "proxy-from-env": "^1.1.0"
+        "ms": "2.0.0"
       }
     },
-    "node_modules/b4a": {
-      "version": "1.6.6",
-      "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz",
-      "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==",
-      "dev": true
-    },
-    "node_modules/babel-loader": {
-      "version": "8.2.2",
-      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz",
-      "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==",
+    "node_modules/babel-traverse/node_modules/globals": {
+      "version": "9.18.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+      "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
       "dev": true,
-      "dependencies": {
-        "find-cache-dir": "^3.3.1",
-        "loader-utils": "^1.4.0",
-        "make-dir": "^3.1.0",
-        "schema-utils": "^2.6.5"
-      },
       "engines": {
-        "node": ">= 8.9"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0",
-        "webpack": ">=2"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/babel-loader/node_modules/json5": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
-      "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+    "node_modules/babel-traverse/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "dev": true
+    },
+    "node_modules/babel-types": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+      "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==",
       "dev": true,
       "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
+        "babel-runtime": "^6.26.0",
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.4",
+        "to-fast-properties": "^1.0.3"
       }
     },
-    "node_modules/babel-loader/node_modules/loader-utils": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
-      "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
+    "node_modules/babel-types/node_modules/to-fast-properties": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+      "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==",
       "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
-      },
       "engines": {
-        "node": ">=4.0.0"
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/babylon": {
+      "version": "6.18.0",
+      "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+      "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+      "dev": true,
+      "bin": {
+        "babylon": "bin/babylon.js"
       }
     },
     "node_modules/balanced-match": {
@@ -13033,49 +16088,6 @@
         "bare-os": "^2.1.0"
       }
     },
-    "node_modules/base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
-      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
-      "dependencies": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base/node_modules/define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-      "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base/node_modules/is-descriptor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-      "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.1",
-        "is-data-descriptor": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
     "node_modules/base64-js": {
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@@ -13213,16 +16225,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/bindings": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
-      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "file-uri-to-path": "1.0.0"
-      }
-    },
     "node_modules/bitsyntax": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz",
@@ -13299,12 +16301,6 @@
       "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
       "dev": true
     },
-    "node_modules/bn.js": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
-      "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
-      "dev": true
-    },
     "node_modules/body-parser": {
       "version": "1.20.2",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
@@ -13372,94 +16368,12 @@
         "node": ">=8"
       }
     },
-    "node_modules/brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==",
-      "dev": true
-    },
     "node_modules/browser-stdout": {
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
       "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
       "dev": true
     },
-    "node_modules/browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
-      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
-      "dependencies": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
-      "dependencies": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "node_modules/browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
-      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
-      "dependencies": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "node_modules/browserify-rsa": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
-      "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^5.0.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "node_modules/browserify-sign": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz",
-      "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^5.2.1",
-        "browserify-rsa": "^4.1.0",
-        "create-hash": "^1.2.0",
-        "create-hmac": "^1.1.7",
-        "elliptic": "^6.5.4",
-        "inherits": "^2.0.4",
-        "parse-asn1": "^5.1.6",
-        "readable-stream": "^3.6.2",
-        "safe-buffer": "^5.2.1"
-      },
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
-      "dependencies": {
-        "pako": "~1.0.5"
-      }
-    },
     "node_modules/browserslist": {
       "version": "4.23.0",
       "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
@@ -13575,12 +16489,6 @@
         "node": ">=4"
       }
     },
-    "node_modules/buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==",
-      "dev": true
-    },
     "node_modules/bufrw": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/bufrw/-/bufrw-1.4.0.tgz",
@@ -13607,12 +16515,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==",
-      "dev": true
-    },
     "node_modules/builtins": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
@@ -13714,26 +16616,6 @@
         "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
-      "dependencies": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/cache-content-type": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz",
@@ -14142,16 +17024,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
     "node_modules/cjs-module-lexer": {
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz",
@@ -14163,21 +17035,6 @@
       "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==",
       "dev": true
     },
-    "node_modules/class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
-      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
-      "dependencies": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/clean-stack": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
@@ -14462,19 +17319,6 @@
         "type-is": "^1.6.16"
       }
     },
-    "node_modules/collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
-      "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==",
-      "dev": true,
-      "dependencies": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/color": {
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
@@ -14520,9 +17364,9 @@
       }
     },
     "node_modules/colorette": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
-      "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==",
+      "version": "2.0.20",
+      "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+      "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
       "dev": true
     },
     "node_modules/colors": {
@@ -14660,15 +17504,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/component-emitter": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
-      "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
-      "dev": true,
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
     "node_modules/concat-map": {
       "version": "0.0.1",
       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -14754,24 +17589,12 @@
       "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
       "dev": true
     },
-    "node_modules/console-browserify": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
-      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
-      "dev": true
-    },
     "node_modules/console-control-strings": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
       "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
       "dev": true
     },
-    "node_modules/constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==",
-      "dev": true
-    },
     "node_modules/content-disposition": {
       "version": "0.5.4",
       "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
@@ -15006,89 +17829,25 @@
         "node": ">= 0.8"
       }
     },
-    "node_modules/copy-concurrently": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
-      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+    "node_modules/core-js": {
+      "version": "2.6.12",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
+      "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
+      "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
       "dev": true,
-      "dependencies": {
-        "aproba": "^1.1.1",
-        "fs-write-stream-atomic": "^1.0.8",
-        "iferr": "^0.1.5",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.0"
-      }
+      "hasInstallScript": true
     },
-    "node_modules/copy-concurrently/node_modules/aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
-    "node_modules/copy-concurrently/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+    "node_modules/core-js-compat": {
+      "version": "3.37.1",
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
+      "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
       "dev": true,
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
+        "browserslist": "^4.23.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/copy-concurrently/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-      "dev": true,
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/copy-concurrently/node_modules/mkdirp": {
-      "version": "0.5.6",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.6"
-      },
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      }
-    },
-    "node_modules/copy-concurrently/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
+        "type": "opencollective",
+        "url": "https://opencollective.com/core-js"
       }
     },
     "node_modules/core-util-is": {
@@ -15134,49 +17893,6 @@
         "node": ">= 6"
       }
     },
-    "node_modules/create-ecdh": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
-      "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.5.3"
-      }
-    },
-    "node_modules/create-ecdh/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/create-hash": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
-      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
-      "dependencies": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "node_modules/create-hmac": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
-      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
-      "dependencies": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
     "node_modules/cross-env": {
       "version": "7.0.3",
       "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
@@ -15218,28 +17934,82 @@
         "node": ">= 8"
       }
     },
-    "node_modules/crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+    "node_modules/cross-var": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/cross-var/-/cross-var-1.1.0.tgz",
+      "integrity": "sha512-wIcFax9RNm5ayuORUeJ5MLxPbfh8XdZhhUpKutIszU46Fs9UIhEdPJ7+YguM+7FxEj+68hSQVyathVsIu84SiA==",
       "dev": true,
       "dependencies": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
+        "babel-preset-es2015": "^6.18.0",
+        "babel-preset-stage-0": "^6.16.0",
+        "babel-register": "^6.18.0",
+        "cross-spawn": "^5.0.1",
+        "exit": "^0.1.2"
+      },
+      "bin": {
+        "cross-var": "index.js"
+      }
+    },
+    "node_modules/cross-var/node_modules/cross-spawn": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+      "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^4.0.1",
+        "shebang-command": "^1.2.0",
+        "which": "^1.2.9"
+      }
+    },
+    "node_modules/cross-var/node_modules/lru-cache": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+      "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+      "dev": true,
+      "dependencies": {
+        "pseudomap": "^1.0.2",
+        "yallist": "^2.1.2"
+      }
+    },
+    "node_modules/cross-var/node_modules/shebang-command": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+      "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
+      "dev": true,
+      "dependencies": {
+        "shebang-regex": "^1.0.0"
       },
       "engines": {
-        "node": "*"
+        "node": ">=0.10.0"
       }
     },
+    "node_modules/cross-var/node_modules/shebang-regex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+      "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/cross-var/node_modules/which": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "which": "bin/which"
+      }
+    },
+    "node_modules/cross-var/node_modules/yallist": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+      "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
+      "dev": true
+    },
     "node_modules/crypto-random-string": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
@@ -15315,12 +18085,6 @@
         "node": ">=0.4.0"
       }
     },
-    "node_modules/cyclist": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz",
-      "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==",
-      "dev": true
-    },
     "node_modules/dargs": {
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz",
@@ -15482,15 +18246,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/decode-uri-component": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
-      "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
     "node_modules/dedent": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
@@ -15600,18 +18355,6 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/degenerator": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
@@ -15743,16 +18486,6 @@
       "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
       "dev": true
     },
-    "node_modules/des.js": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz",
-      "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
     "node_modules/destroy": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
@@ -15817,23 +18550,6 @@
         "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      }
-    },
-    "node_modules/diffie-hellman/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
     "node_modules/dir-glob": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -15870,16 +18586,6 @@
         "void-elements": "^2.0.0"
       }
     },
-    "node_modules/domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4",
-        "npm": ">=1.2"
-      }
-    },
     "node_modules/dot-prop": {
       "version": "6.0.1",
       "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
@@ -15924,48 +18630,6 @@
       "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
       "dev": true
     },
-    "node_modules/duplexify": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
-      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "node_modules/duplexify/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/duplexify/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/duplexify/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
     "node_modules/eastasianwidth": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -16024,27 +18688,6 @@
       "integrity": "sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==",
       "dev": true
     },
-    "node_modules/elliptic": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
-      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.11.9",
-        "brorand": "^1.1.0",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.1",
-        "inherits": "^2.0.4",
-        "minimalistic-assert": "^1.0.1",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "node_modules/elliptic/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
     "node_modules/emoji-regex": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -16156,20 +18799,6 @@
         "node": ">= 0.6"
       }
     },
-    "node_modules/enhanced-resolve": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
-      "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.5.0",
-        "tapable": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
     "node_modules/enquirer": {
       "version": "2.3.6",
       "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
@@ -16233,18 +18862,6 @@
       "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
       "dev": true
     },
-    "node_modules/errno": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
-      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
-      "dev": true,
-      "dependencies": {
-        "prr": "~1.0.1"
-      },
-      "bin": {
-        "errno": "cli.js"
-      }
-    },
     "node_modules/error": {
       "version": "7.0.2",
       "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
@@ -17228,16 +19845,6 @@
         "node": ">=0.4.x"
       }
     },
-    "node_modules/evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
-      "dependencies": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
     "node_modules/ewma": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/ewma/-/ewma-2.0.1.tgz",
@@ -17270,39 +19877,15 @@
         "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
-    "node_modules/expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
-      "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==",
+    "node_modules/exit": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+      "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
       "dev": true,
-      "dependencies": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
       "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
+        "node": ">= 0.8.0"
       }
     },
-    "node_modules/expand-brackets/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
-      "dev": true
-    },
     "node_modules/expect": {
       "version": "29.2.0",
       "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.0.tgz",
@@ -17420,18 +20003,6 @@
       "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
       "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
     },
-    "node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/external-editor": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
@@ -17458,50 +20029,6 @@
         "node": ">=0.6.0"
       }
     },
-    "node_modules/extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
-      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
-      "dependencies": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-      "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/is-descriptor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-      "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.1",
-        "is-data-descriptor": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
     "node_modules/extract-zip": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
@@ -17883,13 +20410,6 @@
       "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
       "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="
     },
-    "node_modules/figgy-pudding": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
-      "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
-      "deprecated": "This module is no longer supported.",
-      "dev": true
-    },
     "node_modules/figures": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
@@ -17917,13 +20437,6 @@
         "node": "^10.12.0 || >=12.0.0"
       }
     },
-    "node_modules/file-uri-to-path": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
-      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
-      "dev": true,
-      "optional": true
-    },
     "node_modules/file-url": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/file-url/-/file-url-3.0.0.tgz",
@@ -18164,46 +20677,6 @@
       "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
       "dev": true
     },
-    "node_modules/flush-write-stream": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
-      "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.3.6"
-      }
-    },
-    "node_modules/flush-write-stream/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/flush-write-stream/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/flush-write-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
     "node_modules/fn.name": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
@@ -18239,15 +20712,6 @@
         "is-callable": "^1.1.3"
       }
     },
-    "node_modules/for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/foreground-child": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
@@ -18294,18 +20758,6 @@
         "node": ">= 0.6"
       }
     },
-    "node_modules/fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
-      "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==",
-      "dev": true,
-      "dependencies": {
-        "map-cache": "^0.2.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/fresh": {
       "version": "0.5.2",
       "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
@@ -18315,46 +20767,6 @@
         "node": ">= 0.6"
       }
     },
-    "node_modules/from2": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
-      "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0"
-      }
-    },
-    "node_modules/from2/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/from2/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/from2/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
     "node_modules/fromentries": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
@@ -18408,18 +20820,6 @@
         "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/fs-write-stream-atomic": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
-      "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "iferr": "^0.1.5",
-        "imurmurhash": "^0.1.4",
-        "readable-stream": "1 || 2"
-      }
-    },
     "node_modules/fs.realpath": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -18795,15 +21195,6 @@
         "node": ">=14.14"
       }
     },
-    "node_modules/get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/getopts": {
       "version": "2.2.5",
       "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.5.tgz",
@@ -18953,6 +21344,12 @@
         "node": ">=10.13.0"
       }
     },
+    "node_modules/glob-to-regexp": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+      "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+      "dev": true
+    },
     "node_modules/glob/node_modules/foreground-child": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
@@ -19208,93 +21605,6 @@
       "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
       "dev": true
     },
-    "node_modules/has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
-      "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==",
-      "dev": true,
-      "dependencies": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
-      "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values/node_modules/kind-of": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
-      "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/hash-base": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
-      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/hash.js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
-      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
     "node_modules/hasha": {
       "version": "5.2.2",
       "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
@@ -19384,15 +21694,17 @@
         "node": "*"
       }
     },
-    "node_modules/hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
+    "node_modules/home-or-tmp": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+      "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==",
       "dev": true,
       "dependencies": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
+        "os-homedir": "^1.0.0",
+        "os-tmpdir": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
       }
     },
     "node_modules/hosted-git-info": {
@@ -19593,12 +21905,6 @@
         "node": ">=0.10"
       }
     },
-    "node_modules/https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
-      "dev": true
-    },
     "node_modules/https-proxy-agent": {
       "version": "7.0.4",
       "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
@@ -19647,12 +21953,6 @@
       "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
       "dev": true
     },
-    "node_modules/iferr": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==",
-      "dev": true
-    },
     "node_modules/ignore": {
       "version": "5.3.1",
       "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
@@ -19971,6 +22271,15 @@
         "node": ">= 0.10"
       }
     },
+    "node_modules/invariant": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+      "dev": true,
+      "dependencies": {
+        "loose-envify": "^1.0.0"
+      }
+    },
     "node_modules/ioredis": {
       "version": "5.2.2",
       "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.2.2.tgz",
@@ -20023,18 +22332,6 @@
         "node": ">= 0.10"
       }
     },
-    "node_modules/is-accessor-descriptor": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz",
-      "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==",
-      "dev": true,
-      "dependencies": {
-        "hasown": "^2.0.0"
-      },
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
     "node_modules/is-arguments": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
@@ -20113,12 +22410,6 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
     "node_modules/is-builtin-module": {
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
@@ -20175,18 +22466,6 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/is-data-descriptor": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz",
-      "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==",
-      "dev": true,
-      "dependencies": {
-        "hasown": "^2.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
     "node_modules/is-data-view": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
@@ -20217,19 +22496,6 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/is-descriptor": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
-      "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.1",
-        "is-data-descriptor": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
     "node_modules/is-docker": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
@@ -20245,22 +22511,25 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+    "node_modules/is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
       "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
     },
-    "node_modules/is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+    "node_modules/is-finite": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
+      "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
       "dev": true,
       "engines": {
         "node": ">=0.10.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/is-fullwidth-code-point": {
@@ -20810,106 +23079,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/istanbul-lib-source-maps": {
-      "version": "3.0.6",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
-      "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^2.0.5",
-        "make-dir": "^2.1.0",
-        "rimraf": "^2.6.3",
-        "source-map": "^0.6.1"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-      "dev": true,
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps/node_modules/istanbul-lib-coverage": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
-      "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps/node_modules/make-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-      "dev": true,
-      "dependencies": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-      "dev": true,
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps/node_modules/pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps/node_modules/semver": {
-      "version": "5.7.2",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
-      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
     "node_modules/istanbul-reports": {
       "version": "3.1.7",
       "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
@@ -21403,6 +23572,20 @@
         "node": ">=8"
       }
     },
+    "node_modules/jest-worker": {
+      "version": "27.5.1",
+      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+      "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*",
+        "merge-stream": "^2.0.0",
+        "supports-color": "^8.0.0"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      }
+    },
     "node_modules/jmespath": {
       "version": "0.15.0",
       "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz",
@@ -21735,15 +23918,15 @@
       }
     },
     "node_modules/karma": {
-      "version": "6.3.16",
-      "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.16.tgz",
-      "integrity": "sha512-nEU50jLvDe5yvXqkEJRf8IuvddUkOY2x5Xc4WXHz6dxINgGDrgD2uqQWeVrJs4hbfNaotn+HQ1LZJ4yOXrL7xQ==",
+      "version": "6.4.3",
+      "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.3.tgz",
+      "integrity": "sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q==",
       "dev": true,
       "dependencies": {
+        "@colors/colors": "1.5.0",
         "body-parser": "^1.19.0",
         "braces": "^3.0.2",
         "chokidar": "^3.5.1",
-        "colors": "1.4.0",
         "connect": "^3.7.0",
         "di": "^0.0.1",
         "dom-serialize": "^2.2.1",
@@ -21759,7 +23942,7 @@
         "qjobs": "^1.2.0",
         "range-parser": "^1.2.1",
         "rimraf": "^3.0.2",
-        "socket.io": "^4.2.0",
+        "socket.io": "^4.7.2",
         "source-map": "^0.6.1",
         "tmp": "^0.2.1",
         "ua-parser-js": "^0.7.30",
@@ -21773,9 +23956,9 @@
       }
     },
     "node_modules/karma-chrome-launcher": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz",
-      "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz",
+      "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==",
       "dev": true,
       "dependencies": {
         "which": "^1.2.1"
@@ -21793,23 +23976,54 @@
         "which": "bin/which"
       }
     },
-    "node_modules/karma-coverage-istanbul-reporter": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz",
-      "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==",
+    "node_modules/karma-coverage": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz",
+      "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==",
       "dev": true,
       "dependencies": {
-        "istanbul-lib-coverage": "^3.0.0",
+        "istanbul-lib-coverage": "^3.2.0",
+        "istanbul-lib-instrument": "^5.1.0",
         "istanbul-lib-report": "^3.0.0",
-        "istanbul-lib-source-maps": "^3.0.6",
-        "istanbul-reports": "^3.0.2",
+        "istanbul-lib-source-maps": "^4.0.1",
+        "istanbul-reports": "^3.0.5",
         "minimatch": "^3.0.4"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/mattlewis92"
+      "engines": {
+        "node": ">=10.0.0"
       }
     },
-    "node_modules/karma-coverage-istanbul-reporter/node_modules/minimatch": {
+    "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+      "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/core": "^7.12.3",
+        "@babel/parser": "^7.14.7",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-coverage": "^3.2.0",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/karma-coverage/node_modules/istanbul-lib-source-maps": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+      "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.1.1",
+        "istanbul-lib-coverage": "^3.0.0",
+        "source-map": "^0.6.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/karma-coverage/node_modules/minimatch": {
       "version": "3.1.2",
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
       "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
@@ -21821,6 +24035,15 @@
         "node": "*"
       }
     },
+    "node_modules/karma-coverage/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
     "node_modules/karma-jquery": {
       "version": "0.2.4",
       "resolved": "https://registry.npmjs.org/karma-jquery/-/karma-jquery-0.2.4.tgz",
@@ -21852,72 +24075,62 @@
       }
     },
     "node_modules/karma-webpack": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz",
-      "integrity": "sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A==",
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-5.0.1.tgz",
+      "integrity": "sha512-oo38O+P3W2mSPCSUrQdySSPv1LvPpXP+f+bBimNomS5sW+1V4SuhCuW8TfJzV+rDv921w2fDSDw0xJbPe6U+kQ==",
       "dev": true,
       "dependencies": {
-        "clone-deep": "^4.0.1",
-        "loader-utils": "^1.1.0",
-        "neo-async": "^2.6.1",
-        "schema-utils": "^1.0.0",
-        "source-map": "^0.7.3",
-        "webpack-dev-middleware": "^3.7.0"
+        "glob": "^7.1.3",
+        "minimatch": "^9.0.3",
+        "webpack-merge": "^4.1.5"
       },
       "engines": {
-        "node": ">= 8.9.0"
+        "node": ">= 18"
       },
       "peerDependencies": {
-        "webpack": "^4.0.0"
-      }
-    },
-    "node_modules/karma-webpack/node_modules/json5": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
-      "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
+        "webpack": "^5.0.0"
       }
     },
-    "node_modules/karma-webpack/node_modules/loader-utils": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
-      "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
+    "node_modules/karma-webpack/node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
       "dev": true,
       "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
       },
       "engines": {
-        "node": ">=4.0.0"
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/karma-webpack/node_modules/schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+    "node_modules/karma-webpack/node_modules/glob/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
       "dev": true,
       "dependencies": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
+        "brace-expansion": "^1.1.7"
       },
       "engines": {
-        "node": ">= 4"
+        "node": "*"
       }
     },
-    "node_modules/karma-webpack/node_modules/source-map": {
-      "version": "0.7.4",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
-      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+    "node_modules/karma-webpack/node_modules/webpack-merge": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz",
+      "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==",
       "dev": true,
-      "engines": {
-        "node": ">= 8"
+      "dependencies": {
+        "lodash": "^4.17.15"
       }
     },
     "node_modules/karma/node_modules/glob": {
@@ -23330,12 +25543,12 @@
       }
     },
     "node_modules/loader-runner": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
-      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
+      "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
       "dev": true,
       "engines": {
-        "node": ">=4.3.0 <5.0.0 || >=5.10"
+        "node": ">=6.11.5"
       }
     },
     "node_modules/loader-utils": {
@@ -23390,6 +25603,12 @@
       "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==",
       "dev": true
     },
+    "node_modules/lodash.debounce": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+      "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
+      "dev": true
+    },
     "node_modules/lodash.defaults": {
       "version": "4.2.0",
       "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
@@ -23900,15 +26119,6 @@
       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
       "dev": true
     },
-    "node_modules/map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/map-obj": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
@@ -23921,18 +26131,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
-      "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==",
-      "dev": true,
-      "dependencies": {
-        "object-visit": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/markdown-it": {
       "version": "14.1.0",
       "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
@@ -24078,17 +26276,6 @@
       "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==",
       "dev": true
     },
-    "node_modules/md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
-      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
-      "dependencies": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
     "node_modules/mdurl": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
@@ -24114,49 +26301,6 @@
         "jackpot": ">=0.0.6"
       }
     },
-    "node_modules/memory-fs": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
-      "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
-      "dev": true,
-      "dependencies": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=4.3.0 <5.0.0 || >=5.10"
-      }
-    },
-    "node_modules/memory-fs/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/memory-fs/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/memory-fs/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
     "node_modules/memory-pager": {
       "version": "1.5.0",
       "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
@@ -24426,25 +26570,6 @@
         "node": ">=8.6"
       }
     },
-    "node_modules/miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      },
-      "bin": {
-        "miller-rabin": "bin/miller-rabin"
-      }
-    },
-    "node_modules/miller-rabin/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
     "node_modules/mime": {
       "version": "2.6.0",
       "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -24502,12 +26627,6 @@
       "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
       "dev": true
     },
-    "node_modules/minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==",
-      "dev": true
-    },
     "node_modules/minimatch": {
       "version": "9.0.4",
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
@@ -24777,113 +26896,12 @@
       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
       "dev": true
     },
-    "node_modules/mississippi": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
-      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
-      "dev": true,
-      "dependencies": {
-        "concat-stream": "^1.5.0",
-        "duplexify": "^3.4.2",
-        "end-of-stream": "^1.1.0",
-        "flush-write-stream": "^1.0.0",
-        "from2": "^2.1.0",
-        "parallel-transform": "^1.1.0",
-        "pump": "^3.0.0",
-        "pumpify": "^1.3.3",
-        "stream-each": "^1.1.0",
-        "through2": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/mississippi/node_modules/concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
-      "engines": [
-        "node >= 0.8"
-      ],
-      "dependencies": {
-        "buffer-from": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.2.2",
-        "typedarray": "^0.0.6"
-      }
-    },
-    "node_modules/mississippi/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/mississippi/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/mississippi/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/mississippi/node_modules/through2": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
-      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-      "dev": true,
-      "dependencies": {
-        "readable-stream": "~2.3.6",
-        "xtend": "~4.0.1"
-      }
-    },
     "node_modules/mitt": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
       "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
       "dev": true
     },
-    "node_modules/mixin-deep": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
-      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
-      "dependencies": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/mixin-deep/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/mkdirp": {
       "version": "2.1.6",
       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz",
@@ -25066,6 +27084,7 @@
       "os": [
         "darwin"
       ],
+      "peer": true,
       "engines": {
         "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
       }
@@ -25429,82 +27448,6 @@
       "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
       "dev": true
     },
-    "node_modules/move-concurrently": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
-      "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.1.1",
-        "copy-concurrently": "^1.0.0",
-        "fs-write-stream-atomic": "^1.0.8",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.3"
-      }
-    },
-    "node_modules/move-concurrently/node_modules/aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
-    "node_modules/move-concurrently/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-      "dev": true,
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/move-concurrently/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-      "dev": true,
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/move-concurrently/node_modules/mkdirp": {
-      "version": "0.5.6",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.6"
-      },
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      }
-    },
-    "node_modules/move-concurrently/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
     "node_modules/mpath": {
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
@@ -25904,79 +27847,6 @@
         "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "node_modules/nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
-      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/nanomatch/node_modules/define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/nanomatch/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
-      "dev": true,
-      "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/nanomatch/node_modules/is-descriptor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-      "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.1",
-        "is-data-descriptor": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/nanomatch/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/native-duplexpair": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/native-duplexpair/-/native-duplexpair-1.0.0.tgz",
@@ -26527,141 +28397,6 @@
       "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
       "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw=="
     },
-    "node_modules/node-libs-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
-      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
-      "dev": true,
-      "dependencies": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^3.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.1",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.11.0",
-        "vm-browserify": "^1.0.1"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/assert": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz",
-      "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==",
-      "dev": true,
-      "dependencies": {
-        "object.assign": "^4.1.4",
-        "util": "^0.10.4"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/assert/node_modules/util": {
-      "version": "0.10.4",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
-      "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "2.0.3"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.x"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/inherits": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-      "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
-      "dev": true
-    },
-    "node_modules/node-libs-browser/node_modules/punycode": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-      "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
-      "dev": true
-    },
-    "node_modules/node-libs-browser/node_modules/qs": {
-      "version": "6.11.2",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
-      "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
-      "dev": true,
-      "dependencies": {
-        "side-channel": "^1.0.4"
-      },
-      "engines": {
-        "node": ">=0.6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/url": {
-      "version": "0.11.3",
-      "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz",
-      "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==",
-      "dev": true,
-      "dependencies": {
-        "punycode": "^1.4.1",
-        "qs": "^6.11.2"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/util": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
-      "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "2.0.3"
-      }
-    },
     "node_modules/node-preload": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
@@ -27675,32 +29410,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==",
-      "dev": true,
-      "dependencies": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/object-hash": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
@@ -27744,18 +29453,6 @@
         "node": ">= 0.4"
       }
     },
-    "node_modules/object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
-      "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==",
-      "dev": true,
-      "dependencies": {
-        "isobject": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/object.assign": {
       "version": "4.1.5",
       "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
@@ -27807,18 +29504,6 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
-      "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==",
-      "dev": true,
-      "dependencies": {
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/object.values": {
       "version": "1.1.7",
       "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz",
@@ -28050,11 +29735,14 @@
         "node": ">=8"
       }
     },
-    "node_modules/os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
-      "dev": true
+    "node_modules/os-homedir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+      "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
     },
     "node_modules/os-tmpdir": {
       "version": "1.0.2",
@@ -28452,53 +30140,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/pako": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
-      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
-      "dev": true
-    },
-    "node_modules/parallel-transform": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
-      "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
-      "dev": true,
-      "dependencies": {
-        "cyclist": "^1.0.1",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.1.5"
-      }
-    },
-    "node_modules/parallel-transform/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/parallel-transform/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/parallel-transform/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
     "node_modules/parent-module": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -28511,19 +30152,6 @@
         "node": ">=6"
       }
     },
-    "node_modules/parse-asn1": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
-      "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
-      "dev": true,
-      "dependencies": {
-        "asn1.js": "^5.2.0",
-        "browserify-aes": "^1.0.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3",
-        "safe-buffer": "^5.1.1"
-      }
-    },
     "node_modules/parse-conflict-json": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz",
@@ -28625,28 +30253,6 @@
         "node": ">= 0.8"
       }
     },
-    "node_modules/pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/path-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
-      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
-      "dev": true
-    },
-    "node_modules/path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==",
-      "dev": true,
-      "optional": true
-    },
     "node_modules/path-exists": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -28728,22 +30334,6 @@
         "node": "*"
       }
     },
-    "node_modules/pbkdf2": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
-      "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
-      "dev": true,
-      "dependencies": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      },
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
     "node_modules/pend": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
@@ -29103,15 +30693,6 @@
         "mkdirp": "bin/cmd.js"
       }
     },
-    "node_modules/posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/possible-typed-array-names": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
@@ -29231,6 +30812,15 @@
         "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
+    "node_modules/private": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
     "node_modules/proc-log": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz",
@@ -29452,38 +31042,12 @@
       "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
       "dev": true
     },
-    "node_modules/prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
-      "dev": true
-    },
     "node_modules/pseudomap": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
       "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==",
       "dev": true
     },
-    "node_modules/public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
-      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "node_modules/public-encrypt/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
     "node_modules/pump": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
@@ -29494,27 +31058,6 @@
         "once": "^1.3.1"
       }
     },
-    "node_modules/pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
-      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
-      "dev": true,
-      "dependencies": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      }
-    },
-    "node_modules/pumpify/node_modules/pump": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
-      "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
     "node_modules/punycode": {
       "version": "2.3.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -29615,15 +31158,6 @@
         "node": ">=0.4.x"
       }
     },
-    "node_modules/querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.x"
-      }
-    },
     "node_modules/querystringify": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
@@ -29680,16 +31214,6 @@
         "safe-buffer": "^5.1.0"
       }
     },
-    "node_modules/randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
-      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
-      "dependencies": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
     "node_modules/range-parser": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -30106,15 +31630,15 @@
       }
     },
     "node_modules/rechoir": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
-      "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
+      "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
       "dev": true,
       "dependencies": {
-        "resolve": "^1.9.0"
+        "resolve": "^1.20.0"
       },
       "engines": {
-        "node": ">= 0.10"
+        "node": ">= 10.13.0"
       }
     },
     "node_modules/redent": {
@@ -30191,42 +31715,37 @@
       "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==",
       "dev": true
     },
-    "node_modules/regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
-      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
+    "node_modules/regenerate": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
+      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
+      "dev": true
     },
-    "node_modules/regex-not/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+    "node_modules/regenerate-unicode-properties": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
+      "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
       "dev": true,
       "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
+        "regenerate": "^1.4.2"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=4"
       }
     },
-    "node_modules/regex-not/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+    "node_modules/regenerator-runtime": {
+      "version": "0.11.1",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+      "dev": true
+    },
+    "node_modules/regenerator-transform": {
+      "version": "0.15.2",
+      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
+      "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
       "dev": true,
       "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
+        "@babel/runtime": "^7.8.4"
       }
     },
     "node_modules/regexp-match-indices": {
@@ -30277,32 +31796,60 @@
         "url": "https://github.com/sponsors/mysticatea"
       }
     },
-    "node_modules/release-zalgo": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
-      "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==",
+    "node_modules/regexpu-core": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
+      "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
       "dev": true,
       "dependencies": {
-        "es6-error": "^4.0.1"
+        "@babel/regjsgen": "^0.8.0",
+        "regenerate": "^1.4.2",
+        "regenerate-unicode-properties": "^10.1.0",
+        "regjsparser": "^0.9.1",
+        "unicode-match-property-ecmascript": "^2.0.0",
+        "unicode-match-property-value-ecmascript": "^2.1.0"
       },
       "engines": {
         "node": ">=4"
       }
     },
-    "node_modules/remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
+    "node_modules/regjsgen": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+      "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==",
+      "dev": true
+    },
+    "node_modules/regjsparser": {
+      "version": "0.9.1",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
+      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
       "dev": true,
-      "optional": true
+      "dependencies": {
+        "jsesc": "~0.5.0"
+      },
+      "bin": {
+        "regjsparser": "bin/parser"
+      }
     },
-    "node_modules/repeat-element": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
-      "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
+    "node_modules/regjsparser/node_modules/jsesc": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+      "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
+      "dev": true,
+      "bin": {
+        "jsesc": "bin/jsesc"
+      }
+    },
+    "node_modules/release-zalgo": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
+      "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==",
       "dev": true,
+      "dependencies": {
+        "es6-error": "^4.0.1"
+      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=4"
       }
     },
     "node_modules/repeat-string": {
@@ -30314,6 +31861,18 @@
         "node": ">=0.10"
       }
     },
+    "node_modules/repeating": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+      "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==",
+      "dev": true,
+      "dependencies": {
+        "is-finite": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/require-directory": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -30490,13 +32049,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
-      "deprecated": "https://github.com/lydell/resolve-url#deprecated",
-      "dev": true
-    },
     "node_modules/restify": {
       "version": "11.1.0",
       "resolved": "https://registry.npmjs.org/restify/-/restify-11.1.0.tgz",
@@ -30764,16 +32316,6 @@
         "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
-      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
-      "dependencies": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
     "node_modules/rollup": {
       "version": "4.12.1",
       "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.1.tgz",
@@ -30883,21 +32425,6 @@
         "queue-microtask": "^1.2.2"
       }
     },
-    "node_modules/run-queue": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
-      "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.1.1"
-      }
-    },
-    "node_modules/run-queue/node_modules/aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
     "node_modules/rxjs": {
       "version": "7.8.1",
       "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
@@ -30964,15 +32491,6 @@
       "dev": true,
       "optional": true
     },
-    "node_modules/safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
-      "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==",
-      "dev": true,
-      "dependencies": {
-        "ret": "~0.1.10"
-      }
-    },
     "node_modules/safe-regex-test": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
@@ -30990,15 +32508,6 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/safe-regex/node_modules/ret": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
     "node_modules/safe-regex2": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz",
@@ -31168,9 +32677,9 @@
       "dev": true
     },
     "node_modules/serialize-javascript": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
-      "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+      "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
       "dev": true,
       "dependencies": {
         "randombytes": "^2.1.0"
@@ -31235,45 +32744,11 @@
         "node": ">= 0.4"
       }
     },
-    "node_modules/set-value": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
-      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
-      "dev": true
-    },
     "node_modules/setprototypeof": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
       "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
-      "dev": true
-    },
-    "node_modules/sha.js": {
-      "version": "2.4.11",
-      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
-      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      },
-      "bin": {
-        "sha.js": "bin.js"
-      }
+      "dev": true
     },
     "node_modules/shallow-clone": {
       "version": "3.0.1",
@@ -31654,675 +33129,1034 @@
         "npm": ">= 3.0.0"
       }
     },
-    "node_modules/snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
-      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+    "node_modules/socket.io": {
+      "version": "4.7.4",
+      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz",
+      "integrity": "sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==",
       "dev": true,
       "dependencies": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
+        "accepts": "~1.3.4",
+        "base64id": "~2.0.0",
+        "cors": "~2.8.5",
+        "debug": "~4.3.2",
+        "engine.io": "~6.5.2",
+        "socket.io-adapter": "~2.5.2",
+        "socket.io-parser": "~4.2.4"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10.2.0"
       }
     },
-    "node_modules/snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+    "node_modules/socket.io-adapter": {
+      "version": "2.5.4",
+      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.4.tgz",
+      "integrity": "sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==",
+      "dev": true,
+      "dependencies": {
+        "debug": "~4.3.4",
+        "ws": "~8.11.0"
+      }
+    },
+    "node_modules/socket.io-client": {
+      "version": "4.7.4",
+      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.4.tgz",
+      "integrity": "sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==",
+      "dev": true,
+      "dependencies": {
+        "@socket.io/component-emitter": "~3.1.0",
+        "debug": "~4.3.2",
+        "engine.io-client": "~6.5.2",
+        "socket.io-parser": "~4.2.4"
+      },
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/socket.io-parser": {
+      "version": "4.2.4",
+      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
+      "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
+      "dev": true,
+      "dependencies": {
+        "@socket.io/component-emitter": "~3.1.0",
+        "debug": "~4.3.1"
+      },
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/socks": {
+      "version": "2.8.1",
+      "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz",
+      "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==",
+      "dev": true,
+      "dependencies": {
+        "ip-address": "^9.0.5",
+        "smart-buffer": "^4.2.0"
+      },
+      "engines": {
+        "node": ">= 10.0.0",
+        "npm": ">= 3.0.0"
+      }
+    },
+    "node_modules/socks-proxy-agent": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
+      "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
+      "dev": true,
+      "dependencies": {
+        "agent-base": "^6.0.2",
+        "debug": "^4.3.3",
+        "socks": "^2.6.2"
+      },
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/socks-proxy-agent/node_modules/agent-base": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+      "dev": true,
+      "dependencies": {
+        "debug": "4"
+      },
+      "engines": {
+        "node": ">= 6.0.0"
+      }
+    },
+    "node_modules/sonic-boom": {
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.0.tgz",
+      "integrity": "sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==",
+      "dev": true,
+      "dependencies": {
+        "atomic-sleep": "^1.0.0"
+      }
+    },
+    "node_modules/sort-keys": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
+      "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==",
       "dev": true,
       "dependencies": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
+        "is-plain-obj": "^1.0.0"
       },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
     },
-    "node_modules/snapdragon-node/node_modules/define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-      "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+    "node_modules/source-map-support": {
+      "version": "0.5.21",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+      "dev": true,
+      "dependencies": {
+        "buffer-from": "^1.0.0",
+        "source-map": "^0.6.0"
+      }
+    },
+    "node_modules/sparse-bitfield": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+      "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+      "dev": true,
+      "dependencies": {
+        "memory-pager": "^1.0.2"
+      }
+    },
+    "node_modules/spawn-npm-install": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/spawn-npm-install/-/spawn-npm-install-1.2.0.tgz",
+      "integrity": "sha512-qXcmJmkuD6UW8U/r/V+4HpR5Y1q9WdCqROIQHZFMrCi+03UmqHUv134o2nWvnjIddJ8hX+akbHze6MbGdW2eLA==",
+      "dev": true,
+      "dependencies": {
+        "dargs": "^4.0.0"
+      }
+    },
+    "node_modules/spawn-npm-install/node_modules/dargs": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
+      "integrity": "sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw==",
       "dev": true,
       "dependencies": {
-        "is-descriptor": "^1.0.0"
+        "number-is-nan": "^1.0.0"
       },
       "engines": {
         "node": ">=0.10.0"
       }
     },
-    "node_modules/snapdragon-node/node_modules/is-descriptor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-      "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
+    "node_modules/spawn-wrap": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
+      "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
+      "dev": true,
+      "dependencies": {
+        "foreground-child": "^2.0.0",
+        "is-windows": "^1.0.2",
+        "make-dir": "^3.0.0",
+        "rimraf": "^3.0.0",
+        "signal-exit": "^3.0.2",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/spawn-wrap/node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
       "dev": true,
       "dependencies": {
-        "is-accessor-descriptor": "^1.0.1",
-        "is-data-descriptor": "^1.0.1"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/spawn-wrap/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/spawn-wrap/node_modules/rimraf": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/spdx-correct": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+      "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+      "dev": true,
+      "dependencies": {
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-license-ids": "^3.0.0"
       }
     },
-    "node_modules/snapdragon-util": {
+    "node_modules/spdx-exceptions": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+      "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
+      "dev": true
+    },
+    "node_modules/spdx-expression-parse": {
       "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+      "dev": true,
+      "dependencies": {
+        "spdx-exceptions": "^2.1.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "node_modules/spdx-license-ids": {
+      "version": "3.0.17",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
+      "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
+      "dev": true
+    },
+    "node_modules/spdy": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
+      "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
       "dev": true,
       "dependencies": {
-        "kind-of": "^3.2.0"
+        "debug": "^4.1.0",
+        "handle-thing": "^2.0.0",
+        "http-deceiver": "^1.2.7",
+        "select-hose": "^2.0.0",
+        "spdy-transport": "^3.0.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/spdy-transport": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
+      "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.1.0",
+        "detect-node": "^2.0.4",
+        "hpack.js": "^2.1.6",
+        "obuf": "^1.1.2",
+        "readable-stream": "^3.0.6",
+        "wbuf": "^1.7.3"
+      }
+    },
+    "node_modules/split": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
+      "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
+      "dev": true,
+      "dependencies": {
+        "through": "2"
+      },
+      "engines": {
+        "node": "*"
       }
     },
-    "node_modules/snapdragon-util/node_modules/kind-of": {
+    "node_modules/split2": {
       "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+      "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz",
+      "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==",
+      "dev": true,
+      "dependencies": {
+        "readable-stream": "^3.0.0"
+      }
+    },
+    "node_modules/sprintf-js": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
+      "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
+      "dev": true
+    },
+    "node_modules/sqlite3": {
+      "version": "5.1.6",
+      "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.6.tgz",
+      "integrity": "sha512-olYkWoKFVNSSSQNvxVUfjiVbz3YtBwTJj+mfV5zpHmqW3sELx2Cf4QCdirMelhM5Zh+KDVaKgQHqCxrqiWHybw==",
+      "dev": true,
+      "hasInstallScript": true,
+      "dependencies": {
+        "@mapbox/node-pre-gyp": "^1.0.0",
+        "node-addon-api": "^4.2.0",
+        "tar": "^6.1.11"
+      },
+      "optionalDependencies": {
+        "node-gyp": "8.x"
+      },
+      "peerDependencies": {
+        "node-gyp": "8.x"
+      },
+      "peerDependenciesMeta": {
+        "node-gyp": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/sqlite3/node_modules/abbrev": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+      "dev": true,
+      "optional": true
+    },
+    "node_modules/sqlite3/node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
       "dev": true,
+      "optional": true,
       "dependencies": {
-        "is-buffer": "^1.1.5"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/snapdragon/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+    "node_modules/sqlite3/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
       "dev": true,
+      "optional": true,
       "dependencies": {
-        "ms": "2.0.0"
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
       }
     },
-    "node_modules/snapdragon/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+    "node_modules/sqlite3/node_modules/node-addon-api": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
+      "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==",
       "dev": true
     },
-    "node_modules/snapdragon/node_modules/source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+    "node_modules/sqlite3/node_modules/node-gyp": {
+      "version": "8.4.1",
+      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
+      "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "env-paths": "^2.2.0",
+        "glob": "^7.1.4",
+        "graceful-fs": "^4.2.6",
+        "make-fetch-happen": "^9.1.0",
+        "nopt": "^5.0.0",
+        "npmlog": "^6.0.0",
+        "rimraf": "^3.0.2",
+        "semver": "^7.3.5",
+        "tar": "^6.1.2",
+        "which": "^2.0.2"
+      },
+      "bin": {
+        "node-gyp": "bin/node-gyp.js"
+      },
+      "engines": {
+        "node": ">= 10.12.0"
+      }
+    },
+    "node_modules/sqlite3/node_modules/nopt": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+      "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "abbrev": "1"
+      },
+      "bin": {
+        "nopt": "bin/nopt.js"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/sqlite3/node_modules/rimraf": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/sqlstring": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz",
+      "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/sshpk": {
+      "version": "1.18.0",
+      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
+      "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
       "dev": true,
+      "dependencies": {
+        "asn1": "~0.2.3",
+        "assert-plus": "^1.0.0",
+        "bcrypt-pbkdf": "^1.0.0",
+        "dashdash": "^1.12.0",
+        "ecc-jsbn": "~0.1.1",
+        "getpass": "^0.1.1",
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.0.2",
+        "tweetnacl": "~0.14.0"
+      },
+      "bin": {
+        "sshpk-conv": "bin/sshpk-conv",
+        "sshpk-sign": "bin/sshpk-sign",
+        "sshpk-verify": "bin/sshpk-verify"
+      },
       "engines": {
         "node": ">=0.10.0"
       }
     },
-    "node_modules/socket.io": {
-      "version": "4.7.4",
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz",
-      "integrity": "sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==",
+    "node_modules/sshpk/node_modules/jsbn": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+      "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
+      "dev": true
+    },
+    "node_modules/ssri": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
+      "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
       "dev": true,
       "dependencies": {
-        "accepts": "~1.3.4",
-        "base64id": "~2.0.0",
-        "cors": "~2.8.5",
-        "debug": "~4.3.2",
-        "engine.io": "~6.5.2",
-        "socket.io-adapter": "~2.5.2",
-        "socket.io-parser": "~4.2.4"
+        "minipass": "^3.1.1"
       },
       "engines": {
-        "node": ">=10.2.0"
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
       }
     },
-    "node_modules/socket.io-adapter": {
-      "version": "2.5.4",
-      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.4.tgz",
-      "integrity": "sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==",
+    "node_modules/ssri/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
       "dev": true,
       "dependencies": {
-        "debug": "~4.3.4",
-        "ws": "~8.11.0"
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/socket.io-client": {
-      "version": "4.7.4",
-      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.4.tgz",
-      "integrity": "sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==",
+    "node_modules/ssri/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
+    "node_modules/stack-trace": {
+      "version": "0.0.10",
+      "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
+      "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/stack-utils": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
+      "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
       "dev": true,
       "dependencies": {
-        "@socket.io/component-emitter": "~3.1.0",
-        "debug": "~4.3.2",
-        "engine.io-client": "~6.5.2",
-        "socket.io-parser": "~4.2.4"
+        "escape-string-regexp": "^2.0.0"
       },
       "engines": {
-        "node": ">=10.0.0"
+        "node": ">=10"
       }
     },
-    "node_modules/socket.io-parser": {
-      "version": "4.2.4",
-      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
-      "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
+    "node_modules/stack-utils/node_modules/escape-string-regexp": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+      "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
       "dev": true,
-      "dependencies": {
-        "@socket.io/component-emitter": "~3.1.0",
-        "debug": "~4.3.1"
-      },
       "engines": {
-        "node": ">=10.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/socks": {
-      "version": "2.8.1",
-      "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz",
-      "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==",
+    "node_modules/stackframe": {
+      "version": "1.3.4",
+      "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
+      "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==",
+      "dev": true
+    },
+    "node_modules/standard-as-callback": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
+      "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==",
+      "dev": true
+    },
+    "node_modules/statuses": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
       "dev": true,
-      "dependencies": {
-        "ip-address": "^9.0.5",
-        "smart-buffer": "^4.2.0"
-      },
       "engines": {
-        "node": ">= 10.0.0",
-        "npm": ">= 3.0.0"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/socks-proxy-agent": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
-      "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
+    "node_modules/stoppable": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz",
+      "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==",
       "dev": true,
-      "dependencies": {
-        "agent-base": "^6.0.2",
-        "debug": "^4.3.3",
-        "socks": "^2.6.2"
-      },
       "engines": {
-        "node": ">= 10"
+        "node": ">=4",
+        "npm": ">=6"
       }
     },
-    "node_modules/socks-proxy-agent/node_modules/agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+    "node_modules/stream-read-all": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz",
+      "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==",
       "dev": true,
-      "dependencies": {
-        "debug": "4"
-      },
       "engines": {
-        "node": ">= 6.0.0"
+        "node": ">=10"
       }
     },
-    "node_modules/sonic-boom": {
-      "version": "3.8.0",
-      "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.0.tgz",
-      "integrity": "sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==",
+    "node_modules/stream-transform": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-3.3.0.tgz",
+      "integrity": "sha512-pG1NeDdmErNYKtvTpFayrEueAmL0xVU5wd22V7InGnatl4Ocq3HY7dcXIKj629kXvYQvglCC7CeDIGAlx1RNGA==",
+      "dev": true
+    },
+    "node_modules/streamroller": {
+      "version": "3.1.5",
+      "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz",
+      "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==",
       "dev": true,
       "dependencies": {
-        "atomic-sleep": "^1.0.0"
+        "date-format": "^4.0.14",
+        "debug": "^4.3.4",
+        "fs-extra": "^8.1.0"
+      },
+      "engines": {
+        "node": ">=8.0"
       }
     },
-    "node_modules/sort-keys": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
-      "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==",
+    "node_modules/streamroller/node_modules/fs-extra": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+      "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
       "dev": true,
       "dependencies": {
-        "is-plain-obj": "^1.0.0"
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^4.0.0",
+        "universalify": "^0.1.0"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">=6 <7 || >=8"
       }
     },
-    "node_modules/source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
-      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
-      "dev": true
+    "node_modules/streamroller/node_modules/jsonfile": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+      "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+      "dev": true,
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
     },
-    "node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+    "node_modules/streamroller/node_modules/universalify": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
       "dev": true,
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">= 4.0.0"
       }
     },
-    "node_modules/source-map-resolve": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
-      "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
-      "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
+    "node_modules/streamsearch": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
+      "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
       "dev": true,
-      "dependencies": {
-        "atob": "^2.1.2",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
+      "engines": {
+        "node": ">=10.0.0"
       }
     },
-    "node_modules/source-map-support": {
-      "version": "0.5.21",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
-      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+    "node_modules/streamx": {
+      "version": "2.16.1",
+      "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz",
+      "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==",
       "dev": true,
       "dependencies": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
+        "fast-fifo": "^1.1.0",
+        "queue-tick": "^1.0.1"
+      },
+      "optionalDependencies": {
+        "bare-events": "^2.2.0"
       }
     },
-    "node_modules/source-map-url": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
-      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
-      "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
-      "dev": true
-    },
-    "node_modules/sparse-bitfield": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
-      "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+    "node_modules/string_decoder": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
       "dev": true,
       "dependencies": {
-        "memory-pager": "^1.0.2"
+        "safe-buffer": "~5.2.0"
       }
     },
-    "node_modules/spawn-npm-install": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/spawn-npm-install/-/spawn-npm-install-1.2.0.tgz",
-      "integrity": "sha512-qXcmJmkuD6UW8U/r/V+4HpR5Y1q9WdCqROIQHZFMrCi+03UmqHUv134o2nWvnjIddJ8hX+akbHze6MbGdW2eLA==",
+    "node_modules/string-argv": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
+      "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
       "dev": true,
-      "dependencies": {
-        "dargs": "^4.0.0"
+      "engines": {
+        "node": ">=0.6.19"
       }
     },
-    "node_modules/spawn-npm-install/node_modules/dargs": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
-      "integrity": "sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw==",
-      "dev": true,
+    "node_modules/string-template": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
+      "integrity": "sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw=="
+    },
+    "node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
       "dependencies": {
-        "number-is-nan": "^1.0.0"
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=8"
       }
     },
-    "node_modules/spawn-wrap": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
-      "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
+    "node_modules/string-width-cjs": {
+      "name": "string-width",
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
       "dev": true,
       "dependencies": {
-        "foreground-child": "^2.0.0",
-        "is-windows": "^1.0.2",
-        "make-dir": "^3.0.0",
-        "rimraf": "^3.0.0",
-        "signal-exit": "^3.0.2",
-        "which": "^2.0.1"
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
       },
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/spawn-wrap/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+    "node_modules/string.prototype.trim": {
+      "version": "1.2.9",
+      "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
+      "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
       "dev": true,
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.0",
+        "es-object-atoms": "^1.0.0"
       },
       "engines": {
-        "node": "*"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/spawn-wrap/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+    "node_modules/string.prototype.trimend": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
+      "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
       "dev": true,
       "dependencies": {
-        "brace-expansion": "^1.1.7"
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-object-atoms": "^1.0.0"
       },
-      "engines": {
-        "node": "*"
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/spawn-wrap/node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+    "node_modules/string.prototype.trimstart": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+      "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
       "dev": true,
       "dependencies": {
-        "glob": "^7.1.3"
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-object-atoms": "^1.0.0"
       },
-      "bin": {
-        "rimraf": "bin.js"
+      "engines": {
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/spdx-correct": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
-      "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
-      "dev": true,
+    "node_modules/strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
       "dependencies": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/spdx-exceptions": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
-      "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
-      "dev": true
-    },
-    "node_modules/spdx-expression-parse": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
-      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+    "node_modules/strip-ansi-cjs": {
+      "name": "strip-ansi",
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
       "dev": true,
       "dependencies": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/spdx-license-ids": {
-      "version": "3.0.17",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
-      "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
-      "dev": true
-    },
-    "node_modules/spdy": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
-      "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
+    "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
       "dev": true,
-      "dependencies": {
-        "debug": "^4.1.0",
-        "handle-thing": "^2.0.0",
-        "http-deceiver": "^1.2.7",
-        "select-hose": "^2.0.0",
-        "spdy-transport": "^3.0.0"
-      },
       "engines": {
-        "node": ">=6.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/spdy-transport": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
-      "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.0",
-        "detect-node": "^2.0.4",
-        "hpack.js": "^2.1.6",
-        "obuf": "^1.1.2",
-        "readable-stream": "^3.0.6",
-        "wbuf": "^1.7.3"
+    "node_modules/strip-ansi/node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/split": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
-      "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
+    "node_modules/strip-bom": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
       "dev": true,
-      "dependencies": {
-        "through": "2"
-      },
       "engines": {
-        "node": "*"
+        "node": ">=8"
       }
     },
-    "node_modules/split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
-      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+    "node_modules/strip-final-newline": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
       "dev": true,
-      "dependencies": {
-        "extend-shallow": "^3.0.0"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=6"
       }
     },
-    "node_modules/split-string/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+    "node_modules/strip-indent": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+      "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
       "dev": true,
       "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
+        "min-indent": "^1.0.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=8"
       }
     },
-    "node_modules/split-string/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+    "node_modules/strip-json-comments": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
       "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/split2": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz",
-      "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==",
+    "node_modules/strnum": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
+      "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==",
+      "dev": true,
+      "optional": true
+    },
+    "node_modules/strong-log-transformer": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz",
+      "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==",
       "dev": true,
       "dependencies": {
-        "readable-stream": "^3.0.0"
+        "duplexer": "^0.1.1",
+        "minimist": "^1.2.0",
+        "through": "^2.3.4"
+      },
+      "bin": {
+        "sl-log-transformer": "bin/sl-log-transformer.js"
+      },
+      "engines": {
+        "node": ">=4"
       }
     },
-    "node_modules/sprintf-js": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
-      "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
-      "dev": true
-    },
-    "node_modules/sqlite3": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.6.tgz",
-      "integrity": "sha512-olYkWoKFVNSSSQNvxVUfjiVbz3YtBwTJj+mfV5zpHmqW3sELx2Cf4QCdirMelhM5Zh+KDVaKgQHqCxrqiWHybw==",
+    "node_modules/supports-color": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+      "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
       "dev": true,
-      "hasInstallScript": true,
       "dependencies": {
-        "@mapbox/node-pre-gyp": "^1.0.0",
-        "node-addon-api": "^4.2.0",
-        "tar": "^6.1.11"
+        "has-flag": "^4.0.0"
       },
-      "optionalDependencies": {
-        "node-gyp": "8.x"
+      "engines": {
+        "node": ">=10"
       },
-      "peerDependencies": {
-        "node-gyp": "8.x"
+      "funding": {
+        "url": "https://github.com/chalk/supports-color?sponsor=1"
+      }
+    },
+    "node_modules/supports-preserve-symlinks-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+      "engines": {
+        "node": ">= 0.4"
       },
-      "peerDependenciesMeta": {
-        "node-gyp": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/sqlite3/node_modules/abbrev": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
-      "dev": true,
-      "optional": true
+    "node_modules/systeminformation": {
+      "version": "5.22.9",
+      "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.22.9.tgz",
+      "integrity": "sha512-qUWJhQ9JSBhdjzNUQywpvc0icxUAjMY3sZqUoS0GOtaJV9Ijq8s9zEP8Gaqmymn1dOefcICyPXK1L3kgKxlUpg==",
+      "os": [
+        "darwin",
+        "linux",
+        "win32",
+        "freebsd",
+        "openbsd",
+        "netbsd",
+        "sunos",
+        "android"
+      ],
+      "bin": {
+        "systeminformation": "lib/cli.js"
+      },
+      "engines": {
+        "node": ">=8.0.0"
+      },
+      "funding": {
+        "type": "Buy me a coffee",
+        "url": "https://www.buymeacoffee.com/systeminfo"
+      }
     },
-    "node_modules/sqlite3/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+    "node_modules/table-layout": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz",
+      "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
+        "@75lb/deep-merge": "^1.1.1",
+        "array-back": "^6.2.2",
+        "command-line-args": "^5.2.1",
+        "command-line-usage": "^7.0.0",
+        "stream-read-all": "^3.0.1",
+        "typical": "^7.1.1",
+        "wordwrapjs": "^5.1.0"
       },
-      "engines": {
-        "node": "*"
+      "bin": {
+        "table-layout": "bin/cli.js"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+      "engines": {
+        "node": ">=12.17"
       }
     },
-    "node_modules/sqlite3/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+    "node_modules/table-layout/node_modules/array-back": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
+      "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
       "dev": true,
-      "optional": true,
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
       "engines": {
-        "node": "*"
+        "node": ">=12.17"
       }
     },
-    "node_modules/sqlite3/node_modules/node-addon-api": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
-      "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==",
-      "dev": true
-    },
-    "node_modules/sqlite3/node_modules/node-gyp": {
-      "version": "8.4.1",
-      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
-      "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
+    "node_modules/table-layout/node_modules/typical": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz",
+      "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==",
       "dev": true,
-      "optional": true,
-      "dependencies": {
-        "env-paths": "^2.2.0",
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.2.6",
-        "make-fetch-happen": "^9.1.0",
-        "nopt": "^5.0.0",
-        "npmlog": "^6.0.0",
-        "rimraf": "^3.0.2",
-        "semver": "^7.3.5",
-        "tar": "^6.1.2",
-        "which": "^2.0.2"
-      },
-      "bin": {
-        "node-gyp": "bin/node-gyp.js"
-      },
       "engines": {
-        "node": ">= 10.12.0"
+        "node": ">=12.17"
       }
     },
-    "node_modules/sqlite3/node_modules/nopt": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
-      "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+    "node_modules/tar": {
+      "version": "6.1.11",
+      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+      "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "abbrev": "1"
-      },
-      "bin": {
-        "nopt": "bin/nopt.js"
+        "chownr": "^2.0.0",
+        "fs-minipass": "^2.0.0",
+        "minipass": "^3.0.0",
+        "minizlib": "^2.1.1",
+        "mkdirp": "^1.0.3",
+        "yallist": "^4.0.0"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">= 10"
       }
     },
-    "node_modules/sqlite3/node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+    "node_modules/tar-fs": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz",
+      "integrity": "sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
+        "pump": "^3.0.0",
+        "tar-stream": "^3.1.5"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+      "optionalDependencies": {
+        "bare-fs": "^2.1.1",
+        "bare-path": "^2.1.0"
       }
     },
-    "node_modules/sqlstring": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz",
-      "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==",
+    "node_modules/tar-fs/node_modules/tar-stream": {
+      "version": "3.1.7",
+      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
+      "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
       "dev": true,
-      "engines": {
-        "node": ">= 0.6"
+      "dependencies": {
+        "b4a": "^1.6.4",
+        "fast-fifo": "^1.2.0",
+        "streamx": "^2.15.0"
       }
     },
-    "node_modules/sshpk": {
-      "version": "1.18.0",
-      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
-      "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
+    "node_modules/tar-stream": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
       "dev": true,
       "dependencies": {
-        "asn1": "~0.2.3",
-        "assert-plus": "^1.0.0",
-        "bcrypt-pbkdf": "^1.0.0",
-        "dashdash": "^1.12.0",
-        "ecc-jsbn": "~0.1.1",
-        "getpass": "^0.1.1",
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.0.2",
-        "tweetnacl": "~0.14.0"
-      },
-      "bin": {
-        "sshpk-conv": "bin/sshpk-conv",
-        "sshpk-sign": "bin/sshpk-sign",
-        "sshpk-verify": "bin/sshpk-verify"
+        "bl": "^4.0.3",
+        "end-of-stream": "^1.4.1",
+        "fs-constants": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^3.1.1"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=6"
       }
     },
-    "node_modules/sshpk/node_modules/jsbn": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
-      "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
-      "dev": true
-    },
-    "node_modules/ssri": {
-      "version": "9.0.1",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
-      "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
+    "node_modules/tar/node_modules/fs-minipass": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+      "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
       "dev": true,
       "dependencies": {
-        "minipass": "^3.1.1"
+        "minipass": "^3.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": ">= 8"
       }
     },
-    "node_modules/ssri/node_modules/minipass": {
+    "node_modules/tar/node_modules/minipass": {
       "version": "3.3.6",
       "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
       "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
@@ -32334,3767 +34168,3868 @@
         "node": ">=8"
       }
     },
-    "node_modules/ssri/node_modules/yallist": {
+    "node_modules/tar/node_modules/mkdirp": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+      "dev": true,
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/tar/node_modules/yallist": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
       "dev": true
     },
-    "node_modules/stack-trace": {
-      "version": "0.0.10",
-      "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
-      "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/stack-utils": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
-      "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
+    "node_modules/tarn": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz",
+      "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==",
       "dev": true,
-      "dependencies": {
-        "escape-string-regexp": "^2.0.0"
-      },
       "engines": {
-        "node": ">=10"
+        "node": ">=8.0.0"
       }
     },
-    "node_modules/stack-utils/node_modules/escape-string-regexp": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
-      "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+    "node_modules/temp-dir": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
+      "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==",
       "dev": true,
       "engines": {
-        "node": ">=8"
+        "node": ">=4"
       }
     },
-    "node_modules/stackframe": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
-      "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==",
-      "dev": true
-    },
-    "node_modules/standard-as-callback": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
-      "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==",
-      "dev": true
-    },
-    "node_modules/static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
-      "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==",
+    "node_modules/tempy": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.0.tgz",
+      "integrity": "sha512-eLXG5B1G0mRPHmgH2WydPl5v4jH35qEn3y/rA/aahKhIa91Pn119SsU7n7v/433gtT9ONzC8ISvNHIh2JSTm0w==",
       "dev": true,
       "dependencies": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
+        "del": "^6.0.0",
+        "is-stream": "^2.0.0",
+        "temp-dir": "^2.0.0",
+        "type-fest": "^0.16.0",
+        "unique-string": "^2.0.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/statuses": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
-      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+    "node_modules/tempy/node_modules/temp-dir": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz",
+      "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==",
       "dev": true,
       "engines": {
-        "node": ">= 0.8"
+        "node": ">=8"
       }
     },
-    "node_modules/stoppable": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz",
-      "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==",
+    "node_modules/tempy/node_modules/type-fest": {
+      "version": "0.16.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz",
+      "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==",
       "dev": true,
       "engines": {
-        "node": ">=4",
-        "npm": ">=6"
-      }
-    },
-    "node_modules/stream-browserify": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
-      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "node_modules/stream-browserify/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/stream-browserify/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/stream-browserify/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+    "node_modules/terser": {
+      "version": "5.31.1",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz",
+      "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==",
       "dev": true,
       "dependencies": {
-        "safe-buffer": "~5.1.0"
+        "@jridgewell/source-map": "^0.3.3",
+        "acorn": "^8.8.2",
+        "commander": "^2.20.0",
+        "source-map-support": "~0.5.20"
+      },
+      "bin": {
+        "terser": "bin/terser"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/stream-each": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
-      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
+    "node_modules/terser-webpack-plugin": {
+      "version": "5.3.10",
+      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
+      "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
       "dev": true,
       "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "stream-shift": "^1.0.0"
+        "@jridgewell/trace-mapping": "^0.3.20",
+        "jest-worker": "^27.4.5",
+        "schema-utils": "^3.1.1",
+        "serialize-javascript": "^6.0.1",
+        "terser": "^5.26.0"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "webpack": "^5.1.0"
+      },
+      "peerDependenciesMeta": {
+        "@swc/core": {
+          "optional": true
+        },
+        "esbuild": {
+          "optional": true
+        },
+        "uglify-js": {
+          "optional": true
+        }
       }
     },
-    "node_modules/stream-http": {
-      "version": "2.8.3",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
-      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+    "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
       "dev": true,
       "dependencies": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.6",
-        "to-arraybuffer": "^1.0.0",
-        "xtend": "^4.0.0"
+        "@types/json-schema": "^7.0.8",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
       }
     },
-    "node_modules/stream-http/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+    "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+      "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
       "dev": true,
       "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
+        "randombytes": "^2.1.0"
       }
     },
-    "node_modules/stream-http/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+    "node_modules/terser/node_modules/commander": {
+      "version": "2.20.3",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
       "dev": true
     },
-    "node_modules/stream-http/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+    "node_modules/test-all-versions": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/test-all-versions/-/test-all-versions-6.1.0.tgz",
+      "integrity": "sha512-yHToQ8ydEEFLu7ockssvozXofpUn6KDU5l+XpblsDuOtZz+KZL8TsdUvoUEpBDa/p7lzubI62LFjh1fB8yWeiQ==",
       "dev": true,
       "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/stream-read-all": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz",
-      "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==",
-      "dev": true,
+        "after-all-results": "^2.0.0",
+        "ansi-diff-stream": "^1.2.1",
+        "cli-spinners": "^2.9.2",
+        "deepmerge": "^4.3.1",
+        "import-fresh": "^3.3.0",
+        "is-ci": "^3.0.1",
+        "js-yaml": "^4.1.0",
+        "log-symbols": "^4.1.0",
+        "minimist": "^1.2.8",
+        "npm-package-versions": "^1.0.1",
+        "once": "^1.4.0",
+        "parse-env-string": "^1.0.1",
+        "resolve": "^1.22.8",
+        "semver": "^7.5.4",
+        "spawn-npm-install": "^1.2.0",
+        "which": "^2.0.2"
+      },
+      "bin": {
+        "tav": "index.js"
+      },
       "engines": {
-        "node": ">=10"
+        "node": ">=14"
       }
     },
-    "node_modules/stream-shift": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
-      "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
-      "dev": true
-    },
-    "node_modules/stream-transform": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-3.3.0.tgz",
-      "integrity": "sha512-pG1NeDdmErNYKtvTpFayrEueAmL0xVU5wd22V7InGnatl4Ocq3HY7dcXIKj629kXvYQvglCC7CeDIGAlx1RNGA==",
-      "dev": true
-    },
-    "node_modules/streamroller": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz",
-      "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==",
+    "node_modules/test-all-versions/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
       "dependencies": {
-        "date-format": "^4.0.14",
-        "debug": "^4.3.4",
-        "fs-extra": "^8.1.0"
+        "color-convert": "^2.0.1"
       },
       "engines": {
-        "node": ">=8.0"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/streamroller/node_modules/fs-extra": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
-      "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+    "node_modules/test-all-versions/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
       "dev": true,
       "dependencies": {
-        "graceful-fs": "^4.2.0",
-        "jsonfile": "^4.0.0",
-        "universalify": "^0.1.0"
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
       },
       "engines": {
-        "node": ">=6 <7 || >=8"
-      }
-    },
-    "node_modules/streamroller/node_modules/jsonfile": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
-      "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
-      "dev": true,
-      "optionalDependencies": {
-        "graceful-fs": "^4.1.6"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/streamroller/node_modules/universalify": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+    "node_modules/test-all-versions/node_modules/cli-spinners": {
+      "version": "2.9.2",
+      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
+      "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
       "dev": true,
       "engines": {
-        "node": ">= 4.0.0"
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/streamsearch": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
-      "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
+    "node_modules/test-all-versions/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
       "engines": {
-        "node": ">=10.0.0"
+        "node": ">=7.0.0"
       }
     },
-    "node_modules/streamx": {
-      "version": "2.16.1",
-      "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz",
-      "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==",
+    "node_modules/test-all-versions/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/test-all-versions/node_modules/is-ci": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
+      "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
       "dev": true,
       "dependencies": {
-        "fast-fifo": "^1.1.0",
-        "queue-tick": "^1.0.1"
+        "ci-info": "^3.2.0"
       },
-      "optionalDependencies": {
-        "bare-events": "^2.2.0"
+      "bin": {
+        "is-ci": "bin.js"
       }
     },
-    "node_modules/string_decoder": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+    "node_modules/test-all-versions/node_modules/log-symbols": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
       "dev": true,
       "dependencies": {
-        "safe-buffer": "~5.2.0"
-      }
-    },
-    "node_modules/string-argv": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
-      "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
-      "dev": true,
+        "chalk": "^4.1.0",
+        "is-unicode-supported": "^0.1.0"
+      },
       "engines": {
-        "node": ">=0.6.19"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/string-template": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
-      "integrity": "sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw=="
-    },
-    "node_modules/string-width": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
-      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+    "node_modules/test-all-versions/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
       "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
+        "has-flag": "^4.0.0"
       },
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/string-width-cjs": {
-      "name": "string-width",
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
-      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+    "node_modules/test-exclude": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
       "dev": true,
       "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
+        "@istanbuljs/schema": "^0.1.2",
+        "glob": "^7.1.4",
+        "minimatch": "^3.0.4"
       },
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/string.prototype.trim": {
-      "version": "1.2.9",
-      "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
-      "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
+    "node_modules/test-exclude/node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.7",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.23.0",
-        "es-object-atoms": "^1.0.0"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": "*"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/string.prototype.trimend": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
-      "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
+    "node_modules/test-exclude/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.7",
-        "define-properties": "^1.2.1",
-        "es-object-atoms": "^1.0.0"
+        "brace-expansion": "^1.1.7"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "engines": {
+        "node": "*"
       }
     },
-    "node_modules/string.prototype.trimstart": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
-      "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
+    "node_modules/text-extensions": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
+      "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==",
       "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.7",
-        "define-properties": "^1.2.1",
-        "es-object-atoms": "^1.0.0"
-      },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=0.10"
       }
     },
-    "node_modules/strip-ansi": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
-      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+    "node_modules/text-hex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
+      "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==",
+      "dev": true
+    },
+    "node_modules/text-table": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+      "dev": true
+    },
+    "node_modules/thenify": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+      "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+      "dev": true,
       "dependencies": {
-        "ansi-regex": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=8"
+        "any-promise": "^1.0.0"
       }
     },
-    "node_modules/strip-ansi-cjs": {
-      "name": "strip-ansi",
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
-      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+    "node_modules/thenify-all": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+      "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
       "dev": true,
       "dependencies": {
-        "ansi-regex": "^5.0.1"
+        "thenify": ">= 3.1.0 < 4"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=0.8"
       }
     },
-    "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+    "node_modules/thread-stream": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.1.tgz",
+      "integrity": "sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==",
       "dev": true,
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "real-require": "^0.2.0"
       }
     },
-    "node_modules/strip-ansi/node_modules/ansi-regex": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+    "node_modules/thriftrw": {
+      "version": "3.11.4",
+      "resolved": "https://registry.npmjs.org/thriftrw/-/thriftrw-3.11.4.tgz",
+      "integrity": "sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA==",
+      "dependencies": {
+        "bufrw": "^1.2.1",
+        "error": "7.0.2",
+        "long": "^2.4.0"
+      },
+      "bin": {
+        "thrift2json": "thrift2json.js"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.10.x"
       }
     },
-    "node_modules/strip-bom": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
-      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
-      "dev": true,
+    "node_modules/thriftrw/node_modules/long": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/long/-/long-2.4.0.tgz",
+      "integrity": "sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==",
       "engines": {
-        "node": ">=8"
+        "node": ">=0.6"
       }
     },
-    "node_modules/strip-final-newline": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
-      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
+    "node_modules/through": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+      "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+      "dev": true
     },
-    "node_modules/strip-indent": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
-      "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+    "node_modules/through2": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
+      "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
       "dev": true,
       "dependencies": {
-        "min-indent": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=8"
+        "readable-stream": "3"
       }
     },
-    "node_modules/strip-json-comments": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
-      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+    "node_modules/tildify": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz",
+      "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==",
       "dev": true,
       "engines": {
         "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/strnum": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
-      "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==",
-      "dev": true,
-      "optional": true
+    "node_modules/tiny-case": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz",
+      "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==",
+      "dev": true
     },
-    "node_modules/strong-log-transformer": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz",
-      "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==",
+    "node_modules/tiny-lru": {
+      "version": "11.2.5",
+      "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-11.2.5.tgz",
+      "integrity": "sha512-JpqM0K33lG6iQGKiigcwuURAKZlq6rHXfrgeL4/I8/REoyJTGU+tEMszvT/oTRVHG2OiylhGDjqPp1jWMlr3bw==",
       "dev": true,
-      "dependencies": {
-        "duplexer": "^0.1.1",
-        "minimist": "^1.2.0",
-        "through": "^2.3.4"
-      },
-      "bin": {
-        "sl-log-transformer": "bin/sl-log-transformer.js"
-      },
       "engines": {
-        "node": ">=4"
+        "node": ">=12"
       }
     },
-    "node_modules/supports-color": {
-      "version": "8.1.1",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
-      "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+    "node_modules/tmp": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
       "dev": true,
       "dependencies": {
-        "has-flag": "^4.0.0"
+        "rimraf": "^3.0.0"
       },
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/supports-color?sponsor=1"
+        "node": ">=8.17.0"
       }
     },
-    "node_modules/supports-preserve-symlinks-flag": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
-      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+    "node_modules/tmp/node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
       "engines": {
-        "node": ">= 0.4"
+        "node": "*"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/systeminformation": {
-      "version": "5.22.9",
-      "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.22.9.tgz",
-      "integrity": "sha512-qUWJhQ9JSBhdjzNUQywpvc0icxUAjMY3sZqUoS0GOtaJV9Ijq8s9zEP8Gaqmymn1dOefcICyPXK1L3kgKxlUpg==",
-      "os": [
-        "darwin",
-        "linux",
-        "win32",
-        "freebsd",
-        "openbsd",
-        "netbsd",
-        "sunos",
-        "android"
-      ],
-      "bin": {
-        "systeminformation": "lib/cli.js"
+    "node_modules/tmp/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
       },
       "engines": {
-        "node": ">=8.0.0"
-      },
-      "funding": {
-        "type": "Buy me a coffee",
-        "url": "https://www.buymeacoffee.com/systeminfo"
+        "node": "*"
       }
     },
-    "node_modules/table-layout": {
+    "node_modules/tmp/node_modules/rimraf": {
       "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-3.0.2.tgz",
-      "integrity": "sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
       "dev": true,
       "dependencies": {
-        "@75lb/deep-merge": "^1.1.1",
-        "array-back": "^6.2.2",
-        "command-line-args": "^5.2.1",
-        "command-line-usage": "^7.0.0",
-        "stream-read-all": "^3.0.1",
-        "typical": "^7.1.1",
-        "wordwrapjs": "^5.1.0"
+        "glob": "^7.1.3"
       },
       "bin": {
-        "table-layout": "bin/cli.js"
+        "rimraf": "bin.js"
       },
-      "engines": {
-        "node": ">=12.17"
-      }
-    },
-    "node_modules/table-layout/node_modules/array-back": {
-      "version": "6.2.2",
-      "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
-      "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
-      "dev": true,
-      "engines": {
-        "node": ">=12.17"
-      }
-    },
-    "node_modules/table-layout/node_modules/typical": {
-      "version": "7.1.1",
-      "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz",
-      "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==",
-      "dev": true,
-      "engines": {
-        "node": ">=12.17"
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/tapable": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
-      "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
+    "node_modules/to-fast-properties": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
       "dev": true,
       "engines": {
-        "node": ">=6"
+        "node": ">=4"
       }
     },
-    "node_modules/tar": {
-      "version": "6.1.11",
-      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
-      "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
+    "node_modules/to-regex-range": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
       "dev": true,
       "dependencies": {
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.0.0",
-        "minipass": "^3.0.0",
-        "minizlib": "^2.1.1",
-        "mkdirp": "^1.0.3",
-        "yallist": "^4.0.0"
+        "is-number": "^7.0.0"
       },
       "engines": {
-        "node": ">= 10"
+        "node": ">=8.0"
       }
     },
-    "node_modules/tar-fs": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz",
-      "integrity": "sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==",
+    "node_modules/toidentifier": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
       "dev": true,
-      "dependencies": {
-        "pump": "^3.0.0",
-        "tar-stream": "^3.1.5"
-      },
-      "optionalDependencies": {
-        "bare-fs": "^2.1.1",
-        "bare-path": "^2.1.0"
+      "engines": {
+        "node": ">=0.6"
       }
     },
-    "node_modules/tar-fs/node_modules/tar-stream": {
-      "version": "3.1.7",
-      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
-      "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
-      "dev": true,
-      "dependencies": {
-        "b4a": "^1.6.4",
-        "fast-fifo": "^1.2.0",
-        "streamx": "^2.15.0"
-      }
+    "node_modules/toposort": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz",
+      "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==",
+      "dev": true
     },
-    "node_modules/tar-stream": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
-      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+    "node_modules/tr46": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+      "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
       "dev": true,
       "dependencies": {
-        "bl": "^4.0.3",
-        "end-of-stream": "^1.4.1",
-        "fs-constants": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^3.1.1"
+        "punycode": "^2.1.1"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=12"
       }
     },
-    "node_modules/tar/node_modules/fs-minipass": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
-      "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+    "node_modules/treeverse": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz",
+      "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==",
       "dev": true,
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
       "engines": {
-        "node": ">= 8"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/tar/node_modules/minipass": {
-      "version": "3.3.6",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
-      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+    "node_modules/trim-newlines": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
+      "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
       "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/tar/node_modules/mkdirp": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-      "dev": true,
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/tar/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
-    "node_modules/tarn": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz",
-      "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==",
+    "node_modules/trim-right": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+      "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==",
       "dev": true,
       "engines": {
-        "node": ">=8.0.0"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/temp-dir": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
-      "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==",
-      "dev": true,
+    "node_modules/triple-beam": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz",
+      "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==",
       "engines": {
-        "node": ">=4"
+        "node": ">= 14.0.0"
       }
     },
-    "node_modules/tempy": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.0.tgz",
-      "integrity": "sha512-eLXG5B1G0mRPHmgH2WydPl5v4jH35qEn3y/rA/aahKhIa91Pn119SsU7n7v/433gtT9ONzC8ISvNHIh2JSTm0w==",
+    "node_modules/ts-mocha": {
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/ts-mocha/-/ts-mocha-10.0.0.tgz",
+      "integrity": "sha512-VRfgDO+iiuJFlNB18tzOfypJ21xn2xbuZyDvJvqpTbWgkAgD17ONGr8t+Tl8rcBtOBdjXp5e/Rk+d39f7XBHRw==",
       "dev": true,
       "dependencies": {
-        "del": "^6.0.0",
-        "is-stream": "^2.0.0",
-        "temp-dir": "^2.0.0",
-        "type-fest": "^0.16.0",
-        "unique-string": "^2.0.0"
+        "ts-node": "7.0.1"
+      },
+      "bin": {
+        "ts-mocha": "bin/ts-mocha"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">= 6.X.X"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "optionalDependencies": {
+        "tsconfig-paths": "^3.5.0"
+      },
+      "peerDependencies": {
+        "mocha": "^3.X.X || ^4.X.X || ^5.X.X || ^6.X.X || ^7.X.X || ^8.X.X || ^9.X.X || ^10.X.X"
       }
     },
-    "node_modules/tempy/node_modules/temp-dir": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz",
-      "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==",
+    "node_modules/ts-node": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz",
+      "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==",
       "dev": true,
+      "dependencies": {
+        "arrify": "^1.0.0",
+        "buffer-from": "^1.1.0",
+        "diff": "^3.1.0",
+        "make-error": "^1.1.1",
+        "minimist": "^1.2.0",
+        "mkdirp": "^0.5.1",
+        "source-map-support": "^0.5.6",
+        "yn": "^2.0.0"
+      },
+      "bin": {
+        "ts-node": "dist/bin.js"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">=4.2.0"
       }
     },
-    "node_modules/tempy/node_modules/type-fest": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz",
-      "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==",
+    "node_modules/ts-node/node_modules/diff": {
+      "version": "3.5.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+      "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
       "dev": true,
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=0.3.1"
       }
     },
-    "node_modules/terser": {
-      "version": "4.8.1",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
-      "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
+    "node_modules/ts-node/node_modules/mkdirp": {
+      "version": "0.5.6",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
       "dev": true,
       "dependencies": {
-        "commander": "^2.20.0",
-        "source-map": "~0.6.1",
-        "source-map-support": "~0.5.12"
+        "minimist": "^1.2.6"
       },
       "bin": {
-        "terser": "bin/terser"
-      },
-      "engines": {
-        "node": ">=6.0.0"
+        "mkdirp": "bin/cmd.js"
       }
     },
-    "node_modules/terser-webpack-plugin": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
-      "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+    "node_modules/tsconfig-paths": {
+      "version": "3.15.0",
+      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
+      "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
       "dev": true,
       "dependencies": {
-        "cacache": "^12.0.2",
-        "find-cache-dir": "^2.1.0",
-        "is-wsl": "^1.1.0",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^4.0.0",
-        "source-map": "^0.6.1",
-        "terser": "^4.1.2",
-        "webpack-sources": "^1.4.0",
-        "worker-farm": "^1.7.0"
-      },
-      "engines": {
-        "node": ">= 6.9.0"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0"
+        "@types/json5": "^0.0.29",
+        "json5": "^1.0.2",
+        "minimist": "^1.2.6",
+        "strip-bom": "^3.0.0"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/cacache": {
-      "version": "12.0.4",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
-      "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
+    "node_modules/tsconfig-paths/node_modules/json5": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+      "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
       "dev": true,
       "dependencies": {
-        "bluebird": "^3.5.5",
-        "chownr": "^1.1.1",
-        "figgy-pudding": "^3.5.1",
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.1.15",
-        "infer-owner": "^1.0.3",
-        "lru-cache": "^5.1.1",
-        "mississippi": "^3.0.0",
-        "mkdirp": "^0.5.1",
-        "move-concurrently": "^1.0.1",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^2.6.3",
-        "ssri": "^6.0.1",
-        "unique-filename": "^1.1.1",
-        "y18n": "^4.0.0"
+        "minimist": "^1.2.0"
+      },
+      "bin": {
+        "json5": "lib/cli.js"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/chownr": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-      "dev": true
+    "node_modules/tsconfig-paths/node_modules/strip-bom": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+      "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
     },
-    "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
-      "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+    "node_modules/tslib": {
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+      "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+    },
+    "node_modules/tsscmp": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
+      "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==",
       "dev": true,
-      "dependencies": {
-        "commondir": "^1.0.1",
-        "make-dir": "^2.0.0",
-        "pkg-dir": "^3.0.0"
-      },
       "engines": {
-        "node": ">=6"
+        "node": ">=0.6.x"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/find-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+    "node_modules/tsutils": {
+      "version": "3.21.0",
+      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
       "dev": true,
       "dependencies": {
-        "locate-path": "^3.0.0"
+        "tslib": "^1.8.1"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">= 6"
+      },
+      "peerDependencies": {
+        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+    "node_modules/tsutils/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "dev": true
+    },
+    "node_modules/tuf-js": {
+      "version": "1.1.7",
+      "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz",
+      "integrity": "sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==",
       "dev": true,
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
+        "@tufjs/models": "1.0.4",
+        "debug": "^4.3.4",
+        "make-fetch-happen": "^11.1.1"
       },
       "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/is-wsl": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-      "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==",
+    "node_modules/tuf-js/node_modules/@tootallnate/once": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+      "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
       "dev": true,
       "engines": {
-        "node": ">=4"
+        "node": ">= 10"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/locate-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+    "node_modules/tuf-js/node_modules/agent-base": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
       "dev": true,
       "dependencies": {
-        "p-locate": "^3.0.0",
-        "path-exists": "^3.0.0"
+        "debug": "4"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">= 6.0.0"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/make-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+    "node_modules/tuf-js/node_modules/http-proxy-agent": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+      "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
       "dev": true,
       "dependencies": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
+        "@tootallnate/once": "2",
+        "agent-base": "6",
+        "debug": "4"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">= 6"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+    "node_modules/tuf-js/node_modules/https-proxy-agent": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
       "dev": true,
       "dependencies": {
-        "brace-expansion": "^1.1.7"
+        "agent-base": "6",
+        "debug": "4"
       },
       "engines": {
-        "node": "*"
+        "node": ">= 6"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/mkdirp": {
-      "version": "0.5.6",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+    "node_modules/tuf-js/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
       "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.6"
-      },
-      "bin": {
-        "mkdirp": "bin/cmd.js"
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+    "node_modules/tuf-js/node_modules/make-fetch-happen": {
+      "version": "11.1.1",
+      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+      "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
       "dev": true,
       "dependencies": {
-        "p-try": "^2.0.0"
+        "agentkeepalive": "^4.2.1",
+        "cacache": "^17.0.0",
+        "http-cache-semantics": "^4.1.1",
+        "http-proxy-agent": "^5.0.0",
+        "https-proxy-agent": "^5.0.0",
+        "is-lambda": "^1.0.1",
+        "lru-cache": "^7.7.1",
+        "minipass": "^5.0.0",
+        "minipass-fetch": "^3.0.0",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "negotiator": "^0.6.3",
+        "promise-retry": "^2.0.1",
+        "socks-proxy-agent": "^7.0.0",
+        "ssri": "^10.0.0"
       },
       "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/p-locate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+    "node_modules/tuf-js/node_modules/minipass": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
       "dev": true,
-      "dependencies": {
-        "p-limit": "^2.0.0"
-      },
       "engines": {
-        "node": ">=6"
+        "node": ">=8"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
+    "node_modules/tuf-js/node_modules/minipass-fetch": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz",
+      "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==",
       "dev": true,
+      "dependencies": {
+        "minipass": "^7.0.3",
+        "minipass-sized": "^1.0.3",
+        "minizlib": "^2.1.2"
+      },
       "engines": {
-        "node": ">=4"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      },
+      "optionalDependencies": {
+        "encoding": "^0.1.13"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+    "node_modules/tuf-js/node_modules/minipass-fetch/node_modules/minipass": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
       "dev": true,
       "engines": {
-        "node": ">=6"
+        "node": ">=16 || 14 >=14.17"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/pkg-dir": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-      "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+    "node_modules/tuf-js/node_modules/socks-proxy-agent": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
+      "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
       "dev": true,
       "dependencies": {
-        "find-up": "^3.0.0"
+        "agent-base": "^6.0.2",
+        "debug": "^4.3.3",
+        "socks": "^2.6.2"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">= 10"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+    "node_modules/tuf-js/node_modules/ssri": {
+      "version": "10.0.5",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz",
+      "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==",
       "dev": true,
       "dependencies": {
-        "glob": "^7.1.3"
+        "minipass": "^7.0.3"
       },
-      "bin": {
-        "rimraf": "bin.js"
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+    "node_modules/tuf-js/node_modules/ssri/node_modules/minipass": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
       "dev": true,
-      "dependencies": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
-      },
       "engines": {
-        "node": ">= 4"
+        "node": ">=16 || 14 >=14.17"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/semver": {
-      "version": "5.7.2",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
-      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+    "node_modules/tweetnacl": {
+      "version": "0.14.5",
+      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+      "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
+      "dev": true
+    },
+    "node_modules/type-check": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
       "dev": true,
-      "bin": {
-        "semver": "bin/semver"
+      "dependencies": {
+        "prelude-ls": "^1.2.1"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/ssri": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
-      "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
+    "node_modules/type-detect": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+      "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
       "dev": true,
-      "dependencies": {
-        "figgy-pudding": "^3.5.1"
+      "engines": {
+        "node": ">=4"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/unique-filename": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
-      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+    "node_modules/type-fest": {
+      "version": "0.21.3",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
       "dev": true,
-      "dependencies": {
-        "unique-slug": "^2.0.0"
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/unique-slug": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
-      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+    "node_modules/type-is": {
+      "version": "1.6.18",
+      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
       "dev": true,
       "dependencies": {
-        "imurmurhash": "^0.1.4"
+        "media-typer": "0.3.0",
+        "mime-types": "~2.1.24"
+      },
+      "engines": {
+        "node": ">= 0.6"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/y18n": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
-      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
-      "dev": true
-    },
-    "node_modules/terser/node_modules/commander": {
-      "version": "2.20.3",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-      "dev": true
-    },
-    "node_modules/test-all-versions": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/test-all-versions/-/test-all-versions-6.1.0.tgz",
-      "integrity": "sha512-yHToQ8ydEEFLu7ockssvozXofpUn6KDU5l+XpblsDuOtZz+KZL8TsdUvoUEpBDa/p7lzubI62LFjh1fB8yWeiQ==",
+    "node_modules/typed-array-buffer": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
+      "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
       "dev": true,
       "dependencies": {
-        "after-all-results": "^2.0.0",
-        "ansi-diff-stream": "^1.2.1",
-        "cli-spinners": "^2.9.2",
-        "deepmerge": "^4.3.1",
-        "import-fresh": "^3.3.0",
-        "is-ci": "^3.0.1",
-        "js-yaml": "^4.1.0",
-        "log-symbols": "^4.1.0",
-        "minimist": "^1.2.8",
-        "npm-package-versions": "^1.0.1",
-        "once": "^1.4.0",
-        "parse-env-string": "^1.0.1",
-        "resolve": "^1.22.8",
-        "semver": "^7.5.4",
-        "spawn-npm-install": "^1.2.0",
-        "which": "^2.0.2"
-      },
-      "bin": {
-        "tav": "index.js"
+        "call-bind": "^1.0.7",
+        "es-errors": "^1.3.0",
+        "is-typed-array": "^1.1.13"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/test-all-versions/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+    "node_modules/typed-array-byte-length": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
+      "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
       "dev": true,
       "dependencies": {
-        "color-convert": "^2.0.1"
+        "call-bind": "^1.0.7",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-proto": "^1.0.3",
+        "is-typed-array": "^1.1.13"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/test-all-versions/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+    "node_modules/typed-array-byte-offset": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
+      "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
       "dev": true,
       "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
+        "available-typed-arrays": "^1.0.7",
+        "call-bind": "^1.0.7",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-proto": "^1.0.3",
+        "is-typed-array": "^1.1.13"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/test-all-versions/node_modules/cli-spinners": {
-      "version": "2.9.2",
-      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
-      "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
+    "node_modules/typed-array-length": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
+      "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
       "dev": true,
+      "dependencies": {
+        "call-bind": "^1.0.7",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-proto": "^1.0.3",
+        "is-typed-array": "^1.1.13",
+        "possible-typed-array-names": "^1.0.0"
+      },
       "engines": {
-        "node": ">=6"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/test-all-versions/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+    "node_modules/typedarray": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+      "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
+      "dev": true
+    },
+    "node_modules/typedarray-to-buffer": {
+      "version": "3.1.5",
+      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
       "dev": true,
       "dependencies": {
-        "color-name": "~1.1.4"
+        "is-typedarray": "^1.0.0"
+      }
+    },
+    "node_modules/typescript": {
+      "version": "4.4.4",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz",
+      "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==",
+      "dev": true,
+      "bin": {
+        "tsc": "bin/tsc",
+        "tsserver": "bin/tsserver"
       },
       "engines": {
-        "node": ">=7.0.0"
+        "node": ">=4.2.0"
       }
     },
-    "node_modules/test-all-versions/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
+    "node_modules/typical": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
+      "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
     },
-    "node_modules/test-all-versions/node_modules/is-ci": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
-      "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
+    "node_modules/ua-parser-js": {
+      "version": "0.7.37",
+      "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.37.tgz",
+      "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==",
       "dev": true,
-      "dependencies": {
-        "ci-info": "^3.2.0"
-      },
-      "bin": {
-        "is-ci": "bin.js"
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/ua-parser-js"
+        },
+        {
+          "type": "paypal",
+          "url": "https://paypal.me/faisalman"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/faisalman"
+        }
+      ],
+      "engines": {
+        "node": "*"
       }
     },
-    "node_modules/test-all-versions/node_modules/log-symbols": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
-      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+    "node_modules/uc.micro": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+      "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
+      "dev": true
+    },
+    "node_modules/uglify-js": {
+      "version": "3.17.4",
+      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
+      "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==",
       "dev": true,
-      "dependencies": {
-        "chalk": "^4.1.0",
-        "is-unicode-supported": "^0.1.0"
+      "optional": true,
+      "bin": {
+        "uglifyjs": "bin/uglifyjs"
       },
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=0.8.0"
       }
     },
-    "node_modules/test-all-versions/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+    "node_modules/uid": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz",
+      "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==",
       "dev": true,
       "dependencies": {
-        "has-flag": "^4.0.0"
+        "@lukeed/csprng": "^1.0.0"
       },
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/test-exclude": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
-      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+    "node_modules/unbox-primitive": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
+      "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
       "dev": true,
       "dependencies": {
-        "@istanbuljs/schema": "^0.1.2",
-        "glob": "^7.1.4",
-        "minimatch": "^3.0.4"
+        "call-bind": "^1.0.2",
+        "has-bigints": "^1.0.2",
+        "has-symbols": "^1.0.3",
+        "which-boxed-primitive": "^1.0.2"
       },
-      "engines": {
-        "node": ">=8"
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/test-exclude/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+    "node_modules/unbzip2-stream": {
+      "version": "1.4.3",
+      "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
+      "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
       "dev": true,
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "buffer": "^5.2.1",
+        "through": "^2.3.8"
       }
     },
-    "node_modules/test-exclude/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+    "node_modules/unbzip2-stream/node_modules/buffer": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
       "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
       "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
+        "base64-js": "^1.3.1",
+        "ieee754": "^1.1.13"
       }
     },
-    "node_modules/text-extensions": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
-      "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==",
+    "node_modules/undici": {
+      "version": "6.11.1",
+      "resolved": "https://registry.npmjs.org/undici/-/undici-6.11.1.tgz",
+      "integrity": "sha512-KyhzaLJnV1qa3BSHdj4AZ2ndqI0QWPxYzaIOio0WzcEJB9gvuysprJSLtpvc2D9mhR9jPDUk7xlJlZbH2KR5iw==",
       "dev": true,
       "engines": {
-        "node": ">=0.10"
+        "node": ">=18.0"
       }
     },
-    "node_modules/text-hex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
-      "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==",
-      "dev": true
-    },
-    "node_modules/text-table": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
-      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+    "node_modules/undici-types": {
+      "version": "5.26.5",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+      "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
       "dev": true
     },
-    "node_modules/thenify": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
-      "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+    "node_modules/unicode-canonical-property-names-ecmascript": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
+      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
       "dev": true,
-      "dependencies": {
-        "any-promise": "^1.0.0"
+      "engines": {
+        "node": ">=4"
       }
     },
-    "node_modules/thenify-all": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
-      "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+    "node_modules/unicode-match-property-ecmascript": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+      "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
       "dev": true,
       "dependencies": {
-        "thenify": ">= 3.1.0 < 4"
+        "unicode-canonical-property-names-ecmascript": "^2.0.0",
+        "unicode-property-aliases-ecmascript": "^2.0.0"
       },
       "engines": {
-        "node": ">=0.8"
+        "node": ">=4"
       }
     },
-    "node_modules/thread-stream": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.1.tgz",
-      "integrity": "sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==",
+    "node_modules/unicode-match-property-value-ecmascript": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
+      "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
       "dev": true,
-      "dependencies": {
-        "real-require": "^0.2.0"
+      "engines": {
+        "node": ">=4"
       }
     },
-    "node_modules/thriftrw": {
-      "version": "3.11.4",
-      "resolved": "https://registry.npmjs.org/thriftrw/-/thriftrw-3.11.4.tgz",
-      "integrity": "sha512-UcuBd3eanB3T10nXWRRMwfwoaC6VMk7qe3/5YIWP2Jtw+EbHqJ0p1/K3x8ixiR5dozKSSfcg1W+0e33G1Di3XA==",
-      "dependencies": {
-        "bufrw": "^1.2.1",
-        "error": "7.0.2",
-        "long": "^2.4.0"
-      },
-      "bin": {
-        "thrift2json": "thrift2json.js"
-      },
+    "node_modules/unicode-property-aliases-ecmascript": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+      "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
+      "dev": true,
       "engines": {
-        "node": ">= 0.10.x"
+        "node": ">=4"
       }
     },
-    "node_modules/thriftrw/node_modules/long": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/long/-/long-2.4.0.tgz",
-      "integrity": "sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==",
+    "node_modules/unicorn-magic": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
+      "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+      "dev": true,
       "engines": {
-        "node": ">=0.6"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/through": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
-      "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
-      "dev": true
-    },
-    "node_modules/through2": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
-      "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
+    "node_modules/unique-filename": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
+      "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==",
       "dev": true,
       "dependencies": {
-        "readable-stream": "3"
+        "unique-slug": "^4.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/tildify": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz",
-      "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==",
+    "node_modules/unique-slug": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz",
+      "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==",
       "dev": true,
+      "dependencies": {
+        "imurmurhash": "^0.1.4"
+      },
       "engines": {
-        "node": ">=8"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/timers-browserify": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
-      "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
+    "node_modules/unique-string": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
+      "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
       "dev": true,
       "dependencies": {
-        "setimmediate": "^1.0.4"
+        "crypto-random-string": "^2.0.0"
       },
       "engines": {
-        "node": ">=0.6.0"
+        "node": ">=8"
       }
     },
-    "node_modules/tiny-case": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz",
-      "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==",
+    "node_modules/universal-user-agent": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
+      "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==",
       "dev": true
     },
-    "node_modules/tiny-lru": {
-      "version": "11.2.5",
-      "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-11.2.5.tgz",
-      "integrity": "sha512-JpqM0K33lG6iQGKiigcwuURAKZlq6rHXfrgeL4/I8/REoyJTGU+tEMszvT/oTRVHG2OiylhGDjqPp1jWMlr3bw==",
+    "node_modules/universalify": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+      "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
       "dev": true,
       "engines": {
-        "node": ">=12"
+        "node": ">= 10.0.0"
       }
     },
-    "node_modules/tmp": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
-      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+    "node_modules/unpipe": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+      "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
       "dev": true,
-      "dependencies": {
-        "rimraf": "^3.0.0"
-      },
       "engines": {
-        "node": ">=8.17.0"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/tmp/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+    "node_modules/upath": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz",
+      "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==",
+      "dev": true,
+      "engines": {
+        "node": ">=4",
+        "yarn": "*"
+      }
+    },
+    "node_modules/update-browserslist-db": {
+      "version": "1.0.13",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+      "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
       "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
+        "escalade": "^3.1.1",
+        "picocolors": "^1.0.0"
       },
-      "engines": {
-        "node": "*"
+      "bin": {
+        "update-browserslist-db": "cli.js"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+      "peerDependencies": {
+        "browserslist": ">= 4.21.0"
       }
     },
-    "node_modules/tmp/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+    "node_modules/upper-case-first": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
+      "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
       "dev": true,
       "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
+        "tslib": "^2.0.3"
       }
     },
-    "node_modules/tmp/node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+    "node_modules/uri-js": {
+      "version": "4.4.1",
+      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
       "dev": true,
       "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "punycode": "^2.1.0"
       }
     },
-    "node_modules/to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==",
-      "dev": true
+    "node_modules/url": {
+      "version": "0.10.3",
+      "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
+      "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==",
+      "dev": true,
+      "dependencies": {
+        "punycode": "1.3.2",
+        "querystring": "0.2.0"
+      }
     },
-    "node_modules/to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+    "node_modules/url-parse": {
+      "version": "1.5.10",
+      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+      "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
       "dev": true,
-      "engines": {
-        "node": ">=4"
+      "dependencies": {
+        "querystringify": "^2.1.1",
+        "requires-port": "^1.0.0"
       }
     },
-    "node_modules/to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
-      "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==",
+    "node_modules/url/node_modules/punycode": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+      "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==",
+      "dev": true
+    },
+    "node_modules/urlpattern-polyfill": {
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz",
+      "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==",
+      "dev": true
+    },
+    "node_modules/util": {
+      "version": "0.12.5",
+      "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+      "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
       "dev": true,
       "dependencies": {
-        "kind-of": "^3.0.2"
-      },
+        "inherits": "^2.0.3",
+        "is-arguments": "^1.0.4",
+        "is-generator-function": "^1.0.7",
+        "is-typed-array": "^1.1.3",
+        "which-typed-array": "^1.1.2"
+      }
+    },
+    "node_modules/util-arity": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/util-arity/-/util-arity-1.1.0.tgz",
+      "integrity": "sha512-kkyIsXKwemfSy8ZEoaIz06ApApnWsk5hQO0vLjZS6UkBiGiW++Jsyb8vSBoc0WKlffGoGs5yYy/j5pp8zckrFA==",
+      "dev": true
+    },
+    "node_modules/util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+      "dev": true
+    },
+    "node_modules/utils-merge": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+      "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+      "dev": true,
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">= 0.4.0"
       }
     },
-    "node_modules/to-object-path/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+    "node_modules/uuid": {
+      "version": "8.3.2",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+      "bin": {
+        "uuid": "dist/bin/uuid"
+      }
+    },
+    "node_modules/v8-compile-cache": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz",
+      "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
+      "dev": true
+    },
+    "node_modules/v8-to-istanbul": {
+      "version": "9.2.0",
+      "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz",
+      "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==",
       "dev": true,
       "dependencies": {
-        "is-buffer": "^1.1.5"
+        "@jridgewell/trace-mapping": "^0.3.12",
+        "@types/istanbul-lib-coverage": "^2.0.1",
+        "convert-source-map": "^2.0.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10.12.0"
       }
     },
-    "node_modules/to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
-      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+    "node_modules/v8-to-istanbul/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "dev": true
+    },
+    "node_modules/validate-npm-package-license": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
       "dev": true,
       "dependencies": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
+        "spdx-correct": "^3.0.0",
+        "spdx-expression-parse": "^3.0.0"
       }
     },
-    "node_modules/to-regex-range": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+    "node_modules/validate-npm-package-name": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz",
+      "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==",
       "dev": true,
       "dependencies": {
-        "is-number": "^7.0.0"
+        "builtins": "^5.0.0"
       },
       "engines": {
-        "node": ">=8.0"
+        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
       }
     },
-    "node_modules/to-regex/node_modules/define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+    "node_modules/vary": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+      "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
       "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/to-regex/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+    "node_modules/vasync": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/vasync/-/vasync-2.2.1.tgz",
+      "integrity": "sha512-Hq72JaTpcTFdWiNA4Y22Amej2GH3BFmBaKPPlDZ4/oC8HNn2ISHLkFrJU4Ds8R3jcUi7oo5Y9jcMHKjES+N9wQ==",
       "dev": true,
+      "engines": [
+        "node >=0.6.0"
+      ],
       "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
+        "verror": "1.10.0"
       }
     },
-    "node_modules/to-regex/node_modules/is-descriptor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-      "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
+    "node_modules/vasync/node_modules/core-util-is": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+      "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
+      "dev": true
+    },
+    "node_modules/vasync/node_modules/verror": {
+      "version": "1.10.0",
+      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+      "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
       "dev": true,
+      "engines": [
+        "node >=0.6.0"
+      ],
       "dependencies": {
-        "is-accessor-descriptor": "^1.0.1",
-        "is-data-descriptor": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
+        "assert-plus": "^1.0.0",
+        "core-util-is": "1.0.2",
+        "extsprintf": "^1.2.0"
       }
     },
-    "node_modules/to-regex/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+    "node_modules/verror": {
+      "version": "1.10.1",
+      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz",
+      "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==",
       "dev": true,
       "dependencies": {
-        "is-plain-object": "^2.0.4"
+        "assert-plus": "^1.0.0",
+        "core-util-is": "1.0.2",
+        "extsprintf": "^1.2.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=0.6.0"
       }
     },
-    "node_modules/toidentifier": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
-      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+    "node_modules/verror/node_modules/core-util-is": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+      "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
+      "dev": true
+    },
+    "node_modules/void-elements": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+      "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==",
       "dev": true,
       "engines": {
-        "node": ">=0.6"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/toposort": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz",
-      "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==",
+    "node_modules/walk-up-path": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz",
+      "integrity": "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==",
       "dev": true
     },
-    "node_modules/tr46": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
-      "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+    "node_modules/watchpack": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz",
+      "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==",
       "dev": true,
       "dependencies": {
-        "punycode": "^2.1.1"
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.1.2"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=10.13.0"
       }
     },
-    "node_modules/treeverse": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz",
-      "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==",
+    "node_modules/wbuf": {
+      "version": "1.7.3",
+      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
+      "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
       "dev": true,
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      "dependencies": {
+        "minimalistic-assert": "^1.0.0"
       }
     },
-    "node_modules/trim-newlines": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
-      "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
+    "node_modules/wcwidth": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+      "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
       "dev": true,
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "defaults": "^1.0.3"
       }
     },
-    "node_modules/triple-beam": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz",
-      "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==",
+    "node_modules/webidl-conversions": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+      "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+      "dev": true,
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">=12"
       }
     },
-    "node_modules/ts-loader": {
-      "version": "8.3.0",
-      "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.3.0.tgz",
-      "integrity": "sha512-MgGly4I6cStsJy27ViE32UoqxPTN9Xly4anxxVyaIWR+9BGxboV4EyJBGfR3RePV7Ksjj3rHmPZJeIt+7o4Vag==",
+    "node_modules/webpack": {
+      "version": "5.91.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz",
+      "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==",
       "dev": true,
+      "peer": true,
       "dependencies": {
-        "chalk": "^4.1.0",
-        "enhanced-resolve": "^4.0.0",
-        "loader-utils": "^2.0.0",
-        "micromatch": "^4.0.0",
-        "semver": "^7.3.4"
+        "@types/eslint-scope": "^3.7.3",
+        "@types/estree": "^1.0.5",
+        "@webassemblyjs/ast": "^1.12.1",
+        "@webassemblyjs/wasm-edit": "^1.12.1",
+        "@webassemblyjs/wasm-parser": "^1.12.1",
+        "acorn": "^8.7.1",
+        "acorn-import-assertions": "^1.9.0",
+        "browserslist": "^4.21.10",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^5.16.0",
+        "es-module-lexer": "^1.2.1",
+        "eslint-scope": "5.1.1",
+        "events": "^3.2.0",
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.2.11",
+        "json-parse-even-better-errors": "^2.3.1",
+        "loader-runner": "^4.2.0",
+        "mime-types": "^2.1.27",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.2.0",
+        "tapable": "^2.1.1",
+        "terser-webpack-plugin": "^5.3.10",
+        "watchpack": "^2.4.1",
+        "webpack-sources": "^3.2.3"
+      },
+      "bin": {
+        "webpack": "bin/webpack.js"
       },
       "engines": {
-        "node": ">=10.0.0"
+        "node": ">=10.13.0"
       },
-      "peerDependencies": {
-        "typescript": "*",
-        "webpack": "*"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependenciesMeta": {
+        "webpack-cli": {
+          "optional": true
+        }
       }
     },
-    "node_modules/ts-loader/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+    "node_modules/webpack-cli": {
+      "version": "5.1.4",
+      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz",
+      "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==",
       "dev": true,
       "dependencies": {
-        "color-convert": "^2.0.1"
+        "@discoveryjs/json-ext": "^0.5.0",
+        "@webpack-cli/configtest": "^2.1.1",
+        "@webpack-cli/info": "^2.0.2",
+        "@webpack-cli/serve": "^2.0.5",
+        "colorette": "^2.0.14",
+        "commander": "^10.0.1",
+        "cross-spawn": "^7.0.3",
+        "envinfo": "^7.7.3",
+        "fastest-levenshtein": "^1.0.12",
+        "import-local": "^3.0.2",
+        "interpret": "^3.1.1",
+        "rechoir": "^0.8.0",
+        "webpack-merge": "^5.7.3"
+      },
+      "bin": {
+        "webpack-cli": "bin/cli.js"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=14.15.0"
       },
       "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "webpack": "5.x.x"
+      },
+      "peerDependenciesMeta": {
+        "@webpack-cli/generators": {
+          "optional": true
+        },
+        "webpack-bundle-analyzer": {
+          "optional": true
+        },
+        "webpack-dev-server": {
+          "optional": true
+        }
       }
     },
-    "node_modules/ts-loader/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+    "node_modules/webpack-cli/node_modules/interpret": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
+      "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
       "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
+        "node": ">=10.13.0"
       }
     },
-    "node_modules/ts-loader/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+    "node_modules/webpack-merge": {
+      "version": "5.10.0",
+      "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz",
+      "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==",
       "dev": true,
       "dependencies": {
-        "color-name": "~1.1.4"
+        "clone-deep": "^4.0.1",
+        "flat": "^5.0.2",
+        "wildcard": "^2.0.0"
       },
       "engines": {
-        "node": ">=7.0.0"
+        "node": ">=10.0.0"
       }
     },
-    "node_modules/ts-loader/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
+    "node_modules/webpack-sources": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+      "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.13.0"
+      }
     },
-    "node_modules/ts-loader/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+    "node_modules/webpack/node_modules/enhanced-resolve": {
+      "version": "5.17.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
       "dev": true,
+      "peer": true,
       "dependencies": {
-        "has-flag": "^4.0.0"
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=10.13.0"
       }
     },
-    "node_modules/ts-mocha": {
-      "version": "10.0.0",
-      "resolved": "https://registry.npmjs.org/ts-mocha/-/ts-mocha-10.0.0.tgz",
-      "integrity": "sha512-VRfgDO+iiuJFlNB18tzOfypJ21xn2xbuZyDvJvqpTbWgkAgD17ONGr8t+Tl8rcBtOBdjXp5e/Rk+d39f7XBHRw==",
+    "node_modules/webpack/node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
       "dev": true,
-      "dependencies": {
-        "ts-node": "7.0.1"
-      },
-      "bin": {
-        "ts-mocha": "bin/ts-mocha"
-      },
+      "peer": true,
       "engines": {
-        "node": ">= 6.X.X"
-      },
-      "optionalDependencies": {
-        "tsconfig-paths": "^3.5.0"
-      },
-      "peerDependencies": {
-        "mocha": "^3.X.X || ^4.X.X || ^5.X.X || ^6.X.X || ^7.X.X || ^8.X.X || ^9.X.X || ^10.X.X"
+        "node": ">=0.8.x"
       }
     },
-    "node_modules/ts-node": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz",
-      "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==",
+    "node_modules/webpack/node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+      "dev": true,
+      "peer": true
+    },
+    "node_modules/webpack/node_modules/schema-utils": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
       "dev": true,
+      "peer": true,
       "dependencies": {
-        "arrify": "^1.0.0",
-        "buffer-from": "^1.1.0",
-        "diff": "^3.1.0",
-        "make-error": "^1.1.1",
-        "minimist": "^1.2.0",
-        "mkdirp": "^0.5.1",
-        "source-map-support": "^0.5.6",
-        "yn": "^2.0.0"
-      },
-      "bin": {
-        "ts-node": "dist/bin.js"
+        "@types/json-schema": "^7.0.8",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
       },
       "engines": {
-        "node": ">=4.2.0"
+        "node": ">= 10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
       }
     },
-    "node_modules/ts-node/node_modules/diff": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
-      "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+    "node_modules/webpack/node_modules/tapable": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
       "dev": true,
+      "peer": true,
       "engines": {
-        "node": ">=0.3.1"
+        "node": ">=6"
       }
     },
-    "node_modules/ts-node/node_modules/mkdirp": {
-      "version": "0.5.6",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+    "node_modules/whatwg-url": {
+      "version": "11.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+      "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
       "dev": true,
       "dependencies": {
-        "minimist": "^1.2.6"
+        "tr46": "^3.0.0",
+        "webidl-conversions": "^7.0.0"
       },
-      "bin": {
-        "mkdirp": "bin/cmd.js"
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/tsconfig-paths": {
-      "version": "3.15.0",
-      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
-      "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
+    "node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
       "dev": true,
       "dependencies": {
-        "@types/json5": "^0.0.29",
-        "json5": "^1.0.2",
-        "minimist": "^1.2.6",
-        "strip-bom": "^3.0.0"
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
       }
     },
-    "node_modules/tsconfig-paths/node_modules/json5": {
+    "node_modules/which-boxed-primitive": {
       "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
-      "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+      "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+      "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
       "dev": true,
       "dependencies": {
-        "minimist": "^1.2.0"
+        "is-bigint": "^1.0.1",
+        "is-boolean-object": "^1.1.0",
+        "is-number-object": "^1.0.4",
+        "is-string": "^1.0.5",
+        "is-symbol": "^1.0.3"
       },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
-    },
-    "node_modules/tsconfig-paths/node_modules/strip-bom": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-      "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/tslib": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
-      "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
-    },
-    "node_modules/tsscmp": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
-      "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6.x"
-      }
+    "node_modules/which-module": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz",
+      "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
+      "dev": true
     },
-    "node_modules/tsutils": {
-      "version": "3.21.0",
-      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+    "node_modules/which-typed-array": {
+      "version": "1.1.15",
+      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+      "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
       "dev": true,
       "dependencies": {
-        "tslib": "^1.8.1"
+        "available-typed-arrays": "^1.0.7",
+        "call-bind": "^1.0.7",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "has-tostringtag": "^1.0.2"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">= 0.4"
       },
-      "peerDependencies": {
-        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/tsutils/node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "dev": true
-    },
-    "node_modules/tty-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-      "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==",
-      "dev": true
-    },
-    "node_modules/tuf-js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz",
-      "integrity": "sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==",
+    "node_modules/wide-align": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+      "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
       "dev": true,
       "dependencies": {
-        "@tufjs/models": "1.0.4",
-        "debug": "^4.3.4",
-        "make-fetch-happen": "^11.1.1"
-      },
+        "string-width": "^1.0.2 || 2"
+      }
+    },
+    "node_modules/wide-align/node_modules/ansi-regex": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
+      "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
+      "dev": true,
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=4"
       }
     },
-    "node_modules/tuf-js/node_modules/@tootallnate/once": {
+    "node_modules/wide-align/node_modules/is-fullwidth-code-point": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
-      "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+      "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
       "dev": true,
       "engines": {
-        "node": ">= 10"
+        "node": ">=4"
       }
     },
-    "node_modules/tuf-js/node_modules/agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+    "node_modules/wide-align/node_modules/string-width": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
       "dev": true,
       "dependencies": {
-        "debug": "4"
+        "is-fullwidth-code-point": "^2.0.0",
+        "strip-ansi": "^4.0.0"
       },
       "engines": {
-        "node": ">= 6.0.0"
+        "node": ">=4"
       }
     },
-    "node_modules/tuf-js/node_modules/http-proxy-agent": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
-      "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+    "node_modules/wide-align/node_modules/strip-ansi": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+      "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
       "dev": true,
       "dependencies": {
-        "@tootallnate/once": "2",
-        "agent-base": "6",
-        "debug": "4"
+        "ansi-regex": "^3.0.0"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">=4"
       }
     },
-    "node_modules/tuf-js/node_modules/https-proxy-agent": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+    "node_modules/wildcard": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
+      "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
+      "dev": true
+    },
+    "node_modules/winston": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz",
+      "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==",
       "dev": true,
       "dependencies": {
-        "agent-base": "6",
-        "debug": "4"
+        "@dabh/diagnostics": "^2.0.2",
+        "async": "^3.1.0",
+        "is-stream": "^2.0.0",
+        "logform": "^2.2.0",
+        "one-time": "^1.0.0",
+        "readable-stream": "^3.4.0",
+        "stack-trace": "0.0.x",
+        "triple-beam": "^1.3.0",
+        "winston-transport": "^4.4.0"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">= 6.4.0"
       }
     },
-    "node_modules/tuf-js/node_modules/lru-cache": {
-      "version": "7.18.3",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
-      "dev": true,
+    "node_modules/winston-transport": {
+      "version": "4.7.0",
+      "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz",
+      "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==",
+      "dependencies": {
+        "logform": "^2.3.2",
+        "readable-stream": "^3.6.0",
+        "triple-beam": "^1.3.0"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">= 12.0.0"
       }
     },
-    "node_modules/tuf-js/node_modules/make-fetch-happen": {
-      "version": "11.1.1",
-      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
-      "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+    "node_modules/winston2": {
+      "name": "winston",
+      "version": "2.4.7",
+      "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.7.tgz",
+      "integrity": "sha512-vLB4BqzCKDnnZH9PHGoS2ycawueX4HLqENXQitvFHczhgW2vFpSOn31LZtVr1KU8YTw7DS4tM+cqyovxo8taVg==",
       "dev": true,
       "dependencies": {
-        "agentkeepalive": "^4.2.1",
-        "cacache": "^17.0.0",
-        "http-cache-semantics": "^4.1.1",
-        "http-proxy-agent": "^5.0.0",
-        "https-proxy-agent": "^5.0.0",
-        "is-lambda": "^1.0.1",
-        "lru-cache": "^7.7.1",
-        "minipass": "^5.0.0",
-        "minipass-fetch": "^3.0.0",
-        "minipass-flush": "^1.0.5",
-        "minipass-pipeline": "^1.2.4",
-        "negotiator": "^0.6.3",
-        "promise-retry": "^2.0.1",
-        "socks-proxy-agent": "^7.0.0",
-        "ssri": "^10.0.0"
+        "async": "^2.6.4",
+        "colors": "1.0.x",
+        "cycle": "1.0.x",
+        "eyes": "0.1.x",
+        "isstream": "0.1.x",
+        "stack-trace": "0.0.x"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">= 0.10.0"
       }
     },
-    "node_modules/tuf-js/node_modules/minipass": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
-      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+    "node_modules/winston2/node_modules/async": {
+      "version": "2.6.4",
+      "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
+      "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
       "dev": true,
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "lodash": "^4.17.14"
       }
     },
-    "node_modules/tuf-js/node_modules/minipass-fetch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz",
-      "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==",
+    "node_modules/winston2/node_modules/colors": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
+      "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==",
       "dev": true,
-      "dependencies": {
-        "minipass": "^7.0.3",
-        "minipass-sized": "^1.0.3",
-        "minizlib": "^2.1.2"
-      },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
-      },
-      "optionalDependencies": {
-        "encoding": "^0.1.13"
+        "node": ">=0.1.90"
       }
     },
-    "node_modules/tuf-js/node_modules/minipass-fetch/node_modules/minipass": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
-      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+    "node_modules/wordwrap": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+      "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
+      "dev": true
+    },
+    "node_modules/wordwrapjs": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz",
+      "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==",
       "dev": true,
       "engines": {
-        "node": ">=16 || 14 >=14.17"
+        "node": ">=12.17"
       }
     },
-    "node_modules/tuf-js/node_modules/socks-proxy-agent": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
-      "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
+    "node_modules/workerpool": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
+      "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==",
+      "dev": true
+    },
+    "node_modules/wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
       "dev": true,
       "dependencies": {
-        "agent-base": "^6.0.2",
-        "debug": "^4.3.3",
-        "socks": "^2.6.2"
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
       },
       "engines": {
-        "node": ">= 10"
+        "node": ">=8"
       }
     },
-    "node_modules/tuf-js/node_modules/ssri": {
-      "version": "10.0.5",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz",
-      "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==",
+    "node_modules/wrap-ansi-cjs": {
+      "name": "wrap-ansi",
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
       "dev": true,
       "dependencies": {
-        "minipass": "^7.0.3"
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/tuf-js/node_modules/ssri/node_modules/minipass": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
-      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+    "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
       "engines": {
-        "node": ">=16 || 14 >=14.17"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/tweetnacl": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
-      "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
-      "dev": true
-    },
-    "node_modules/type-check": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
-      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+    "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "dev": true,
       "dependencies": {
-        "prelude-ls": "^1.2.1"
+        "color-name": "~1.1.4"
       },
       "engines": {
-        "node": ">= 0.8.0"
+        "node": ">=7.0.0"
       }
     },
-    "node_modules/type-detect": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
-      "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
+    "node_modules/wrap-ansi-cjs/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
     },
-    "node_modules/type-fest": {
-      "version": "0.21.3",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
-      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+    "node_modules/wrap-ansi/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
       "engines": {
-        "node": ">=10"
+        "node": ">=8"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/type-is": {
-      "version": "1.6.18",
-      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
-      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+    "node_modules/wrap-ansi/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "dev": true,
       "dependencies": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
+        "color-name": "~1.1.4"
       },
       "engines": {
-        "node": ">= 0.6"
+        "node": ">=7.0.0"
       }
     },
-    "node_modules/typed-array-buffer": {
+    "node_modules/wrap-ansi/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/wrappy": {
       "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
-      "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+      "dev": true
+    },
+    "node_modules/write-file-atomic": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
+      "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.7",
-        "es-errors": "^1.3.0",
-        "is-typed-array": "^1.1.13"
+        "imurmurhash": "^0.1.4",
+        "signal-exit": "^3.0.7"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": "^12.13.0 || ^14.15.0 || >=16"
       }
     },
-    "node_modules/typed-array-byte-length": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
-      "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
+    "node_modules/write-json-file": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz",
+      "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.7",
-        "for-each": "^0.3.3",
-        "gopd": "^1.0.1",
-        "has-proto": "^1.0.3",
-        "is-typed-array": "^1.1.13"
+        "detect-indent": "^5.0.0",
+        "graceful-fs": "^4.1.15",
+        "make-dir": "^2.1.0",
+        "pify": "^4.0.1",
+        "sort-keys": "^2.0.0",
+        "write-file-atomic": "^2.4.2"
       },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=6"
       }
     },
-    "node_modules/typed-array-byte-offset": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
-      "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
+    "node_modules/write-json-file/node_modules/make-dir": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
       "dev": true,
       "dependencies": {
-        "available-typed-arrays": "^1.0.7",
-        "call-bind": "^1.0.7",
-        "for-each": "^0.3.3",
-        "gopd": "^1.0.1",
-        "has-proto": "^1.0.3",
-        "is-typed-array": "^1.1.13"
+        "pify": "^4.0.1",
+        "semver": "^5.6.0"
       },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=6"
       }
     },
-    "node_modules/typed-array-length": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
-      "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
+    "node_modules/write-json-file/node_modules/pify": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
       "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.7",
-        "for-each": "^0.3.3",
-        "gopd": "^1.0.1",
-        "has-proto": "^1.0.3",
-        "is-typed-array": "^1.1.13",
-        "possible-typed-array-names": "^1.0.0"
-      },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=6"
       }
     },
-    "node_modules/typedarray": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
-      "dev": true
+    "node_modules/write-json-file/node_modules/semver": {
+      "version": "5.7.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
     },
-    "node_modules/typedarray-to-buffer": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
-      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+    "node_modules/write-json-file/node_modules/write-file-atomic": {
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
+      "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
       "dev": true,
       "dependencies": {
-        "is-typedarray": "^1.0.0"
+        "graceful-fs": "^4.1.11",
+        "imurmurhash": "^0.1.4",
+        "signal-exit": "^3.0.2"
       }
     },
-    "node_modules/typescript": {
-      "version": "4.4.4",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz",
-      "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==",
+    "node_modules/write-pkg": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz",
+      "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==",
       "dev": true,
-      "bin": {
-        "tsc": "bin/tsc",
-        "tsserver": "bin/tsserver"
+      "dependencies": {
+        "sort-keys": "^2.0.0",
+        "type-fest": "^0.4.1",
+        "write-json-file": "^3.2.0"
       },
       "engines": {
-        "node": ">=4.2.0"
+        "node": ">=8"
       }
     },
-    "node_modules/typical": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
-      "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
+    "node_modules/write-pkg/node_modules/type-fest": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz",
+      "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==",
       "dev": true,
       "engines": {
-        "node": ">=8"
+        "node": ">=6"
       }
     },
-    "node_modules/ua-parser-js": {
-      "version": "0.7.37",
-      "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.37.tgz",
-      "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==",
+    "node_modules/ws": {
+      "version": "8.11.0",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
+      "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
       "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/ua-parser-js"
-        },
-        {
-          "type": "paypal",
-          "url": "https://paypal.me/faisalman"
+      "engines": {
+        "node": ">=10.0.0"
+      },
+      "peerDependencies": {
+        "bufferutil": "^4.0.1",
+        "utf-8-validate": "^5.0.2"
+      },
+      "peerDependenciesMeta": {
+        "bufferutil": {
+          "optional": true
         },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/faisalman"
+        "utf-8-validate": {
+          "optional": true
         }
-      ],
-      "engines": {
-        "node": "*"
       }
     },
-    "node_modules/uc.micro": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
-      "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
-      "dev": true
-    },
-    "node_modules/uglify-js": {
-      "version": "3.17.4",
-      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
-      "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==",
+    "node_modules/xml2js": {
+      "version": "0.4.19",
+      "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
+      "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
       "dev": true,
-      "optional": true,
-      "bin": {
-        "uglifyjs": "bin/uglifyjs"
-      },
-      "engines": {
-        "node": ">=0.8.0"
+      "dependencies": {
+        "sax": ">=0.6.0",
+        "xmlbuilder": "~9.0.1"
       }
     },
-    "node_modules/uid": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz",
-      "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==",
+    "node_modules/xml2js/node_modules/xmlbuilder": {
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
+      "integrity": "sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==",
       "dev": true,
-      "dependencies": {
-        "@lukeed/csprng": "^1.0.0"
-      },
       "engines": {
-        "node": ">=8"
+        "node": ">=4.0"
       }
     },
-    "node_modules/unbox-primitive": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
-      "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
+    "node_modules/xmlbuilder": {
+      "version": "15.1.1",
+      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
+      "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==",
       "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "has-bigints": "^1.0.2",
-        "has-symbols": "^1.0.3",
-        "which-boxed-primitive": "^1.0.2"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "engines": {
+        "node": ">=8.0"
       }
     },
-    "node_modules/unbzip2-stream": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
-      "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
+    "node_modules/xmlhttprequest-ssl": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+      "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
       "dev": true,
-      "dependencies": {
-        "buffer": "^5.2.1",
-        "through": "^2.3.8"
+      "engines": {
+        "node": ">=0.4.0"
       }
     },
-    "node_modules/unbzip2-stream/node_modules/buffer": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
-      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "dependencies": {
-        "base64-js": "^1.3.1",
-        "ieee754": "^1.1.13"
+    "node_modules/xorshift": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/xorshift/-/xorshift-1.2.0.tgz",
+      "integrity": "sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g=="
+    },
+    "node_modules/xtend": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+      "engines": {
+        "node": ">=0.4"
       }
     },
-    "node_modules/undici": {
-      "version": "6.11.1",
-      "resolved": "https://registry.npmjs.org/undici/-/undici-6.11.1.tgz",
-      "integrity": "sha512-KyhzaLJnV1qa3BSHdj4AZ2ndqI0QWPxYzaIOio0WzcEJB9gvuysprJSLtpvc2D9mhR9jPDUk7xlJlZbH2KR5iw==",
-      "dev": true,
+    "node_modules/y18n": {
+      "version": "5.0.8",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
       "engines": {
-        "node": ">=18.0"
+        "node": ">=10"
       }
     },
-    "node_modules/undici-types": {
-      "version": "5.26.5",
-      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
-      "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+    "node_modules/yallist": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
       "dev": true
     },
-    "node_modules/unicorn-magic": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
-      "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+    "node_modules/yaml": {
+      "version": "2.3.4",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz",
+      "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==",
       "dev": true,
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">= 14"
       }
     },
-    "node_modules/union-value": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
-      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
+    "node_modules/yargs": {
+      "version": "17.7.2",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+      "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
       "dependencies": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^2.0.1"
+        "cliui": "^8.0.1",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.3",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^21.1.1"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=12"
       }
     },
-    "node_modules/unique-filename": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
-      "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==",
+    "node_modules/yargs-parser": {
+      "version": "20.2.4",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+      "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
       "dev": true,
-      "dependencies": {
-        "unique-slug": "^4.0.0"
-      },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=10"
       }
     },
-    "node_modules/unique-slug": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz",
-      "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==",
+    "node_modules/yargs-unparser": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz",
+      "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==",
       "dev": true,
       "dependencies": {
-        "imurmurhash": "^0.1.4"
+        "flat": "^4.1.0",
+        "lodash": "^4.17.15",
+        "yargs": "^13.3.0"
       },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=6"
       }
     },
-    "node_modules/unique-string": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
-      "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
+    "node_modules/yargs-unparser/node_modules/cliui": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+      "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
       "dev": true,
       "dependencies": {
-        "crypto-random-string": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
+        "string-width": "^3.1.0",
+        "strip-ansi": "^5.2.0",
+        "wrap-ansi": "^5.1.0"
       }
     },
-    "node_modules/universal-user-agent": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
-      "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==",
+    "node_modules/yargs-unparser/node_modules/emoji-regex": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
       "dev": true
     },
-    "node_modules/universalify": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
-      "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+    "node_modules/yargs-unparser/node_modules/find-up": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
       "dev": true,
+      "dependencies": {
+        "locate-path": "^3.0.0"
+      },
       "engines": {
-        "node": ">= 10.0.0"
+        "node": ">=6"
       }
     },
-    "node_modules/unpipe": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+    "node_modules/yargs-unparser/node_modules/flat": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz",
+      "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "~2.0.3"
+      },
+      "bin": {
+        "flat": "cli.js"
+      }
+    },
+    "node_modules/yargs-unparser/node_modules/is-buffer": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+      "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
       "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
       "engines": {
-        "node": ">= 0.8"
+        "node": ">=4"
       }
     },
-    "node_modules/unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
-      "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==",
+    "node_modules/yargs-unparser/node_modules/is-fullwidth-code-point": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+      "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
       "dev": true,
-      "dependencies": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=4"
       }
     },
-    "node_modules/unset-value/node_modules/has-value": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
-      "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==",
+    "node_modules/yargs-unparser/node_modules/locate-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
       "dev": true,
       "dependencies": {
-        "get-value": "^2.0.3",
-        "has-values": "^0.1.4",
-        "isobject": "^2.0.0"
+        "p-locate": "^3.0.0",
+        "path-exists": "^3.0.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=6"
       }
     },
-    "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-      "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
+    "node_modules/yargs-unparser/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
       "dev": true,
       "dependencies": {
-        "isarray": "1.0.0"
+        "p-try": "^2.0.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/unset-value/node_modules/has-values": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-      "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==",
+    "node_modules/yargs-unparser/node_modules/p-locate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
       "dev": true,
+      "dependencies": {
+        "p-limit": "^2.0.0"
+      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=6"
       }
     },
-    "node_modules/upath": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz",
-      "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==",
+    "node_modules/yargs-unparser/node_modules/path-exists": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+      "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
       "dev": true,
       "engines": {
-        "node": ">=4",
-        "yarn": "*"
+        "node": ">=4"
       }
     },
-    "node_modules/update-browserslist-db": {
-      "version": "1.0.13",
-      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
-      "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+    "node_modules/yargs-unparser/node_modules/string-width": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
       "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/browserslist"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/browserslist"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
       "dependencies": {
-        "escalade": "^3.1.1",
-        "picocolors": "^1.0.0"
-      },
-      "bin": {
-        "update-browserslist-db": "cli.js"
+        "emoji-regex": "^7.0.1",
+        "is-fullwidth-code-point": "^2.0.0",
+        "strip-ansi": "^5.1.0"
       },
-      "peerDependencies": {
-        "browserslist": ">= 4.21.0"
+      "engines": {
+        "node": ">=6"
       }
     },
-    "node_modules/upper-case-first": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
-      "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
+    "node_modules/yargs-unparser/node_modules/strip-ansi": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
       "dev": true,
       "dependencies": {
-        "tslib": "^2.0.3"
+        "ansi-regex": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=6"
       }
     },
-    "node_modules/uri-js": {
-      "version": "4.4.1",
-      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
-      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+    "node_modules/yargs-unparser/node_modules/wrap-ansi": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+      "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
       "dev": true,
       "dependencies": {
-        "punycode": "^2.1.0"
+        "ansi-styles": "^3.2.0",
+        "string-width": "^3.0.0",
+        "strip-ansi": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=6"
       }
     },
-    "node_modules/urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
-      "deprecated": "Please see https://github.com/lydell/urix#deprecated",
+    "node_modules/yargs-unparser/node_modules/y18n": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
       "dev": true
     },
-    "node_modules/url": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
-      "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==",
+    "node_modules/yargs-unparser/node_modules/yargs": {
+      "version": "13.3.2",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
+      "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
       "dev": true,
       "dependencies": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
+        "cliui": "^5.0.0",
+        "find-up": "^3.0.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^3.0.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^13.1.2"
       }
     },
-    "node_modules/url-parse": {
-      "version": "1.5.10",
-      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
-      "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+    "node_modules/yargs-unparser/node_modules/yargs-parser": {
+      "version": "13.1.2",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
+      "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
       "dev": true,
       "dependencies": {
-        "querystringify": "^2.1.1",
-        "requires-port": "^1.0.0"
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
       }
     },
-    "node_modules/url/node_modules/punycode": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-      "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==",
-      "dev": true
-    },
-    "node_modules/urlpattern-polyfill": {
-      "version": "10.0.0",
-      "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz",
-      "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==",
-      "dev": true
-    },
-    "node_modules/use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true,
+    "node_modules/yargs/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/util": {
-      "version": "0.12.5",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
-      "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
-      "dev": true,
+    "node_modules/yargs/node_modules/cliui": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+      "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
       "dependencies": {
-        "inherits": "^2.0.3",
-        "is-arguments": "^1.0.4",
-        "is-generator-function": "^1.0.7",
-        "is-typed-array": "^1.1.3",
-        "which-typed-array": "^1.1.2"
-      }
-    },
-    "node_modules/util-arity": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/util-arity/-/util-arity-1.1.0.tgz",
-      "integrity": "sha512-kkyIsXKwemfSy8ZEoaIz06ApApnWsk5hQO0vLjZS6UkBiGiW++Jsyb8vSBoc0WKlffGoGs5yYy/j5pp8zckrFA==",
-      "dev": true
-    },
-    "node_modules/util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
-      "dev": true
-    },
-    "node_modules/utils-merge": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
-      "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
-      "dev": true,
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.1",
+        "wrap-ansi": "^7.0.0"
+      },
       "engines": {
-        "node": ">= 0.4.0"
+        "node": ">=12"
       }
     },
-    "node_modules/uuid": {
-      "version": "8.3.2",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
-      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
-      "bin": {
-        "uuid": "dist/bin/uuid"
+    "node_modules/yargs/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
       }
     },
-    "node_modules/v8-compile-cache": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz",
-      "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
-      "dev": true
+    "node_modules/yargs/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
     },
-    "node_modules/v8-to-istanbul": {
-      "version": "9.2.0",
-      "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz",
-      "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==",
-      "dev": true,
+    "node_modules/yargs/node_modules/wrap-ansi": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
       "dependencies": {
-        "@jridgewell/trace-mapping": "^0.3.12",
-        "@types/istanbul-lib-coverage": "^2.0.1",
-        "convert-source-map": "^2.0.0"
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
       },
       "engines": {
-        "node": ">=10.12.0"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/v8-to-istanbul/node_modules/convert-source-map": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
-      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
-      "dev": true
+    "node_modules/yargs/node_modules/yargs-parser": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+      "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+      "engines": {
+        "node": ">=12"
+      }
     },
-    "node_modules/validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
-      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+    "node_modules/yauzl": {
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+      "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
       "dev": true,
       "dependencies": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
+        "buffer-crc32": "~0.2.3",
+        "fd-slicer": "~1.1.0"
       }
     },
-    "node_modules/validate-npm-package-name": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz",
-      "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==",
+    "node_modules/ylru": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz",
+      "integrity": "sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA==",
       "dev": true,
-      "dependencies": {
-        "builtins": "^5.0.0"
-      },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": ">= 4.0.0"
       }
     },
-    "node_modules/vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+    "node_modules/yn": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz",
+      "integrity": "sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==",
       "dev": true,
       "engines": {
-        "node": ">= 0.8"
+        "node": ">=4"
       }
     },
-    "node_modules/vasync": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/vasync/-/vasync-2.2.1.tgz",
-      "integrity": "sha512-Hq72JaTpcTFdWiNA4Y22Amej2GH3BFmBaKPPlDZ4/oC8HNn2ISHLkFrJU4Ds8R3jcUi7oo5Y9jcMHKjES+N9wQ==",
+    "node_modules/yocto-queue": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
       "dev": true,
-      "engines": [
-        "node >=0.6.0"
-      ],
-      "dependencies": {
-        "verror": "1.10.0"
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/vasync/node_modules/core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
-      "dev": true
-    },
-    "node_modules/vasync/node_modules/verror": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
-      "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
+    "node_modules/yup": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/yup/-/yup-1.2.0.tgz",
+      "integrity": "sha512-PPqYKSAXjpRCgLgLKVGPA33v5c/WgEx3wi6NFjIiegz90zSwyMpvTFp/uGcVnnbx6to28pgnzp/q8ih3QRjLMQ==",
       "dev": true,
-      "engines": [
-        "node >=0.6.0"
-      ],
       "dependencies": {
-        "assert-plus": "^1.0.0",
-        "core-util-is": "1.0.2",
-        "extsprintf": "^1.2.0"
+        "property-expr": "^2.0.5",
+        "tiny-case": "^1.0.3",
+        "toposort": "^2.0.2",
+        "type-fest": "^2.19.0"
       }
     },
-    "node_modules/verror": {
-      "version": "1.10.1",
-      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz",
-      "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==",
+    "node_modules/yup/node_modules/type-fest": {
+      "version": "2.19.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
+      "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
       "dev": true,
-      "dependencies": {
-        "assert-plus": "^1.0.0",
-        "core-util-is": "1.0.2",
-        "extsprintf": "^1.2.0"
-      },
       "engines": {
-        "node": ">=0.6.0"
+        "node": ">=12.20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/verror/node_modules/core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
-      "dev": true
-    },
-    "node_modules/vm-browserify": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
-      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
-      "dev": true
+    "node_modules/zone.js": {
+      "version": "0.11.4",
+      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz",
+      "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==",
+      "dependencies": {
+        "tslib": "^2.0.0"
+      }
     },
-    "node_modules/void-elements": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
-      "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==",
-      "dev": true,
+    "packages/baggage-span-processor": {
+      "name": "@opentelemetry/baggage-span-processor",
+      "version": "0.3.1",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@opentelemetry/sdk-trace-base": "^1.0.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.0.0",
+        "@types/mocha": "8.2.3",
+        "@types/node": "18.6.5",
+        "expect": "29.2.0",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
+      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/walk-up-path": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz",
-      "integrity": "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==",
+    "packages/baggage-span-processor/node_modules/@types/mocha": {
+      "version": "8.2.3",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
+      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
       "dev": true
     },
-    "node_modules/watchpack": {
-      "version": "1.7.5",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
-      "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
-      "dev": true,
+    "packages/opentelemetry-host-metrics": {
+      "name": "@opentelemetry/host-metrics",
+      "version": "0.35.2",
+      "license": "Apache-2.0",
       "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0"
+        "@opentelemetry/sdk-metrics": "^1.8.0",
+        "systeminformation": "5.22.9"
       },
-      "optionalDependencies": {
-        "chokidar": "^3.4.1",
-        "watchpack-chokidar2": "^2.0.1"
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@types/mocha": "8.2.3",
+        "@types/node": "18.6.5",
+        "@types/sinon": "10.0.18",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/watchpack-chokidar2": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
-      "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "chokidar": "^2.1.8"
-      }
+    "packages/opentelemetry-host-metrics/node_modules/@types/mocha": {
+      "version": "8.2.3",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
+      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
+      "dev": true
     },
-    "node_modules/watchpack-chokidar2/node_modules/anymatch": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
-      "optional": true,
+    "packages/opentelemetry-id-generator-aws-xray": {
+      "name": "@opentelemetry/id-generator-aws-xray",
+      "version": "1.2.2",
+      "license": "Apache-2.0",
       "dependencies": {
-        "micromatch": "^3.1.4",
-        "normalize-path": "^2.1.1"
+        "@opentelemetry/core": "^1.0.0"
+      },
+      "devDependencies": {
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
+        "@opentelemetry/api": "^1.0.0",
+        "@types/mocha": "10.0.6",
+        "@types/node": "18.6.5",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
+        "assert": "2.0.0",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "cross-var": "1.1.0",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
+        "karma-mocha": "2.0.1",
+        "karma-spec-reporter": "0.0.36",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.1.2",
+        "ts-loader": "9.5.1",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4",
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-      "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/@babel/core": {
+      "version": "7.24.6",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+      "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "remove-trailing-separator": "^1.0.1"
+        "@ampproject/remapping": "^2.2.0",
+        "@babel/code-frame": "^7.24.6",
+        "@babel/generator": "^7.24.6",
+        "@babel/helper-compilation-targets": "^7.24.6",
+        "@babel/helper-module-transforms": "^7.24.6",
+        "@babel/helpers": "^7.24.6",
+        "@babel/parser": "^7.24.6",
+        "@babel/template": "^7.24.6",
+        "@babel/traverse": "^7.24.6",
+        "@babel/types": "^7.24.6",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/binary-extensions": {
-      "version": "1.13.1",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-      "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
       "dev": true,
-      "optional": true,
-      "engines": {
-        "node": ">=0.10.0"
+      "bin": {
+        "semver": "bin/semver.js"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/@sinonjs/commons": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+      "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
+        "type-detect": "4.0.8"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/chokidar": {
-      "version": "2.1.8",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-      "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-      "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "anymatch": "^2.0.0",
-        "async-each": "^1.0.1",
-        "braces": "^2.3.2",
-        "glob-parent": "^3.1.0",
-        "inherits": "^2.0.3",
-        "is-binary-path": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "normalize-path": "^3.0.0",
-        "path-is-absolute": "^1.0.0",
-        "readdirp": "^2.2.1",
-        "upath": "^1.1.1"
-      },
-      "optionalDependencies": {
-        "fsevents": "^1.2.7"
-      }
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/@types/mocha": {
+      "version": "10.0.6",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+      "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
+      "dev": true
     },
-    "node_modules/watchpack-chokidar2/node_modules/define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/@types/sinon": {
+      "version": "17.0.3",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+      "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
+        "@types/sinonjs__fake-timers": "*"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/ansi-colors": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
       "dev": true,
-      "optional": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=6"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/fsevents": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-      "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-      "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
       "dependencies": {
-        "bindings": "^1.5.0",
-        "nan": "^2.12.1"
+        "color-convert": "^2.0.1"
       },
       "engines": {
-        "node": ">= 4.0"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/glob-parent": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-      "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/camelcase": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
       "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-glob": "^3.1.0",
-        "path-dirname": "^1.0.0"
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-      "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "is-extglob": "^2.1.0"
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/is-binary-path": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-      "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/chalk/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "binary-extensions": "^1.0.0"
+        "has-flag": "^4.0.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=8"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/is-descriptor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-      "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/chokidar": {
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
       "dev": true,
-      "optional": true,
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://paulmillr.com/funding/"
+        }
+      ],
       "dependencies": {
-        "is-accessor-descriptor": "^1.0.1",
-        "is-data-descriptor": "^1.0.1"
+        "anymatch": "~3.1.2",
+        "braces": "~3.0.2",
+        "glob-parent": "~5.1.2",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.6.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">= 8.10.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "is-plain-object": "^2.0.4"
+        "color-name": "~1.1.4"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=7.0.0"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "dev": true
+    },
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/decamelize": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+      "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
       "dev": true,
-      "optional": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/diff": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+      "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
       "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=0.3.1"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/enhanced-resolve": {
+      "version": "5.17.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10.13.0"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/micromatch/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
       "dev": true,
-      "optional": true,
-      "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
       "dev": true,
-      "optional": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
+      "engines": {
+        "node": ">=0.8.x"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/readdirp": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/glob": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+      "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "graceful-fs": "^4.1.11",
-        "micromatch": "^3.1.10",
-        "readable-stream": "^2.0.2"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
       },
       "engines": {
-        "node": ">=0.10"
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/safe-buffer": {
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/glob-parent": {
       "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true,
-      "optional": true
-    },
-    "node_modules/watchpack-chokidar2/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "safe-buffer": "~5.1.0"
+        "is-glob": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/glob/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
       "dev": true,
-      "optional": true,
       "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
+        "brace-expansion": "^1.1.7"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": "*"
       }
     },
-    "node_modules/watchpack-chokidar2/node_modules/upath": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-      "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/is-plain-obj": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+      "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
       "dev": true,
-      "optional": true,
       "engines": {
-        "node": ">=4",
-        "yarn": "*"
+        "node": ">=8"
       }
     },
-    "node_modules/wbuf": {
-      "version": "1.7.3",
-      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
-      "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+      "dev": true
+    },
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/log-symbols": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
       "dev": true,
       "dependencies": {
-        "minimalistic-assert": "^1.0.0"
+        "chalk": "^4.1.0",
+        "is-unicode-supported": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/wcwidth": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
-      "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/minimatch": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+      "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
       "dev": true,
       "dependencies": {
-        "defaults": "^1.0.3"
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/webidl-conversions": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
-      "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/minimatch/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
       "dev": true,
-      "engines": {
-        "node": ">=12"
+      "dependencies": {
+        "balanced-match": "^1.0.0"
       }
     },
-    "node_modules/webpack": {
-      "version": "4.46.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
-      "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/wasm-edit": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "acorn": "^6.4.1",
-        "ajv": "^6.10.2",
-        "ajv-keywords": "^3.4.1",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^4.5.0",
-        "eslint-scope": "^4.0.3",
-        "json-parse-better-errors": "^1.0.2",
-        "loader-runner": "^2.4.0",
-        "loader-utils": "^1.2.3",
-        "memory-fs": "^0.4.1",
-        "micromatch": "^3.1.10",
-        "mkdirp": "^0.5.3",
-        "neo-async": "^2.6.1",
-        "node-libs-browser": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "tapable": "^1.1.3",
-        "terser-webpack-plugin": "^1.4.3",
-        "watchpack": "^1.7.4",
-        "webpack-sources": "^1.4.1"
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/mocha": {
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+      "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-colors": "4.1.1",
+        "browser-stdout": "1.3.1",
+        "chokidar": "3.5.3",
+        "debug": "4.3.4",
+        "diff": "5.0.0",
+        "escape-string-regexp": "4.0.0",
+        "find-up": "5.0.0",
+        "glob": "7.2.0",
+        "he": "1.2.0",
+        "js-yaml": "4.1.0",
+        "log-symbols": "4.1.0",
+        "minimatch": "5.0.1",
+        "ms": "2.1.3",
+        "nanoid": "3.3.3",
+        "serialize-javascript": "6.0.0",
+        "strip-json-comments": "3.1.1",
+        "supports-color": "8.1.1",
+        "workerpool": "6.2.1",
+        "yargs": "16.2.0",
+        "yargs-parser": "20.2.4",
+        "yargs-unparser": "2.0.0"
       },
       "bin": {
-        "webpack": "bin/webpack.js"
+        "_mocha": "bin/_mocha",
+        "mocha": "bin/mocha.js"
       },
       "engines": {
-        "node": ">=6.11.5"
+        "node": ">= 14.0.0"
       },
       "funding": {
         "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        },
-        "webpack-command": {
-          "optional": true
-        }
+        "url": "https://opencollective.com/mochajs"
       }
     },
-    "node_modules/webpack-cli": {
-      "version": "4.7.2",
-      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.2.tgz",
-      "integrity": "sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "dev": true
+    },
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/nanoid": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+      "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
       "dev": true,
-      "dependencies": {
-        "@discoveryjs/json-ext": "^0.5.0",
-        "@webpack-cli/configtest": "^1.0.4",
-        "@webpack-cli/info": "^1.3.0",
-        "@webpack-cli/serve": "^1.5.1",
-        "colorette": "^1.2.1",
-        "commander": "^7.0.0",
-        "execa": "^5.0.0",
-        "fastest-levenshtein": "^1.0.12",
-        "import-local": "^3.0.2",
-        "interpret": "^2.2.0",
-        "rechoir": "^0.7.0",
-        "v8-compile-cache": "^2.2.0",
-        "webpack-merge": "^5.7.3"
-      },
       "bin": {
-        "webpack-cli": "bin/cli.js"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      },
-      "peerDependencies": {
-        "webpack": "4.x.x || 5.x.x"
+        "nanoid": "bin/nanoid.cjs"
       },
-      "peerDependenciesMeta": {
-        "@webpack-cli/generators": {
-          "optional": true
-        },
-        "@webpack-cli/migrate": {
-          "optional": true
-        },
-        "webpack-bundle-analyzer": {
-          "optional": true
-        },
-        "webpack-dev-server": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/webpack-cli/node_modules/commander": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
-      "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
-      "dev": true,
       "engines": {
-        "node": ">= 10"
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "node_modules/webpack-dev-middleware": {
-      "version": "3.7.3",
-      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz",
-      "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/schema-utils": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
       "dev": true,
       "dependencies": {
-        "memory-fs": "^0.4.1",
-        "mime": "^2.4.4",
-        "mkdirp": "^0.5.1",
-        "range-parser": "^1.2.1",
-        "webpack-log": "^2.0.0"
+        "@types/json-schema": "^7.0.8",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">= 10.13.0"
       },
-      "peerDependencies": {
-        "webpack": "^4.0.0 || ^5.0.0"
-      }
-    },
-    "node_modules/webpack-dev-middleware/node_modules/memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-      "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==",
-      "dev": true,
-      "dependencies": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
       }
     },
-    "node_modules/webpack-dev-middleware/node_modules/mkdirp": {
-      "version": "0.5.6",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/sinon": {
+      "version": "15.1.2",
+      "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
+      "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==",
+      "deprecated": "16.1.1",
       "dev": true,
       "dependencies": {
-        "minimist": "^1.2.6"
+        "@sinonjs/commons": "^3.0.0",
+        "@sinonjs/fake-timers": "^10.1.0",
+        "@sinonjs/samsam": "^8.0.0",
+        "diff": "^5.1.0",
+        "nise": "^5.1.4",
+        "supports-color": "^7.2.0"
       },
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      }
-    },
-    "node_modules/webpack-dev-middleware/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/sinon"
       }
     },
-    "node_modules/webpack-dev-middleware/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/webpack-dev-middleware/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/sinon/node_modules/diff": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+      "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
       "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
+      "engines": {
+        "node": ">=0.3.1"
       }
     },
-    "node_modules/webpack-log": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
-      "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/sinon/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
       "dependencies": {
-        "ansi-colors": "^3.0.0",
-        "uuid": "^3.3.2"
+        "has-flag": "^4.0.0"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">=8"
       }
     },
-    "node_modules/webpack-log/node_modules/uuid": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
-      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/source-map": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
       "dev": true,
-      "bin": {
-        "uuid": "bin/uuid"
+      "engines": {
+        "node": ">= 8"
       }
     },
-    "node_modules/webpack-merge": {
-      "version": "5.8.0",
-      "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
-      "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/tapable": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
       "dev": true,
-      "dependencies": {
-        "clone-deep": "^4.0.1",
-        "wildcard": "^2.0.0"
-      },
       "engines": {
-        "node": ">=10.0.0"
+        "node": ">=6"
       }
     },
-    "node_modules/webpack-sources": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
-      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/ts-loader": {
+      "version": "9.5.1",
+      "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+      "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
       "dev": true,
       "dependencies": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      }
-    },
-    "node_modules/webpack/node_modules/acorn": {
-      "version": "6.4.2",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
-      "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
-      "dev": true,
-      "bin": {
-        "acorn": "bin/acorn"
+        "chalk": "^4.1.0",
+        "enhanced-resolve": "^5.0.0",
+        "micromatch": "^4.0.0",
+        "semver": "^7.3.4",
+        "source-map": "^0.7.4"
       },
       "engines": {
-        "node": ">=0.4.0"
+        "node": ">=12.0.0"
+      },
+      "peerDependencies": {
+        "typescript": "*",
+        "webpack": "^5.0.0"
       }
     },
-    "node_modules/webpack/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/webpack": {
+      "version": "5.89.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
       "dev": true,
       "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
+        "@types/eslint-scope": "^3.7.3",
+        "@types/estree": "^1.0.0",
+        "@webassemblyjs/ast": "^1.11.5",
+        "@webassemblyjs/wasm-edit": "^1.11.5",
+        "@webassemblyjs/wasm-parser": "^1.11.5",
+        "acorn": "^8.7.1",
+        "acorn-import-assertions": "^1.9.0",
+        "browserslist": "^4.14.5",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^5.15.0",
+        "es-module-lexer": "^1.2.1",
+        "eslint-scope": "5.1.1",
+        "events": "^3.2.0",
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.2.9",
+        "json-parse-even-better-errors": "^2.3.1",
+        "loader-runner": "^4.2.0",
+        "mime-types": "^2.1.27",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.2.0",
+        "tapable": "^2.1.1",
+        "terser-webpack-plugin": "^5.3.7",
+        "watchpack": "^2.4.0",
+        "webpack-sources": "^3.2.3"
+      },
+      "bin": {
+        "webpack": "bin/webpack.js"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependenciesMeta": {
+        "webpack-cli": {
+          "optional": true
+        }
       }
     },
-    "node_modules/webpack/node_modules/define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/yargs": {
+      "version": "16.2.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
       "dev": true,
       "dependencies": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
+        "cliui": "^7.0.2",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^20.2.2"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10"
       }
     },
-    "node_modules/webpack/node_modules/eslint-scope": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
-      "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
+    "packages/opentelemetry-id-generator-aws-xray/node_modules/yargs-unparser": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+      "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
       "dev": true,
       "dependencies": {
-        "esrecurse": "^4.1.0",
-        "estraverse": "^4.1.1"
+        "camelcase": "^6.0.0",
+        "decamelize": "^4.0.0",
+        "flat": "^5.0.2",
+        "is-plain-obj": "^2.1.0"
       },
       "engines": {
-        "node": ">=4.0.0"
+        "node": ">=10"
       }
     },
-    "node_modules/webpack/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
+    "packages/opentelemetry-propagation-utils": {
+      "name": "@opentelemetry/propagation-utils",
+      "version": "0.30.10",
+      "license": "Apache-2.0",
+      "devDependencies": {
+        "@opentelemetry/api": "^1.0.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@types/mocha": "^9.1.1",
+        "@types/node": "18.6.5",
+        "@types/sinon": "^10.0.11",
+        "expect": "29.2.0",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "sinon": "15.2.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/webpack/node_modules/is-descriptor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-      "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.1",
-        "is-data-descriptor": "^1.0.1"
+    "packages/opentelemetry-propagation-utils/node_modules/@types/mocha": {
+      "version": "9.1.1",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz",
+      "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==",
+      "dev": true
+    },
+    "packages/opentelemetry-redis-common": {
+      "name": "@opentelemetry/redis-common",
+      "version": "0.36.2",
+      "license": "Apache-2.0",
+      "devDependencies": {
+        "@types/mocha": "^9.1.1",
+        "@types/node": "18.6.5",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=14"
       }
     },
-    "node_modules/webpack/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
+    "packages/opentelemetry-redis-common/node_modules/@types/mocha": {
+      "version": "9.1.1",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz",
+      "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==",
+      "dev": true
+    },
+    "packages/opentelemetry-sql-common": {
+      "name": "@opentelemetry/sql-common",
+      "version": "0.40.1",
+      "license": "Apache-2.0",
       "dependencies": {
-        "is-plain-object": "^2.0.4"
+        "@opentelemetry/core": "^1.1.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.1.0",
+        "@types/mocha": "^7.0.2",
+        "@types/node": "18.6.5",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.1.0"
       }
     },
-    "node_modules/webpack/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
-      "dev": true,
+    "packages/opentelemetry-test-utils": {
+      "name": "@opentelemetry/contrib-test-utils",
+      "version": "0.40.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "kind-of": "^3.0.2"
+        "@opentelemetry/core": "^1.0.0",
+        "@opentelemetry/exporter-jaeger": "^1.3.1",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/resources": "^1.8.0",
+        "@opentelemetry/sdk-node": "^0.52.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@types/node": "18.6.5",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/webpack/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
-      "dev": true,
+    "packages/winston-transport": {
+      "name": "@opentelemetry/winston-transport",
+      "version": "0.4.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "is-buffer": "^1.1.5"
+        "@opentelemetry/api-logs": "^0.52.0",
+        "winston-transport": "4.*"
+      },
+      "devDependencies": {
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/sinon": "10.0.18",
+        "@types/triple-beam": "1.3.2",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=14"
       }
     },
-    "node_modules/webpack/node_modules/json5": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
-      "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
+    "packages/winston-transport/node_modules/@types/triple-beam": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz",
+      "integrity": "sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==",
+      "dev": true
     },
-    "node_modules/webpack/node_modules/loader-utils": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
-      "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
-      "dev": true,
+    "plugins/node/instrumentation-amqplib": {
+      "name": "@opentelemetry/instrumentation-amqplib",
+      "version": "0.38.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@types/amqplib": "^0.5.17",
+        "@types/lodash": "4.14.199",
+        "@types/mocha": "8.2.3",
+        "@types/node": "18.6.5",
+        "@types/sinon": "10.0.18",
+        "amqplib": "0.8.0",
+        "expect": "29.2.0",
+        "lodash": "4.17.21",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "sinon": "15.2.0",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=4.0.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/webpack/node_modules/memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-      "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==",
-      "dev": true,
-      "dependencies": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      }
+    "plugins/node/instrumentation-amqplib/node_modules/@types/mocha": {
+      "version": "8.2.3",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
+      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
+      "dev": true
     },
-    "node_modules/webpack/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
+    "plugins/node/instrumentation-cucumber": {
+      "name": "@opentelemetry/instrumentation-cucumber",
+      "version": "0.7.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
+      },
+      "devDependencies": {
+        "@cucumber/cucumber": "^9.0.0",
+        "@opentelemetry/api": "^1.0.0",
+        "@opentelemetry/core": "^1.3.1",
+        "@opentelemetry/sdk-trace-base": "^1.3.1",
+        "@opentelemetry/sdk-trace-node": "^1.3.1",
+        "@types/mocha": "7.0.2",
+        "@types/semver": "7.5.3",
+        "@types/shimmer": "1.0.3",
+        "@types/sinon": "10.0.18",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "semver": "7.5.4",
+        "sinon": "15.2.0",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
       }
     },
-    "node_modules/webpack/node_modules/micromatch/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+    "plugins/node/instrumentation-cucumber/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
       "dev": true,
       "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
+        "yallist": "^4.0.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10"
       }
     },
-    "node_modules/webpack/node_modules/mkdirp": {
-      "version": "0.5.6",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+    "plugins/node/instrumentation-cucumber/node_modules/semver": {
+      "version": "7.5.4",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
       "dev": true,
       "dependencies": {
-        "minimist": "^1.2.6"
+        "lru-cache": "^6.0.0"
       },
       "bin": {
-        "mkdirp": "bin/cmd.js"
-      }
-    },
-    "node_modules/webpack/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/webpack/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+    "plugins/node/instrumentation-cucumber/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
       "dev": true
     },
-    "node_modules/webpack/node_modules/schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-      "dev": true,
+    "plugins/node/instrumentation-dataloader": {
+      "name": "@opentelemetry/instrumentation-dataloader",
+      "version": "0.10.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "dataloader": "2.2.2",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/webpack/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/webpack/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
-      "dev": true,
+    "plugins/node/instrumentation-fs": {
+      "name": "@opentelemetry/instrumentation-fs",
+      "version": "0.13.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/instrumentation": "^0.52.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/resources": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/sinon": "^10.0.11",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/whatwg-url": {
-      "version": "11.0.0",
-      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
-      "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
-      "dev": true,
+    "plugins/node/instrumentation-kafkajs": {
+      "name": "@opentelemetry/instrumentation-kafkajs",
+      "version": "0.1.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "tr46": "^3.0.0",
-        "webidl-conversions": "^7.0.0"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.24.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.24.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/sinon": "^10.0.11",
+        "kafkajs": "^2.2.4",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/which": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-      "dev": true,
+    "plugins/node/instrumentation-lru-memoizer": {
+      "name": "@opentelemetry/instrumentation-lru-memoizer",
+      "version": "0.38.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "isexe": "^2.0.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
-      "bin": {
-        "node-which": "bin/node-which"
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@types/lru-cache": "7.10.9",
+        "@types/mocha": "8.2.3",
+        "@types/node": "18.6.5",
+        "expect": "29.2.0",
+        "lru-memoizer": "2.1.4",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/which-boxed-primitive": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
-      "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
-      "dev": true,
-      "dependencies": {
-        "is-bigint": "^1.0.1",
-        "is-boolean-object": "^1.1.0",
-        "is-number-object": "^1.0.4",
-        "is-string": "^1.0.5",
-        "is-symbol": "^1.0.3"
+        "node": ">=14"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/which-module": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz",
-      "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
+    "plugins/node/instrumentation-lru-memoizer/node_modules/@types/mocha": {
+      "version": "8.2.3",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
+      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
       "dev": true
     },
-    "node_modules/which-typed-array": {
-      "version": "1.1.15",
-      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
-      "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
-      "dev": true,
+    "plugins/node/instrumentation-mongoose": {
+      "name": "@opentelemetry/instrumentation-mongoose",
+      "version": "0.39.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "available-typed-arrays": "^1.0.7",
-        "call-bind": "^1.0.7",
-        "for-each": "^0.3.3",
-        "gopd": "^1.0.1",
-        "has-tostringtag": "^1.0.2"
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
       },
-      "engines": {
-        "node": ">= 0.4"
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@types/mocha": "8.2.3",
+        "@types/node": "18.6.5",
+        "expect": "29.2.0",
+        "mocha": "7.2.0",
+        "mongoose": "6.12.3",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/wide-align": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
-      "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^1.0.2 || 2"
-      }
-    },
-    "node_modules/wide-align/node_modules/ansi-regex": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
-      "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
-      "dev": true,
       "engines": {
-        "node": ">=4"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/wide-align/node_modules/is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
+    "plugins/node/instrumentation-mongoose/node_modules/@types/mocha": {
+      "version": "8.2.3",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
+      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
+      "dev": true
     },
-    "node_modules/wide-align/node_modules/string-width": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-      "dev": true,
+    "plugins/node/instrumentation-runtime-node": {
+      "name": "@opentelemetry/instrumentation-runtime-node",
+      "version": "0.5.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^4.0.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/wide-align/node_modules/strip-ansi": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-      "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^3.0.0"
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/sdk-metrics": "^1.20.0",
+        "@types/mocha": "^10.0.6",
+        "@types/node": "^20.11.2",
+        "mocha": "7.2.0",
+        "nyc": "^15.1.0",
+        "rimraf": "5.0.5",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">=14.10.0"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/wildcard": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
-      "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
+    "plugins/node/instrumentation-runtime-node/node_modules/@types/mocha": {
+      "version": "10.0.6",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+      "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
       "dev": true
     },
-    "node_modules/winston": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz",
-      "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==",
+    "plugins/node/instrumentation-runtime-node/node_modules/@types/node": {
+      "version": "20.11.20",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz",
+      "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==",
       "dev": true,
       "dependencies": {
-        "@dabh/diagnostics": "^2.0.2",
-        "async": "^3.1.0",
-        "is-stream": "^2.0.0",
-        "logform": "^2.2.0",
-        "one-time": "^1.0.0",
-        "readable-stream": "^3.4.0",
-        "stack-trace": "0.0.x",
-        "triple-beam": "^1.3.0",
-        "winston-transport": "^4.4.0"
-      },
-      "engines": {
-        "node": ">= 6.4.0"
+        "undici-types": "~5.26.4"
       }
     },
-    "node_modules/winston-transport": {
-      "version": "4.7.0",
-      "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz",
-      "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==",
+    "plugins/node/instrumentation-socket.io": {
+      "name": "@opentelemetry/instrumentation-socket.io",
+      "version": "0.40.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "logform": "^2.3.2",
-        "readable-stream": "^3.6.0",
-        "triple-beam": "^1.3.0"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
       },
-      "engines": {
-        "node": ">= 12.0.0"
-      }
-    },
-    "node_modules/winston2": {
-      "name": "winston",
-      "version": "2.4.7",
-      "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.7.tgz",
-      "integrity": "sha512-vLB4BqzCKDnnZH9PHGoS2ycawueX4HLqENXQitvFHczhgW2vFpSOn31LZtVr1KU8YTw7DS4tM+cqyovxo8taVg==",
-      "dev": true,
-      "dependencies": {
-        "async": "^2.6.4",
-        "colors": "1.0.x",
-        "cycle": "1.0.x",
-        "eyes": "0.1.x",
-        "isstream": "0.1.x",
-        "stack-trace": "0.0.x"
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@types/mocha": "8.2.3",
+        "@types/node": "18.6.5",
+        "expect": "27.4.2",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "socket.io": "^4.1.3",
+        "socket.io-client": "^4.1.3",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">= 0.10.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/winston2/node_modules/async": {
-      "version": "2.6.4",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
-      "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
+    "plugins/node/instrumentation-socket.io/node_modules/@jest/types": {
+      "version": "27.5.1",
+      "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
+      "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
       "dev": true,
       "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
-    "node_modules/winston2/node_modules/colors": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
-      "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==",
-      "dev": true,
+        "@types/istanbul-lib-coverage": "^2.0.0",
+        "@types/istanbul-reports": "^3.0.0",
+        "@types/node": "*",
+        "@types/yargs": "^16.0.0",
+        "chalk": "^4.0.0"
+      },
       "engines": {
-        "node": ">=0.1.90"
+        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
       }
     },
-    "node_modules/wordwrap": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
-      "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
+    "plugins/node/instrumentation-socket.io/node_modules/@types/mocha": {
+      "version": "8.2.3",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
+      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
       "dev": true
     },
-    "node_modules/wordwrapjs": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz",
-      "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==",
+    "plugins/node/instrumentation-socket.io/node_modules/@types/yargs": {
+      "version": "16.0.9",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz",
+      "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==",
       "dev": true,
-      "engines": {
-        "node": ">=12.17"
+      "dependencies": {
+        "@types/yargs-parser": "*"
       }
     },
-    "node_modules/worker-farm": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
-      "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
+    "plugins/node/instrumentation-socket.io/node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
       "dev": true,
-      "dependencies": {
-        "errno": "~0.1.7"
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/wrap-ansi": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
-      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+    "plugins/node/instrumentation-socket.io/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
       "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
-      },
       "engines": {
-        "node": ">=8"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/wrap-ansi-cjs": {
-      "name": "wrap-ansi",
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
-      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+    "plugins/node/instrumentation-socket.io/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
       "dev": true,
       "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
       },
       "engines": {
         "node": ">=10"
       },
       "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+    "plugins/node/instrumentation-socket.io/node_modules/chalk/node_modules/ansi-styles": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
       "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
@@ -36109,7 +38044,7 @@
         "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
+    "plugins/node/instrumentation-socket.io/node_modules/color-convert": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
       "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
@@ -36121,660 +38056,1099 @@
         "node": ">=7.0.0"
       }
     },
-    "node_modules/wrap-ansi-cjs/node_modules/color-name": {
+    "plugins/node/instrumentation-socket.io/node_modules/color-name": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
       "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
       "dev": true
     },
-    "node_modules/wrap-ansi/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+    "plugins/node/instrumentation-socket.io/node_modules/diff-sequences": {
+      "version": "27.5.1",
+      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+      "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
+      "dev": true,
+      "engines": {
+        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+      }
+    },
+    "plugins/node/instrumentation-socket.io/node_modules/expect": {
+      "version": "27.4.2",
+      "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.2.tgz",
+      "integrity": "sha512-BjAXIDC6ZOW+WBFNg96J22D27Nq5ohn+oGcuP2rtOtcjuxNoV9McpQ60PcQWhdFOSBIQdR72e+4HdnbZTFSTyg==",
       "dev": true,
       "dependencies": {
-        "color-convert": "^2.0.1"
+        "@jest/types": "^27.4.2",
+        "ansi-styles": "^5.0.0",
+        "jest-get-type": "^27.4.0",
+        "jest-matcher-utils": "^27.4.2",
+        "jest-message-util": "^27.4.2",
+        "jest-regex-util": "^27.4.0"
       },
       "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
       }
     },
-    "node_modules/wrap-ansi/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+    "plugins/node/instrumentation-socket.io/node_modules/jest-diff": {
+      "version": "27.5.1",
+      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+      "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
       "dev": true,
       "dependencies": {
-        "color-name": "~1.1.4"
+        "chalk": "^4.0.0",
+        "diff-sequences": "^27.5.1",
+        "jest-get-type": "^27.5.1",
+        "pretty-format": "^27.5.1"
       },
       "engines": {
-        "node": ">=7.0.0"
+        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
       }
     },
-    "node_modules/wrap-ansi/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
-      "dev": true
+    "plugins/node/instrumentation-socket.io/node_modules/jest-get-type": {
+      "version": "27.5.1",
+      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
+      "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
+      "dev": true,
+      "engines": {
+        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+      }
     },
-    "node_modules/write-file-atomic": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
-      "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+    "plugins/node/instrumentation-socket.io/node_modules/jest-matcher-utils": {
+      "version": "27.5.1",
+      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
+      "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
       "dev": true,
       "dependencies": {
-        "imurmurhash": "^0.1.4",
-        "signal-exit": "^3.0.7"
+        "chalk": "^4.0.0",
+        "jest-diff": "^27.5.1",
+        "jest-get-type": "^27.5.1",
+        "pretty-format": "^27.5.1"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16"
+        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
       }
     },
-    "node_modules/write-json-file": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz",
-      "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==",
+    "plugins/node/instrumentation-socket.io/node_modules/jest-message-util": {
+      "version": "27.5.1",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
+      "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
       "dev": true,
       "dependencies": {
-        "detect-indent": "^5.0.0",
-        "graceful-fs": "^4.1.15",
-        "make-dir": "^2.1.0",
-        "pify": "^4.0.1",
-        "sort-keys": "^2.0.0",
-        "write-file-atomic": "^2.4.2"
+        "@babel/code-frame": "^7.12.13",
+        "@jest/types": "^27.5.1",
+        "@types/stack-utils": "^2.0.0",
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "micromatch": "^4.0.4",
+        "pretty-format": "^27.5.1",
+        "slash": "^3.0.0",
+        "stack-utils": "^2.0.3"
       },
       "engines": {
-        "node": ">=6"
+        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
       }
     },
-    "node_modules/write-json-file/node_modules/make-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+    "plugins/node/instrumentation-socket.io/node_modules/pretty-format": {
+      "version": "27.5.1",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
+      "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
       "dev": true,
       "dependencies": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
+        "ansi-regex": "^5.0.1",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^17.0.1"
       },
       "engines": {
-        "node": ">=6"
+        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
       }
     },
-    "node_modules/write-json-file/node_modules/pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+    "plugins/node/instrumentation-socket.io/node_modules/react-is": {
+      "version": "17.0.2",
+      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
+      "dev": true
+    },
+    "plugins/node/instrumentation-socket.io/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
       "engines": {
-        "node": ">=6"
+        "node": ">=8"
       }
     },
-    "node_modules/write-json-file/node_modules/semver": {
-      "version": "5.7.2",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
-      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+    "plugins/node/instrumentation-tedious": {
+      "name": "@opentelemetry/instrumentation-tedious",
+      "version": "0.11.0",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@types/tedious": "^4.0.10"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "semver": "7.6.0",
+        "tedious": "17.0.0",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
+      }
+    },
+    "plugins/node/instrumentation-tedious/node_modules/bl": {
+      "version": "6.0.12",
+      "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.12.tgz",
+      "integrity": "sha512-EnEYHilP93oaOa2MnmNEjAcovPS3JlQZOyzGXi3EyEpPhm9qWvdDp7BmAVEVusGzp8LlwQK56Av+OkDoRjzE0w==",
       "dev": true,
-      "bin": {
-        "semver": "bin/semver"
+      "dependencies": {
+        "@types/readable-stream": "^4.0.0",
+        "buffer": "^6.0.3",
+        "inherits": "^2.0.4",
+        "readable-stream": "^4.2.0"
       }
     },
-    "node_modules/write-json-file/node_modules/write-file-atomic": {
-      "version": "2.4.3",
-      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
-      "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
+    "plugins/node/instrumentation-tedious/node_modules/buffer": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+      "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
       "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
       "dependencies": {
-        "graceful-fs": "^4.1.11",
-        "imurmurhash": "^0.1.4",
-        "signal-exit": "^3.0.2"
+        "base64-js": "^1.3.1",
+        "ieee754": "^1.2.1"
       }
     },
-    "node_modules/write-pkg": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz",
-      "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==",
+    "plugins/node/instrumentation-tedious/node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.x"
+      }
+    },
+    "plugins/node/instrumentation-tedious/node_modules/iconv-lite": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
       "dev": true,
       "dependencies": {
-        "sort-keys": "^2.0.0",
-        "type-fest": "^0.4.1",
-        "write-json-file": "^3.2.0"
+        "safer-buffer": ">= 2.1.2 < 3.0.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/write-pkg/node_modules/type-fest": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz",
-      "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==",
+    "plugins/node/instrumentation-tedious/node_modules/ieee754": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "plugins/node/instrumentation-tedious/node_modules/readable-stream": {
+      "version": "4.5.2",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
+      "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
       "dev": true,
+      "dependencies": {
+        "abort-controller": "^3.0.0",
+        "buffer": "^6.0.3",
+        "events": "^3.3.0",
+        "process": "^0.11.10",
+        "string_decoder": "^1.3.0"
+      },
       "engines": {
-        "node": ">=6"
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
       }
     },
-    "node_modules/ws": {
-      "version": "8.11.0",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
-      "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
+    "plugins/node/instrumentation-tedious/node_modules/tedious": {
+      "version": "17.0.0",
+      "resolved": "https://registry.npmjs.org/tedious/-/tedious-17.0.0.tgz",
+      "integrity": "sha512-tXsl/kvDAFpnXU+ooEOQyrXdJFD0/OWvPq9i1bDhbOvoFGcrZURiXyUxbI8gJPsG6o2K5fs3HX6zRTSxuCUC5g==",
       "dev": true,
+      "dependencies": {
+        "@azure/identity": "^3.4.1",
+        "@azure/keyvault-keys": "^4.4.0",
+        "@js-joda/core": "^5.5.3",
+        "bl": "^6.0.3",
+        "es-aggregate-error": "^1.0.9",
+        "iconv-lite": "^0.6.3",
+        "js-md4": "^0.3.2",
+        "jsbi": "^4.3.0",
+        "native-duplexpair": "^1.0.0",
+        "node-abort-controller": "^3.1.1",
+        "sprintf-js": "^1.1.2"
+      },
       "engines": {
-        "node": ">=10.0.0"
+        "node": ">=18"
+      }
+    },
+    "plugins/node/instrumentation-undici": {
+      "name": "@opentelemetry/instrumentation-undici",
+      "version": "0.3.0",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
-      "peerDependencies": {
-        "bufferutil": "^4.0.1",
-        "utf-8-validate": "^5.0.2"
+      "devDependencies": {
+        "@opentelemetry/api": "^1.7.0",
+        "@opentelemetry/sdk-metrics": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "semver": "^7.6.0",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4",
+        "undici": "6.11.1"
       },
-      "peerDependenciesMeta": {
-        "bufferutil": {
-          "optional": true
-        },
-        "utf-8-validate": {
-          "optional": true
-        }
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.7.0"
       }
     },
-    "node_modules/xml2js": {
-      "version": "0.4.19",
-      "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
-      "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
-      "dev": true,
+    "plugins/node/opentelemetry-instrumentation-aws-lambda": {
+      "name": "@opentelemetry/instrumentation-aws-lambda",
+      "version": "0.42.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "sax": ">=0.6.0",
-        "xmlbuilder": "~9.0.1"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/propagator-aws-xray": "^1.3.1",
+        "@opentelemetry/resources": "^1.8.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@types/aws-lambda": "8.10.122"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/sdk-metrics": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/xml2js/node_modules/xmlbuilder": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
-      "integrity": "sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==",
-      "dev": true,
+    "plugins/node/opentelemetry-instrumentation-aws-sdk": {
+      "name": "@opentelemetry/instrumentation-aws-sdk",
+      "version": "0.42.0",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/propagation-utils": "^0.30.10",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
+      },
+      "devDependencies": {
+        "@aws-sdk/client-dynamodb": "3.85.0",
+        "@aws-sdk/client-lambda": "3.85.0",
+        "@aws-sdk/client-s3": "3.85.0",
+        "@aws-sdk/client-sns": "3.85.0",
+        "@aws-sdk/client-sqs": "3.85.0",
+        "@aws-sdk/types": "3.78.0",
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@types/mocha": "8.2.3",
+        "@types/node": "18.6.5",
+        "@types/sinon": "10.0.18",
+        "aws-sdk": "2.1008.0",
+        "eslint": "8.7.0",
+        "expect": "29.2.0",
+        "mocha": "7.2.0",
+        "nock": "13.3.3",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
+      },
       "engines": {
-        "node": ">=4.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/xmlbuilder": {
-      "version": "15.1.1",
-      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
-      "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8.0"
-      }
+    "plugins/node/opentelemetry-instrumentation-aws-sdk/node_modules/@types/mocha": {
+      "version": "8.2.3",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
+      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
+      "dev": true
     },
-    "node_modules/xmlhttprequest-ssl": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
-      "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
-      "dev": true,
+    "plugins/node/opentelemetry-instrumentation-bunyan": {
+      "name": "@opentelemetry/instrumentation-bunyan",
+      "version": "0.39.0",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@opentelemetry/api-logs": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@types/bunyan": "1.8.9"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/resources": "^1.8.0",
+        "@opentelemetry/sdk-logs": "^0.52.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@opentelemetry/semantic-conventions": "^1.23.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/sinon": "10.0.18",
+        "bunyan": "1.8.15",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
+      },
       "engines": {
-        "node": ">=0.4.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/xorshift": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/xorshift/-/xorshift-1.2.0.tgz",
-      "integrity": "sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g=="
+    "plugins/node/opentelemetry-instrumentation-bunyan/node_modules/@types/bunyan": {
+      "version": "1.8.9",
+      "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.9.tgz",
+      "integrity": "sha512-ZqS9JGpBxVOvsawzmVt30sP++gSQMTejCkIAQ3VdadOcRE8izTyW66hufvwLeH+YEGP6Js2AW7Gz+RMyvrEbmw==",
+      "dependencies": {
+        "@types/node": "*"
+      }
     },
-    "node_modules/xtend": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+    "plugins/node/opentelemetry-instrumentation-cassandra": {
+      "name": "@opentelemetry/instrumentation-cassandra-driver",
+      "version": "0.39.0",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/semver": "7.5.3",
+        "@types/sinon": "10.0.18",
+        "cassandra-driver": "4.6.4",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
+      },
       "engines": {
-        "node": ">=0.4"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/y18n": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
-      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+    "plugins/node/opentelemetry-instrumentation-connect": {
+      "name": "@opentelemetry/instrumentation-connect",
+      "version": "0.37.0",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@types/connect": "3.4.36"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "connect": "3.7.0",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
+      },
       "engines": {
-        "node": ">=10"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/yallist": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-      "dev": true
-    },
-    "node_modules/yaml": {
-      "version": "2.3.4",
-      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz",
-      "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 14"
+    "plugins/node/opentelemetry-instrumentation-connect/node_modules/@types/connect": {
+      "version": "3.4.36",
+      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz",
+      "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==",
+      "dependencies": {
+        "@types/node": "*"
       }
     },
-    "node_modules/yargs": {
-      "version": "17.7.2",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
-      "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+    "plugins/node/opentelemetry-instrumentation-dns": {
+      "name": "@opentelemetry/instrumentation-dns",
+      "version": "0.37.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "cliui": "^8.0.1",
-        "escalade": "^3.1.1",
-        "get-caller-file": "^2.0.5",
-        "require-directory": "^2.1.1",
-        "string-width": "^4.2.3",
-        "y18n": "^5.0.5",
-        "yargs-parser": "^21.1.1"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "semver": "^7.5.4"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/semver": "7.5.3",
+        "@types/shimmer": "1.0.3",
+        "@types/sinon": "10.0.18",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/yargs-parser": {
-      "version": "20.2.4",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
-      "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
-      "dev": true,
+    "plugins/node/opentelemetry-instrumentation-express": {
+      "name": "@opentelemetry/instrumentation-express",
+      "version": "0.40.1",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/express": "4.17.18",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/sinon": "10.0.18",
+        "express": "4.19.2",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
+      },
       "engines": {
-        "node": ">=10"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/yargs-unparser": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz",
-      "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==",
-      "dev": true,
+    "plugins/node/opentelemetry-instrumentation-fastify": {
+      "name": "@opentelemetry/instrumentation-fastify",
+      "version": "0.37.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "flat": "^4.1.0",
-        "lodash": "^4.17.15",
-        "yargs": "^13.3.0"
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
+      },
+      "devDependencies": {
+        "@fastify/express": "^3.0.0",
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/instrumentation-http": "^0.52.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/express": "4.17.18",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.15.3",
+        "@types/semver": "7.5.5",
+        "fastify": "4.18.0",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "semver": "^7.5.4",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/yargs-unparser/node_modules/cliui": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
-      "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^3.1.0",
-        "strip-ansi": "^5.2.0",
-        "wrap-ansi": "^5.1.0"
-      }
+    "plugins/node/opentelemetry-instrumentation-fastify/node_modules/@types/node": {
+      "version": "18.15.3",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz",
+      "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==",
+      "dev": true
     },
-    "node_modules/yargs-unparser/node_modules/emoji-regex": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+    "plugins/node/opentelemetry-instrumentation-fastify/node_modules/@types/semver": {
+      "version": "7.5.5",
+      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.5.tgz",
+      "integrity": "sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==",
       "dev": true
     },
-    "node_modules/yargs-unparser/node_modules/find-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-      "dev": true,
+    "plugins/node/opentelemetry-instrumentation-generic-pool": {
+      "name": "@opentelemetry/instrumentation-generic-pool",
+      "version": "0.37.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "locate-path": "^3.0.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/generic-pool": "^3.1.9",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/semver": "7.5.3",
+        "generic-pool": "3.8.2",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "semver": "7.5.4",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/yargs-unparser/node_modules/flat": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz",
-      "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==",
+    "plugins/node/opentelemetry-instrumentation-generic-pool/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
       "dev": true,
       "dependencies": {
-        "is-buffer": "~2.0.3"
+        "yallist": "^4.0.0"
       },
-      "bin": {
-        "flat": "cli.js"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/is-buffer": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
-      "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
-      "dev": true,
       "engines": {
-        "node": ">=4"
+        "node": ">=10"
       }
     },
-    "node_modules/yargs-unparser/node_modules/locate-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+    "plugins/node/opentelemetry-instrumentation-generic-pool/node_modules/semver": {
+      "version": "7.5.4",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
       "dev": true,
       "dependencies": {
-        "p-locate": "^3.0.0",
-        "path-exists": "^3.0.0"
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=10"
       }
     },
-    "node_modules/yargs-unparser/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
+    "plugins/node/opentelemetry-instrumentation-generic-pool/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
+    "plugins/node/opentelemetry-instrumentation-graphql": {
+      "name": "@opentelemetry/instrumentation-graphql",
+      "version": "0.41.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "p-try": "^2.0.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@types/mocha": "8.2.3",
+        "@types/node": "18.6.5",
+        "graphql": "^16.5.0",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=14"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/yargs-unparser/node_modules/p-locate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-      "dev": true,
+    "plugins/node/opentelemetry-instrumentation-graphql/node_modules/@types/mocha": {
+      "version": "8.2.3",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
+      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
+      "dev": true
+    },
+    "plugins/node/opentelemetry-instrumentation-hapi": {
+      "name": "@opentelemetry/instrumentation-hapi",
+      "version": "0.39.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "p-limit": "^2.0.0"
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
+      },
+      "devDependencies": {
+        "@hapi/hapi": "21.3.3",
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "joi": "17.12.2",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/yargs-unparser/node_modules/string-width": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-      "dev": true,
+    "plugins/node/opentelemetry-instrumentation-ioredis": {
+      "name": "@opentelemetry/instrumentation-ioredis",
+      "version": "0.41.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "emoji-regex": "^7.0.1",
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^5.1.0"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/redis-common": "^0.36.2",
+        "@opentelemetry/semantic-conventions": "^1.23.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/ioredis4": "npm:@types/ioredis@4.28.10",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/sinon": "10.0.18",
+        "cross-env": "7.0.3",
+        "ioredis": "5.2.2",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/yargs-unparser/node_modules/strip-ansi": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-      "dev": true,
+    "plugins/node/opentelemetry-instrumentation-knex": {
+      "name": "@opentelemetry/instrumentation-knex",
+      "version": "0.37.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "ansi-regex": "^4.1.0"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "knex": "0.95.9",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sqlite3": "5.1.6",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/yargs-unparser/node_modules/wrap-ansi": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
-      "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
-      "dev": true,
+    "plugins/node/opentelemetry-instrumentation-koa": {
+      "name": "@opentelemetry/instrumentation-koa",
+      "version": "0.41.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "ansi-styles": "^3.2.0",
-        "string-width": "^3.0.0",
-        "strip-ansi": "^5.0.0"
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@types/koa": "2.14.0",
+        "@types/koa__router": "12.0.3"
+      },
+      "devDependencies": {
+        "@koa/router": "12.0.0",
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/instrumentation-http": "^0.52.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/sinon": "10.0.18",
+        "koa": "2.13.1",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/y18n": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
-      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
-      "dev": true
-    },
-    "node_modules/yargs-unparser/node_modules/yargs": {
-      "version": "13.3.2",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
-      "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
-      "dev": true,
-      "dependencies": {
-        "cliui": "^5.0.0",
-        "find-up": "^3.0.0",
-        "get-caller-file": "^2.0.1",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^2.0.0",
-        "set-blocking": "^2.0.0",
-        "string-width": "^3.0.0",
-        "which-module": "^2.0.0",
-        "y18n": "^4.0.0",
-        "yargs-parser": "^13.1.2"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/yargs-parser": {
-      "version": "13.1.2",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
-      "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^5.0.0",
-        "decamelize": "^1.2.0"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/yargs/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+    "plugins/node/opentelemetry-instrumentation-memcached": {
+      "name": "@opentelemetry/instrumentation-memcached",
+      "version": "0.37.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "color-convert": "^2.0.1"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.23.0",
+        "@types/memcached": "^2.2.6"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "cross-env": "7.0.3",
+        "memcached": "2.2.2",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=14"
       },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/yargs/node_modules/cliui": {
-      "version": "8.0.1",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
-      "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+    "plugins/node/opentelemetry-instrumentation-mongodb": {
+      "name": "@opentelemetry/instrumentation-mongodb",
+      "version": "0.45.0",
+      "license": "Apache-2.0",
       "dependencies": {
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.1",
-        "wrap-ansi": "^7.0.0"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/sdk-metrics": "^1.9.1",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/bson": "4.0.5",
+        "@types/mocha": "7.0.2",
+        "@types/mongodb": "3.6.20",
+        "@types/node": "18.6.5",
+        "mocha": "7.2.0",
+        "mongodb": "6.5.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "test-all-versions": "6.1.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "node_modules/yargs/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/@types/whatwg-url": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.4.tgz",
+      "integrity": "sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw==",
+      "dev": true,
       "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
+        "@types/webidl-conversions": "*"
       }
     },
-    "node_modules/yargs/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
-    },
-    "node_modules/yargs/node_modules/wrap-ansi": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
-      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/agent-base": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
       "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
+        "debug": "4"
       },
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+        "node": ">= 6.0.0"
       }
     },
-    "node_modules/yargs/node_modules/yargs-parser": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
-      "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/bson": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/bson/-/bson-6.4.0.tgz",
+      "integrity": "sha512-6/gSSEdbkuFlSb+ufj5jUSU4+wo8xQOwm2bDSqwmxiPE17JTpsP63eAwoN8iF8Oy4gJYj+PAL3zdRCTdaw5Y1g==",
+      "dev": true,
       "engines": {
-        "node": ">=12"
+        "node": ">=16.20.1"
       }
     },
-    "node_modules/yauzl": {
-      "version": "2.10.0",
-      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
-      "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/gaxios": {
+      "version": "5.1.3",
+      "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.1.3.tgz",
+      "integrity": "sha512-95hVgBRgEIRQQQHIbnxBXeHbW4TqFk4ZDJW7wmVtvYar72FdhRIo1UGOLS2eRAKCPEdPBWu+M7+A33D9CdX9rA==",
       "dev": true,
+      "optional": true,
+      "peer": true,
       "dependencies": {
-        "buffer-crc32": "~0.2.3",
-        "fd-slicer": "~1.1.0"
+        "extend": "^3.0.2",
+        "https-proxy-agent": "^5.0.0",
+        "is-stream": "^2.0.0",
+        "node-fetch": "^2.6.9"
+      },
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/ylru": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz",
-      "integrity": "sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA==",
+    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/gcp-metadata": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.3.0.tgz",
+      "integrity": "sha512-FNTkdNEnBdlqF2oatizolQqNANMrcqJt6AAYt99B3y1aLLC8Hc5IOBb+ZnnzllodEEf6xMBp6wRcBbc16fa65w==",
       "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "gaxios": "^5.0.0",
+        "json-bigint": "^1.0.0"
+      },
       "engines": {
-        "node": ">= 4.0.0"
+        "node": ">=12"
       }
     },
-    "node_modules/yn": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz",
-      "integrity": "sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==",
+    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/https-proxy-agent": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
       "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "agent-base": "6",
+        "debug": "4"
+      },
       "engines": {
-        "node": ">=4"
+        "node": ">= 6"
       }
     },
-    "node_modules/yocto-queue": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
-      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/mongodb": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.5.0.tgz",
+      "integrity": "sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA==",
       "dev": true,
+      "dependencies": {
+        "@mongodb-js/saslprep": "^1.1.5",
+        "bson": "^6.4.0",
+        "mongodb-connection-string-url": "^3.0.0"
+      },
       "engines": {
-        "node": ">=10"
+        "node": ">=16.20.1"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "@aws-sdk/credential-providers": "^3.188.0",
+        "@mongodb-js/zstd": "^1.1.0",
+        "gcp-metadata": "^5.2.0",
+        "kerberos": "^2.0.1",
+        "mongodb-client-encryption": ">=6.0.0 <7",
+        "snappy": "^7.2.2",
+        "socks": "^2.7.1"
+      },
+      "peerDependenciesMeta": {
+        "@aws-sdk/credential-providers": {
+          "optional": true
+        },
+        "@mongodb-js/zstd": {
+          "optional": true
+        },
+        "gcp-metadata": {
+          "optional": true
+        },
+        "kerberos": {
+          "optional": true
+        },
+        "mongodb-client-encryption": {
+          "optional": true
+        },
+        "snappy": {
+          "optional": true
+        },
+        "socks": {
+          "optional": true
+        }
       }
     },
-    "node_modules/yup": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/yup/-/yup-1.2.0.tgz",
-      "integrity": "sha512-PPqYKSAXjpRCgLgLKVGPA33v5c/WgEx3wi6NFjIiegz90zSwyMpvTFp/uGcVnnbx6to28pgnzp/q8ih3QRjLMQ==",
+    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/mongodb-connection-string-url": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz",
+      "integrity": "sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==",
       "dev": true,
       "dependencies": {
-        "property-expr": "^2.0.5",
-        "tiny-case": "^1.0.3",
-        "toposort": "^2.0.2",
-        "type-fest": "^2.19.0"
+        "@types/whatwg-url": "^11.0.2",
+        "whatwg-url": "^13.0.0"
       }
     },
-    "node_modules/yup/node_modules/type-fest": {
-      "version": "2.19.0",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
-      "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
+    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/tr46": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz",
+      "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==",
       "dev": true,
-      "engines": {
-        "node": ">=12.20"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/zone.js": {
-      "version": "0.11.4",
-      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz",
-      "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==",
       "dependencies": {
-        "tslib": "^2.0.0"
+        "punycode": "^2.3.0"
+      },
+      "engines": {
+        "node": ">=14"
       }
     },
-    "packages/baggage-span-processor": {
-      "name": "@opentelemetry/baggage-span-processor",
-      "version": "0.3.1",
-      "license": "Apache-2.0",
+    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/whatwg-url": {
+      "version": "13.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz",
+      "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/sdk-trace-base": "^1.0.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.0.0",
-        "@types/mocha": "8.2.3",
-        "@types/node": "18.6.5",
-        "expect": "29.2.0",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "tr46": "^4.1.1",
+        "webidl-conversions": "^7.0.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
+        "node": ">=16"
       }
     },
-    "packages/baggage-span-processor/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
-      "dev": true
-    },
-    "packages/opentelemetry-host-metrics": {
-      "name": "@opentelemetry/host-metrics",
-      "version": "0.35.2",
+    "plugins/node/opentelemetry-instrumentation-mysql": {
+      "name": "@opentelemetry/instrumentation-mysql",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/sdk-metrics": "^1.8.0",
-        "systeminformation": "5.22.9"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@types/mysql": "2.15.22"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@types/mocha": "8.2.3",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-metrics": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
         "mocha": "7.2.0",
+        "mysql": "2.18.1",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
         "sinon": "15.2.0",
@@ -36788,119 +39162,102 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "packages/opentelemetry-host-metrics/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
-      "dev": true
-    },
-    "packages/opentelemetry-id-generator-aws-xray": {
-      "name": "@opentelemetry/id-generator-aws-xray",
-      "version": "1.2.2",
+    "plugins/node/opentelemetry-instrumentation-mysql2": {
+      "name": "@opentelemetry/instrumentation-mysql2",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/core": "^1.0.0"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/sql-common": "^0.40.1"
       },
       "devDependencies": {
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
-        "@opentelemetry/api": "^1.0.0",
-        "@types/mocha": "8.2.3",
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "@types/webpack-env": "1.16.2",
-        "karma": "6.3.16",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
-        "karma-mocha": "2.0.1",
-        "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
+        "@types/semver": "7.5.3",
         "mocha": "7.2.0",
+        "mysql2": "2.3.3",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-loader": "8.3.0",
+        "semver": "7.5.4",
+        "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
-        "typescript": "4.4.4",
-        "webpack": "4.46.0"
+        "typescript": "4.4.4"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "packages/opentelemetry-id-generator-aws-xray/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
-      "dev": true
-    },
-    "packages/opentelemetry-propagation-utils": {
-      "name": "@opentelemetry/propagation-utils",
-      "version": "0.30.10",
-      "license": "Apache-2.0",
-      "devDependencies": {
-        "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@types/mocha": "^9.1.1",
-        "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.11",
-        "expect": "29.2.0",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "sinon": "15.2.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+    "plugins/node/opentelemetry-instrumentation-mysql2/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
-      }
-    },
-    "packages/opentelemetry-propagation-utils/node_modules/@types/mocha": {
-      "version": "9.1.1",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz",
-      "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==",
-      "dev": true
-    },
-    "packages/opentelemetry-redis-common": {
-      "name": "@opentelemetry/redis-common",
-      "version": "0.36.2",
-      "license": "Apache-2.0",
-      "devDependencies": {
-        "@types/mocha": "^9.1.1",
-        "@types/node": "18.6.5",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "node": ">=10"
+      }
+    },
+    "plugins/node/opentelemetry-instrumentation-mysql2/node_modules/semver": {
+      "version": "7.5.4",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=10"
       }
     },
-    "packages/opentelemetry-redis-common/node_modules/@types/mocha": {
-      "version": "9.1.1",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz",
-      "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==",
+    "plugins/node/opentelemetry-instrumentation-mysql2/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
       "dev": true
     },
-    "packages/opentelemetry-sql-common": {
-      "name": "@opentelemetry/sql-common",
-      "version": "0.40.1",
+    "plugins/node/opentelemetry-instrumentation-nestjs-core": {
+      "name": "@opentelemetry/instrumentation-nestjs-core",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/core": "^1.1.0"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.23.0"
       },
       "devDependencies": {
-        "@opentelemetry/api": "^1.1.0",
-        "@types/mocha": "^7.0.2",
+        "@nestjs/common": "9.4.3",
+        "@nestjs/core": "9.4.3",
+        "@nestjs/microservices": "9.4.3",
+        "@nestjs/platform-express": "9.4.3",
+        "@nestjs/websockets": "9.4.3",
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
+        "@types/semver": "7.5.3",
+        "cross-env": "7.0.3",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
+        "reflect-metadata": "0.1.13",
+        "rimraf": "5.0.5",
+        "rxjs": "7.8.1",
+        "rxjs-compat": "6.6.7",
+        "semver": "7.5.4",
+        "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -36908,48 +39265,58 @@
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": "^1.1.0"
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "packages/opentelemetry-test-utils": {
-      "name": "@opentelemetry/contrib-test-utils",
-      "version": "0.40.0",
-      "license": "Apache-2.0",
+    "plugins/node/opentelemetry-instrumentation-nestjs-core/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "^1.0.0",
-        "@opentelemetry/exporter-jaeger": "^1.3.1",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/sdk-node": "^0.52.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@types/node": "18.6.5",
-        "typescript": "4.4.4"
+        "yallist": "^4.0.0"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=10"
+      }
+    },
+    "plugins/node/opentelemetry-instrumentation-nestjs-core/node_modules/semver": {
+      "version": "7.5.4",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "packages/winston-transport": {
-      "name": "@opentelemetry/winston-transport",
-      "version": "0.4.0",
+    "plugins/node/opentelemetry-instrumentation-nestjs-core/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
+    "plugins/node/opentelemetry-instrumentation-net": {
+      "name": "@opentelemetry/instrumentation-net",
+      "version": "0.37.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/api-logs": "^0.52.0",
-        "winston-transport": "4.*"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.23.0"
       },
       "devDependencies": {
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
-        "@types/triple-beam": "1.3.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
@@ -36959,36 +39326,38 @@
       },
       "engines": {
         "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "packages/winston-transport/node_modules/@types/triple-beam": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz",
-      "integrity": "sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==",
-      "dev": true
-    },
-    "plugins/node/instrumentation-amqplib": {
-      "name": "@opentelemetry/instrumentation-amqplib",
-      "version": "0.38.0",
+    "plugins/node/opentelemetry-instrumentation-pg": {
+      "name": "@opentelemetry/instrumentation-pg",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/sql-common": "^0.40.1",
+        "@types/pg": "8.6.1",
+        "@types/pg-pool": "2.0.4"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@types/amqplib": "^0.5.17",
-        "@types/lodash": "4.14.199",
-        "@types/mocha": "8.2.3",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
-        "amqplib": "0.8.0",
-        "expect": "29.2.0",
-        "lodash": "4.17.21",
+        "cross-env": "7.0.3",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
+        "pg": "8.7.1",
+        "pg-pool": "3.4.1",
+        "rimraf": "5.0.5",
+        "safe-stable-stringify": "^2.4.1",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -37001,32 +39370,25 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/instrumentation-amqplib/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
-      "dev": true
-    },
-    "plugins/node/instrumentation-cucumber": {
-      "name": "@opentelemetry/instrumentation-cucumber",
-      "version": "0.7.0",
+    "plugins/node/opentelemetry-instrumentation-pino": {
+      "name": "@opentelemetry/instrumentation-pino",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
-        "@cucumber/cucumber": "^9.0.0",
-        "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/core": "^1.3.1",
-        "@opentelemetry/sdk-trace-base": "^1.3.1",
-        "@opentelemetry/sdk-trace-node": "^1.3.1",
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
         "@types/semver": "7.5.3",
-        "@types/shimmer": "1.0.3",
         "@types/sinon": "10.0.18",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
+        "pino": "8.3.1",
         "rimraf": "5.0.5",
         "semver": "7.5.4",
         "sinon": "15.2.0",
@@ -37038,10 +39400,10 @@
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0"
+        "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/instrumentation-cucumber/node_modules/lru-cache": {
+    "plugins/node/opentelemetry-instrumentation-pino/node_modules/lru-cache": {
       "version": "6.0.0",
       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
       "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
@@ -37053,7 +39415,7 @@
         "node": ">=10"
       }
     },
-    "plugins/node/instrumentation-cucumber/node_modules/semver": {
+    "plugins/node/opentelemetry-instrumentation-pino/node_modules/semver": {
       "version": "7.5.4",
       "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
       "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
@@ -37068,29 +39430,34 @@
         "node": ">=10"
       }
     },
-    "plugins/node/instrumentation-cucumber/node_modules/yallist": {
+    "plugins/node/opentelemetry-instrumentation-pino/node_modules/yallist": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
       "dev": true
     },
-    "plugins/node/instrumentation-dataloader": {
-      "name": "@opentelemetry/instrumentation-dataloader",
-      "version": "0.10.0",
+    "plugins/node/opentelemetry-instrumentation-redis": {
+      "name": "@opentelemetry/instrumentation-redis",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/redis-common": "^0.36.2",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "dataloader": "2.2.2",
+        "@types/redis": "2.8.32",
+        "cross-env": "7.0.3",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
+        "redis": "3.1.2",
         "rimraf": "5.0.5",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -37103,27 +39470,30 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/instrumentation-fs": {
-      "name": "@opentelemetry/instrumentation-fs",
-      "version": "0.13.0",
+    "plugins/node/opentelemetry-instrumentation-redis-4": {
+      "name": "@opentelemetry/instrumentation-redis-4",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/redis-common": "^0.36.2",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/resources": "^1.8.0",
+        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.11",
+        "cross-env": "7.0.3",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
+        "redis": "4.1.0",
         "rimraf": "5.0.5",
-        "sinon": "15.2.0",
+        "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -37134,26 +39504,44 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/instrumentation-kafkajs": {
-      "name": "@opentelemetry/instrumentation-kafkajs",
-      "version": "0.1.0",
+    "plugins/node/opentelemetry-instrumentation-redis-4/node_modules/redis": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/redis/-/redis-4.1.0.tgz",
+      "integrity": "sha512-5hvJ8wbzpCCiuN1ges6tx2SAh2XXCY0ayresBmu40/SGusWHFW86TAlIPpbimMX2DFHOX7RN34G2XlPA1Z43zg==",
+      "dev": true,
+      "dependencies": {
+        "@redis/bloom": "1.0.2",
+        "@redis/client": "1.1.0",
+        "@redis/graph": "1.0.1",
+        "@redis/json": "1.0.3",
+        "@redis/search": "1.0.6",
+        "@redis/time-series": "1.0.3"
+      }
+    },
+    "plugins/node/opentelemetry-instrumentation-restify": {
+      "name": "@opentelemetry/instrumentation-restify",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
+        "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.24.0"
+        "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.24.0",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.11",
-        "kafkajs": "^2.2.4",
+        "@types/restify": "4.3.10",
+        "@types/semver": "7.5.3",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
+        "restify": "11.1.0",
         "rimraf": "5.0.5",
-        "sinon": "15.2.0",
+        "semver": "7.5.4",
+        "test-all-versions": "^6.0.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -37164,25 +39552,58 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/instrumentation-lru-memoizer": {
-      "name": "@opentelemetry/instrumentation-lru-memoizer",
+    "plugins/node/opentelemetry-instrumentation-restify/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "plugins/node/opentelemetry-instrumentation-restify/node_modules/semver": {
+      "version": "7.5.4",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "plugins/node/opentelemetry-instrumentation-restify/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
+    "plugins/node/opentelemetry-instrumentation-router": {
+      "name": "@opentelemetry/instrumentation-router",
       "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@types/lru-cache": "7.10.9",
-        "@types/mocha": "8.2.3",
+        "@opentelemetry/context-async-hooks": "^1.8.0",
+        "@opentelemetry/sdk-trace-base": "^1.8.0",
+        "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "expect": "29.2.0",
-        "lru-memoizer": "2.1.4",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
-        "test-all-versions": "6.1.0",
+        "router": "1.3.8",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -37193,35 +39614,33 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/instrumentation-lru-memoizer/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
-      "dev": true
-    },
-    "plugins/node/instrumentation-mongoose": {
-      "name": "@opentelemetry/instrumentation-mongoose",
-      "version": "0.39.0",
+    "plugins/node/opentelemetry-instrumentation-winston": {
+      "name": "@opentelemetry/instrumentation-winston",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/api-logs": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@types/mocha": "8.2.3",
+        "@opentelemetry/context-async-hooks": "^1.21.0",
+        "@opentelemetry/sdk-trace-base": "^1.21.0",
+        "@opentelemetry/sdk-trace-node": "^1.21.0",
+        "@opentelemetry/winston-transport": "^0.4.0",
+        "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "expect": "29.2.0",
+        "@types/sinon": "10.0.18",
+        "@types/triple-beam": "^1.3.2",
         "mocha": "7.2.0",
-        "mongoose": "6.12.3",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
+        "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "typescript": "4.4.4",
+        "winston": "3.3.3",
+        "winston2": "npm:winston@2.4.7"
       },
       "engines": {
         "node": ">=14"
@@ -37230,75 +39649,86 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/instrumentation-mongoose/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
-      "dev": true
-    },
-    "plugins/node/instrumentation-runtime-node": {
-      "name": "@opentelemetry/instrumentation-runtime-node",
-      "version": "0.5.0",
+    "plugins/web/opentelemetry-instrumentation-document-load": {
+      "name": "@opentelemetry/instrumentation-document-load",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/core": "^1.8.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/sdk-trace-base": "^1.0.0",
+        "@opentelemetry/sdk-trace-web": "^1.15.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
+        "@babel/core": "7.22.17",
+        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/sdk-metrics": "^1.20.0",
-        "@types/mocha": "^10.0.6",
-        "@types/node": "^20.11.2",
-        "mocha": "7.2.0",
-        "nyc": "^15.1.0",
-        "rimraf": "5.0.5",
-        "ts-mocha": "10.0.0",
+        "@rollup/plugin-commonjs": "^26.0.0",
+        "@rollup/plugin-node-resolve": "^15.2.3",
+        "@types/chai": "^4.3.10",
+        "@types/mocha": "8.2.3",
+        "@types/node": "18.6.5",
+        "@types/sinon": "10.0.18",
+        "@web/dev-server-esbuild": "^1.0.1",
+        "@web/dev-server-rollup": "^0.6.1",
+        "@web/test-runner": "^0.18.0",
+        "chai": "^4.3.10",
+        "sinon": "15.2.0",
         "typescript": "4.4.4"
       },
       "engines": {
-        "node": ">=14.10.0"
+        "node": ">=14"
       },
       "peerDependencies": {
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/instrumentation-runtime-node/node_modules/@types/mocha": {
-      "version": "10.0.6",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
-      "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
+    "plugins/web/opentelemetry-instrumentation-document-load/node_modules/@types/mocha": {
+      "version": "8.2.3",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
+      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
       "dev": true
     },
-    "plugins/node/instrumentation-runtime-node/node_modules/@types/node": {
-      "version": "20.11.20",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz",
-      "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==",
-      "dev": true,
-      "dependencies": {
-        "undici-types": "~5.26.4"
-      }
-    },
-    "plugins/node/instrumentation-socket.io": {
-      "name": "@opentelemetry/instrumentation-socket.io",
-      "version": "0.40.0",
+    "plugins/web/opentelemetry-instrumentation-long-task": {
+      "name": "@opentelemetry/instrumentation-long-task",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
+        "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/sdk-trace-web": "^1.8.0"
       },
       "devDependencies": {
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@types/mocha": "8.2.3",
+        "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "expect": "27.4.2",
-        "mocha": "7.2.0",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
+        "assert": "2.0.0",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "cross-var": "1.1.0",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
+        "karma-mocha": "2.0.1",
+        "karma-spec-reporter": "0.0.36",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
-        "socket.io": "^4.1.3",
-        "socket.io-client": "^4.1.3",
-        "test-all-versions": "6.1.0",
+        "sinon": "15.1.2",
+        "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "typescript": "4.4.4",
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0",
+        "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
       },
       "engines": {
         "node": ">=14"
@@ -37307,59 +39737,106 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/@jest/types": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
-      "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/@babel/core": {
+      "version": "7.24.6",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+      "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
       "dev": true,
       "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^16.0.0",
-        "chalk": "^4.0.0"
+        "@ampproject/remapping": "^2.2.0",
+        "@babel/code-frame": "^7.24.6",
+        "@babel/generator": "^7.24.6",
+        "@babel/helper-compilation-targets": "^7.24.6",
+        "@babel/helper-module-transforms": "^7.24.6",
+        "@babel/helpers": "^7.24.6",
+        "@babel/parser": "^7.24.6",
+        "@babel/template": "^7.24.6",
+        "@babel/traverse": "^7.24.6",
+        "@babel/types": "^7.24.6",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
       },
       "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/@sinonjs/commons": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+      "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+      "dev": true,
+      "dependencies": {
+        "type-detect": "4.0.8"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/@types/mocha": {
+      "version": "10.0.6",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+      "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
       "dev": true
     },
-    "plugins/node/instrumentation-socket.io/node_modules/@types/yargs": {
-      "version": "16.0.9",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz",
-      "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/@types/sinon": {
+      "version": "17.0.3",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+      "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
       "dev": true,
       "dependencies": {
-        "@types/yargs-parser": "*"
+        "@types/sinonjs__fake-timers": "*"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/ansi-regex": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/ansi-colors": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
       "engines": {
         "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/ansi-styles": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
-      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/camelcase": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
       "dev": true,
       "engines": {
         "node": ">=10"
       },
       "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/chalk": {
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/chalk": {
       "version": "4.1.2",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
       "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
@@ -37375,22 +39852,46 @@
         "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/chalk/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/chalk/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/chokidar": {
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
       "dev": true,
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://paulmillr.com/funding/"
+        }
+      ],
       "dependencies": {
-        "color-convert": "^2.0.1"
+        "anymatch": "~3.1.2",
+        "braces": "~3.0.2",
+        "glob-parent": "~5.1.2",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.6.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">= 8.10.0"
       },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/color-convert": {
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/color-convert": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
       "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
@@ -37402,1785 +39903,1635 @@
         "node": ">=7.0.0"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/color-name": {
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/color-name": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
       "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
       "dev": true
     },
-    "plugins/node/instrumentation-socket.io/node_modules/diff-sequences": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
-      "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "dev": true
+    },
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/decamelize": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+      "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
       "dev": true,
       "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/expect": {
-      "version": "27.4.2",
-      "resolved": "https://registry.npmjs.org/expect/-/expect-27.4.2.tgz",
-      "integrity": "sha512-BjAXIDC6ZOW+WBFNg96J22D27Nq5ohn+oGcuP2rtOtcjuxNoV9McpQ60PcQWhdFOSBIQdR72e+4HdnbZTFSTyg==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/diff": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+      "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
       "dev": true,
-      "dependencies": {
-        "@jest/types": "^27.4.2",
-        "ansi-styles": "^5.0.0",
-        "jest-get-type": "^27.4.0",
-        "jest-matcher-utils": "^27.4.2",
-        "jest-message-util": "^27.4.2",
-        "jest-regex-util": "^27.4.0"
-      },
       "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+        "node": ">=0.3.1"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/jest-diff": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
-      "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/enhanced-resolve": {
+      "version": "5.17.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
       "dev": true,
       "dependencies": {
-        "chalk": "^4.0.0",
-        "diff-sequences": "^27.5.1",
-        "jest-get-type": "^27.5.1",
-        "pretty-format": "^27.5.1"
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
       },
       "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+        "node": ">=10.13.0"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/jest-get-type": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
-      "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
       "dev": true,
       "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/jest-matcher-utils": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
-      "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
       "dev": true,
-      "dependencies": {
-        "chalk": "^4.0.0",
-        "jest-diff": "^27.5.1",
-        "jest-get-type": "^27.5.1",
-        "pretty-format": "^27.5.1"
-      },
       "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+        "node": ">=0.8.x"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/jest-message-util": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
-      "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/glob": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+      "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
       "dev": true,
       "dependencies": {
-        "@babel/code-frame": "^7.12.13",
-        "@jest/types": "^27.5.1",
-        "@types/stack-utils": "^2.0.0",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.9",
-        "micromatch": "^4.0.4",
-        "pretty-format": "^27.5.1",
-        "slash": "^3.0.0",
-        "stack-utils": "^2.0.3"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
       },
       "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/pretty-format": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
-      "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
       "dev": true,
       "dependencies": {
-        "ansi-regex": "^5.0.1",
-        "ansi-styles": "^5.0.0",
-        "react-is": "^17.0.1"
+        "is-glob": "^4.0.1"
       },
       "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+        "node": ">= 6"
       }
     },
-    "plugins/node/instrumentation-socket.io/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "plugins/node/instrumentation-socket.io/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/glob/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
       "dev": true,
       "dependencies": {
-        "has-flag": "^4.0.0"
+        "brace-expansion": "^1.1.7"
       },
       "engines": {
-        "node": ">=8"
+        "node": "*"
       }
     },
-    "plugins/node/instrumentation-tedious": {
-      "name": "@opentelemetry/instrumentation-tedious",
-      "version": "0.11.0",
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/tedious": "^4.0.10"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.6.0",
-        "tedious": "17.0.0",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
-      },
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/is-plain-obj": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+      "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+      "dev": true,
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "node": ">=8"
       }
     },
-    "plugins/node/instrumentation-tedious/node_modules/bl": {
-      "version": "6.0.12",
-      "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.12.tgz",
-      "integrity": "sha512-EnEYHilP93oaOa2MnmNEjAcovPS3JlQZOyzGXi3EyEpPhm9qWvdDp7BmAVEVusGzp8LlwQK56Av+OkDoRjzE0w==",
-      "dev": true,
-      "dependencies": {
-        "@types/readable-stream": "^4.0.0",
-        "buffer": "^6.0.3",
-        "inherits": "^2.0.4",
-        "readable-stream": "^4.2.0"
-      }
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+      "dev": true
     },
-    "plugins/node/instrumentation-tedious/node_modules/buffer": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
-      "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/log-symbols": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
       "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
       "dependencies": {
-        "base64-js": "^1.3.1",
-        "ieee754": "^1.2.1"
-      }
-    },
-    "plugins/node/instrumentation-tedious/node_modules/events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
+        "chalk": "^4.1.0",
+        "is-unicode-supported": "^0.1.0"
+      },
       "engines": {
-        "node": ">=0.8.x"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/node/instrumentation-tedious/node_modules/iconv-lite": {
-      "version": "0.6.3",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
-      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/minimatch": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+      "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
       "dev": true,
       "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3.0.0"
+        "brace-expansion": "^2.0.1"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10"
       }
     },
-    "plugins/node/instrumentation-tedious/node_modules/ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
-      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/minimatch/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
       "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
     },
-    "plugins/node/instrumentation-tedious/node_modules/readable-stream": {
-      "version": "4.5.2",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
-      "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/mocha": {
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+      "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
       "dev": true,
       "dependencies": {
-        "abort-controller": "^3.0.0",
-        "buffer": "^6.0.3",
-        "events": "^3.3.0",
-        "process": "^0.11.10",
-        "string_decoder": "^1.3.0"
+        "ansi-colors": "4.1.1",
+        "browser-stdout": "1.3.1",
+        "chokidar": "3.5.3",
+        "debug": "4.3.4",
+        "diff": "5.0.0",
+        "escape-string-regexp": "4.0.0",
+        "find-up": "5.0.0",
+        "glob": "7.2.0",
+        "he": "1.2.0",
+        "js-yaml": "4.1.0",
+        "log-symbols": "4.1.0",
+        "minimatch": "5.0.1",
+        "ms": "2.1.3",
+        "nanoid": "3.3.3",
+        "serialize-javascript": "6.0.0",
+        "strip-json-comments": "3.1.1",
+        "supports-color": "8.1.1",
+        "workerpool": "6.2.1",
+        "yargs": "16.2.0",
+        "yargs-parser": "20.2.4",
+        "yargs-unparser": "2.0.0"
+      },
+      "bin": {
+        "_mocha": "bin/_mocha",
+        "mocha": "bin/mocha.js"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": ">= 14.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/mochajs"
       }
     },
-    "plugins/node/instrumentation-tedious/node_modules/tedious": {
-      "version": "17.0.0",
-      "resolved": "https://registry.npmjs.org/tedious/-/tedious-17.0.0.tgz",
-      "integrity": "sha512-tXsl/kvDAFpnXU+ooEOQyrXdJFD0/OWvPq9i1bDhbOvoFGcrZURiXyUxbI8gJPsG6o2K5fs3HX6zRTSxuCUC5g==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "dev": true
+    },
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/nanoid": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+      "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
       "dev": true,
-      "dependencies": {
-        "@azure/identity": "^3.4.1",
-        "@azure/keyvault-keys": "^4.4.0",
-        "@js-joda/core": "^5.5.3",
-        "bl": "^6.0.3",
-        "es-aggregate-error": "^1.0.9",
-        "iconv-lite": "^0.6.3",
-        "js-md4": "^0.3.2",
-        "jsbi": "^4.3.0",
-        "native-duplexpair": "^1.0.0",
-        "node-abort-controller": "^3.1.1",
-        "sprintf-js": "^1.1.2"
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
       },
       "engines": {
-        "node": ">=18"
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "plugins/node/instrumentation-undici": {
-      "name": "@opentelemetry/instrumentation-undici",
-      "version": "0.3.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/schema-utils": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.7.0",
-        "@opentelemetry/sdk-metrics": "^1.8.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "^7.6.0",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4",
-        "undici": "6.11.1"
+        "@types/json-schema": "^7.0.8",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">= 10.13.0"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.7.0"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-aws-lambda": {
-      "name": "@opentelemetry/instrumentation-aws-lambda",
-      "version": "0.42.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/sinon": {
+      "version": "15.1.2",
+      "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
+      "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==",
+      "deprecated": "16.1.1",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/propagator-aws-xray": "^1.3.1",
-        "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/aws-lambda": "8.10.122"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/sdk-metrics": "^1.8.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
-      },
-      "engines": {
-        "node": ">=14"
+        "@sinonjs/commons": "^3.0.0",
+        "@sinonjs/fake-timers": "^10.1.0",
+        "@sinonjs/samsam": "^8.0.0",
+        "diff": "^5.1.0",
+        "nise": "^5.1.4",
+        "supports-color": "^7.2.0"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/sinon"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-aws-sdk": {
-      "name": "@opentelemetry/instrumentation-aws-sdk",
-      "version": "0.42.0",
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/propagation-utils": "^0.30.10",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
-      },
-      "devDependencies": {
-        "@aws-sdk/client-dynamodb": "3.85.0",
-        "@aws-sdk/client-lambda": "3.85.0",
-        "@aws-sdk/client-s3": "3.85.0",
-        "@aws-sdk/client-sns": "3.85.0",
-        "@aws-sdk/client-sqs": "3.85.0",
-        "@aws-sdk/types": "3.78.0",
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@types/mocha": "8.2.3",
-        "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "aws-sdk": "2.1008.0",
-        "eslint": "8.7.0",
-        "expect": "29.2.0",
-        "mocha": "7.2.0",
-        "nock": "13.3.3",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
-      },
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/sinon/node_modules/diff": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+      "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+      "dev": true,
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "node": ">=0.3.1"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-aws-sdk/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
-      "dev": true
-    },
-    "plugins/node/opentelemetry-instrumentation-bunyan": {
-      "name": "@opentelemetry/instrumentation-bunyan",
-      "version": "0.39.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/sinon/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/api-logs": "^0.52.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@types/bunyan": "1.8.9"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/sdk-logs": "^0.52.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "bunyan": "1.8.15",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "has-flag": "^4.0.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "node": ">=8"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-bunyan/node_modules/@types/bunyan": {
-      "version": "1.8.9",
-      "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.9.tgz",
-      "integrity": "sha512-ZqS9JGpBxVOvsawzmVt30sP++gSQMTejCkIAQ3VdadOcRE8izTyW66hufvwLeH+YEGP6Js2AW7Gz+RMyvrEbmw==",
-      "dependencies": {
-        "@types/node": "*"
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/source-map": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-cassandra": {
-      "name": "@opentelemetry/instrumentation-cassandra-driver",
-      "version": "0.39.0",
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
-        "@types/sinon": "10.0.18",
-        "cassandra-driver": "4.6.4",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/tapable": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/ts-loader": {
+      "version": "9.5.1",
+      "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+      "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "enhanced-resolve": "^5.0.0",
+        "micromatch": "^4.0.0",
+        "semver": "^7.3.4",
+        "source-map": "^0.7.4"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=12.0.0"
       },
       "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "typescript": "*",
+        "webpack": "^5.0.0"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-connect": {
-      "name": "@opentelemetry/instrumentation-connect",
-      "version": "0.37.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/webpack": {
+      "version": "5.89.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/connect": "3.4.36"
+        "@types/eslint-scope": "^3.7.3",
+        "@types/estree": "^1.0.0",
+        "@webassemblyjs/ast": "^1.11.5",
+        "@webassemblyjs/wasm-edit": "^1.11.5",
+        "@webassemblyjs/wasm-parser": "^1.11.5",
+        "acorn": "^8.7.1",
+        "acorn-import-assertions": "^1.9.0",
+        "browserslist": "^4.14.5",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^5.15.0",
+        "es-module-lexer": "^1.2.1",
+        "eslint-scope": "5.1.1",
+        "events": "^3.2.0",
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.2.9",
+        "json-parse-even-better-errors": "^2.3.1",
+        "loader-runner": "^4.2.0",
+        "mime-types": "^2.1.27",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.2.0",
+        "tapable": "^2.1.1",
+        "terser-webpack-plugin": "^5.3.7",
+        "watchpack": "^2.4.0",
+        "webpack-sources": "^3.2.3"
       },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "connect": "3.7.0",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+      "bin": {
+        "webpack": "bin/webpack.js"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=10.13.0"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependenciesMeta": {
+        "webpack-cli": {
+          "optional": true
+        }
       }
     },
-    "plugins/node/opentelemetry-instrumentation-connect/node_modules/@types/connect": {
-      "version": "3.4.36",
-      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz",
-      "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/yargs": {
+      "version": "16.2.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+      "dev": true,
       "dependencies": {
-        "@types/node": "*"
+        "cliui": "^7.0.2",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^20.2.2"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-dns": {
-      "name": "@opentelemetry/instrumentation-dns",
-      "version": "0.37.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/yargs-unparser": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+      "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "semver": "^7.5.4"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
-        "@types/shimmer": "1.0.3",
-        "@types/sinon": "10.0.18",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "camelcase": "^6.0.0",
+        "decamelize": "^4.0.0",
+        "flat": "^5.0.2",
+        "is-plain-obj": "^2.1.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "node": ">=10"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-express": {
-      "name": "@opentelemetry/instrumentation-express",
-      "version": "0.40.1",
+    "plugins/web/opentelemetry-instrumentation-user-interaction": {
+      "name": "@opentelemetry/instrumentation-user-interaction",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/sdk-trace-web": "^1.8.0"
       },
       "devDependencies": {
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/context-zone-peer-dep": "^1.8.0",
+        "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/express": "4.17.18",
-        "@types/mocha": "7.0.2",
+        "@types/jquery": "3.5.30",
+        "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "express": "4.19.2",
-        "mocha": "7.2.0",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
+        "assert": "2.0.0",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "cross-var": "1.1.0",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
+        "karma-jquery": "0.2.4",
+        "karma-mocha": "2.0.1",
+        "karma-spec-reporter": "0.0.36",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "test-all-versions": "6.1.0",
+        "sinon": "15.1.2",
+        "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "typescript": "4.4.4",
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0",
+        "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "@opentelemetry/api": "^1.3.0",
+        "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-fastify": {
-      "name": "@opentelemetry/instrumentation-fastify",
-      "version": "0.37.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/@babel/core": {
+      "version": "7.24.6",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+      "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
-      },
-      "devDependencies": {
-        "@fastify/express": "^3.0.0",
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation-http": "^0.52.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/express": "4.17.18",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.15.3",
-        "@types/semver": "7.5.5",
-        "fastify": "4.18.0",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "^7.5.4",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "@ampproject/remapping": "^2.2.0",
+        "@babel/code-frame": "^7.24.6",
+        "@babel/generator": "^7.24.6",
+        "@babel/helper-compilation-targets": "^7.24.6",
+        "@babel/helper-module-transforms": "^7.24.6",
+        "@babel/helpers": "^7.24.6",
+        "@babel/parser": "^7.24.6",
+        "@babel/template": "^7.24.6",
+        "@babel/traverse": "^7.24.6",
+        "@babel/types": "^7.24.6",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=6.9.0"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-fastify/node_modules/@types/node": {
-      "version": "18.15.3",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz",
-      "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==",
-      "dev": true
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
     },
-    "plugins/node/opentelemetry-instrumentation-fastify/node_modules/@types/semver": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.5.tgz",
-      "integrity": "sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/@sinonjs/commons": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+      "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+      "dev": true,
+      "dependencies": {
+        "type-detect": "4.0.8"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/@types/mocha": {
+      "version": "10.0.6",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+      "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
       "dev": true
     },
-    "plugins/node/opentelemetry-instrumentation-generic-pool": {
-      "name": "@opentelemetry/instrumentation-generic-pool",
-      "version": "0.37.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/@types/sinon": {
+      "version": "17.0.3",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+      "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@types/sinonjs__fake-timers": "*"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/ansi-colors": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
       },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/generic-pool": "^3.1.9",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
-        "generic-pool": "3.8.2",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+      "engines": {
+        "node": ">=8"
       },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/camelcase": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+      "dev": true,
       "engines": {
-        "node": ">=14"
+        "node": ">=10"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-generic-pool/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
       "dev": true,
       "dependencies": {
-        "yallist": "^4.0.0"
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
       },
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-generic-pool/node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/chalk/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
       "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
+        "has-flag": "^4.0.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=8"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-generic-pool/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
-    "plugins/node/opentelemetry-instrumentation-graphql": {
-      "name": "@opentelemetry/instrumentation-graphql",
-      "version": "0.41.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/chokidar": {
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://paulmillr.com/funding/"
+        }
+      ],
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/mocha": "8.2.3",
-        "@types/node": "18.6.5",
-        "graphql": "^16.5.0",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "anymatch": "~3.1.2",
+        "braces": "~3.0.2",
+        "glob-parent": "~5.1.2",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.6.0"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">= 8.10.0"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-graphql/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
-      "dev": true
-    },
-    "plugins/node/opentelemetry-instrumentation-hapi": {
-      "name": "@opentelemetry/instrumentation-hapi",
-      "version": "0.39.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
-      },
-      "devDependencies": {
-        "@hapi/hapi": "21.3.3",
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "joi": "17.12.2",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "color-name": "~1.1.4"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=7.0.0"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "dev": true
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/decamelize": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+      "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-ioredis": {
-      "name": "@opentelemetry/instrumentation-ioredis",
-      "version": "0.41.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/diff": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+      "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.3.1"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/enhanced-resolve": {
+      "version": "5.17.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/redis-common": "^0.36.2",
-        "@opentelemetry/semantic-conventions": "^1.23.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/ioredis4": "npm:@types/ioredis@4.28.10",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "cross-env": "7.0.3",
-        "ioredis": "5.2.2",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=10.13.0"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-knex": {
-      "name": "@opentelemetry/instrumentation-knex",
-      "version": "0.37.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.x"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/glob": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+      "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "knex": "0.95.9",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sqlite3": "5.1.6",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
       },
       "engines": {
-        "node": ">=14"
+        "node": "*"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-koa": {
-      "name": "@opentelemetry/instrumentation-koa",
-      "version": "0.41.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/koa": "2.14.0",
-        "@types/koa__router": "12.0.3"
-      },
-      "devDependencies": {
-        "@koa/router": "12.0.0",
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation-http": "^0.52.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "koa": "2.13.1",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "is-glob": "^4.0.1"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "node": ">= 6"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-memcached": {
-      "name": "@opentelemetry/instrumentation-memcached",
-      "version": "0.37.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/glob/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0",
-        "@types/memcached": "^2.2.6"
+        "brace-expansion": "^1.1.7"
       },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "cross-env": "7.0.3",
-        "memcached": "2.2.2",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+      "engines": {
+        "node": "*"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/is-plain-obj": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+      "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+      "dev": true
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/log-symbols": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "is-unicode-supported": "^0.1.0"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=10"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mongodb": {
-      "name": "@opentelemetry/instrumentation-mongodb",
-      "version": "0.45.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/minimatch": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+      "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/sdk-metrics": "^1.9.1",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/bson": "4.0.5",
-        "@types/mocha": "7.0.2",
-        "@types/mongodb": "3.6.20",
-        "@types/node": "18.6.5",
-        "mocha": "7.2.0",
-        "mongodb": "6.5.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "brace-expansion": "^2.0.1"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "node": ">=10"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/@types/whatwg-url": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.4.tgz",
-      "integrity": "sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/minimatch/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
       "dev": true,
       "dependencies": {
-        "@types/webidl-conversions": "*"
+        "balanced-match": "^1.0.0"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/mocha": {
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+      "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
       "dev": true,
-      "optional": true,
-      "peer": true,
       "dependencies": {
-        "debug": "4"
+        "ansi-colors": "4.1.1",
+        "browser-stdout": "1.3.1",
+        "chokidar": "3.5.3",
+        "debug": "4.3.4",
+        "diff": "5.0.0",
+        "escape-string-regexp": "4.0.0",
+        "find-up": "5.0.0",
+        "glob": "7.2.0",
+        "he": "1.2.0",
+        "js-yaml": "4.1.0",
+        "log-symbols": "4.1.0",
+        "minimatch": "5.0.1",
+        "ms": "2.1.3",
+        "nanoid": "3.3.3",
+        "serialize-javascript": "6.0.0",
+        "strip-json-comments": "3.1.1",
+        "supports-color": "8.1.1",
+        "workerpool": "6.2.1",
+        "yargs": "16.2.0",
+        "yargs-parser": "20.2.4",
+        "yargs-unparser": "2.0.0"
+      },
+      "bin": {
+        "_mocha": "bin/_mocha",
+        "mocha": "bin/mocha.js"
       },
       "engines": {
-        "node": ">= 6.0.0"
+        "node": ">= 14.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/mochajs"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/bson": {
-      "version": "6.4.0",
-      "resolved": "https://registry.npmjs.org/bson/-/bson-6.4.0.tgz",
-      "integrity": "sha512-6/gSSEdbkuFlSb+ufj5jUSU4+wo8xQOwm2bDSqwmxiPE17JTpsP63eAwoN8iF8Oy4gJYj+PAL3zdRCTdaw5Y1g==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "dev": true
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/nanoid": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+      "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
       "dev": true,
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
       "engines": {
-        "node": ">=16.20.1"
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/gaxios": {
-      "version": "5.1.3",
-      "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.1.3.tgz",
-      "integrity": "sha512-95hVgBRgEIRQQQHIbnxBXeHbW4TqFk4ZDJW7wmVtvYar72FdhRIo1UGOLS2eRAKCPEdPBWu+M7+A33D9CdX9rA==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/schema-utils": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
       "dev": true,
-      "optional": true,
-      "peer": true,
       "dependencies": {
-        "extend": "^3.0.2",
-        "https-proxy-agent": "^5.0.0",
-        "is-stream": "^2.0.0",
-        "node-fetch": "^2.6.9"
+        "@types/json-schema": "^7.0.8",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">= 10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/gcp-metadata": {
-      "version": "5.3.0",
-      "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.3.0.tgz",
-      "integrity": "sha512-FNTkdNEnBdlqF2oatizolQqNANMrcqJt6AAYt99B3y1aLLC8Hc5IOBb+ZnnzllodEEf6xMBp6wRcBbc16fa65w==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/sinon": {
+      "version": "15.1.2",
+      "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
+      "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==",
+      "deprecated": "16.1.1",
       "dev": true,
-      "optional": true,
-      "peer": true,
       "dependencies": {
-        "gaxios": "^5.0.0",
-        "json-bigint": "^1.0.0"
+        "@sinonjs/commons": "^3.0.0",
+        "@sinonjs/fake-timers": "^10.1.0",
+        "@sinonjs/samsam": "^8.0.0",
+        "diff": "^5.1.0",
+        "nise": "^5.1.4",
+        "supports-color": "^7.2.0"
       },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/sinon"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/sinon/node_modules/diff": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+      "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+      "dev": true,
       "engines": {
-        "node": ">=12"
+        "node": ">=0.3.1"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/https-proxy-agent": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/sinon/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
-      "optional": true,
-      "peer": true,
       "dependencies": {
-        "agent-base": "6",
-        "debug": "4"
+        "has-flag": "^4.0.0"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">=8"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/mongodb": {
-      "version": "6.5.0",
-      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.5.0.tgz",
-      "integrity": "sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/source-map": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/tapable": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/ts-loader": {
+      "version": "9.5.1",
+      "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+      "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
       "dev": true,
       "dependencies": {
-        "@mongodb-js/saslprep": "^1.1.5",
-        "bson": "^6.4.0",
-        "mongodb-connection-string-url": "^3.0.0"
+        "chalk": "^4.1.0",
+        "enhanced-resolve": "^5.0.0",
+        "micromatch": "^4.0.0",
+        "semver": "^7.3.4",
+        "source-map": "^0.7.4"
       },
       "engines": {
-        "node": ">=16.20.1"
+        "node": ">=12.0.0"
       },
       "peerDependencies": {
-        "@aws-sdk/credential-providers": "^3.188.0",
-        "@mongodb-js/zstd": "^1.1.0",
-        "gcp-metadata": "^5.2.0",
-        "kerberos": "^2.0.1",
-        "mongodb-client-encryption": ">=6.0.0 <7",
-        "snappy": "^7.2.2",
-        "socks": "^2.7.1"
-      },
-      "peerDependenciesMeta": {
-        "@aws-sdk/credential-providers": {
-          "optional": true
-        },
-        "@mongodb-js/zstd": {
-          "optional": true
-        },
-        "gcp-metadata": {
-          "optional": true
-        },
-        "kerberos": {
-          "optional": true
-        },
-        "mongodb-client-encryption": {
-          "optional": true
-        },
-        "snappy": {
-          "optional": true
-        },
-        "socks": {
-          "optional": true
-        }
+        "typescript": "*",
+        "webpack": "^5.0.0"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/mongodb-connection-string-url": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz",
-      "integrity": "sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/webpack": {
+      "version": "5.89.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
       "dev": true,
       "dependencies": {
-        "@types/whatwg-url": "^11.0.2",
-        "whatwg-url": "^13.0.0"
+        "@types/eslint-scope": "^3.7.3",
+        "@types/estree": "^1.0.0",
+        "@webassemblyjs/ast": "^1.11.5",
+        "@webassemblyjs/wasm-edit": "^1.11.5",
+        "@webassemblyjs/wasm-parser": "^1.11.5",
+        "acorn": "^8.7.1",
+        "acorn-import-assertions": "^1.9.0",
+        "browserslist": "^4.14.5",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^5.15.0",
+        "es-module-lexer": "^1.2.1",
+        "eslint-scope": "5.1.1",
+        "events": "^3.2.0",
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.2.9",
+        "json-parse-even-better-errors": "^2.3.1",
+        "loader-runner": "^4.2.0",
+        "mime-types": "^2.1.27",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.2.0",
+        "tapable": "^2.1.1",
+        "terser-webpack-plugin": "^5.3.7",
+        "watchpack": "^2.4.0",
+        "webpack-sources": "^3.2.3"
+      },
+      "bin": {
+        "webpack": "bin/webpack.js"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependenciesMeta": {
+        "webpack-cli": {
+          "optional": true
+        }
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/tr46": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz",
-      "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/yargs": {
+      "version": "16.2.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
       "dev": true,
       "dependencies": {
-        "punycode": "^2.3.0"
+        "cliui": "^7.0.2",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^20.2.2"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=10"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/whatwg-url": {
-      "version": "13.0.0",
-      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz",
-      "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==",
+    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/yargs-unparser": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+      "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
       "dev": true,
       "dependencies": {
-        "tr46": "^4.1.1",
-        "webidl-conversions": "^7.0.0"
+        "camelcase": "^6.0.0",
+        "decamelize": "^4.0.0",
+        "flat": "^5.0.2",
+        "is-plain-obj": "^2.1.0"
       },
       "engines": {
-        "node": ">=16"
+        "node": ">=10"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mysql": {
-      "name": "@opentelemetry/instrumentation-mysql",
-      "version": "0.39.0",
+    "plugins/web/opentelemetry-plugin-react-load": {
+      "name": "@opentelemetry/plugin-react-load",
+      "version": "0.30.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/mysql": "2.15.22"
+        "@opentelemetry/context-zone": "^1.0.0",
+        "@opentelemetry/core": "^1.0.0",
+        "@opentelemetry/sdk-trace-base": "^1.0.0",
+        "@opentelemetry/sdk-trace-web": "^1.0.0",
+        "shimmer": "^1.2.1"
       },
       "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-metrics": "^1.8.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@types/mocha": "7.0.2",
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
+        "@opentelemetry/api": "^1.0.0",
+        "@opentelemetry/propagator-b3": "1.25.0",
+        "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "mocha": "7.2.0",
-        "mysql": "2.18.1",
+        "@types/react": "17.0.67",
+        "@types/react-addons-test-utils": "0.14.26",
+        "@types/react-dom": "18.0.2",
+        "@types/shimmer": "1.0.3",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
+        "assert": "2.0.0",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
+        "karma-mocha": "2.0.1",
+        "karma-spec-reporter": "0.0.36",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
         "nyc": "15.1.0",
+        "react": "17.0.2",
+        "react-dom": "17.0.2",
         "rimraf": "5.0.5",
-        "sinon": "15.2.0",
+        "sinon": "15.1.2",
+        "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "typescript": "4.4.4",
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "@opentelemetry/api": "^1.0.0",
+        "react": "^16.13.1 || ^17.0.0"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mysql2": {
-      "name": "@opentelemetry/instrumentation-mysql2",
-      "version": "0.39.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/@babel/core": {
+      "version": "7.24.6",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+      "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@opentelemetry/sql-common": "^0.40.1"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
-        "mocha": "7.2.0",
-        "mysql2": "2.3.3",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "@ampproject/remapping": "^2.2.0",
+        "@babel/code-frame": "^7.24.6",
+        "@babel/generator": "^7.24.6",
+        "@babel/helper-compilation-targets": "^7.24.6",
+        "@babel/helper-module-transforms": "^7.24.6",
+        "@babel/helpers": "^7.24.6",
+        "@babel/parser": "^7.24.6",
+        "@babel/template": "^7.24.6",
+        "@babel/traverse": "^7.24.6",
+        "@babel/types": "^7.24.6",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=6.9.0"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mysql2/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/@sinonjs/commons": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+      "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
       "dev": true,
       "dependencies": {
-        "yallist": "^4.0.0"
-      },
+        "type-detect": "4.0.8"
+      }
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/@types/mocha": {
+      "version": "10.0.6",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+      "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
+      "dev": true
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/@types/sinon": {
+      "version": "17.0.3",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+      "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
+      "dev": true,
+      "dependencies": {
+        "@types/sinonjs__fake-timers": "*"
+      }
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/ansi-colors": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+      "dev": true,
       "engines": {
-        "node": ">=10"
+        "node": ">=6"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mysql2/node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
       "dependencies": {
-        "lru-cache": "^6.0.0"
+        "color-convert": "^2.0.1"
       },
-      "bin": {
-        "semver": "bin/semver.js"
+      "engines": {
+        "node": ">=8"
       },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/camelcase": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+      "dev": true,
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mysql2/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
     },
-    "plugins/node/opentelemetry-instrumentation-nestjs-core": {
-      "name": "@opentelemetry/instrumentation-nestjs-core",
-      "version": "0.38.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/chalk/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0"
+        "has-flag": "^4.0.0"
       },
-      "devDependencies": {
-        "@nestjs/common": "9.4.3",
-        "@nestjs/core": "9.4.3",
-        "@nestjs/microservices": "9.4.3",
-        "@nestjs/platform-express": "9.4.3",
-        "@nestjs/websockets": "9.4.3",
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
-        "cross-env": "7.0.3",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "reflect-metadata": "0.1.13",
-        "rimraf": "5.0.5",
-        "rxjs": "7.8.1",
-        "rxjs-compat": "6.6.7",
-        "semver": "7.5.4",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/chokidar": {
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://paulmillr.com/funding/"
+        }
+      ],
+      "dependencies": {
+        "anymatch": "~3.1.2",
+        "braces": "~3.0.2",
+        "glob-parent": "~5.1.2",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.6.0"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">= 8.10.0"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-nestjs-core/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "dev": true,
       "dependencies": {
-        "yallist": "^4.0.0"
+        "color-name": "~1.1.4"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=7.0.0"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-nestjs-core/node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "dev": true
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/decamelize": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+      "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
       "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-nestjs-core/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
-    "plugins/node/opentelemetry-instrumentation-net": {
-      "name": "@opentelemetry/instrumentation-net",
-      "version": "0.37.0",
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
-      },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/diff": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+      "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+      "dev": true,
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "node": ">=0.3.1"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-pg": {
-      "name": "@opentelemetry/instrumentation-pg",
-      "version": "0.42.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/enhanced-resolve": {
+      "version": "5.17.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@opentelemetry/sql-common": "^0.40.1",
-        "@types/pg": "8.6.1",
-        "@types/pg-pool": "2.0.4"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "cross-env": "7.0.3",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "pg": "8.7.1",
-        "pg-pool": "3.4.1",
-        "rimraf": "5.0.5",
-        "safe-stable-stringify": "^2.4.1",
-        "sinon": "15.2.0",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "node": ">=10.13.0"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-pino": {
-      "name": "@opentelemetry/instrumentation-pino",
-      "version": "0.40.0",
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
-        "@types/sinon": "10.0.18",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "pino": "8.3.1",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
-        "sinon": "15.2.0",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
-      },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+      "dev": true,
       "engines": {
-        "node": ">=14"
+        "node": ">=10"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-pino/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
       "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
       "engines": {
-        "node": ">=10"
+        "node": ">=0.8.x"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-pino/node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/glob": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+      "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
       "dev": true,
       "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-pino/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
-    "plugins/node/opentelemetry-instrumentation-redis": {
-      "name": "@opentelemetry/instrumentation-redis",
-      "version": "0.40.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/redis-common": "^0.36.2",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/redis": "2.8.32",
-        "cross-env": "7.0.3",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "redis": "3.1.2",
-        "rimraf": "5.0.5",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "is-glob": "^4.0.1"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "node": ">= 6"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-redis-4": {
-      "name": "@opentelemetry/instrumentation-redis-4",
-      "version": "0.40.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/glob/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/redis-common": "^0.36.2",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "cross-env": "7.0.3",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "redis": "4.1.0",
-        "rimraf": "5.0.5",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "brace-expansion": "^1.1.7"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "node": "*"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-redis-4/node_modules/redis": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/redis/-/redis-4.1.0.tgz",
-      "integrity": "sha512-5hvJ8wbzpCCiuN1ges6tx2SAh2XXCY0ayresBmu40/SGusWHFW86TAlIPpbimMX2DFHOX7RN34G2XlPA1Z43zg==",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/is-plain-obj": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+      "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
       "dev": true,
-      "dependencies": {
-        "@redis/bloom": "1.0.2",
-        "@redis/client": "1.1.0",
-        "@redis/graph": "1.0.1",
-        "@redis/json": "1.0.3",
-        "@redis/search": "1.0.6",
-        "@redis/time-series": "1.0.3"
+      "engines": {
+        "node": ">=8"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-restify": {
-      "name": "@opentelemetry/instrumentation-restify",
-      "version": "0.39.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+      "dev": true
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/log-symbols": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/restify": "4.3.10",
-        "@types/semver": "7.5.3",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "restify": "11.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
-        "test-all-versions": "^6.0.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+        "chalk": "^4.1.0",
+        "is-unicode-supported": "^0.1.0"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=10"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-restify/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/minimatch": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+      "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
       "dev": true,
       "dependencies": {
-        "yallist": "^4.0.0"
+        "brace-expansion": "^2.0.1"
       },
       "engines": {
         "node": ">=10"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-restify/node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/minimatch/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
       "dev": true,
       "dependencies": {
-        "lru-cache": "^6.0.0"
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/mocha": {
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+      "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-colors": "4.1.1",
+        "browser-stdout": "1.3.1",
+        "chokidar": "3.5.3",
+        "debug": "4.3.4",
+        "diff": "5.0.0",
+        "escape-string-regexp": "4.0.0",
+        "find-up": "5.0.0",
+        "glob": "7.2.0",
+        "he": "1.2.0",
+        "js-yaml": "4.1.0",
+        "log-symbols": "4.1.0",
+        "minimatch": "5.0.1",
+        "ms": "2.1.3",
+        "nanoid": "3.3.3",
+        "serialize-javascript": "6.0.0",
+        "strip-json-comments": "3.1.1",
+        "supports-color": "8.1.1",
+        "workerpool": "6.2.1",
+        "yargs": "16.2.0",
+        "yargs-parser": "20.2.4",
+        "yargs-unparser": "2.0.0"
       },
       "bin": {
-        "semver": "bin/semver.js"
+        "_mocha": "bin/_mocha",
+        "mocha": "bin/mocha.js"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">= 14.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/mochajs"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-restify/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
       "dev": true
     },
-    "plugins/node/opentelemetry-instrumentation-router": {
-      "name": "@opentelemetry/instrumentation-router",
-      "version": "0.38.0",
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "router": "1.3.8",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/nanoid": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+      "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+      "dev": true,
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
       },
       "engines": {
-        "node": ">=14"
-      },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-winston": {
-      "name": "@opentelemetry/instrumentation-winston",
-      "version": "0.38.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/schema-utils": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/api-logs": "^0.52.0",
-        "@opentelemetry/instrumentation": "^0.52.0"
-      },
-      "devDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-async-hooks": "^1.21.0",
-        "@opentelemetry/sdk-trace-base": "^1.21.0",
-        "@opentelemetry/sdk-trace-node": "^1.21.0",
-        "@opentelemetry/winston-transport": "^0.4.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "@types/triple-beam": "^1.3.2",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4",
-        "winston": "3.3.3",
-        "winston2": "npm:winston@2.4.7"
+        "@types/json-schema": "^7.0.8",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">= 10.13.0"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-document-load": {
-      "name": "@opentelemetry/instrumentation-document-load",
-      "version": "0.39.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/sinon": {
+      "version": "15.1.2",
+      "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
+      "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==",
+      "deprecated": "16.1.1",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/sdk-trace-base": "^1.0.0",
-        "@opentelemetry/sdk-trace-web": "^1.15.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
-      },
-      "devDependencies": {
-        "@babel/core": "7.22.17",
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
-        "@opentelemetry/api": "^1.3.0",
-        "@rollup/plugin-commonjs": "^26.0.0",
-        "@rollup/plugin-node-resolve": "^15.2.3",
-        "@types/chai": "^4.3.10",
-        "@types/mocha": "8.2.3",
-        "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "@web/dev-server-esbuild": "^1.0.1",
-        "@web/dev-server-rollup": "^0.6.1",
-        "@web/test-runner": "^0.18.0",
-        "chai": "^4.3.10",
-        "sinon": "15.2.0",
-        "typescript": "4.4.4"
-      },
-      "engines": {
-        "node": ">=14"
+        "@sinonjs/commons": "^3.0.0",
+        "@sinonjs/fake-timers": "^10.1.0",
+        "@sinonjs/samsam": "^8.0.0",
+        "diff": "^5.1.0",
+        "nise": "^5.1.4",
+        "supports-color": "^7.2.0"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/sinon"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-document-load/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
-      "dev": true
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/sinon/node_modules/diff": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+      "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.3.1"
+      }
     },
-    "plugins/web/opentelemetry-instrumentation-long-task": {
-      "name": "@opentelemetry/instrumentation-long-task",
-      "version": "0.39.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/sinon/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/sdk-trace-web": "^1.8.0"
-      },
-      "devDependencies": {
-        "@babel/core": "7.22.17",
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@types/jquery": "3.5.20",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "@types/webpack-env": "1.16.2",
-        "babel-loader": "8.2.2",
-        "karma": "6.3.16",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
-        "karma-jquery": "0.2.4",
-        "karma-mocha": "2.0.1",
-        "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-loader": "8.3.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4",
-        "webpack": "4.46.0",
-        "webpack-cli": "4.7.2",
-        "webpack-merge": "5.8.0",
-        "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
+        "has-flag": "^4.0.0"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=8"
+      }
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/source-map": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/tapable": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/ts-loader": {
+      "version": "9.5.1",
+      "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+      "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "enhanced-resolve": "^5.0.0",
+        "micromatch": "^4.0.0",
+        "semver": "^7.3.4",
+        "source-map": "^0.7.4"
+      },
+      "engines": {
+        "node": ">=12.0.0"
       },
       "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0"
+        "typescript": "*",
+        "webpack": "^5.0.0"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-user-interaction": {
-      "name": "@opentelemetry/instrumentation-user-interaction",
-      "version": "0.39.0",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/webpack": {
+      "version": "5.89.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/sdk-trace-web": "^1.8.0"
+        "@types/eslint-scope": "^3.7.3",
+        "@types/estree": "^1.0.0",
+        "@webassemblyjs/ast": "^1.11.5",
+        "@webassemblyjs/wasm-edit": "^1.11.5",
+        "@webassemblyjs/wasm-parser": "^1.11.5",
+        "acorn": "^8.7.1",
+        "acorn-import-assertions": "^1.9.0",
+        "browserslist": "^4.14.5",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^5.15.0",
+        "es-module-lexer": "^1.2.1",
+        "eslint-scope": "5.1.1",
+        "events": "^3.2.0",
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.2.9",
+        "json-parse-even-better-errors": "^2.3.1",
+        "loader-runner": "^4.2.0",
+        "mime-types": "^2.1.27",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.2.0",
+        "tapable": "^2.1.1",
+        "terser-webpack-plugin": "^5.3.7",
+        "watchpack": "^2.4.0",
+        "webpack-sources": "^3.2.3"
       },
-      "devDependencies": {
-        "@babel/core": "7.22.17",
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/context-zone-peer-dep": "^1.8.0",
-        "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
-        "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@types/jquery": "3.5.20",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "@types/webpack-env": "1.16.2",
-        "babel-loader": "8.2.2",
-        "karma": "6.3.16",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
-        "karma-jquery": "0.2.4",
-        "karma-mocha": "2.0.1",
-        "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-loader": "8.3.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4",
-        "webpack": "4.46.0",
-        "webpack-cli": "4.7.2",
-        "webpack-merge": "5.8.0",
-        "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
+      "bin": {
+        "webpack": "bin/webpack.js"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=10.13.0"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.3.0",
-        "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependenciesMeta": {
+        "webpack-cli": {
+          "optional": true
+        }
       }
     },
-    "plugins/web/opentelemetry-plugin-react-load": {
-      "name": "@opentelemetry/plugin-react-load",
-      "version": "0.30.1",
-      "license": "Apache-2.0",
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/yargs": {
+      "version": "16.2.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+      "dev": true,
       "dependencies": {
-        "@opentelemetry/context-zone": "^1.0.0",
-        "@opentelemetry/core": "^1.0.0",
-        "@opentelemetry/sdk-trace-base": "^1.0.0",
-        "@opentelemetry/sdk-trace-web": "^1.0.0",
-        "shimmer": "^1.2.1"
-      },
-      "devDependencies": {
-        "@babel/core": "7.22.17",
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
-        "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/propagator-b3": "^1.3.1",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/react": "17.0.67",
-        "@types/react-addons-test-utils": "0.14.26",
-        "@types/react-dom": "18.0.2",
-        "@types/shimmer": "1.0.3",
-        "@types/sinon": "10.0.18",
-        "@types/webpack-env": "1.16.2",
-        "babel-loader": "8.2.2",
-        "karma": "6.3.16",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
-        "karma-mocha": "2.0.1",
-        "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "react": "17.0.2",
-        "react-dom": "17.0.2",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-loader": "8.3.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4",
-        "webpack": "4.46.0",
-        "webpack-cli": "4.7.2",
-        "webpack-merge": "5.8.0"
+        "cliui": "^7.0.2",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^20.2.2"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=10"
+      }
+    },
+    "plugins/web/opentelemetry-plugin-react-load/node_modules/yargs-unparser": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+      "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^6.0.0",
+        "decamelize": "^4.0.0",
+        "flat": "^5.0.2",
+        "is-plain-obj": "^2.1.0"
       },
-      "peerDependencies": {
-        "@opentelemetry/api": "^1.0.0",
-        "react": "^16.13.1 || ^17.0.0"
+      "engines": {
+        "node": ">=10"
       }
     },
     "propagators/opentelemetry-propagator-grpc-census-binary": {
@@ -39212,26 +41563,32 @@
       "version": "0.3.2",
       "license": "Apache-2.0",
       "devDependencies": {
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.0.0",
-        "@types/mocha": "8.2.3",
+        "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/webpack-env": "1.16.2",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
-        "karma": "6.3.17",
-        "karma-chrome-launcher": "3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "cross-var": "1.1.0",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
         "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
         "nyc": "15.1.0",
         "process": "0.11.10",
-        "ts-loader": "8.3.0",
+        "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "4.46.0",
-        "webpack-cli": "4.9.2"
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0"
       },
       "engines": {
         "node": ">=8.12.0"
@@ -39240,37 +41597,241 @@
         "@opentelemetry/api": "^1.0.0"
       }
     },
+    "propagators/opentelemetry-propagator-instana/node_modules/@babel/core": {
+      "version": "7.24.6",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+      "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+      "dev": true,
+      "dependencies": {
+        "@ampproject/remapping": "^2.2.0",
+        "@babel/code-frame": "^7.24.6",
+        "@babel/generator": "^7.24.6",
+        "@babel/helper-compilation-targets": "^7.24.6",
+        "@babel/helper-module-transforms": "^7.24.6",
+        "@babel/helpers": "^7.24.6",
+        "@babel/parser": "^7.24.6",
+        "@babel/template": "^7.24.6",
+        "@babel/traverse": "^7.24.6",
+        "@babel/types": "^7.24.6",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
     "propagators/opentelemetry-propagator-instana/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
+      "version": "10.0.6",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+      "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
       "dev": true
     },
-    "propagators/opentelemetry-propagator-instana/node_modules/colorette": {
-      "version": "2.0.20",
-      "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
-      "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
-      "dev": true
+    "propagators/opentelemetry-propagator-instana/node_modules/@types/sinon": {
+      "version": "17.0.3",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+      "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
+      "dev": true,
+      "dependencies": {
+        "@types/sinonjs__fake-timers": "*"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/ansi-colors": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/camelcase": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
     },
-    "propagators/opentelemetry-propagator-instana/node_modules/commander": {
+    "propagators/opentelemetry-propagator-instana/node_modules/chalk/node_modules/supports-color": {
       "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
-      "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
       "engines": {
-        "node": ">= 10"
+        "node": ">=8"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/chokidar": {
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://paulmillr.com/funding/"
+        }
+      ],
+      "dependencies": {
+        "anymatch": "~3.1.2",
+        "braces": "~3.0.2",
+        "glob-parent": "~5.1.2",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.6.0"
+      },
+      "engines": {
+        "node": ">= 8.10.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "dev": true
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/decamelize": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+      "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/diff": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+      "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.3.1"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/enhanced-resolve": {
+      "version": "5.17.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.x"
       }
     },
     "propagators/opentelemetry-propagator-instana/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+      "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
       "dev": true,
       "dependencies": {
         "fs.realpath": "^1.0.0",
         "inflight": "^1.0.4",
         "inherits": "2",
-        "minimatch": "^3.1.1",
+        "minimatch": "^3.0.4",
         "once": "^1.3.0",
         "path-is-absolute": "^1.0.0"
       },
@@ -39281,44 +41842,45 @@
         "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "propagators/opentelemetry-propagator-instana/node_modules/karma": {
-      "version": "6.3.17",
-      "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.17.tgz",
-      "integrity": "sha512-2TfjHwrRExC8yHoWlPBULyaLwAFmXmxQrcuFImt/JsAsSZu1uOWTZ1ZsWjqQtWpHLiatJOHL5jFjXSJIgCd01g==",
+    "propagators/opentelemetry-propagator-instana/node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
       "dev": true,
       "dependencies": {
-        "@colors/colors": "1.5.0",
-        "body-parser": "^1.19.0",
-        "braces": "^3.0.2",
-        "chokidar": "^3.5.1",
-        "connect": "^3.7.0",
-        "di": "^0.0.1",
-        "dom-serialize": "^2.2.1",
-        "glob": "^7.1.7",
-        "graceful-fs": "^4.2.6",
-        "http-proxy": "^1.18.1",
-        "isbinaryfile": "^4.0.8",
-        "lodash": "^4.17.21",
-        "log4js": "^6.4.1",
-        "mime": "^2.5.2",
-        "minimatch": "^3.0.4",
-        "mkdirp": "^0.5.5",
-        "qjobs": "^1.2.0",
-        "range-parser": "^1.2.1",
-        "rimraf": "^3.0.2",
-        "socket.io": "^4.2.0",
-        "source-map": "^0.6.1",
-        "tmp": "^0.2.1",
-        "ua-parser-js": "^0.7.30",
-        "yargs": "^16.1.1"
+        "is-glob": "^4.0.1"
       },
-      "bin": {
-        "karma": "bin/karma"
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/glob/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
       },
       "engines": {
-        "node": ">= 10"
+        "node": "*"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/is-plain-obj": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+      "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
       }
     },
+    "propagators/opentelemetry-propagator-instana/node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+      "dev": true
+    },
     "propagators/opentelemetry-propagator-instana/node_modules/karma-chrome-launcher": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz",
@@ -39328,84 +41890,200 @@
         "which": "^1.2.1"
       }
     },
+    "propagators/opentelemetry-propagator-instana/node_modules/log-symbols": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "is-unicode-supported": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "propagators/opentelemetry-propagator-instana/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+      "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
       "dev": true,
       "dependencies": {
-        "brace-expansion": "^1.1.7"
+        "brace-expansion": "^2.0.1"
       },
       "engines": {
-        "node": "*"
+        "node": ">=10"
       }
     },
-    "propagators/opentelemetry-propagator-instana/node_modules/mkdirp": {
-      "version": "0.5.6",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+    "propagators/opentelemetry-propagator-instana/node_modules/minimatch/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
       "dev": true,
       "dependencies": {
-        "minimist": "^1.2.6"
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/mocha": {
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+      "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-colors": "4.1.1",
+        "browser-stdout": "1.3.1",
+        "chokidar": "3.5.3",
+        "debug": "4.3.4",
+        "diff": "5.0.0",
+        "escape-string-regexp": "4.0.0",
+        "find-up": "5.0.0",
+        "glob": "7.2.0",
+        "he": "1.2.0",
+        "js-yaml": "4.1.0",
+        "log-symbols": "4.1.0",
+        "minimatch": "5.0.1",
+        "ms": "2.1.3",
+        "nanoid": "3.3.3",
+        "serialize-javascript": "6.0.0",
+        "strip-json-comments": "3.1.1",
+        "supports-color": "8.1.1",
+        "workerpool": "6.2.1",
+        "yargs": "16.2.0",
+        "yargs-parser": "20.2.4",
+        "yargs-unparser": "2.0.0"
       },
       "bin": {
-        "mkdirp": "bin/cmd.js"
+        "_mocha": "bin/_mocha",
+        "mocha": "bin/mocha.js"
+      },
+      "engines": {
+        "node": ">= 14.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/mochajs"
       }
     },
-    "propagators/opentelemetry-propagator-instana/node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+    "propagators/opentelemetry-propagator-instana/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "dev": true
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/nanoid": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+      "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+      "dev": true,
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
+      "engines": {
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/schema-utils": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
       "dev": true,
       "dependencies": {
-        "glob": "^7.1.3"
+        "@types/json-schema": "^7.0.8",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
       },
-      "bin": {
-        "rimraf": "bin.js"
+      "engines": {
+        "node": ">= 10.13.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
       }
     },
-    "propagators/opentelemetry-propagator-instana/node_modules/webpack-cli": {
-      "version": "4.9.2",
-      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz",
-      "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==",
+    "propagators/opentelemetry-propagator-instana/node_modules/source-map": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/tapable": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/ts-loader": {
+      "version": "9.5.1",
+      "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+      "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
       "dev": true,
       "dependencies": {
-        "@discoveryjs/json-ext": "^0.5.0",
-        "@webpack-cli/configtest": "^1.1.1",
-        "@webpack-cli/info": "^1.4.1",
-        "@webpack-cli/serve": "^1.6.1",
-        "colorette": "^2.0.14",
-        "commander": "^7.0.0",
-        "execa": "^5.0.0",
-        "fastest-levenshtein": "^1.0.12",
-        "import-local": "^3.0.2",
-        "interpret": "^2.2.0",
-        "rechoir": "^0.7.0",
-        "webpack-merge": "^5.7.3"
+        "chalk": "^4.1.0",
+        "enhanced-resolve": "^5.0.0",
+        "micromatch": "^4.0.0",
+        "semver": "^7.3.4",
+        "source-map": "^0.7.4"
+      },
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "peerDependencies": {
+        "typescript": "*",
+        "webpack": "^5.0.0"
+      }
+    },
+    "propagators/opentelemetry-propagator-instana/node_modules/webpack": {
+      "version": "5.89.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+      "dev": true,
+      "dependencies": {
+        "@types/eslint-scope": "^3.7.3",
+        "@types/estree": "^1.0.0",
+        "@webassemblyjs/ast": "^1.11.5",
+        "@webassemblyjs/wasm-edit": "^1.11.5",
+        "@webassemblyjs/wasm-parser": "^1.11.5",
+        "acorn": "^8.7.1",
+        "acorn-import-assertions": "^1.9.0",
+        "browserslist": "^4.14.5",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^5.15.0",
+        "es-module-lexer": "^1.2.1",
+        "eslint-scope": "5.1.1",
+        "events": "^3.2.0",
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.2.9",
+        "json-parse-even-better-errors": "^2.3.1",
+        "loader-runner": "^4.2.0",
+        "mime-types": "^2.1.27",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.2.0",
+        "tapable": "^2.1.1",
+        "terser-webpack-plugin": "^5.3.7",
+        "watchpack": "^2.4.0",
+        "webpack-sources": "^3.2.3"
       },
       "bin": {
-        "webpack-cli": "bin/cli.js"
+        "webpack": "bin/webpack.js"
       },
       "engines": {
         "node": ">=10.13.0"
       },
-      "peerDependencies": {
-        "webpack": "4.x.x || 5.x.x"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
       },
       "peerDependenciesMeta": {
-        "@webpack-cli/generators": {
-          "optional": true
-        },
-        "@webpack-cli/migrate": {
-          "optional": true
-        },
-        "webpack-bundle-analyzer": {
-          "optional": true
-        },
-        "webpack-dev-server": {
+        "webpack-cli": {
           "optional": true
         }
       }
@@ -39440,28 +42118,52 @@
         "node": ">=10"
       }
     },
+    "propagators/opentelemetry-propagator-instana/node_modules/yargs-unparser": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+      "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^6.0.0",
+        "decamelize": "^4.0.0",
+        "flat": "^5.0.2",
+        "is-plain-obj": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "propagators/opentelemetry-propagator-ot-trace": {
       "name": "@opentelemetry/propagator-ot-trace",
       "version": "0.27.2",
       "license": "Apache-2.0",
       "devDependencies": {
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.0.0",
-        "@types/mocha": "8.2.3",
+        "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/webpack-env": "1.16.2",
-        "karma": "6.3.16",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
+        "assert": "2.0.0",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "cross-var": "1.1.0",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
         "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
         "nyc": "15.1.0",
-        "ts-loader": "8.3.0",
+        "sinon": "15.1.2",
+        "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "4.46.0"
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0"
       },
       "engines": {
         "node": ">=14"
@@ -39470,11 +42172,569 @@
         "@opentelemetry/api": "^1.0.0"
       }
     },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/@babel/core": {
+      "version": "7.24.6",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+      "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+      "dev": true,
+      "dependencies": {
+        "@ampproject/remapping": "^2.2.0",
+        "@babel/code-frame": "^7.24.6",
+        "@babel/generator": "^7.24.6",
+        "@babel/helper-compilation-targets": "^7.24.6",
+        "@babel/helper-module-transforms": "^7.24.6",
+        "@babel/helpers": "^7.24.6",
+        "@babel/parser": "^7.24.6",
+        "@babel/template": "^7.24.6",
+        "@babel/traverse": "^7.24.6",
+        "@babel/types": "^7.24.6",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/@sinonjs/commons": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+      "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+      "dev": true,
+      "dependencies": {
+        "type-detect": "4.0.8"
+      }
+    },
     "propagators/opentelemetry-propagator-ot-trace/node_modules/@types/mocha": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-      "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
+      "version": "10.0.6",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+      "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
+      "dev": true
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/@types/sinon": {
+      "version": "17.0.3",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+      "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
+      "dev": true,
+      "dependencies": {
+        "@types/sinonjs__fake-timers": "*"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/ansi-colors": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/camelcase": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/chalk/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/chokidar": {
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://paulmillr.com/funding/"
+        }
+      ],
+      "dependencies": {
+        "anymatch": "~3.1.2",
+        "braces": "~3.0.2",
+        "glob-parent": "~5.1.2",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.6.0"
+      },
+      "engines": {
+        "node": ">= 8.10.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "dev": true
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/decamelize": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+      "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/diff": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+      "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.3.1"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/enhanced-resolve": {
+      "version": "5.17.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.x"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/glob": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+      "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/glob/node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/is-plain-obj": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+      "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
       "dev": true
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/log-symbols": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "is-unicode-supported": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/minimatch": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+      "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/minimatch/node_modules/brace-expansion": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/mocha": {
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+      "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-colors": "4.1.1",
+        "browser-stdout": "1.3.1",
+        "chokidar": "3.5.3",
+        "debug": "4.3.4",
+        "diff": "5.0.0",
+        "escape-string-regexp": "4.0.0",
+        "find-up": "5.0.0",
+        "glob": "7.2.0",
+        "he": "1.2.0",
+        "js-yaml": "4.1.0",
+        "log-symbols": "4.1.0",
+        "minimatch": "5.0.1",
+        "ms": "2.1.3",
+        "nanoid": "3.3.3",
+        "serialize-javascript": "6.0.0",
+        "strip-json-comments": "3.1.1",
+        "supports-color": "8.1.1",
+        "workerpool": "6.2.1",
+        "yargs": "16.2.0",
+        "yargs-parser": "20.2.4",
+        "yargs-unparser": "2.0.0"
+      },
+      "bin": {
+        "_mocha": "bin/_mocha",
+        "mocha": "bin/mocha.js"
+      },
+      "engines": {
+        "node": ">= 14.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/mochajs"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "dev": true
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/nanoid": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+      "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+      "dev": true,
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
+      "engines": {
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/schema-utils": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+      "dev": true,
+      "dependencies": {
+        "@types/json-schema": "^7.0.8",
+        "ajv": "^6.12.5",
+        "ajv-keywords": "^3.5.2"
+      },
+      "engines": {
+        "node": ">= 10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/sinon": {
+      "version": "15.1.2",
+      "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
+      "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==",
+      "deprecated": "16.1.1",
+      "dev": true,
+      "dependencies": {
+        "@sinonjs/commons": "^3.0.0",
+        "@sinonjs/fake-timers": "^10.1.0",
+        "@sinonjs/samsam": "^8.0.0",
+        "diff": "^5.1.0",
+        "nise": "^5.1.4",
+        "supports-color": "^7.2.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/sinon"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/sinon/node_modules/diff": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+      "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.3.1"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/sinon/node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/source-map": {
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/tapable": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/ts-loader": {
+      "version": "9.5.1",
+      "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+      "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^4.1.0",
+        "enhanced-resolve": "^5.0.0",
+        "micromatch": "^4.0.0",
+        "semver": "^7.3.4",
+        "source-map": "^0.7.4"
+      },
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "peerDependencies": {
+        "typescript": "*",
+        "webpack": "^5.0.0"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/webpack": {
+      "version": "5.89.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+      "dev": true,
+      "dependencies": {
+        "@types/eslint-scope": "^3.7.3",
+        "@types/estree": "^1.0.0",
+        "@webassemblyjs/ast": "^1.11.5",
+        "@webassemblyjs/wasm-edit": "^1.11.5",
+        "@webassemblyjs/wasm-parser": "^1.11.5",
+        "acorn": "^8.7.1",
+        "acorn-import-assertions": "^1.9.0",
+        "browserslist": "^4.14.5",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^5.15.0",
+        "es-module-lexer": "^1.2.1",
+        "eslint-scope": "5.1.1",
+        "events": "^3.2.0",
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.2.9",
+        "json-parse-even-better-errors": "^2.3.1",
+        "loader-runner": "^4.2.0",
+        "mime-types": "^2.1.27",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.2.0",
+        "tapable": "^2.1.1",
+        "terser-webpack-plugin": "^5.3.7",
+        "watchpack": "^2.4.0",
+        "webpack-sources": "^3.2.3"
+      },
+      "bin": {
+        "webpack": "bin/webpack.js"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependenciesMeta": {
+        "webpack-cli": {
+          "optional": true
+        }
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/yargs": {
+      "version": "16.2.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+      "dev": true,
+      "dependencies": {
+        "cliui": "^7.0.2",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^20.2.2"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "propagators/opentelemetry-propagator-ot-trace/node_modules/yargs-unparser": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+      "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^6.0.0",
+        "decamelize": "^4.0.0",
+        "flat": "^5.0.2",
+        "is-plain-obj": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
     }
   },
   "dependencies": {
@@ -42571,19 +45831,19 @@
       }
     },
     "@babel/code-frame": {
-      "version": "7.23.5",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
-      "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+      "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
       "dev": true,
       "requires": {
-        "@babel/highlight": "^7.23.4",
-        "chalk": "^2.4.2"
+        "@babel/highlight": "^7.24.7",
+        "picocolors": "^1.0.0"
       }
     },
     "@babel/compat-data": {
-      "version": "7.23.5",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
-      "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz",
+      "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==",
       "dev": true
     },
     "@babel/core": {
@@ -42618,25 +45878,44 @@
       }
     },
     "@babel/generator": {
-      "version": "7.23.6",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
-      "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
+      "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.23.6",
-        "@jridgewell/gen-mapping": "^0.3.2",
-        "@jridgewell/trace-mapping": "^0.3.17",
+        "@babel/types": "^7.24.7",
+        "@jridgewell/gen-mapping": "^0.3.5",
+        "@jridgewell/trace-mapping": "^0.3.25",
         "jsesc": "^2.5.1"
       }
     },
+    "@babel/helper-annotate-as-pure": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz",
+      "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.24.7"
+      }
+    },
+    "@babel/helper-builder-binary-assignment-operator-visitor": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz",
+      "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==",
+      "dev": true,
+      "requires": {
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
+      }
+    },
     "@babel/helper-compilation-targets": {
-      "version": "7.23.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
-      "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz",
+      "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==",
       "dev": true,
       "requires": {
-        "@babel/compat-data": "^7.23.5",
-        "@babel/helper-validator-option": "^7.23.5",
+        "@babel/compat-data": "^7.24.7",
+        "@babel/helper-validator-option": "^7.24.7",
         "browserslist": "^4.22.2",
         "lru-cache": "^5.1.1",
         "semver": "^6.3.1"
@@ -42650,154 +45929,1109 @@
         }
       }
     },
+    "@babel/helper-create-class-features-plugin": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz",
+      "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.24.7",
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-function-name": "^7.24.7",
+        "@babel/helper-member-expression-to-functions": "^7.24.7",
+        "@babel/helper-optimise-call-expression": "^7.24.7",
+        "@babel/helper-replace-supers": "^7.24.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
+        "@babel/helper-split-export-declaration": "^7.24.7",
+        "semver": "^6.3.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+          "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+          "dev": true
+        }
+      }
+    },
+    "@babel/helper-create-regexp-features-plugin": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz",
+      "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.24.7",
+        "regexpu-core": "^5.3.1",
+        "semver": "^6.3.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+          "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+          "dev": true
+        }
+      }
+    },
+    "@babel/helper-define-polyfill-provider": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz",
+      "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-compilation-targets": "^7.22.6",
+        "@babel/helper-plugin-utils": "^7.22.5",
+        "debug": "^4.1.1",
+        "lodash.debounce": "^4.0.8",
+        "resolve": "^1.14.2"
+      }
+    },
     "@babel/helper-environment-visitor": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
-      "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
-      "dev": true
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
+      "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.24.7"
+      }
     },
     "@babel/helper-function-name": {
-      "version": "7.23.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
-      "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
+      "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.22.15",
-        "@babel/types": "^7.23.0"
+        "@babel/template": "^7.24.7",
+        "@babel/types": "^7.24.7"
       }
     },
     "@babel/helper-hoist-variables": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
-      "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
+      "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.24.7"
+      }
+    },
+    "@babel/helper-member-expression-to-functions": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz",
+      "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.22.5"
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
       }
     },
     "@babel/helper-module-imports": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
-      "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
+      "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.22.15"
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
       }
     },
     "@babel/helper-module-transforms": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
-      "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz",
+      "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-module-imports": "^7.24.7",
+        "@babel/helper-simple-access": "^7.24.7",
+        "@babel/helper-split-export-declaration": "^7.24.7",
+        "@babel/helper-validator-identifier": "^7.24.7"
+      }
+    },
+    "@babel/helper-optimise-call-expression": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz",
+      "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.24.7"
+      }
+    },
+    "@babel/helper-plugin-utils": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz",
+      "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==",
+      "dev": true
+    },
+    "@babel/helper-remap-async-to-generator": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz",
+      "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.24.7",
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-wrap-function": "^7.24.7"
+      }
+    },
+    "@babel/helper-replace-supers": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz",
+      "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==",
       "dev": true,
       "requires": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-module-imports": "^7.22.15",
-        "@babel/helper-simple-access": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/helper-validator-identifier": "^7.22.20"
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-member-expression-to-functions": "^7.24.7",
+        "@babel/helper-optimise-call-expression": "^7.24.7"
       }
     },
     "@babel/helper-simple-access": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
-      "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
+      "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.22.5"
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
+      }
+    },
+    "@babel/helper-skip-transparent-expression-wrappers": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz",
+      "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==",
+      "dev": true,
+      "requires": {
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
       }
     },
     "@babel/helper-split-export-declaration": {
-      "version": "7.22.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
-      "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
+      "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.22.5"
+        "@babel/types": "^7.24.7"
       }
     },
     "@babel/helper-string-parser": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
-      "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
+      "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
       "dev": true
     },
     "@babel/helper-validator-identifier": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-      "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+      "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
       "dev": true
     },
     "@babel/helper-validator-option": {
-      "version": "7.23.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
-      "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz",
+      "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==",
       "dev": true
     },
+    "@babel/helper-wrap-function": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz",
+      "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-function-name": "^7.24.7",
+        "@babel/template": "^7.24.7",
+        "@babel/traverse": "^7.24.7",
+        "@babel/types": "^7.24.7"
+      }
+    },
     "@babel/helpers": {
-      "version": "7.23.9",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz",
-      "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz",
+      "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.23.9",
-        "@babel/traverse": "^7.23.9",
-        "@babel/types": "^7.23.9"
+        "@babel/template": "^7.24.7",
+        "@babel/types": "^7.24.7"
       }
     },
     "@babel/highlight": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
-      "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+      "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
       "dev": true,
       "requires": {
-        "@babel/helper-validator-identifier": "^7.22.20",
+        "@babel/helper-validator-identifier": "^7.24.7",
         "chalk": "^2.4.2",
-        "js-tokens": "^4.0.0"
+        "js-tokens": "^4.0.0",
+        "picocolors": "^1.0.0"
       }
     },
     "@babel/parser": {
-      "version": "7.23.9",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz",
-      "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
+      "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
+      "dev": true
+    },
+    "@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz",
+      "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz",
+      "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz",
+      "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
+        "@babel/plugin-transform-optional-chaining": "^7.24.7"
+      }
+    },
+    "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz",
+      "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-proposal-private-property-in-object": {
+      "version": "7.21.0-placeholder-for-preset-env.2",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
+      "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
+      "dev": true,
+      "requires": {}
+    },
+    "@babel/plugin-syntax-async-generators": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-class-properties": {
+      "version": "7.12.13",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.12.13"
+      }
+    },
+    "@babel/plugin-syntax-class-static-block": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.14.5"
+      }
+    },
+    "@babel/plugin-syntax-dynamic-import": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-export-namespace-from": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-syntax-import-assertions": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz",
+      "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-syntax-import-attributes": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz",
+      "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-syntax-import-meta": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+      "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-json-strings": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-logical-assignment-operators": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-nullish-coalescing-operator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-numeric-separator": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-object-rest-spread": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-optional-catch-binding": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-optional-chaining": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-private-property-in-object": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.14.5"
+      }
+    },
+    "@babel/plugin-syntax-top-level-await": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.14.5"
+      }
+    },
+    "@babel/plugin-syntax-unicode-sets-regex": {
+      "version": "7.18.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
+      "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+        "@babel/helper-plugin-utils": "^7.18.6"
+      }
+    },
+    "@babel/plugin-transform-arrow-functions": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz",
+      "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-async-generator-functions": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz",
+      "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-remap-async-to-generator": "^7.24.7",
+        "@babel/plugin-syntax-async-generators": "^7.8.4"
+      }
+    },
+    "@babel/plugin-transform-async-to-generator": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz",
+      "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-imports": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-remap-async-to-generator": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-block-scoped-functions": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz",
+      "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-block-scoping": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz",
+      "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-class-properties": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz",
+      "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-class-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-class-static-block": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz",
+      "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-class-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-class-static-block": "^7.14.5"
+      }
+    },
+    "@babel/plugin-transform-classes": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz",
+      "integrity": "sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.24.7",
+        "@babel/helper-compilation-targets": "^7.24.7",
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-function-name": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-replace-supers": "^7.24.7",
+        "@babel/helper-split-export-declaration": "^7.24.7",
+        "globals": "^11.1.0"
+      }
+    },
+    "@babel/plugin-transform-computed-properties": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz",
+      "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/template": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-destructuring": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz",
+      "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-dotall-regex": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz",
+      "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-duplicate-keys": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz",
+      "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-dynamic-import": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz",
+      "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-exponentiation-operator": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz",
+      "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-export-namespace-from": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz",
+      "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-for-of": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz",
+      "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-function-name": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz",
+      "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-compilation-targets": "^7.24.7",
+        "@babel/helper-function-name": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-json-strings": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz",
+      "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-json-strings": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-literals": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz",
+      "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-logical-assignment-operators": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz",
+      "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+      }
+    },
+    "@babel/plugin-transform-member-expression-literals": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz",
+      "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-modules-amd": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz",
+      "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-transforms": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-modules-commonjs": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz",
+      "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-transforms": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-simple-access": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-modules-systemjs": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz",
+      "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-hoist-variables": "^7.24.7",
+        "@babel/helper-module-transforms": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-validator-identifier": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-modules-umd": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz",
+      "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-transforms": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-named-capturing-groups-regex": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz",
+      "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-new-target": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz",
+      "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-nullish-coalescing-operator": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz",
+      "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-numeric-separator": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz",
+      "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+      }
+    },
+    "@babel/plugin-transform-object-rest-spread": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz",
+      "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-compilation-targets": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+        "@babel/plugin-transform-parameters": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-object-super": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz",
+      "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-replace-supers": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-optional-catch-binding": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz",
+      "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-optional-chaining": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz",
+      "integrity": "sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-parameters": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz",
+      "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-private-methods": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz",
+      "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-class-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-private-property-in-object": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz",
+      "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.24.7",
+        "@babel/helper-create-class-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+      }
+    },
+    "@babel/plugin-transform-property-literals": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz",
+      "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-regenerator": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz",
+      "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "regenerator-transform": "^0.15.2"
+      }
+    },
+    "@babel/plugin-transform-reserved-words": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz",
+      "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-shorthand-properties": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz",
+      "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-spread": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz",
+      "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-sticky-regex": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz",
+      "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-template-literals": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz",
+      "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-typeof-symbol": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz",
+      "integrity": "sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-unicode-escapes": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz",
+      "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-unicode-property-regex": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz",
+      "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-unicode-regex": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz",
+      "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/plugin-transform-unicode-sets-regex": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz",
+      "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.24.7",
+        "@babel/helper-plugin-utils": "^7.24.7"
+      }
+    },
+    "@babel/preset-env": {
+      "version": "7.24.6",
+      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.6.tgz",
+      "integrity": "sha512-CrxEAvN7VxfjOG8JNF2Y/eMqMJbZPZ185amwGUBp8D9USK90xQmv7dLdFSa+VbD7fdIqcy/Mfv7WtzG8+/qxKg==",
+      "dev": true,
+      "requires": {
+        "@babel/compat-data": "^7.24.6",
+        "@babel/helper-compilation-targets": "^7.24.6",
+        "@babel/helper-plugin-utils": "^7.24.6",
+        "@babel/helper-validator-option": "^7.24.6",
+        "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.6",
+        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.6",
+        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.6",
+        "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.6",
+        "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
+        "@babel/plugin-syntax-async-generators": "^7.8.4",
+        "@babel/plugin-syntax-class-properties": "^7.12.13",
+        "@babel/plugin-syntax-class-static-block": "^7.14.5",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+        "@babel/plugin-syntax-import-assertions": "^7.24.6",
+        "@babel/plugin-syntax-import-attributes": "^7.24.6",
+        "@babel/plugin-syntax-import-meta": "^7.10.4",
+        "@babel/plugin-syntax-json-strings": "^7.8.3",
+        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+        "@babel/plugin-syntax-top-level-await": "^7.14.5",
+        "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
+        "@babel/plugin-transform-arrow-functions": "^7.24.6",
+        "@babel/plugin-transform-async-generator-functions": "^7.24.6",
+        "@babel/plugin-transform-async-to-generator": "^7.24.6",
+        "@babel/plugin-transform-block-scoped-functions": "^7.24.6",
+        "@babel/plugin-transform-block-scoping": "^7.24.6",
+        "@babel/plugin-transform-class-properties": "^7.24.6",
+        "@babel/plugin-transform-class-static-block": "^7.24.6",
+        "@babel/plugin-transform-classes": "^7.24.6",
+        "@babel/plugin-transform-computed-properties": "^7.24.6",
+        "@babel/plugin-transform-destructuring": "^7.24.6",
+        "@babel/plugin-transform-dotall-regex": "^7.24.6",
+        "@babel/plugin-transform-duplicate-keys": "^7.24.6",
+        "@babel/plugin-transform-dynamic-import": "^7.24.6",
+        "@babel/plugin-transform-exponentiation-operator": "^7.24.6",
+        "@babel/plugin-transform-export-namespace-from": "^7.24.6",
+        "@babel/plugin-transform-for-of": "^7.24.6",
+        "@babel/plugin-transform-function-name": "^7.24.6",
+        "@babel/plugin-transform-json-strings": "^7.24.6",
+        "@babel/plugin-transform-literals": "^7.24.6",
+        "@babel/plugin-transform-logical-assignment-operators": "^7.24.6",
+        "@babel/plugin-transform-member-expression-literals": "^7.24.6",
+        "@babel/plugin-transform-modules-amd": "^7.24.6",
+        "@babel/plugin-transform-modules-commonjs": "^7.24.6",
+        "@babel/plugin-transform-modules-systemjs": "^7.24.6",
+        "@babel/plugin-transform-modules-umd": "^7.24.6",
+        "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.6",
+        "@babel/plugin-transform-new-target": "^7.24.6",
+        "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.6",
+        "@babel/plugin-transform-numeric-separator": "^7.24.6",
+        "@babel/plugin-transform-object-rest-spread": "^7.24.6",
+        "@babel/plugin-transform-object-super": "^7.24.6",
+        "@babel/plugin-transform-optional-catch-binding": "^7.24.6",
+        "@babel/plugin-transform-optional-chaining": "^7.24.6",
+        "@babel/plugin-transform-parameters": "^7.24.6",
+        "@babel/plugin-transform-private-methods": "^7.24.6",
+        "@babel/plugin-transform-private-property-in-object": "^7.24.6",
+        "@babel/plugin-transform-property-literals": "^7.24.6",
+        "@babel/plugin-transform-regenerator": "^7.24.6",
+        "@babel/plugin-transform-reserved-words": "^7.24.6",
+        "@babel/plugin-transform-shorthand-properties": "^7.24.6",
+        "@babel/plugin-transform-spread": "^7.24.6",
+        "@babel/plugin-transform-sticky-regex": "^7.24.6",
+        "@babel/plugin-transform-template-literals": "^7.24.6",
+        "@babel/plugin-transform-typeof-symbol": "^7.24.6",
+        "@babel/plugin-transform-unicode-escapes": "^7.24.6",
+        "@babel/plugin-transform-unicode-property-regex": "^7.24.6",
+        "@babel/plugin-transform-unicode-regex": "^7.24.6",
+        "@babel/plugin-transform-unicode-sets-regex": "^7.24.6",
+        "@babel/preset-modules": "0.1.6-no-external-plugins",
+        "babel-plugin-polyfill-corejs2": "^0.4.10",
+        "babel-plugin-polyfill-corejs3": "^0.10.4",
+        "babel-plugin-polyfill-regenerator": "^0.6.1",
+        "core-js-compat": "^3.31.0",
+        "semver": "^6.3.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+          "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+          "dev": true
+        }
+      }
+    },
+    "@babel/preset-modules": {
+      "version": "0.1.6-no-external-plugins",
+      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
+      "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@babel/types": "^7.4.4",
+        "esutils": "^2.0.2"
+      }
+    },
+    "@babel/regjsgen": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
+      "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
       "dev": true
     },
+    "@babel/runtime": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
+      "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
+      "dev": true,
+      "requires": {
+        "regenerator-runtime": "^0.14.0"
+      },
+      "dependencies": {
+        "regenerator-runtime": {
+          "version": "0.14.1",
+          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+          "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+          "dev": true
+        }
+      }
+    },
     "@babel/template": {
-      "version": "7.23.9",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz",
-      "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
+      "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.23.5",
-        "@babel/parser": "^7.23.9",
-        "@babel/types": "^7.23.9"
+        "@babel/code-frame": "^7.24.7",
+        "@babel/parser": "^7.24.7",
+        "@babel/types": "^7.24.7"
       }
     },
     "@babel/traverse": {
-      "version": "7.23.9",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz",
-      "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.23.5",
-        "@babel/generator": "^7.23.6",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-hoist-variables": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/parser": "^7.23.9",
-        "@babel/types": "^7.23.9",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
+      "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
+      "dev": true,
+      "requires": {
+        "@babel/code-frame": "^7.24.7",
+        "@babel/generator": "^7.24.7",
+        "@babel/helper-environment-visitor": "^7.24.7",
+        "@babel/helper-function-name": "^7.24.7",
+        "@babel/helper-hoist-variables": "^7.24.7",
+        "@babel/helper-split-export-declaration": "^7.24.7",
+        "@babel/parser": "^7.24.7",
+        "@babel/types": "^7.24.7",
         "debug": "^4.3.1",
         "globals": "^11.1.0"
       }
     },
     "@babel/types": {
-      "version": "7.23.9",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz",
-      "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==",
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
+      "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-string-parser": "^7.23.4",
-        "@babel/helper-validator-identifier": "^7.22.20",
+        "@babel/helper-string-parser": "^7.24.7",
+        "@babel/helper-validator-identifier": "^7.24.7",
         "to-fast-properties": "^2.0.0"
       }
     },
@@ -44345,14 +48579,14 @@
       }
     },
     "@jridgewell/gen-mapping": {
-      "version": "0.3.3",
-      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
-      "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+      "version": "0.3.5",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+      "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
       "dev": true,
       "requires": {
-        "@jridgewell/set-array": "^1.0.1",
+        "@jridgewell/set-array": "^1.2.1",
         "@jridgewell/sourcemap-codec": "^1.4.10",
-        "@jridgewell/trace-mapping": "^0.3.9"
+        "@jridgewell/trace-mapping": "^0.3.24"
       }
     },
     "@jridgewell/resolve-uri": {
@@ -44362,11 +48596,21 @@
       "dev": true
     },
     "@jridgewell/set-array": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
-      "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+      "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
       "dev": true
     },
+    "@jridgewell/source-map": {
+      "version": "0.3.6",
+      "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
+      "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/gen-mapping": "^0.3.5",
+        "@jridgewell/trace-mapping": "^0.3.25"
+      }
+    },
     "@jridgewell/sourcemap-codec": {
       "version": "1.4.15",
       "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
@@ -44374,9 +48618,9 @@
       "dev": true
     },
     "@jridgewell/trace-mapping": {
-      "version": "0.3.22",
-      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz",
-      "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==",
+      "version": "0.3.25",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+      "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
       "dev": true,
       "requires": {
         "@jridgewell/resolve-uri": "^3.1.0",
@@ -45999,218 +50243,626 @@
           "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==",
           "dev": true
         },
-        "@octokit/types": {
-          "version": "6.41.0",
-          "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
-          "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
+        "@octokit/types": {
+          "version": "6.41.0",
+          "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
+          "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
+          "dev": true,
+          "requires": {
+            "@octokit/openapi-types": "^12.11.0"
+          }
+        }
+      }
+    },
+    "@octokit/plugin-request-log": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
+      "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==",
+      "dev": true,
+      "requires": {}
+    },
+    "@octokit/plugin-rest-endpoint-methods": {
+      "version": "6.8.1",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz",
+      "integrity": "sha512-QrlaTm8Lyc/TbU7BL/8bO49vp+RZ6W3McxxmmQTgYxf2sWkO8ZKuj4dLhPNJD6VCUW1hetCmeIM0m6FTVpDiEg==",
+      "dev": true,
+      "requires": {
+        "@octokit/types": "^8.1.1",
+        "deprecation": "^2.3.1"
+      },
+      "dependencies": {
+        "@octokit/openapi-types": {
+          "version": "14.0.0",
+          "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz",
+          "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==",
+          "dev": true
+        },
+        "@octokit/types": {
+          "version": "8.2.1",
+          "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.2.1.tgz",
+          "integrity": "sha512-8oWMUji8be66q2B9PmEIUyQm00VPDPun07umUWSaCwxmeaquFBro4Hcc3ruVoDo3zkQyZBlRvhIMEYS3pBhanw==",
+          "dev": true,
+          "requires": {
+            "@octokit/openapi-types": "^14.0.0"
+          }
+        }
+      }
+    },
+    "@octokit/request": {
+      "version": "6.2.8",
+      "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz",
+      "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==",
+      "dev": true,
+      "requires": {
+        "@octokit/endpoint": "^7.0.0",
+        "@octokit/request-error": "^3.0.0",
+        "@octokit/types": "^9.0.0",
+        "is-plain-object": "^5.0.0",
+        "node-fetch": "^2.6.7",
+        "universal-user-agent": "^6.0.0"
+      },
+      "dependencies": {
+        "is-plain-object": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+          "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+          "dev": true
+        }
+      }
+    },
+    "@octokit/request-error": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz",
+      "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==",
+      "dev": true,
+      "requires": {
+        "@octokit/types": "^9.0.0",
+        "deprecation": "^2.0.0",
+        "once": "^1.4.0"
+      }
+    },
+    "@octokit/rest": {
+      "version": "19.0.3",
+      "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.3.tgz",
+      "integrity": "sha512-5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ==",
+      "dev": true,
+      "requires": {
+        "@octokit/core": "^4.0.0",
+        "@octokit/plugin-paginate-rest": "^3.0.0",
+        "@octokit/plugin-request-log": "^1.0.4",
+        "@octokit/plugin-rest-endpoint-methods": "^6.0.0"
+      }
+    },
+    "@octokit/types": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz",
+      "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==",
+      "dev": true,
+      "requires": {
+        "@octokit/openapi-types": "^18.0.0"
+      }
+    },
+    "@opentelemetry/api": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
+      "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="
+    },
+    "@opentelemetry/api-logs": {
+      "version": "0.52.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.0.tgz",
+      "integrity": "sha512-HxjD7xH9iAE4OyhNaaSec65i1H6QZYBWSwWkowFfsc5YAcDvJG30/J1sRKXEQqdmUcKTXEAnA66UciqZha/4+Q==",
+      "requires": {
+        "@opentelemetry/api": "^1.0.0"
+      }
+    },
+    "@opentelemetry/auto-instrumentations-node": {
+      "version": "file:metapackages/auto-instrumentations-node",
+      "requires": {
+        "@opentelemetry/api": "^1.4.1",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation-amqplib": "^0.38.0",
+        "@opentelemetry/instrumentation-aws-lambda": "^0.42.0",
+        "@opentelemetry/instrumentation-aws-sdk": "^0.42.0",
+        "@opentelemetry/instrumentation-bunyan": "^0.39.0",
+        "@opentelemetry/instrumentation-cassandra-driver": "^0.39.0",
+        "@opentelemetry/instrumentation-connect": "^0.37.0",
+        "@opentelemetry/instrumentation-cucumber": "^0.7.0",
+        "@opentelemetry/instrumentation-dataloader": "^0.10.0",
+        "@opentelemetry/instrumentation-dns": "^0.37.0",
+        "@opentelemetry/instrumentation-express": "^0.40.1",
+        "@opentelemetry/instrumentation-fastify": "^0.37.0",
+        "@opentelemetry/instrumentation-fs": "^0.13.0",
+        "@opentelemetry/instrumentation-generic-pool": "^0.37.0",
+        "@opentelemetry/instrumentation-graphql": "^0.41.0",
+        "@opentelemetry/instrumentation-grpc": "^0.52.0",
+        "@opentelemetry/instrumentation-hapi": "^0.39.0",
+        "@opentelemetry/instrumentation-http": "^0.52.0",
+        "@opentelemetry/instrumentation-ioredis": "^0.41.0",
+        "@opentelemetry/instrumentation-knex": "^0.37.0",
+        "@opentelemetry/instrumentation-koa": "^0.41.0",
+        "@opentelemetry/instrumentation-lru-memoizer": "^0.38.0",
+        "@opentelemetry/instrumentation-memcached": "^0.37.0",
+        "@opentelemetry/instrumentation-mongodb": "^0.45.0",
+        "@opentelemetry/instrumentation-mongoose": "^0.39.0",
+        "@opentelemetry/instrumentation-mysql": "^0.39.0",
+        "@opentelemetry/instrumentation-mysql2": "^0.39.0",
+        "@opentelemetry/instrumentation-nestjs-core": "^0.38.0",
+        "@opentelemetry/instrumentation-net": "^0.37.0",
+        "@opentelemetry/instrumentation-pg": "^0.42.0",
+        "@opentelemetry/instrumentation-pino": "^0.40.0",
+        "@opentelemetry/instrumentation-redis": "^0.40.0",
+        "@opentelemetry/instrumentation-redis-4": "^0.40.0",
+        "@opentelemetry/instrumentation-restify": "^0.39.0",
+        "@opentelemetry/instrumentation-router": "^0.38.0",
+        "@opentelemetry/instrumentation-socket.io": "^0.40.0",
+        "@opentelemetry/instrumentation-tedious": "^0.11.0",
+        "@opentelemetry/instrumentation-undici": "^0.3.0",
+        "@opentelemetry/instrumentation-winston": "^0.38.0",
+        "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
+        "@opentelemetry/resource-detector-aws": "^1.5.1",
+        "@opentelemetry/resource-detector-azure": "^0.2.9",
+        "@opentelemetry/resource-detector-container": "^0.3.11",
+        "@opentelemetry/resource-detector-gcp": "^0.29.10",
+        "@opentelemetry/resources": "^1.24.0",
+        "@opentelemetry/sdk-node": "^0.52.0",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/sinon": "10.0.18",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
+      }
+    },
+    "@opentelemetry/auto-instrumentations-web": {
+      "version": "file:metapackages/auto-instrumentations-web",
+      "requires": {
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
+        "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation-document-load": "^0.39.0",
+        "@opentelemetry/instrumentation-fetch": "^0.52.0",
+        "@opentelemetry/instrumentation-user-interaction": "^0.39.0",
+        "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
+        "@types/mocha": "10.0.6",
+        "@types/node": "18.6.5",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
+        "assert": "2.0.0",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "cross-var": "1.1.0",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
+        "karma-mocha": "2.0.1",
+        "karma-spec-reporter": "0.0.36",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.1.2",
+        "ts-loader": "9.5.1",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4",
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0"
+      },
+      "dependencies": {
+        "@babel/core": {
+          "version": "7.24.6",
+          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+          "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+          "dev": true,
+          "requires": {
+            "@ampproject/remapping": "^2.2.0",
+            "@babel/code-frame": "^7.24.6",
+            "@babel/generator": "^7.24.6",
+            "@babel/helper-compilation-targets": "^7.24.6",
+            "@babel/helper-module-transforms": "^7.24.6",
+            "@babel/helpers": "^7.24.6",
+            "@babel/parser": "^7.24.6",
+            "@babel/template": "^7.24.6",
+            "@babel/traverse": "^7.24.6",
+            "@babel/types": "^7.24.6",
+            "convert-source-map": "^2.0.0",
+            "debug": "^4.1.0",
+            "gensync": "^1.0.0-beta.2",
+            "json5": "^2.2.3",
+            "semver": "^6.3.1"
+          },
+          "dependencies": {
+            "semver": {
+              "version": "6.3.1",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+              "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+              "dev": true
+            }
+          }
+        },
+        "@sinonjs/commons": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+          "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+          "dev": true,
+          "requires": {
+            "type-detect": "4.0.8"
+          }
+        },
+        "@types/mocha": {
+          "version": "10.0.6",
+          "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+          "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
+          "dev": true
+        },
+        "@types/sinon": {
+          "version": "17.0.3",
+          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
+          "dev": true,
+          "requires": {
+            "@types/sinonjs__fake-timers": "*"
+          }
+        },
+        "ansi-colors": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "camelcase": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+          "dev": true
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          },
+          "dependencies": {
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
+          }
+        },
+        "chokidar": {
+          "version": "3.5.3",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+          "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+          "dev": true,
+          "requires": {
+            "anymatch": "~3.1.2",
+            "braces": "~3.0.2",
+            "fsevents": "~2.3.2",
+            "glob-parent": "~5.1.2",
+            "is-binary-path": "~2.1.0",
+            "is-glob": "~4.0.1",
+            "normalize-path": "~3.0.0",
+            "readdirp": "~3.6.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "convert-source-map": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+          "dev": true
+        },
+        "decamelize": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+          "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+          "dev": true
+        },
+        "diff": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+          "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+          "dev": true
+        },
+        "enhanced-resolve": {
+          "version": "5.17.0",
+          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.4",
+            "tapable": "^2.2.0"
+          }
+        },
+        "escape-string-regexp": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+          "dev": true
+        },
+        "events": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+          "dev": true
+        },
+        "glob": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+          "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          },
+          "dependencies": {
+            "minimatch": {
+              "version": "3.1.2",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+              "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+              "dev": true,
+              "requires": {
+                "brace-expansion": "^1.1.7"
+              }
+            }
+          }
+        },
+        "glob-parent": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+          "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        },
+        "is-plain-obj": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+          "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+          "dev": true
+        },
+        "json-parse-even-better-errors": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+          "dev": true
+        },
+        "log-symbols": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+          "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "is-unicode-supported": "^0.1.0"
+          }
+        },
+        "minimatch": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+          "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          },
+          "dependencies": {
+            "brace-expansion": {
+              "version": "2.0.1",
+              "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+              "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+              "dev": true,
+              "requires": {
+                "balanced-match": "^1.0.0"
+              }
+            }
+          }
+        },
+        "mocha": {
+          "version": "10.2.0",
+          "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+          "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+          "dev": true,
+          "requires": {
+            "ansi-colors": "4.1.1",
+            "browser-stdout": "1.3.1",
+            "chokidar": "3.5.3",
+            "debug": "4.3.4",
+            "diff": "5.0.0",
+            "escape-string-regexp": "4.0.0",
+            "find-up": "5.0.0",
+            "glob": "7.2.0",
+            "he": "1.2.0",
+            "js-yaml": "4.1.0",
+            "log-symbols": "4.1.0",
+            "minimatch": "5.0.1",
+            "ms": "2.1.3",
+            "nanoid": "3.3.3",
+            "serialize-javascript": "6.0.0",
+            "strip-json-comments": "3.1.1",
+            "supports-color": "8.1.1",
+            "workerpool": "6.2.1",
+            "yargs": "16.2.0",
+            "yargs-parser": "20.2.4",
+            "yargs-unparser": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+          "dev": true
+        },
+        "nanoid": {
+          "version": "3.3.3",
+          "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+          "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
           "dev": true,
           "requires": {
-            "@octokit/openapi-types": "^12.11.0"
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
           }
-        }
-      }
-    },
-    "@octokit/plugin-request-log": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
-      "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==",
-      "dev": true,
-      "requires": {}
-    },
-    "@octokit/plugin-rest-endpoint-methods": {
-      "version": "6.8.1",
-      "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz",
-      "integrity": "sha512-QrlaTm8Lyc/TbU7BL/8bO49vp+RZ6W3McxxmmQTgYxf2sWkO8ZKuj4dLhPNJD6VCUW1hetCmeIM0m6FTVpDiEg==",
-      "dev": true,
-      "requires": {
-        "@octokit/types": "^8.1.1",
-        "deprecation": "^2.3.1"
-      },
-      "dependencies": {
-        "@octokit/openapi-types": {
-          "version": "14.0.0",
-          "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz",
-          "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==",
-          "dev": true
         },
-        "@octokit/types": {
-          "version": "8.2.1",
-          "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.2.1.tgz",
-          "integrity": "sha512-8oWMUji8be66q2B9PmEIUyQm00VPDPun07umUWSaCwxmeaquFBro4Hcc3ruVoDo3zkQyZBlRvhIMEYS3pBhanw==",
+        "sinon": {
+          "version": "15.1.2",
+          "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
+          "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==",
           "dev": true,
           "requires": {
-            "@octokit/openapi-types": "^14.0.0"
+            "@sinonjs/commons": "^3.0.0",
+            "@sinonjs/fake-timers": "^10.1.0",
+            "@sinonjs/samsam": "^8.0.0",
+            "diff": "^5.1.0",
+            "nise": "^5.1.4",
+            "supports-color": "^7.2.0"
+          },
+          "dependencies": {
+            "diff": {
+              "version": "5.2.0",
+              "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+              "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+              "dev": true
+            },
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
           }
-        }
-      }
-    },
-    "@octokit/request": {
-      "version": "6.2.8",
-      "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz",
-      "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==",
-      "dev": true,
-      "requires": {
-        "@octokit/endpoint": "^7.0.0",
-        "@octokit/request-error": "^3.0.0",
-        "@octokit/types": "^9.0.0",
-        "is-plain-object": "^5.0.0",
-        "node-fetch": "^2.6.7",
-        "universal-user-agent": "^6.0.0"
-      },
-      "dependencies": {
-        "is-plain-object": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
-          "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+        },
+        "source-map": {
+          "version": "0.7.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
           "dev": true
-        }
-      }
-    },
-    "@octokit/request-error": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz",
-      "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==",
-      "dev": true,
-      "requires": {
-        "@octokit/types": "^9.0.0",
-        "deprecation": "^2.0.0",
-        "once": "^1.4.0"
-      }
-    },
-    "@octokit/rest": {
-      "version": "19.0.3",
-      "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.3.tgz",
-      "integrity": "sha512-5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ==",
-      "dev": true,
-      "requires": {
-        "@octokit/core": "^4.0.0",
-        "@octokit/plugin-paginate-rest": "^3.0.0",
-        "@octokit/plugin-request-log": "^1.0.4",
-        "@octokit/plugin-rest-endpoint-methods": "^6.0.0"
-      }
-    },
-    "@octokit/types": {
-      "version": "9.3.2",
-      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz",
-      "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==",
-      "dev": true,
-      "requires": {
-        "@octokit/openapi-types": "^18.0.0"
-      }
-    },
-    "@opentelemetry/api": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
-      "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="
-    },
-    "@opentelemetry/api-logs": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.0.tgz",
-      "integrity": "sha512-HxjD7xH9iAE4OyhNaaSec65i1H6QZYBWSwWkowFfsc5YAcDvJG30/J1sRKXEQqdmUcKTXEAnA66UciqZha/4+Q==",
-      "requires": {
-        "@opentelemetry/api": "^1.0.0"
-      }
-    },
-    "@opentelemetry/auto-instrumentations-node": {
-      "version": "file:metapackages/auto-instrumentations-node",
-      "requires": {
-        "@opentelemetry/api": "^1.4.1",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-amqplib": "^0.38.0",
-        "@opentelemetry/instrumentation-aws-lambda": "^0.42.0",
-        "@opentelemetry/instrumentation-aws-sdk": "^0.42.0",
-        "@opentelemetry/instrumentation-bunyan": "^0.39.0",
-        "@opentelemetry/instrumentation-cassandra-driver": "^0.39.0",
-        "@opentelemetry/instrumentation-connect": "^0.37.0",
-        "@opentelemetry/instrumentation-cucumber": "^0.7.0",
-        "@opentelemetry/instrumentation-dataloader": "^0.10.0",
-        "@opentelemetry/instrumentation-dns": "^0.37.0",
-        "@opentelemetry/instrumentation-express": "^0.40.1",
-        "@opentelemetry/instrumentation-fastify": "^0.37.0",
-        "@opentelemetry/instrumentation-fs": "^0.13.0",
-        "@opentelemetry/instrumentation-generic-pool": "^0.37.0",
-        "@opentelemetry/instrumentation-graphql": "^0.41.0",
-        "@opentelemetry/instrumentation-grpc": "^0.52.0",
-        "@opentelemetry/instrumentation-hapi": "^0.39.0",
-        "@opentelemetry/instrumentation-http": "^0.52.0",
-        "@opentelemetry/instrumentation-ioredis": "^0.41.0",
-        "@opentelemetry/instrumentation-knex": "^0.37.0",
-        "@opentelemetry/instrumentation-koa": "^0.41.0",
-        "@opentelemetry/instrumentation-lru-memoizer": "^0.38.0",
-        "@opentelemetry/instrumentation-memcached": "^0.37.0",
-        "@opentelemetry/instrumentation-mongodb": "^0.45.0",
-        "@opentelemetry/instrumentation-mongoose": "^0.39.0",
-        "@opentelemetry/instrumentation-mysql": "^0.39.0",
-        "@opentelemetry/instrumentation-mysql2": "^0.39.0",
-        "@opentelemetry/instrumentation-nestjs-core": "^0.38.0",
-        "@opentelemetry/instrumentation-net": "^0.37.0",
-        "@opentelemetry/instrumentation-pg": "^0.42.0",
-        "@opentelemetry/instrumentation-pino": "^0.40.0",
-        "@opentelemetry/instrumentation-redis": "^0.40.0",
-        "@opentelemetry/instrumentation-redis-4": "^0.40.0",
-        "@opentelemetry/instrumentation-restify": "^0.39.0",
-        "@opentelemetry/instrumentation-router": "^0.38.0",
-        "@opentelemetry/instrumentation-socket.io": "^0.40.0",
-        "@opentelemetry/instrumentation-tedious": "^0.11.0",
-        "@opentelemetry/instrumentation-undici": "^0.3.0",
-        "@opentelemetry/instrumentation-winston": "^0.38.0",
-        "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
-        "@opentelemetry/resource-detector-aws": "^1.5.1",
-        "@opentelemetry/resource-detector-azure": "^0.2.9",
-        "@opentelemetry/resource-detector-container": "^0.3.11",
-        "@opentelemetry/resource-detector-gcp": "^0.29.10",
-        "@opentelemetry/resources": "^1.24.0",
-        "@opentelemetry/sdk-node": "^0.52.0",
-        "@types/mocha": "7.0.2",
-        "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4"
-      }
-    },
-    "@opentelemetry/auto-instrumentations-web": {
-      "version": "file:metapackages/auto-instrumentations-web",
-      "requires": {
-        "@babel/core": "7.22.17",
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
-        "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-document-load": "^0.39.0",
-        "@opentelemetry/instrumentation-fetch": "^0.52.0",
-        "@opentelemetry/instrumentation-user-interaction": "^0.39.0",
-        "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
-        "@types/mocha": "8.2.3",
-        "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "@types/webpack-env": "1.16.2",
-        "babel-loader": "8.2.2",
-        "karma": "6.3.16",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
-        "karma-mocha": "2.0.1",
-        "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-loader": "8.3.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4",
-        "webpack": "4.46.0",
-        "webpack-cli": "4.7.2",
-        "webpack-merge": "5.8.0"
-      },
-      "dependencies": {
-        "@types/mocha": {
-          "version": "8.2.3",
-          "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-          "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
+        },
+        "tapable": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
           "dev": true
+        },
+        "ts-loader": {
+          "version": "9.5.1",
+          "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+          "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "enhanced-resolve": "^5.0.0",
+            "micromatch": "^4.0.0",
+            "semver": "^7.3.4",
+            "source-map": "^0.7.4"
+          }
+        },
+        "webpack": {
+          "version": "5.89.0",
+          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+          "dev": true,
+          "requires": {
+            "@types/eslint-scope": "^3.7.3",
+            "@types/estree": "^1.0.0",
+            "@webassemblyjs/ast": "^1.11.5",
+            "@webassemblyjs/wasm-edit": "^1.11.5",
+            "@webassemblyjs/wasm-parser": "^1.11.5",
+            "acorn": "^8.7.1",
+            "acorn-import-assertions": "^1.9.0",
+            "browserslist": "^4.14.5",
+            "chrome-trace-event": "^1.0.2",
+            "enhanced-resolve": "^5.15.0",
+            "es-module-lexer": "^1.2.1",
+            "eslint-scope": "5.1.1",
+            "events": "^3.2.0",
+            "glob-to-regexp": "^0.4.1",
+            "graceful-fs": "^4.2.9",
+            "json-parse-even-better-errors": "^2.3.1",
+            "loader-runner": "^4.2.0",
+            "mime-types": "^2.1.27",
+            "neo-async": "^2.6.2",
+            "schema-utils": "^3.2.0",
+            "tapable": "^2.1.1",
+            "terser-webpack-plugin": "^5.3.7",
+            "watchpack": "^2.4.0",
+            "webpack-sources": "^3.2.3"
+          }
+        },
+        "yargs": {
+          "version": "16.2.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+          "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+          "dev": true,
+          "requires": {
+            "cliui": "^7.0.2",
+            "escalade": "^3.1.1",
+            "get-caller-file": "^2.0.5",
+            "require-directory": "^2.1.1",
+            "string-width": "^4.2.0",
+            "y18n": "^5.0.5",
+            "yargs-parser": "^20.2.2"
+          }
+        },
+        "yargs-unparser": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+          "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^6.0.0",
+            "decamelize": "^4.0.0",
+            "flat": "^5.0.2",
+            "is-plain-obj": "^2.1.0"
+          }
         }
       }
     },
@@ -46369,34 +51021,446 @@
     "@opentelemetry/id-generator-aws-xray": {
       "version": "file:packages/opentelemetry-id-generator-aws-xray",
       "requires": {
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/core": "^1.0.0",
-        "@types/mocha": "8.2.3",
+        "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "@types/webpack-env": "1.16.2",
-        "karma": "6.3.16",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
+        "assert": "2.0.0",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "cross-var": "1.1.0",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
         "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-loader": "8.3.0",
+        "sinon": "15.1.2",
+        "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "4.46.0"
-      },
-      "dependencies": {
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0"
+      },
+      "dependencies": {
+        "@babel/core": {
+          "version": "7.24.6",
+          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+          "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+          "dev": true,
+          "requires": {
+            "@ampproject/remapping": "^2.2.0",
+            "@babel/code-frame": "^7.24.6",
+            "@babel/generator": "^7.24.6",
+            "@babel/helper-compilation-targets": "^7.24.6",
+            "@babel/helper-module-transforms": "^7.24.6",
+            "@babel/helpers": "^7.24.6",
+            "@babel/parser": "^7.24.6",
+            "@babel/template": "^7.24.6",
+            "@babel/traverse": "^7.24.6",
+            "@babel/types": "^7.24.6",
+            "convert-source-map": "^2.0.0",
+            "debug": "^4.1.0",
+            "gensync": "^1.0.0-beta.2",
+            "json5": "^2.2.3",
+            "semver": "^6.3.1"
+          },
+          "dependencies": {
+            "semver": {
+              "version": "6.3.1",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+              "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+              "dev": true
+            }
+          }
+        },
+        "@sinonjs/commons": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+          "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+          "dev": true,
+          "requires": {
+            "type-detect": "4.0.8"
+          }
+        },
         "@types/mocha": {
-          "version": "8.2.3",
-          "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-          "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
+          "version": "10.0.6",
+          "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+          "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
+          "dev": true
+        },
+        "@types/sinon": {
+          "version": "17.0.3",
+          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
+          "dev": true,
+          "requires": {
+            "@types/sinonjs__fake-timers": "*"
+          }
+        },
+        "ansi-colors": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "camelcase": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+          "dev": true
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          },
+          "dependencies": {
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
+          }
+        },
+        "chokidar": {
+          "version": "3.5.3",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+          "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+          "dev": true,
+          "requires": {
+            "anymatch": "~3.1.2",
+            "braces": "~3.0.2",
+            "fsevents": "~2.3.2",
+            "glob-parent": "~5.1.2",
+            "is-binary-path": "~2.1.0",
+            "is-glob": "~4.0.1",
+            "normalize-path": "~3.0.0",
+            "readdirp": "~3.6.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "convert-source-map": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+          "dev": true
+        },
+        "decamelize": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+          "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+          "dev": true
+        },
+        "diff": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+          "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+          "dev": true
+        },
+        "enhanced-resolve": {
+          "version": "5.17.0",
+          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.4",
+            "tapable": "^2.2.0"
+          }
+        },
+        "escape-string-regexp": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+          "dev": true
+        },
+        "events": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+          "dev": true
+        },
+        "glob": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+          "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          },
+          "dependencies": {
+            "minimatch": {
+              "version": "3.1.2",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+              "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+              "dev": true,
+              "requires": {
+                "brace-expansion": "^1.1.7"
+              }
+            }
+          }
+        },
+        "glob-parent": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+          "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        },
+        "is-plain-obj": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+          "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+          "dev": true
+        },
+        "json-parse-even-better-errors": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+          "dev": true
+        },
+        "log-symbols": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+          "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "is-unicode-supported": "^0.1.0"
+          }
+        },
+        "minimatch": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+          "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          },
+          "dependencies": {
+            "brace-expansion": {
+              "version": "2.0.1",
+              "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+              "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+              "dev": true,
+              "requires": {
+                "balanced-match": "^1.0.0"
+              }
+            }
+          }
+        },
+        "mocha": {
+          "version": "10.2.0",
+          "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+          "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+          "dev": true,
+          "requires": {
+            "ansi-colors": "4.1.1",
+            "browser-stdout": "1.3.1",
+            "chokidar": "3.5.3",
+            "debug": "4.3.4",
+            "diff": "5.0.0",
+            "escape-string-regexp": "4.0.0",
+            "find-up": "5.0.0",
+            "glob": "7.2.0",
+            "he": "1.2.0",
+            "js-yaml": "4.1.0",
+            "log-symbols": "4.1.0",
+            "minimatch": "5.0.1",
+            "ms": "2.1.3",
+            "nanoid": "3.3.3",
+            "serialize-javascript": "6.0.0",
+            "strip-json-comments": "3.1.1",
+            "supports-color": "8.1.1",
+            "workerpool": "6.2.1",
+            "yargs": "16.2.0",
+            "yargs-parser": "20.2.4",
+            "yargs-unparser": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+          "dev": true
+        },
+        "nanoid": {
+          "version": "3.3.3",
+          "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+          "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
+          }
+        },
+        "sinon": {
+          "version": "15.1.2",
+          "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
+          "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==",
+          "dev": true,
+          "requires": {
+            "@sinonjs/commons": "^3.0.0",
+            "@sinonjs/fake-timers": "^10.1.0",
+            "@sinonjs/samsam": "^8.0.0",
+            "diff": "^5.1.0",
+            "nise": "^5.1.4",
+            "supports-color": "^7.2.0"
+          },
+          "dependencies": {
+            "diff": {
+              "version": "5.2.0",
+              "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+              "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+              "dev": true
+            },
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
+          }
+        },
+        "source-map": {
+          "version": "0.7.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+          "dev": true
+        },
+        "tapable": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
           "dev": true
+        },
+        "ts-loader": {
+          "version": "9.5.1",
+          "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+          "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "enhanced-resolve": "^5.0.0",
+            "micromatch": "^4.0.0",
+            "semver": "^7.3.4",
+            "source-map": "^0.7.4"
+          }
+        },
+        "webpack": {
+          "version": "5.89.0",
+          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+          "dev": true,
+          "requires": {
+            "@types/eslint-scope": "^3.7.3",
+            "@types/estree": "^1.0.0",
+            "@webassemblyjs/ast": "^1.11.5",
+            "@webassemblyjs/wasm-edit": "^1.11.5",
+            "@webassemblyjs/wasm-parser": "^1.11.5",
+            "acorn": "^8.7.1",
+            "acorn-import-assertions": "^1.9.0",
+            "browserslist": "^4.14.5",
+            "chrome-trace-event": "^1.0.2",
+            "enhanced-resolve": "^5.15.0",
+            "es-module-lexer": "^1.2.1",
+            "eslint-scope": "5.1.1",
+            "events": "^3.2.0",
+            "glob-to-regexp": "^0.4.1",
+            "graceful-fs": "^4.2.9",
+            "json-parse-even-better-errors": "^2.3.1",
+            "loader-runner": "^4.2.0",
+            "mime-types": "^2.1.27",
+            "neo-async": "^2.6.2",
+            "schema-utils": "^3.2.0",
+            "tapable": "^2.1.1",
+            "terser-webpack-plugin": "^5.3.7",
+            "watchpack": "^2.4.0",
+            "webpack-sources": "^3.2.3"
+          }
+        },
+        "yargs": {
+          "version": "16.2.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+          "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+          "dev": true,
+          "requires": {
+            "cliui": "^7.0.2",
+            "escalade": "^3.1.1",
+            "get-caller-file": "^2.0.5",
+            "require-directory": "^2.1.1",
+            "string-width": "^4.2.0",
+            "y18n": "^5.0.5",
+            "yargs-parser": "^20.2.2"
+          }
+        },
+        "yargs-unparser": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+          "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^6.0.0",
+            "decamelize": "^4.0.0",
+            "flat": "^5.0.2",
+            "is-plain-obj": "^2.1.0"
+          }
         }
       }
     },
@@ -47031,37 +52095,451 @@
     "@opentelemetry/instrumentation-long-task": {
       "version": "file:plugins/web/opentelemetry-instrumentation-long-task",
       "requires": {
-        "@babel/core": "7.22.17",
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-web": "^1.8.0",
-        "@types/jquery": "3.5.20",
-        "@types/mocha": "7.0.2",
+        "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "@types/webpack-env": "1.16.2",
-        "babel-loader": "8.2.2",
-        "karma": "6.3.16",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
-        "karma-jquery": "0.2.4",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
+        "assert": "2.0.0",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "cross-var": "1.1.0",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
         "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-loader": "8.3.0",
+        "sinon": "15.1.2",
+        "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "4.46.0",
-        "webpack-cli": "4.7.2",
-        "webpack-merge": "5.8.0",
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0",
         "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
+      },
+      "dependencies": {
+        "@babel/core": {
+          "version": "7.24.6",
+          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+          "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+          "dev": true,
+          "requires": {
+            "@ampproject/remapping": "^2.2.0",
+            "@babel/code-frame": "^7.24.6",
+            "@babel/generator": "^7.24.6",
+            "@babel/helper-compilation-targets": "^7.24.6",
+            "@babel/helper-module-transforms": "^7.24.6",
+            "@babel/helpers": "^7.24.6",
+            "@babel/parser": "^7.24.6",
+            "@babel/template": "^7.24.6",
+            "@babel/traverse": "^7.24.6",
+            "@babel/types": "^7.24.6",
+            "convert-source-map": "^2.0.0",
+            "debug": "^4.1.0",
+            "gensync": "^1.0.0-beta.2",
+            "json5": "^2.2.3",
+            "semver": "^6.3.1"
+          },
+          "dependencies": {
+            "semver": {
+              "version": "6.3.1",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+              "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+              "dev": true
+            }
+          }
+        },
+        "@sinonjs/commons": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+          "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+          "dev": true,
+          "requires": {
+            "type-detect": "4.0.8"
+          }
+        },
+        "@types/mocha": {
+          "version": "10.0.6",
+          "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+          "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
+          "dev": true
+        },
+        "@types/sinon": {
+          "version": "17.0.3",
+          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
+          "dev": true,
+          "requires": {
+            "@types/sinonjs__fake-timers": "*"
+          }
+        },
+        "ansi-colors": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "camelcase": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+          "dev": true
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          },
+          "dependencies": {
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
+          }
+        },
+        "chokidar": {
+          "version": "3.5.3",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+          "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+          "dev": true,
+          "requires": {
+            "anymatch": "~3.1.2",
+            "braces": "~3.0.2",
+            "fsevents": "~2.3.2",
+            "glob-parent": "~5.1.2",
+            "is-binary-path": "~2.1.0",
+            "is-glob": "~4.0.1",
+            "normalize-path": "~3.0.0",
+            "readdirp": "~3.6.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "convert-source-map": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+          "dev": true
+        },
+        "decamelize": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+          "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+          "dev": true
+        },
+        "diff": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+          "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+          "dev": true
+        },
+        "enhanced-resolve": {
+          "version": "5.17.0",
+          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.4",
+            "tapable": "^2.2.0"
+          }
+        },
+        "escape-string-regexp": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+          "dev": true
+        },
+        "events": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+          "dev": true
+        },
+        "glob": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+          "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          },
+          "dependencies": {
+            "minimatch": {
+              "version": "3.1.2",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+              "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+              "dev": true,
+              "requires": {
+                "brace-expansion": "^1.1.7"
+              }
+            }
+          }
+        },
+        "glob-parent": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+          "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        },
+        "is-plain-obj": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+          "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+          "dev": true
+        },
+        "json-parse-even-better-errors": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+          "dev": true
+        },
+        "log-symbols": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+          "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "is-unicode-supported": "^0.1.0"
+          }
+        },
+        "minimatch": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+          "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          },
+          "dependencies": {
+            "brace-expansion": {
+              "version": "2.0.1",
+              "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+              "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+              "dev": true,
+              "requires": {
+                "balanced-match": "^1.0.0"
+              }
+            }
+          }
+        },
+        "mocha": {
+          "version": "10.2.0",
+          "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+          "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+          "dev": true,
+          "requires": {
+            "ansi-colors": "4.1.1",
+            "browser-stdout": "1.3.1",
+            "chokidar": "3.5.3",
+            "debug": "4.3.4",
+            "diff": "5.0.0",
+            "escape-string-regexp": "4.0.0",
+            "find-up": "5.0.0",
+            "glob": "7.2.0",
+            "he": "1.2.0",
+            "js-yaml": "4.1.0",
+            "log-symbols": "4.1.0",
+            "minimatch": "5.0.1",
+            "ms": "2.1.3",
+            "nanoid": "3.3.3",
+            "serialize-javascript": "6.0.0",
+            "strip-json-comments": "3.1.1",
+            "supports-color": "8.1.1",
+            "workerpool": "6.2.1",
+            "yargs": "16.2.0",
+            "yargs-parser": "20.2.4",
+            "yargs-unparser": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+          "dev": true
+        },
+        "nanoid": {
+          "version": "3.3.3",
+          "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+          "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
+          }
+        },
+        "sinon": {
+          "version": "15.1.2",
+          "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
+          "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==",
+          "dev": true,
+          "requires": {
+            "@sinonjs/commons": "^3.0.0",
+            "@sinonjs/fake-timers": "^10.1.0",
+            "@sinonjs/samsam": "^8.0.0",
+            "diff": "^5.1.0",
+            "nise": "^5.1.4",
+            "supports-color": "^7.2.0"
+          },
+          "dependencies": {
+            "diff": {
+              "version": "5.2.0",
+              "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+              "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+              "dev": true
+            },
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
+          }
+        },
+        "source-map": {
+          "version": "0.7.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+          "dev": true
+        },
+        "tapable": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+          "dev": true
+        },
+        "ts-loader": {
+          "version": "9.5.1",
+          "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+          "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "enhanced-resolve": "^5.0.0",
+            "micromatch": "^4.0.0",
+            "semver": "^7.3.4",
+            "source-map": "^0.7.4"
+          }
+        },
+        "webpack": {
+          "version": "5.89.0",
+          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+          "dev": true,
+          "requires": {
+            "@types/eslint-scope": "^3.7.3",
+            "@types/estree": "^1.0.0",
+            "@webassemblyjs/ast": "^1.11.5",
+            "@webassemblyjs/wasm-edit": "^1.11.5",
+            "@webassemblyjs/wasm-parser": "^1.11.5",
+            "acorn": "^8.7.1",
+            "acorn-import-assertions": "^1.9.0",
+            "browserslist": "^4.14.5",
+            "chrome-trace-event": "^1.0.2",
+            "enhanced-resolve": "^5.15.0",
+            "es-module-lexer": "^1.2.1",
+            "eslint-scope": "5.1.1",
+            "events": "^3.2.0",
+            "glob-to-regexp": "^0.4.1",
+            "graceful-fs": "^4.2.9",
+            "json-parse-even-better-errors": "^2.3.1",
+            "loader-runner": "^4.2.0",
+            "mime-types": "^2.1.27",
+            "neo-async": "^2.6.2",
+            "schema-utils": "^3.2.0",
+            "tapable": "^2.1.1",
+            "terser-webpack-plugin": "^5.3.7",
+            "watchpack": "^2.4.0",
+            "webpack-sources": "^3.2.3"
+          }
+        },
+        "yargs": {
+          "version": "16.2.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+          "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+          "dev": true,
+          "requires": {
+            "cliui": "^7.0.2",
+            "escalade": "^3.1.1",
+            "get-caller-file": "^2.0.5",
+            "require-directory": "^2.1.1",
+            "string-width": "^4.2.0",
+            "y18n": "^5.0.5",
+            "yargs-parser": "^20.2.2"
+          }
+        },
+        "yargs-unparser": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+          "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^6.0.0",
+            "decamelize": "^4.0.0",
+            "flat": "^5.0.2",
+            "is-plain-obj": "^2.1.0"
+          }
+        }
       }
     },
     "@opentelemetry/instrumentation-lru-memoizer": {
@@ -47978,8 +53456,8 @@
     "@opentelemetry/instrumentation-user-interaction": {
       "version": "file:plugins/web/opentelemetry-instrumentation-user-interaction",
       "requires": {
-        "@babel/core": "7.22.17",
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-zone-peer-dep": "^1.8.0",
         "@opentelemetry/core": "^1.8.0",
@@ -47987,30 +53465,445 @@
         "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-web": "^1.8.0",
-        "@types/jquery": "3.5.20",
-        "@types/mocha": "7.0.2",
+        "@types/jquery": "3.5.30",
+        "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
-        "@types/webpack-env": "1.16.2",
-        "babel-loader": "8.2.2",
-        "karma": "6.3.16",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
+        "assert": "2.0.0",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "cross-var": "1.1.0",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
         "karma-jquery": "0.2.4",
         "karma-mocha": "2.0.1",
         "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sinon": "15.2.0",
-        "ts-loader": "8.3.0",
+        "sinon": "15.1.2",
+        "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "4.46.0",
-        "webpack-cli": "4.7.2",
-        "webpack-merge": "5.8.0",
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0",
         "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
+      },
+      "dependencies": {
+        "@babel/core": {
+          "version": "7.24.6",
+          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+          "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+          "dev": true,
+          "requires": {
+            "@ampproject/remapping": "^2.2.0",
+            "@babel/code-frame": "^7.24.6",
+            "@babel/generator": "^7.24.6",
+            "@babel/helper-compilation-targets": "^7.24.6",
+            "@babel/helper-module-transforms": "^7.24.6",
+            "@babel/helpers": "^7.24.6",
+            "@babel/parser": "^7.24.6",
+            "@babel/template": "^7.24.6",
+            "@babel/traverse": "^7.24.6",
+            "@babel/types": "^7.24.6",
+            "convert-source-map": "^2.0.0",
+            "debug": "^4.1.0",
+            "gensync": "^1.0.0-beta.2",
+            "json5": "^2.2.3",
+            "semver": "^6.3.1"
+          },
+          "dependencies": {
+            "semver": {
+              "version": "6.3.1",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+              "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+              "dev": true
+            }
+          }
+        },
+        "@sinonjs/commons": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+          "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+          "dev": true,
+          "requires": {
+            "type-detect": "4.0.8"
+          }
+        },
+        "@types/mocha": {
+          "version": "10.0.6",
+          "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+          "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
+          "dev": true
+        },
+        "@types/sinon": {
+          "version": "17.0.3",
+          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
+          "dev": true,
+          "requires": {
+            "@types/sinonjs__fake-timers": "*"
+          }
+        },
+        "ansi-colors": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "camelcase": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+          "dev": true
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          },
+          "dependencies": {
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
+          }
+        },
+        "chokidar": {
+          "version": "3.5.3",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+          "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+          "dev": true,
+          "requires": {
+            "anymatch": "~3.1.2",
+            "braces": "~3.0.2",
+            "fsevents": "~2.3.2",
+            "glob-parent": "~5.1.2",
+            "is-binary-path": "~2.1.0",
+            "is-glob": "~4.0.1",
+            "normalize-path": "~3.0.0",
+            "readdirp": "~3.6.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "convert-source-map": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+          "dev": true
+        },
+        "decamelize": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+          "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+          "dev": true
+        },
+        "diff": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+          "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+          "dev": true
+        },
+        "enhanced-resolve": {
+          "version": "5.17.0",
+          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.4",
+            "tapable": "^2.2.0"
+          }
+        },
+        "escape-string-regexp": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+          "dev": true
+        },
+        "events": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+          "dev": true
+        },
+        "glob": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+          "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          },
+          "dependencies": {
+            "minimatch": {
+              "version": "3.1.2",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+              "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+              "dev": true,
+              "requires": {
+                "brace-expansion": "^1.1.7"
+              }
+            }
+          }
+        },
+        "glob-parent": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+          "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        },
+        "is-plain-obj": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+          "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+          "dev": true
+        },
+        "json-parse-even-better-errors": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+          "dev": true
+        },
+        "log-symbols": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+          "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "is-unicode-supported": "^0.1.0"
+          }
+        },
+        "minimatch": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+          "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          },
+          "dependencies": {
+            "brace-expansion": {
+              "version": "2.0.1",
+              "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+              "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+              "dev": true,
+              "requires": {
+                "balanced-match": "^1.0.0"
+              }
+            }
+          }
+        },
+        "mocha": {
+          "version": "10.2.0",
+          "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+          "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+          "dev": true,
+          "requires": {
+            "ansi-colors": "4.1.1",
+            "browser-stdout": "1.3.1",
+            "chokidar": "3.5.3",
+            "debug": "4.3.4",
+            "diff": "5.0.0",
+            "escape-string-regexp": "4.0.0",
+            "find-up": "5.0.0",
+            "glob": "7.2.0",
+            "he": "1.2.0",
+            "js-yaml": "4.1.0",
+            "log-symbols": "4.1.0",
+            "minimatch": "5.0.1",
+            "ms": "2.1.3",
+            "nanoid": "3.3.3",
+            "serialize-javascript": "6.0.0",
+            "strip-json-comments": "3.1.1",
+            "supports-color": "8.1.1",
+            "workerpool": "6.2.1",
+            "yargs": "16.2.0",
+            "yargs-parser": "20.2.4",
+            "yargs-unparser": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+          "dev": true
+        },
+        "nanoid": {
+          "version": "3.3.3",
+          "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+          "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
+          }
+        },
+        "sinon": {
+          "version": "15.1.2",
+          "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
+          "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==",
+          "dev": true,
+          "requires": {
+            "@sinonjs/commons": "^3.0.0",
+            "@sinonjs/fake-timers": "^10.1.0",
+            "@sinonjs/samsam": "^8.0.0",
+            "diff": "^5.1.0",
+            "nise": "^5.1.4",
+            "supports-color": "^7.2.0"
+          },
+          "dependencies": {
+            "diff": {
+              "version": "5.2.0",
+              "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+              "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+              "dev": true
+            },
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
+          }
+        },
+        "source-map": {
+          "version": "0.7.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+          "dev": true
+        },
+        "tapable": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+          "dev": true
+        },
+        "ts-loader": {
+          "version": "9.5.1",
+          "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+          "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "enhanced-resolve": "^5.0.0",
+            "micromatch": "^4.0.0",
+            "semver": "^7.3.4",
+            "source-map": "^0.7.4"
+          }
+        },
+        "webpack": {
+          "version": "5.89.0",
+          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+          "dev": true,
+          "requires": {
+            "@types/eslint-scope": "^3.7.3",
+            "@types/estree": "^1.0.0",
+            "@webassemblyjs/ast": "^1.11.5",
+            "@webassemblyjs/wasm-edit": "^1.11.5",
+            "@webassemblyjs/wasm-parser": "^1.11.5",
+            "acorn": "^8.7.1",
+            "acorn-import-assertions": "^1.9.0",
+            "browserslist": "^4.14.5",
+            "chrome-trace-event": "^1.0.2",
+            "enhanced-resolve": "^5.15.0",
+            "es-module-lexer": "^1.2.1",
+            "eslint-scope": "5.1.1",
+            "events": "^3.2.0",
+            "glob-to-regexp": "^0.4.1",
+            "graceful-fs": "^4.2.9",
+            "json-parse-even-better-errors": "^2.3.1",
+            "loader-runner": "^4.2.0",
+            "mime-types": "^2.1.27",
+            "neo-async": "^2.6.2",
+            "schema-utils": "^3.2.0",
+            "tapable": "^2.1.1",
+            "terser-webpack-plugin": "^5.3.7",
+            "watchpack": "^2.4.0",
+            "webpack-sources": "^3.2.3"
+          }
+        },
+        "yargs": {
+          "version": "16.2.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+          "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+          "dev": true,
+          "requires": {
+            "cliui": "^7.0.2",
+            "escalade": "^3.1.1",
+            "get-caller-file": "^2.0.5",
+            "require-directory": "^2.1.1",
+            "string-width": "^4.2.0",
+            "y18n": "^5.0.5",
+            "yargs-parser": "^20.2.2"
+          }
+        },
+        "yargs-unparser": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+          "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^6.0.0",
+            "decamelize": "^4.0.0",
+            "flat": "^5.0.2",
+            "is-plain-obj": "^2.1.0"
+          }
+        }
       }
     },
     "@opentelemetry/instrumentation-winston": {
@@ -48086,42 +53979,457 @@
     "@opentelemetry/plugin-react-load": {
       "version": "file:plugins/web/opentelemetry-plugin-react-load",
       "requires": {
-        "@babel/core": "7.22.17",
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/context-zone": "^1.0.0",
         "@opentelemetry/core": "^1.0.0",
-        "@opentelemetry/propagator-b3": "^1.3.1",
+        "@opentelemetry/propagator-b3": "1.25.0",
         "@opentelemetry/sdk-trace-base": "^1.0.0",
         "@opentelemetry/sdk-trace-web": "^1.0.0",
-        "@types/mocha": "7.0.2",
+        "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
         "@types/react": "17.0.67",
         "@types/react-addons-test-utils": "0.14.26",
         "@types/react-dom": "18.0.2",
         "@types/shimmer": "1.0.3",
-        "@types/sinon": "10.0.18",
-        "@types/webpack-env": "1.16.2",
-        "babel-loader": "8.2.2",
-        "karma": "6.3.16",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
+        "assert": "2.0.0",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
         "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
         "nyc": "15.1.0",
         "react": "17.0.2",
         "react-dom": "17.0.2",
         "rimraf": "5.0.5",
         "shimmer": "^1.2.1",
-        "sinon": "15.2.0",
-        "ts-loader": "8.3.0",
+        "sinon": "15.1.2",
+        "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "4.46.0",
-        "webpack-cli": "4.7.2",
-        "webpack-merge": "5.8.0"
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0"
+      },
+      "dependencies": {
+        "@babel/core": {
+          "version": "7.24.6",
+          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+          "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+          "dev": true,
+          "requires": {
+            "@ampproject/remapping": "^2.2.0",
+            "@babel/code-frame": "^7.24.6",
+            "@babel/generator": "^7.24.6",
+            "@babel/helper-compilation-targets": "^7.24.6",
+            "@babel/helper-module-transforms": "^7.24.6",
+            "@babel/helpers": "^7.24.6",
+            "@babel/parser": "^7.24.6",
+            "@babel/template": "^7.24.6",
+            "@babel/traverse": "^7.24.6",
+            "@babel/types": "^7.24.6",
+            "convert-source-map": "^2.0.0",
+            "debug": "^4.1.0",
+            "gensync": "^1.0.0-beta.2",
+            "json5": "^2.2.3",
+            "semver": "^6.3.1"
+          },
+          "dependencies": {
+            "semver": {
+              "version": "6.3.1",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+              "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+              "dev": true
+            }
+          }
+        },
+        "@sinonjs/commons": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+          "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+          "dev": true,
+          "requires": {
+            "type-detect": "4.0.8"
+          }
+        },
+        "@types/mocha": {
+          "version": "10.0.6",
+          "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+          "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
+          "dev": true
+        },
+        "@types/sinon": {
+          "version": "17.0.3",
+          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
+          "dev": true,
+          "requires": {
+            "@types/sinonjs__fake-timers": "*"
+          }
+        },
+        "ansi-colors": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "camelcase": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+          "dev": true
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          },
+          "dependencies": {
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
+          }
+        },
+        "chokidar": {
+          "version": "3.5.3",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+          "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+          "dev": true,
+          "requires": {
+            "anymatch": "~3.1.2",
+            "braces": "~3.0.2",
+            "fsevents": "~2.3.2",
+            "glob-parent": "~5.1.2",
+            "is-binary-path": "~2.1.0",
+            "is-glob": "~4.0.1",
+            "normalize-path": "~3.0.0",
+            "readdirp": "~3.6.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "convert-source-map": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+          "dev": true
+        },
+        "decamelize": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+          "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+          "dev": true
+        },
+        "diff": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+          "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+          "dev": true
+        },
+        "enhanced-resolve": {
+          "version": "5.17.0",
+          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.4",
+            "tapable": "^2.2.0"
+          }
+        },
+        "escape-string-regexp": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+          "dev": true
+        },
+        "events": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+          "dev": true
+        },
+        "glob": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+          "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          },
+          "dependencies": {
+            "minimatch": {
+              "version": "3.1.2",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+              "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+              "dev": true,
+              "requires": {
+                "brace-expansion": "^1.1.7"
+              }
+            }
+          }
+        },
+        "glob-parent": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+          "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        },
+        "is-plain-obj": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+          "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+          "dev": true
+        },
+        "json-parse-even-better-errors": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+          "dev": true
+        },
+        "log-symbols": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+          "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "is-unicode-supported": "^0.1.0"
+          }
+        },
+        "minimatch": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+          "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          },
+          "dependencies": {
+            "brace-expansion": {
+              "version": "2.0.1",
+              "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+              "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+              "dev": true,
+              "requires": {
+                "balanced-match": "^1.0.0"
+              }
+            }
+          }
+        },
+        "mocha": {
+          "version": "10.2.0",
+          "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+          "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+          "dev": true,
+          "requires": {
+            "ansi-colors": "4.1.1",
+            "browser-stdout": "1.3.1",
+            "chokidar": "3.5.3",
+            "debug": "4.3.4",
+            "diff": "5.0.0",
+            "escape-string-regexp": "4.0.0",
+            "find-up": "5.0.0",
+            "glob": "7.2.0",
+            "he": "1.2.0",
+            "js-yaml": "4.1.0",
+            "log-symbols": "4.1.0",
+            "minimatch": "5.0.1",
+            "ms": "2.1.3",
+            "nanoid": "3.3.3",
+            "serialize-javascript": "6.0.0",
+            "strip-json-comments": "3.1.1",
+            "supports-color": "8.1.1",
+            "workerpool": "6.2.1",
+            "yargs": "16.2.0",
+            "yargs-parser": "20.2.4",
+            "yargs-unparser": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+          "dev": true
+        },
+        "nanoid": {
+          "version": "3.3.3",
+          "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+          "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
+          }
+        },
+        "sinon": {
+          "version": "15.1.2",
+          "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
+          "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==",
+          "dev": true,
+          "requires": {
+            "@sinonjs/commons": "^3.0.0",
+            "@sinonjs/fake-timers": "^10.1.0",
+            "@sinonjs/samsam": "^8.0.0",
+            "diff": "^5.1.0",
+            "nise": "^5.1.4",
+            "supports-color": "^7.2.0"
+          },
+          "dependencies": {
+            "diff": {
+              "version": "5.2.0",
+              "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+              "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+              "dev": true
+            },
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
+          }
+        },
+        "source-map": {
+          "version": "0.7.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+          "dev": true
+        },
+        "tapable": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+          "dev": true
+        },
+        "ts-loader": {
+          "version": "9.5.1",
+          "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+          "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "enhanced-resolve": "^5.0.0",
+            "micromatch": "^4.0.0",
+            "semver": "^7.3.4",
+            "source-map": "^0.7.4"
+          }
+        },
+        "webpack": {
+          "version": "5.89.0",
+          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+          "dev": true,
+          "requires": {
+            "@types/eslint-scope": "^3.7.3",
+            "@types/estree": "^1.0.0",
+            "@webassemblyjs/ast": "^1.11.5",
+            "@webassemblyjs/wasm-edit": "^1.11.5",
+            "@webassemblyjs/wasm-parser": "^1.11.5",
+            "acorn": "^8.7.1",
+            "acorn-import-assertions": "^1.9.0",
+            "browserslist": "^4.14.5",
+            "chrome-trace-event": "^1.0.2",
+            "enhanced-resolve": "^5.15.0",
+            "es-module-lexer": "^1.2.1",
+            "eslint-scope": "5.1.1",
+            "events": "^3.2.0",
+            "glob-to-regexp": "^0.4.1",
+            "graceful-fs": "^4.2.9",
+            "json-parse-even-better-errors": "^2.3.1",
+            "loader-runner": "^4.2.0",
+            "mime-types": "^2.1.27",
+            "neo-async": "^2.6.2",
+            "schema-utils": "^3.2.0",
+            "tapable": "^2.1.1",
+            "terser-webpack-plugin": "^5.3.7",
+            "watchpack": "^2.4.0",
+            "webpack-sources": "^3.2.3"
+          }
+        },
+        "yargs": {
+          "version": "16.2.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+          "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+          "dev": true,
+          "requires": {
+            "cliui": "^7.0.2",
+            "escalade": "^3.1.1",
+            "get-caller-file": "^2.0.5",
+            "require-directory": "^2.1.1",
+            "string-width": "^4.2.0",
+            "y18n": "^5.0.5",
+            "yargs-parser": "^20.2.2"
+          }
+        },
+        "yargs-unparser": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+          "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^6.0.0",
+            "decamelize": "^4.0.0",
+            "flat": "^5.0.2",
+            "is-plain-obj": "^2.1.0"
+          }
+        }
       }
     },
     "@opentelemetry/propagation-utils": {
@@ -48167,155 +54475,845 @@
     "@opentelemetry/propagator-instana": {
       "version": "file:propagators/opentelemetry-propagator-instana",
       "requires": {
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.0.0",
-        "@types/mocha": "8.2.3",
+        "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/webpack-env": "1.16.2",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
-        "karma": "6.3.17",
-        "karma-chrome-launcher": "3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "cross-var": "1.1.0",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
         "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
         "nyc": "15.1.0",
         "process": "0.11.10",
-        "ts-loader": "8.3.0",
+        "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "4.46.0",
-        "webpack-cli": "4.9.2"
-      },
-      "dependencies": {
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0"
+      },
+      "dependencies": {
+        "@babel/core": {
+          "version": "7.24.6",
+          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+          "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+          "dev": true,
+          "requires": {
+            "@ampproject/remapping": "^2.2.0",
+            "@babel/code-frame": "^7.24.6",
+            "@babel/generator": "^7.24.6",
+            "@babel/helper-compilation-targets": "^7.24.6",
+            "@babel/helper-module-transforms": "^7.24.6",
+            "@babel/helpers": "^7.24.6",
+            "@babel/parser": "^7.24.6",
+            "@babel/template": "^7.24.6",
+            "@babel/traverse": "^7.24.6",
+            "@babel/types": "^7.24.6",
+            "convert-source-map": "^2.0.0",
+            "debug": "^4.1.0",
+            "gensync": "^1.0.0-beta.2",
+            "json5": "^2.2.3",
+            "semver": "^6.3.1"
+          },
+          "dependencies": {
+            "semver": {
+              "version": "6.3.1",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+              "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+              "dev": true
+            }
+          }
+        },
         "@types/mocha": {
-          "version": "8.2.3",
-          "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-          "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
+          "version": "10.0.6",
+          "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+          "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
           "dev": true
         },
-        "colorette": {
-          "version": "2.0.20",
-          "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
-          "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+        "@types/sinon": {
+          "version": "17.0.3",
+          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
+          "dev": true,
+          "requires": {
+            "@types/sinonjs__fake-timers": "*"
+          }
+        },
+        "ansi-colors": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
           "dev": true
         },
-        "commander": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
-          "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "camelcase": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+          "dev": true
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          },
+          "dependencies": {
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
+          }
+        },
+        "chokidar": {
+          "version": "3.5.3",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+          "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+          "dev": true,
+          "requires": {
+            "anymatch": "~3.1.2",
+            "braces": "~3.0.2",
+            "fsevents": "~2.3.2",
+            "glob-parent": "~5.1.2",
+            "is-binary-path": "~2.1.0",
+            "is-glob": "~4.0.1",
+            "normalize-path": "~3.0.0",
+            "readdirp": "~3.6.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "convert-source-map": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+          "dev": true
+        },
+        "decamelize": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+          "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+          "dev": true
+        },
+        "diff": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+          "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+          "dev": true
+        },
+        "enhanced-resolve": {
+          "version": "5.17.0",
+          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.4",
+            "tapable": "^2.2.0"
+          }
+        },
+        "escape-string-regexp": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+          "dev": true
+        },
+        "events": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
           "dev": true
         },
         "glob": {
-          "version": "7.2.3",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-          "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+          "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
           "dev": true,
           "requires": {
             "fs.realpath": "^1.0.0",
             "inflight": "^1.0.4",
             "inherits": "2",
-            "minimatch": "^3.1.1",
+            "minimatch": "^3.0.4",
             "once": "^1.3.0",
             "path-is-absolute": "^1.0.0"
+          },
+          "dependencies": {
+            "minimatch": {
+              "version": "3.1.2",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+              "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+              "dev": true,
+              "requires": {
+                "brace-expansion": "^1.1.7"
+              }
+            }
           }
         },
-        "karma": {
-          "version": "6.3.17",
-          "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.17.tgz",
-          "integrity": "sha512-2TfjHwrRExC8yHoWlPBULyaLwAFmXmxQrcuFImt/JsAsSZu1uOWTZ1ZsWjqQtWpHLiatJOHL5jFjXSJIgCd01g==",
+        "glob-parent": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+          "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
           "dev": true,
           "requires": {
-            "@colors/colors": "1.5.0",
-            "body-parser": "^1.19.0",
-            "braces": "^3.0.2",
-            "chokidar": "^3.5.1",
-            "connect": "^3.7.0",
-            "di": "^0.0.1",
-            "dom-serialize": "^2.2.1",
-            "glob": "^7.1.7",
-            "graceful-fs": "^4.2.6",
-            "http-proxy": "^1.18.1",
-            "isbinaryfile": "^4.0.8",
-            "lodash": "^4.17.21",
-            "log4js": "^6.4.1",
-            "mime": "^2.5.2",
-            "minimatch": "^3.0.4",
-            "mkdirp": "^0.5.5",
-            "qjobs": "^1.2.0",
-            "range-parser": "^1.2.1",
-            "rimraf": "^3.0.2",
-            "socket.io": "^4.2.0",
-            "source-map": "^0.6.1",
-            "tmp": "^0.2.1",
-            "ua-parser-js": "^0.7.30",
-            "yargs": "^16.1.1"
+            "is-glob": "^4.0.1"
           }
         },
+        "is-plain-obj": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+          "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+          "dev": true
+        },
+        "json-parse-even-better-errors": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+          "dev": true
+        },
         "karma-chrome-launcher": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz",
+          "version": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz",
           "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==",
           "dev": true,
           "requires": {
             "which": "^1.2.1"
           }
         },
+        "log-symbols": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+          "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "is-unicode-supported": "^0.1.0"
+          }
+        },
         "minimatch": {
-          "version": "3.1.2",
-          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+          "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
           "dev": true,
           "requires": {
-            "brace-expansion": "^1.1.7"
+            "brace-expansion": "^2.0.1"
+          },
+          "dependencies": {
+            "brace-expansion": {
+              "version": "2.0.1",
+              "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+              "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+              "dev": true,
+              "requires": {
+                "balanced-match": "^1.0.0"
+              }
+            }
           }
         },
-        "mkdirp": {
-          "version": "0.5.6",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-          "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+        "mocha": {
+          "version": "10.2.0",
+          "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+          "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+          "dev": true,
+          "requires": {
+            "ansi-colors": "4.1.1",
+            "browser-stdout": "1.3.1",
+            "chokidar": "3.5.3",
+            "debug": "4.3.4",
+            "diff": "5.0.0",
+            "escape-string-regexp": "4.0.0",
+            "find-up": "5.0.0",
+            "glob": "7.2.0",
+            "he": "1.2.0",
+            "js-yaml": "4.1.0",
+            "log-symbols": "4.1.0",
+            "minimatch": "5.0.1",
+            "ms": "2.1.3",
+            "nanoid": "3.3.3",
+            "serialize-javascript": "6.0.0",
+            "strip-json-comments": "3.1.1",
+            "supports-color": "8.1.1",
+            "workerpool": "6.2.1",
+            "yargs": "16.2.0",
+            "yargs-parser": "20.2.4",
+            "yargs-unparser": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+          "dev": true
+        },
+        "nanoid": {
+          "version": "3.3.3",
+          "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+          "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
           "dev": true,
           "requires": {
-            "minimist": "^1.2.6"
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
+          }
+        },
+        "source-map": {
+          "version": "0.7.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+          "dev": true
+        },
+        "tapable": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+          "dev": true
+        },
+        "ts-loader": {
+          "version": "9.5.1",
+          "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+          "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "enhanced-resolve": "^5.0.0",
+            "micromatch": "^4.0.0",
+            "semver": "^7.3.4",
+            "source-map": "^0.7.4"
+          }
+        },
+        "webpack": {
+          "version": "5.89.0",
+          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+          "dev": true,
+          "requires": {
+            "@types/eslint-scope": "^3.7.3",
+            "@types/estree": "^1.0.0",
+            "@webassemblyjs/ast": "^1.11.5",
+            "@webassemblyjs/wasm-edit": "^1.11.5",
+            "@webassemblyjs/wasm-parser": "^1.11.5",
+            "acorn": "^8.7.1",
+            "acorn-import-assertions": "^1.9.0",
+            "browserslist": "^4.14.5",
+            "chrome-trace-event": "^1.0.2",
+            "enhanced-resolve": "^5.15.0",
+            "es-module-lexer": "^1.2.1",
+            "eslint-scope": "5.1.1",
+            "events": "^3.2.0",
+            "glob-to-regexp": "^0.4.1",
+            "graceful-fs": "^4.2.9",
+            "json-parse-even-better-errors": "^2.3.1",
+            "loader-runner": "^4.2.0",
+            "mime-types": "^2.1.27",
+            "neo-async": "^2.6.2",
+            "schema-utils": "^3.2.0",
+            "tapable": "^2.1.1",
+            "terser-webpack-plugin": "^5.3.7",
+            "watchpack": "^2.4.0",
+            "webpack-sources": "^3.2.3"
+          }
+        },
+        "which": {
+          "version": "1.3.1",
+          "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+          "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+          "dev": true,
+          "requires": {
+            "isexe": "^2.0.0"
+          }
+        },
+        "yargs": {
+          "version": "16.2.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+          "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+          "dev": true,
+          "requires": {
+            "cliui": "^7.0.2",
+            "escalade": "^3.1.1",
+            "get-caller-file": "^2.0.5",
+            "require-directory": "^2.1.1",
+            "string-width": "^4.2.0",
+            "y18n": "^5.0.5",
+            "yargs-parser": "^20.2.2"
+          }
+        },
+        "yargs-unparser": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+          "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^6.0.0",
+            "decamelize": "^4.0.0",
+            "flat": "^5.0.2",
+            "is-plain-obj": "^2.1.0"
+          }
+        }
+      }
+    },
+    "@opentelemetry/propagator-jaeger": {
+      "version": "1.25.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.0.tgz",
+      "integrity": "sha512-uwA5xqaPISXeX+YutqbjmzENnCGCvrIXlqIXP5gRoA5N6S3W28p+ExL77TugMKHN5gXklapF67jDfz7lq5ETzQ==",
+      "requires": {
+        "@opentelemetry/core": "1.25.0"
+      }
+    },
+    "@opentelemetry/propagator-ot-trace": {
+      "version": "file:propagators/opentelemetry-propagator-ot-trace",
+      "requires": {
+        "@babel/core": "7.24.6",
+        "@babel/preset-env": "7.24.6",
+        "@opentelemetry/api": "^1.0.0",
+        "@types/mocha": "10.0.6",
+        "@types/node": "18.6.5",
+        "@types/sinon": "17.0.3",
+        "@types/webpack-env": "1.16.3",
+        "assert": "2.0.0",
+        "babel-loader": "8.3.0",
+        "babel-plugin-istanbul": "6.1.1",
+        "cross-var": "1.1.0",
+        "karma": "6.4.3",
+        "karma-chrome-launcher": "3.1.0",
+        "karma-coverage": "2.2.1",
+        "karma-mocha": "2.0.1",
+        "karma-spec-reporter": "0.0.36",
+        "karma-webpack": "5.0.1",
+        "mocha": "10.2.0",
+        "nyc": "15.1.0",
+        "sinon": "15.1.2",
+        "ts-loader": "9.5.1",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4",
+        "webpack": "5.89.0",
+        "webpack-cli": "5.1.4",
+        "webpack-merge": "5.10.0"
+      },
+      "dependencies": {
+        "@babel/core": {
+          "version": "7.24.6",
+          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz",
+          "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==",
+          "dev": true,
+          "requires": {
+            "@ampproject/remapping": "^2.2.0",
+            "@babel/code-frame": "^7.24.6",
+            "@babel/generator": "^7.24.6",
+            "@babel/helper-compilation-targets": "^7.24.6",
+            "@babel/helper-module-transforms": "^7.24.6",
+            "@babel/helpers": "^7.24.6",
+            "@babel/parser": "^7.24.6",
+            "@babel/template": "^7.24.6",
+            "@babel/traverse": "^7.24.6",
+            "@babel/types": "^7.24.6",
+            "convert-source-map": "^2.0.0",
+            "debug": "^4.1.0",
+            "gensync": "^1.0.0-beta.2",
+            "json5": "^2.2.3",
+            "semver": "^6.3.1"
+          },
+          "dependencies": {
+            "semver": {
+              "version": "6.3.1",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+              "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+              "dev": true
+            }
+          }
+        },
+        "@sinonjs/commons": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+          "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+          "dev": true,
+          "requires": {
+            "type-detect": "4.0.8"
+          }
+        },
+        "@types/mocha": {
+          "version": "10.0.6",
+          "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz",
+          "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==",
+          "dev": true
+        },
+        "@types/sinon": {
+          "version": "17.0.3",
+          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
+          "dev": true,
+          "requires": {
+            "@types/sinonjs__fake-timers": "*"
+          }
+        },
+        "ansi-colors": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "camelcase": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+          "dev": true
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          },
+          "dependencies": {
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
+          }
+        },
+        "chokidar": {
+          "version": "3.5.3",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+          "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+          "dev": true,
+          "requires": {
+            "anymatch": "~3.1.2",
+            "braces": "~3.0.2",
+            "fsevents": "~2.3.2",
+            "glob-parent": "~5.1.2",
+            "is-binary-path": "~2.1.0",
+            "is-glob": "~4.0.1",
+            "normalize-path": "~3.0.0",
+            "readdirp": "~3.6.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "convert-source-map": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+          "dev": true
+        },
+        "decamelize": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+          "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+          "dev": true
+        },
+        "diff": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+          "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+          "dev": true
+        },
+        "enhanced-resolve": {
+          "version": "5.17.0",
+          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.4",
+            "tapable": "^2.2.0"
+          }
+        },
+        "escape-string-regexp": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+          "dev": true
+        },
+        "events": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+          "dev": true
+        },
+        "glob": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+          "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          },
+          "dependencies": {
+            "minimatch": {
+              "version": "3.1.2",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+              "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+              "dev": true,
+              "requires": {
+                "brace-expansion": "^1.1.7"
+              }
+            }
+          }
+        },
+        "glob-parent": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+          "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        },
+        "is-plain-obj": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+          "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+          "dev": true
+        },
+        "json-parse-even-better-errors": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+          "dev": true
+        },
+        "log-symbols": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+          "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "is-unicode-supported": "^0.1.0"
+          }
+        },
+        "minimatch": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+          "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^2.0.1"
+          },
+          "dependencies": {
+            "brace-expansion": {
+              "version": "2.0.1",
+              "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+              "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+              "dev": true,
+              "requires": {
+                "balanced-match": "^1.0.0"
+              }
+            }
+          }
+        },
+        "mocha": {
+          "version": "10.2.0",
+          "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+          "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+          "dev": true,
+          "requires": {
+            "ansi-colors": "4.1.1",
+            "browser-stdout": "1.3.1",
+            "chokidar": "3.5.3",
+            "debug": "4.3.4",
+            "diff": "5.0.0",
+            "escape-string-regexp": "4.0.0",
+            "find-up": "5.0.0",
+            "glob": "7.2.0",
+            "he": "1.2.0",
+            "js-yaml": "4.1.0",
+            "log-symbols": "4.1.0",
+            "minimatch": "5.0.1",
+            "ms": "2.1.3",
+            "nanoid": "3.3.3",
+            "serialize-javascript": "6.0.0",
+            "strip-json-comments": "3.1.1",
+            "supports-color": "8.1.1",
+            "workerpool": "6.2.1",
+            "yargs": "16.2.0",
+            "yargs-parser": "20.2.4",
+            "yargs-unparser": "2.0.0"
           }
         },
-        "rimraf": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+          "dev": true
+        },
+        "nanoid": {
+          "version": "3.3.3",
+          "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+          "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
           "dev": true,
           "requires": {
-            "glob": "^7.1.3"
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
           }
         },
-        "webpack-cli": {
-          "version": "4.9.2",
-          "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz",
-          "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==",
+        "sinon": {
+          "version": "15.1.2",
+          "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
+          "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==",
           "dev": true,
           "requires": {
-            "@discoveryjs/json-ext": "^0.5.0",
-            "@webpack-cli/configtest": "^1.1.1",
-            "@webpack-cli/info": "^1.4.1",
-            "@webpack-cli/serve": "^1.6.1",
-            "colorette": "^2.0.14",
-            "commander": "^7.0.0",
-            "execa": "^5.0.0",
-            "fastest-levenshtein": "^1.0.12",
-            "import-local": "^3.0.2",
-            "interpret": "^2.2.0",
-            "rechoir": "^0.7.0",
-            "webpack-merge": "^5.7.3"
+            "@sinonjs/commons": "^3.0.0",
+            "@sinonjs/fake-timers": "^10.1.0",
+            "@sinonjs/samsam": "^8.0.0",
+            "diff": "^5.1.0",
+            "nise": "^5.1.4",
+            "supports-color": "^7.2.0"
+          },
+          "dependencies": {
+            "diff": {
+              "version": "5.2.0",
+              "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+              "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+              "dev": true
+            },
+            "supports-color": {
+              "version": "7.2.0",
+              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+              "dev": true,
+              "requires": {
+                "has-flag": "^4.0.0"
+              }
+            }
           }
         },
-        "which": {
-          "version": "1.3.1",
-          "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-          "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+        "source-map": {
+          "version": "0.7.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+          "dev": true
+        },
+        "tapable": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+          "dev": true
+        },
+        "ts-loader": {
+          "version": "9.5.1",
+          "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+          "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
           "dev": true,
           "requires": {
-            "isexe": "^2.0.0"
+            "chalk": "^4.1.0",
+            "enhanced-resolve": "^5.0.0",
+            "micromatch": "^4.0.0",
+            "semver": "^7.3.4",
+            "source-map": "^0.7.4"
+          }
+        },
+        "webpack": {
+          "version": "5.89.0",
+          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+          "dev": true,
+          "requires": {
+            "@types/eslint-scope": "^3.7.3",
+            "@types/estree": "^1.0.0",
+            "@webassemblyjs/ast": "^1.11.5",
+            "@webassemblyjs/wasm-edit": "^1.11.5",
+            "@webassemblyjs/wasm-parser": "^1.11.5",
+            "acorn": "^8.7.1",
+            "acorn-import-assertions": "^1.9.0",
+            "browserslist": "^4.14.5",
+            "chrome-trace-event": "^1.0.2",
+            "enhanced-resolve": "^5.15.0",
+            "es-module-lexer": "^1.2.1",
+            "eslint-scope": "5.1.1",
+            "events": "^3.2.0",
+            "glob-to-regexp": "^0.4.1",
+            "graceful-fs": "^4.2.9",
+            "json-parse-even-better-errors": "^2.3.1",
+            "loader-runner": "^4.2.0",
+            "mime-types": "^2.1.27",
+            "neo-async": "^2.6.2",
+            "schema-utils": "^3.2.0",
+            "tapable": "^2.1.1",
+            "terser-webpack-plugin": "^5.3.7",
+            "watchpack": "^2.4.0",
+            "webpack-sources": "^3.2.3"
           }
         },
         "yargs": {
@@ -48332,44 +55330,18 @@
             "y18n": "^5.0.5",
             "yargs-parser": "^20.2.2"
           }
-        }
-      }
-    },
-    "@opentelemetry/propagator-jaeger": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.0.tgz",
-      "integrity": "sha512-uwA5xqaPISXeX+YutqbjmzENnCGCvrIXlqIXP5gRoA5N6S3W28p+ExL77TugMKHN5gXklapF67jDfz7lq5ETzQ==",
-      "requires": {
-        "@opentelemetry/core": "1.25.0"
-      }
-    },
-    "@opentelemetry/propagator-ot-trace": {
-      "version": "file:propagators/opentelemetry-propagator-ot-trace",
-      "requires": {
-        "@jsdevtools/coverage-istanbul-loader": "3.0.5",
-        "@opentelemetry/api": "^1.0.0",
-        "@types/mocha": "8.2.3",
-        "@types/node": "18.6.5",
-        "@types/webpack-env": "1.16.2",
-        "karma": "6.3.16",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "3.0.3",
-        "karma-mocha": "2.0.1",
-        "karma-spec-reporter": "0.0.36",
-        "karma-webpack": "4.0.2",
-        "mocha": "7.2.0",
-        "nyc": "15.1.0",
-        "ts-loader": "8.3.0",
-        "ts-mocha": "10.0.0",
-        "typescript": "4.4.4",
-        "webpack": "4.46.0"
-      },
-      "dependencies": {
-        "@types/mocha": {
-          "version": "8.2.3",
-          "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz",
-          "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
-          "dev": true
+        },
+        "yargs-unparser": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+          "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^6.0.0",
+            "decamelize": "^4.0.0",
+            "flat": "^5.0.2",
+            "is-plain-obj": "^2.1.0"
+          }
         }
       }
     },
@@ -49201,2579 +56173,3595 @@
         }
       }
     },
-    "@sinonjs/samsam": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz",
-      "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==",
+    "@sinonjs/samsam": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz",
+      "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==",
+      "dev": true,
+      "requires": {
+        "@sinonjs/commons": "^2.0.0",
+        "lodash.get": "^4.4.2",
+        "type-detect": "^4.0.8"
+      }
+    },
+    "@sinonjs/text-encoding": {
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz",
+      "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==",
+      "dev": true
+    },
+    "@smithy/abort-controller": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.2.tgz",
+      "integrity": "sha512-iwUxrFm/ZFCXhzhtZ6JnoJzAsqUrVfBAZUTQj8ypXGtIjwXZpKqmgYiuqrDERiydDI5gesqvsC4Rqe57GGhbVg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/config-resolver": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.2.tgz",
+      "integrity": "sha512-ZDMY63xJVsJl7ei/yIMv9nx8OiEOulwNnQOUDGpIvzoBrcbvYwiMjIMe5mP5J4fUmttKkpiTKwta/7IUriAn9w==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/node-config-provider": "^2.2.2",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-config-provider": "^2.2.1",
+        "@smithy/util-middleware": "^2.1.2",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/core": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.3.tgz",
+      "integrity": "sha512-8cT/swERvU1EUMuJF914+psSeVy4+NcNhbRe1WEKN1yIMPE5+Tq5EaPq1HWjKCodcdBIyU9ViTjd62XnebXMHA==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/middleware-endpoint": "^2.4.2",
+        "@smithy/middleware-retry": "^2.1.2",
+        "@smithy/middleware-serde": "^2.1.2",
+        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/smithy-client": "^2.4.0",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-middleware": "^2.1.2",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/credential-provider-imds": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.2.tgz",
+      "integrity": "sha512-a2xpqWzhzcYwImGbFox5qJLf6i5HKdVeOVj7d6kVFElmbS2QW2T4HmefRc5z1huVArk9bh5Rk1NiFp9YBCXU3g==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/node-config-provider": "^2.2.2",
+        "@smithy/property-provider": "^2.1.2",
+        "@smithy/types": "^2.10.0",
+        "@smithy/url-parser": "^2.1.2",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/eventstream-codec": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.2.tgz",
+      "integrity": "sha512-2PHrVRixITHSOj3bxfZmY93apGf8/DFiyhRh9W0ukfi07cvlhlRonZ0fjgcqryJjUZ5vYHqqmfIE/Qe1HM9mlw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@aws-crypto/crc32": "3.0.0",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-hex-encoding": "^2.1.1",
+        "tslib": "^2.5.0"
+      },
+      "dependencies": {
+        "@aws-crypto/crc32": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz",
+          "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "@aws-crypto/util": "^3.0.0",
+            "@aws-sdk/types": "^3.222.0",
+            "tslib": "^1.11.1"
+          },
+          "dependencies": {
+            "tslib": {
+              "version": "1.14.1",
+              "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+              "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+              "dev": true,
+              "optional": true
+            }
+          }
+        },
+        "@aws-crypto/util": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz",
+          "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "@aws-sdk/types": "^3.222.0",
+            "@aws-sdk/util-utf8-browser": "^3.0.0",
+            "tslib": "^1.11.1"
+          },
+          "dependencies": {
+            "tslib": {
+              "version": "1.14.1",
+              "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+              "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+              "dev": true,
+              "optional": true
+            }
+          }
+        },
+        "@aws-sdk/types": {
+          "version": "3.521.0",
+          "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.521.0.tgz",
+          "integrity": "sha512-H9I3Lut0F9d+kTibrhnTRqDRzhxf/vrDu12FUdTXVZEvVAQ7w9yrVHAZx8j2e8GWegetsQsNitO3KMrj4dA4pw==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "@smithy/types": "^2.10.0",
+            "tslib": "^2.5.0"
+          }
+        }
+      }
+    },
+    "@smithy/fetch-http-handler": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.2.tgz",
+      "integrity": "sha512-sIGMVwa/8h6eqNjarI3F07gvML3mMXcqBe+BINNLuKsVKXMNBN6wRzeZbbx7lfiJDEHAP28qRns8flHEoBB7zw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/querystring-builder": "^2.1.2",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-base64": "^2.1.1",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/hash-node": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.2.tgz",
+      "integrity": "sha512-3Sgn4s0g4xud1M/j6hQwYCkz04lVJ24wvCAx4xI26frr3Ao6v0o2VZkBpUySTeQbMUBp2DhuzJ0fV1zybzkckw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-buffer-from": "^2.1.1",
+        "@smithy/util-utf8": "^2.1.1",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/invalid-dependency": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.2.tgz",
+      "integrity": "sha512-qdgKhkFYxDJnKecx2ANwz3JRkXjm0qDgEnAs5BIfb2z/XqA2l7s9BTH7GTC/RR4E8h6EDCeb5rM2rnARxviqIg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/is-array-buffer": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz",
+      "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/middleware-content-length": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.2.tgz",
+      "integrity": "sha512-XEWtul1tHP31EtUIobEyN499paUIbnCTRtjY+ciDCEXW81lZmpjrDG3aL0FxJDPnvatVQuMV1V5eg6MCqTFaLQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/middleware-endpoint": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.2.tgz",
+      "integrity": "sha512-72qbmVwaWcLOd/OT52fszrrlXywPwciwpsRiIk/dIvpcwkpGE9qrYZ2bt/SYcA/ma8Rz9Ni2AbBuSXLDYISS+A==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/middleware-serde": "^2.1.2",
+        "@smithy/node-config-provider": "^2.2.2",
+        "@smithy/shared-ini-file-loader": "^2.3.2",
+        "@smithy/types": "^2.10.0",
+        "@smithy/url-parser": "^2.1.2",
+        "@smithy/util-middleware": "^2.1.2",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/middleware-retry": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.2.tgz",
+      "integrity": "sha512-tlvSK+v9bPHHb0dLWvEaFW2Iz0IeA57ISvSaso36I33u8F8wYqo5FCvenH7TgMVBx57jyJBXOmYCZa9n5gdJIg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/node-config-provider": "^2.2.2",
+        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/service-error-classification": "^2.1.2",
+        "@smithy/smithy-client": "^2.4.0",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-middleware": "^2.1.2",
+        "@smithy/util-retry": "^2.1.2",
+        "tslib": "^2.5.0",
+        "uuid": "^8.3.2"
+      }
+    },
+    "@smithy/middleware-serde": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.2.tgz",
+      "integrity": "sha512-XNU6aVIhlSbjuo2XsfZ7rd4HhjTXDlNWxAmhlBfViTW1TNK02CeWdeEntp5XtQKYD//pyTIbYi35EQvIidAkOw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/middleware-stack": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.2.tgz",
+      "integrity": "sha512-EPGaHGd4XmZcaRYjbhyqiqN/Q/ESxXu5e5TK24CTZUe99y8/XCxmiX8VLMM4H0DI7K3yfElR0wPAAvceoSkTgw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/node-config-provider": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.2.tgz",
+      "integrity": "sha512-QXvpqHSijAm13ZsVkUo92b085UzDvYP1LblWTb3uWi9WilhDvYnVyPLXaryLhOWZ2YvdhK2170T3ZBqtg+quIQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/property-provider": "^2.1.2",
+        "@smithy/shared-ini-file-loader": "^2.3.2",
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/node-http-handler": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.0.tgz",
+      "integrity": "sha512-Mf2f7MMy31W8LisJ9O+7J5cKiNwBwBBLU6biQ7/sFSFdhuOxPN7hOPoZ8vlaFjvrpfOUJw9YOpjGyNTKuvomOQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/abort-controller": "^2.1.2",
+        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/querystring-builder": "^2.1.2",
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/property-provider": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.2.tgz",
+      "integrity": "sha512-yaXCVFKzxbSXqOoyA7AdAgXhwdjiLeui7n2P6XLjBCz/GZFdLUJgSY6KL1PevaxT4REMwUSs/bSHAe/0jdzEHw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/protocol-http": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.0.tgz",
+      "integrity": "sha512-VRp0YITYIQum+rX4zeZ3cW1wl9r90IQzQN+VLS1NxdSMt6NLsJiJqR9czTxlaeWNrLHsFAETmjmdrS48Ug1liA==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/querystring-builder": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.2.tgz",
+      "integrity": "sha512-wk6QpuvBBLJF5w8aADsZOtxaHY9cF5MZe1Ry3hSqqBxARdUrMoXi/jukUz5W0ftXGlbA398IN8dIIUj3WXqJXg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-uri-escape": "^2.1.1",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/querystring-parser": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.2.tgz",
+      "integrity": "sha512-z1yL5Iiagm/UxVy1tcuTFZdfOBK/QtYeK6wfClAJ7cOY7kIaYR6jn1cVXXJmhAQSh1b2ljP4xiZN4Ybj7Tbs5w==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/service-error-classification": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.2.tgz",
+      "integrity": "sha512-R+gL1pAPuWkH6unFridk57wDH5PFY2IlVg2NUjSAjoaIaU+sxqKf/7AOWIcx9Bdn+xY0/4IRQ69urlC+F3I9gg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/types": "^2.10.0"
+      }
+    },
+    "@smithy/shared-ini-file-loader": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.2.tgz",
+      "integrity": "sha512-idHGDJB+gBh+aaIjmWj6agmtNWftoyAenErky74hAtKyUaCvfocSBgEJ2pQ6o68svBluvGIj4NGFgJu0198mow==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/signature-v4": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.2.tgz",
+      "integrity": "sha512-DdPWaNGIbxzyocR3ncH8xlxQgsqteRADEdCPoivgBzwv17UzKy2obtdi2vwNc5lAJ955bGEkkWef9O7kc1Eocg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/eventstream-codec": "^2.1.2",
+        "@smithy/is-array-buffer": "^2.1.1",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-hex-encoding": "^2.1.1",
+        "@smithy/util-middleware": "^2.1.2",
+        "@smithy/util-uri-escape": "^2.1.1",
+        "@smithy/util-utf8": "^2.1.1",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/smithy-client": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.0.tgz",
+      "integrity": "sha512-6/jxk0om9l2s9BcgHtrBn+Hd3xcFGDzxfEJ2FvGpZxIz0S7bgvZg1gyR66O1xf1w9WZBH+W7JClhfSn2gETINw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/middleware-endpoint": "^2.4.2",
+        "@smithy/middleware-stack": "^2.1.2",
+        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/types": "^2.10.0",
+        "@smithy/util-stream": "^2.1.2",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/types": {
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.10.0.tgz",
+      "integrity": "sha512-QYXQmpIebS8/jYXgyJjCanKZbI4Rr8tBVGBAIdDhA35f025TVjJNW69FJ0TGiDqt+lIGo037YIswq2t2Y1AYZQ==",
+      "dev": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/url-parser": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.2.tgz",
+      "integrity": "sha512-KBPi740ciTujUaY+RfQuPABD0QFmgSBN5qNVDCGTryfsbG4jkwC0YnElSzi72m24HegMyxzZDLG4Oh4/97mw2g==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/querystring-parser": "^2.1.2",
+        "@smithy/types": "^2.10.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/util-base64": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz",
+      "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@smithy/util-buffer-from": "^2.1.1",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/util-body-length-browser": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz",
+      "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/util-body-length-node": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz",
+      "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@smithy/util-buffer-from": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz",
+      "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==",
       "dev": true,
+      "optional": true,
       "requires": {
-        "@sinonjs/commons": "^2.0.0",
-        "lodash.get": "^4.4.2",
-        "type-detect": "^4.0.8"
+        "@smithy/is-array-buffer": "^2.1.1",
+        "tslib": "^2.5.0"
       }
     },
-    "@sinonjs/text-encoding": {
-      "version": "0.7.2",
-      "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz",
-      "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==",
-      "dev": true
-    },
-    "@smithy/abort-controller": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.2.tgz",
-      "integrity": "sha512-iwUxrFm/ZFCXhzhtZ6JnoJzAsqUrVfBAZUTQj8ypXGtIjwXZpKqmgYiuqrDERiydDI5gesqvsC4Rqe57GGhbVg==",
+    "@smithy/util-config-provider": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz",
+      "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==",
       "dev": true,
       "optional": true,
       "requires": {
-        "@smithy/types": "^2.10.0",
         "tslib": "^2.5.0"
       }
     },
-    "@smithy/config-resolver": {
+    "@smithy/util-defaults-mode-browser": {
       "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.2.tgz",
-      "integrity": "sha512-ZDMY63xJVsJl7ei/yIMv9nx8OiEOulwNnQOUDGpIvzoBrcbvYwiMjIMe5mP5J4fUmttKkpiTKwta/7IUriAn9w==",
+      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.2.tgz",
+      "integrity": "sha512-YmojdmsE7VbvFGJ/8btn/5etLm1HOQkgVX6nMWlB0yBL/Vb//s3aTebUJ66zj2+LNrBS3B9S+18+LQU72Yj0AQ==",
       "dev": true,
       "optional": true,
       "requires": {
-        "@smithy/node-config-provider": "^2.2.2",
+        "@smithy/property-provider": "^2.1.2",
+        "@smithy/smithy-client": "^2.4.0",
         "@smithy/types": "^2.10.0",
-        "@smithy/util-config-provider": "^2.2.1",
-        "@smithy/util-middleware": "^2.1.2",
+        "bowser": "^2.11.0",
         "tslib": "^2.5.0"
       }
     },
-    "@smithy/core": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.3.tgz",
-      "integrity": "sha512-8cT/swERvU1EUMuJF914+psSeVy4+NcNhbRe1WEKN1yIMPE5+Tq5EaPq1HWjKCodcdBIyU9ViTjd62XnebXMHA==",
+    "@smithy/util-defaults-mode-node": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.1.tgz",
+      "integrity": "sha512-kof7M9Q2qP5yaQn8hHJL3KwozyvIfLe+ys7feifSul6gBAAeoraibo/MWqotb/I0fVLMlCMDwn7WXFsGUwnsew==",
       "dev": true,
       "optional": true,
       "requires": {
-        "@smithy/middleware-endpoint": "^2.4.2",
-        "@smithy/middleware-retry": "^2.1.2",
-        "@smithy/middleware-serde": "^2.1.2",
-        "@smithy/protocol-http": "^3.2.0",
+        "@smithy/config-resolver": "^2.1.2",
+        "@smithy/credential-provider-imds": "^2.2.2",
+        "@smithy/node-config-provider": "^2.2.2",
+        "@smithy/property-provider": "^2.1.2",
         "@smithy/smithy-client": "^2.4.0",
         "@smithy/types": "^2.10.0",
-        "@smithy/util-middleware": "^2.1.2",
         "tslib": "^2.5.0"
       }
     },
-    "@smithy/credential-provider-imds": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.2.tgz",
-      "integrity": "sha512-a2xpqWzhzcYwImGbFox5qJLf6i5HKdVeOVj7d6kVFElmbS2QW2T4HmefRc5z1huVArk9bh5Rk1NiFp9YBCXU3g==",
+    "@smithy/util-endpoints": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.2.tgz",
+      "integrity": "sha512-2/REfdcJ20y9iF+9kSBRBsaoGzjT5dZ3E6/TA45GHJuJAb/vZTj76VLTcrl2iN3fWXiDK1B8RxchaLGbr7RxxA==",
       "dev": true,
       "optional": true,
       "requires": {
         "@smithy/node-config-provider": "^2.2.2",
-        "@smithy/property-provider": "^2.1.2",
         "@smithy/types": "^2.10.0",
-        "@smithy/url-parser": "^2.1.2",
         "tslib": "^2.5.0"
       }
     },
-    "@smithy/eventstream-codec": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.2.tgz",
-      "integrity": "sha512-2PHrVRixITHSOj3bxfZmY93apGf8/DFiyhRh9W0ukfi07cvlhlRonZ0fjgcqryJjUZ5vYHqqmfIE/Qe1HM9mlw==",
+    "@smithy/util-hex-encoding": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz",
+      "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==",
       "dev": true,
       "optional": true,
       "requires": {
-        "@aws-crypto/crc32": "3.0.0",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-hex-encoding": "^2.1.1",
         "tslib": "^2.5.0"
-      },
-      "dependencies": {
-        "@aws-crypto/crc32": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz",
-          "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "@aws-crypto/util": "^3.0.0",
-            "@aws-sdk/types": "^3.222.0",
-            "tslib": "^1.11.1"
-          },
-          "dependencies": {
-            "tslib": {
-              "version": "1.14.1",
-              "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-              "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-              "dev": true,
-              "optional": true
-            }
-          }
-        },
-        "@aws-crypto/util": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz",
-          "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "@aws-sdk/types": "^3.222.0",
-            "@aws-sdk/util-utf8-browser": "^3.0.0",
-            "tslib": "^1.11.1"
-          },
-          "dependencies": {
-            "tslib": {
-              "version": "1.14.1",
-              "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-              "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-              "dev": true,
-              "optional": true
-            }
-          }
-        },
-        "@aws-sdk/types": {
-          "version": "3.521.0",
-          "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.521.0.tgz",
-          "integrity": "sha512-H9I3Lut0F9d+kTibrhnTRqDRzhxf/vrDu12FUdTXVZEvVAQ7w9yrVHAZx8j2e8GWegetsQsNitO3KMrj4dA4pw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "@smithy/types": "^2.10.0",
-            "tslib": "^2.5.0"
-          }
-        }
       }
     },
-    "@smithy/fetch-http-handler": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.2.tgz",
-      "integrity": "sha512-sIGMVwa/8h6eqNjarI3F07gvML3mMXcqBe+BINNLuKsVKXMNBN6wRzeZbbx7lfiJDEHAP28qRns8flHEoBB7zw==",
+    "@smithy/util-middleware": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.2.tgz",
+      "integrity": "sha512-lvSOnwQ7iAajtWb1nAyy0CkOIn8d+jGykQOtt2NXDsPzOTfejZM/Uph+O/TmVgWoXdcGuw5peUMG2f5xEIl6UQ==",
       "dev": true,
       "optional": true,
       "requires": {
-        "@smithy/protocol-http": "^3.2.0",
-        "@smithy/querystring-builder": "^2.1.2",
         "@smithy/types": "^2.10.0",
-        "@smithy/util-base64": "^2.1.1",
         "tslib": "^2.5.0"
       }
     },
-    "@smithy/hash-node": {
+    "@smithy/util-retry": {
       "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.2.tgz",
-      "integrity": "sha512-3Sgn4s0g4xud1M/j6hQwYCkz04lVJ24wvCAx4xI26frr3Ao6v0o2VZkBpUySTeQbMUBp2DhuzJ0fV1zybzkckw==",
+      "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.2.tgz",
+      "integrity": "sha512-pqifOgRqwLfRu+ks3awEKKqPeYxrHLwo4Yu2EarGzeoarTd1LVEyyf5qLE6M7IiCsxnXRhn9FoWIdZOC+oC/VQ==",
       "dev": true,
       "optional": true,
       "requires": {
+        "@smithy/service-error-classification": "^2.1.2",
         "@smithy/types": "^2.10.0",
-        "@smithy/util-buffer-from": "^2.1.1",
-        "@smithy/util-utf8": "^2.1.1",
         "tslib": "^2.5.0"
       }
     },
-    "@smithy/invalid-dependency": {
+    "@smithy/util-stream": {
       "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.2.tgz",
-      "integrity": "sha512-qdgKhkFYxDJnKecx2ANwz3JRkXjm0qDgEnAs5BIfb2z/XqA2l7s9BTH7GTC/RR4E8h6EDCeb5rM2rnARxviqIg==",
+      "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.2.tgz",
+      "integrity": "sha512-AbGjvoSok7YeUKv9WRVRSChQfsufLR54YCAabTbaABRdIucywRQs29em0uAP6r4RLj+4aFZStWGYpFgT0P8UlQ==",
       "dev": true,
       "optional": true,
       "requires": {
+        "@smithy/fetch-http-handler": "^2.4.2",
+        "@smithy/node-http-handler": "^2.4.0",
         "@smithy/types": "^2.10.0",
+        "@smithy/util-base64": "^2.1.1",
+        "@smithy/util-buffer-from": "^2.1.1",
+        "@smithy/util-hex-encoding": "^2.1.1",
+        "@smithy/util-utf8": "^2.1.1",
         "tslib": "^2.5.0"
       }
     },
-    "@smithy/is-array-buffer": {
+    "@smithy/util-uri-escape": {
       "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz",
-      "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==",
+      "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz",
+      "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==",
       "dev": true,
       "optional": true,
       "requires": {
         "tslib": "^2.5.0"
       }
     },
-    "@smithy/middleware-content-length": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.2.tgz",
-      "integrity": "sha512-XEWtul1tHP31EtUIobEyN499paUIbnCTRtjY+ciDCEXW81lZmpjrDG3aL0FxJDPnvatVQuMV1V5eg6MCqTFaLQ==",
+    "@smithy/util-utf8": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz",
+      "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==",
       "dev": true,
       "optional": true,
       "requires": {
-        "@smithy/protocol-http": "^3.2.0",
-        "@smithy/types": "^2.10.0",
+        "@smithy/util-buffer-from": "^2.1.1",
         "tslib": "^2.5.0"
       }
     },
-    "@smithy/middleware-endpoint": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.2.tgz",
-      "integrity": "sha512-72qbmVwaWcLOd/OT52fszrrlXywPwciwpsRiIk/dIvpcwkpGE9qrYZ2bt/SYcA/ma8Rz9Ni2AbBuSXLDYISS+A==",
+    "@socket.io/component-emitter": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+      "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
+      "dev": true
+    },
+    "@teppeis/multimaps": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@teppeis/multimaps/-/multimaps-2.0.0.tgz",
+      "integrity": "sha512-TL1adzq1HdxUf9WYduLcQ/DNGYiz71U31QRgbnr0Ef1cPyOUOsBojxHVWpFeOSUucB6Lrs0LxFRA14ntgtkc9w==",
+      "dev": true
+    },
+    "@tootallnate/once": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+      "dev": true
+    },
+    "@tootallnate/quickjs-emscripten": {
+      "version": "0.23.0",
+      "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
+      "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
+      "dev": true
+    },
+    "@tufjs/canonical-json": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz",
+      "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==",
+      "dev": true
+    },
+    "@tufjs/models": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz",
+      "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/middleware-serde": "^2.1.2",
-        "@smithy/node-config-provider": "^2.2.2",
-        "@smithy/shared-ini-file-loader": "^2.3.2",
-        "@smithy/types": "^2.10.0",
-        "@smithy/url-parser": "^2.1.2",
-        "@smithy/util-middleware": "^2.1.2",
-        "tslib": "^2.5.0"
+        "@tufjs/canonical-json": "1.0.0",
+        "minimatch": "^9.0.0"
       }
     },
-    "@smithy/middleware-retry": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.2.tgz",
-      "integrity": "sha512-tlvSK+v9bPHHb0dLWvEaFW2Iz0IeA57ISvSaso36I33u8F8wYqo5FCvenH7TgMVBx57jyJBXOmYCZa9n5gdJIg==",
+    "@types/accepts": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz",
+      "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==",
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@types/amqplib": {
+      "version": "0.5.17",
+      "resolved": "https://registry.npmjs.org/@types/amqplib/-/amqplib-0.5.17.tgz",
+      "integrity": "sha512-RImqiLP1swDqWBW8UX9iBXVEOw6MYzNmxdXqfemDfdwtUvdTM/W0s2RlSuMVIGkRhaWvpkC9O/N81VzzQwfAbw==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/node-config-provider": "^2.2.2",
-        "@smithy/protocol-http": "^3.2.0",
-        "@smithy/service-error-classification": "^2.1.2",
-        "@smithy/smithy-client": "^2.4.0",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-middleware": "^2.1.2",
-        "@smithy/util-retry": "^2.1.2",
-        "tslib": "^2.5.0",
-        "uuid": "^8.3.2"
+        "@types/bluebird": "*",
+        "@types/node": "*"
       }
     },
-    "@smithy/middleware-serde": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.2.tgz",
-      "integrity": "sha512-XNU6aVIhlSbjuo2XsfZ7rd4HhjTXDlNWxAmhlBfViTW1TNK02CeWdeEntp5XtQKYD//pyTIbYi35EQvIidAkOw==",
+    "@types/aws-lambda": {
+      "version": "8.10.122",
+      "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.122.tgz",
+      "integrity": "sha512-vBkIh9AY22kVOCEKo5CJlyCgmSWvasC+SWUxL/x/vOwRobMpI/HG1xp/Ae3AqmSiZeLUbOhW0FCD3ZjqqUxmXw=="
+    },
+    "@types/babel__code-frame": {
+      "version": "7.0.6",
+      "resolved": "https://registry.npmjs.org/@types/babel__code-frame/-/babel__code-frame-7.0.6.tgz",
+      "integrity": "sha512-Anitqkl3+KrzcW2k77lRlg/GfLZLWXBuNgbEcIOU6M92yw42vsd3xV/Z/yAHEj8m+KUjL6bWOVOFqX8PFPJ4LA==",
+      "dev": true
+    },
+    "@types/bluebird": {
+      "version": "3.5.42",
+      "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.42.tgz",
+      "integrity": "sha512-Jhy+MWRlro6UjVi578V/4ZGNfeCOcNCp0YaFNIUGFKlImowqwb1O/22wDVk3FDGMLqxdpOV3qQHD5fPEH4hK6A==",
+      "dev": true
+    },
+    "@types/body-parser": {
+      "version": "1.19.5",
+      "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
+      "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
+      "requires": {
+        "@types/connect": "*",
+        "@types/node": "*"
+      }
+    },
+    "@types/bson": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.5.tgz",
+      "integrity": "sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@types/node": "*"
       }
     },
-    "@smithy/middleware-stack": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.2.tgz",
-      "integrity": "sha512-EPGaHGd4XmZcaRYjbhyqiqN/Q/ESxXu5e5TK24CTZUe99y8/XCxmiX8VLMM4H0DI7K3yfElR0wPAAvceoSkTgw==",
+    "@types/bunyan": {
+      "version": "1.8.11",
+      "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.11.tgz",
+      "integrity": "sha512-758fRH7umIMk5qt5ELmRMff4mLDlN+xyYzC+dkPTdKwbSkJFvz6xwyScrytPU0QIBbRRwbiE8/BIg8bpajerNQ==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@types/node": "*"
       }
     },
-    "@smithy/node-config-provider": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.2.tgz",
-      "integrity": "sha512-QXvpqHSijAm13ZsVkUo92b085UzDvYP1LblWTb3uWi9WilhDvYnVyPLXaryLhOWZ2YvdhK2170T3ZBqtg+quIQ==",
+    "@types/chai": {
+      "version": "4.3.12",
+      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.12.tgz",
+      "integrity": "sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==",
+      "dev": true
+    },
+    "@types/co-body": {
+      "version": "6.1.3",
+      "resolved": "https://registry.npmjs.org/@types/co-body/-/co-body-6.1.3.tgz",
+      "integrity": "sha512-UhuhrQ5hclX6UJctv5m4Rfp52AfG9o9+d9/HwjxhVB5NjXxr5t9oKgJxN8xRHgr35oo8meUEHUPFWiKg6y71aA==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/property-provider": "^2.1.2",
-        "@smithy/shared-ini-file-loader": "^2.3.2",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@types/node": "*",
+        "@types/qs": "*"
       }
     },
-    "@smithy/node-http-handler": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.0.tgz",
-      "integrity": "sha512-Mf2f7MMy31W8LisJ9O+7J5cKiNwBwBBLU6biQ7/sFSFdhuOxPN7hOPoZ8vlaFjvrpfOUJw9YOpjGyNTKuvomOQ==",
+    "@types/command-line-args": {
+      "version": "5.2.3",
+      "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.3.tgz",
+      "integrity": "sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==",
+      "dev": true
+    },
+    "@types/connect": {
+      "version": "3.4.38",
+      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
+      "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@types/content-disposition": {
+      "version": "0.5.8",
+      "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.8.tgz",
+      "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg=="
+    },
+    "@types/convert-source-map": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@types/convert-source-map/-/convert-source-map-2.0.3.tgz",
+      "integrity": "sha512-ag0BfJLZf6CQz8VIuRIEYQ5Ggwk/82uvTQf27RcpyDNbY0Vw49LIPqAxk5tqYfrCs9xDaIMvl4aj7ZopnYL8bA==",
+      "dev": true
+    },
+    "@types/cookie": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
+      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==",
+      "dev": true
+    },
+    "@types/cookies": {
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.9.0.tgz",
+      "integrity": "sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==",
+      "requires": {
+        "@types/connect": "*",
+        "@types/express": "*",
+        "@types/keygrip": "*",
+        "@types/node": "*"
+      }
+    },
+    "@types/cors": {
+      "version": "2.8.17",
+      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz",
+      "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/abort-controller": "^2.1.2",
-        "@smithy/protocol-http": "^3.2.0",
-        "@smithy/querystring-builder": "^2.1.2",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@types/node": "*"
       }
     },
-    "@smithy/property-provider": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.2.tgz",
-      "integrity": "sha512-yaXCVFKzxbSXqOoyA7AdAgXhwdjiLeui7n2P6XLjBCz/GZFdLUJgSY6KL1PevaxT4REMwUSs/bSHAe/0jdzEHw==",
+    "@types/debounce": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.4.tgz",
+      "integrity": "sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw==",
+      "dev": true
+    },
+    "@types/eslint": {
+      "version": "8.56.10",
+      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz",
+      "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@types/estree": "*",
+        "@types/json-schema": "*"
+      }
+    },
+    "@types/eslint-scope": {
+      "version": "3.7.7",
+      "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
+      "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
+      "dev": true,
+      "requires": {
+        "@types/eslint": "*",
+        "@types/estree": "*"
+      }
+    },
+    "@types/estree": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+      "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+      "dev": true
+    },
+    "@types/express": {
+      "version": "4.17.18",
+      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz",
+      "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==",
+      "requires": {
+        "@types/body-parser": "*",
+        "@types/express-serve-static-core": "^4.17.33",
+        "@types/qs": "*",
+        "@types/serve-static": "*"
+      }
+    },
+    "@types/express-serve-static-core": {
+      "version": "4.17.43",
+      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz",
+      "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==",
+      "requires": {
+        "@types/node": "*",
+        "@types/qs": "*",
+        "@types/range-parser": "*",
+        "@types/send": "*"
+      }
+    },
+    "@types/generic-pool": {
+      "version": "3.8.1",
+      "resolved": "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.8.1.tgz",
+      "integrity": "sha512-eaMAbZS0EfKvaP5PUZ/Cdf5uJBO2t6T3RdvQTKuMqUwGhNpCnPAsKWEMyV+mCeCQG3UiHrtgdzni8X6DmhxRaQ==",
+      "dev": true,
+      "requires": {
+        "generic-pool": "*"
+      }
+    },
+    "@types/http-assert": {
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz",
+      "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g=="
+    },
+    "@types/http-errors": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
+      "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA=="
+    },
+    "@types/ioredis4": {
+      "version": "npm:@types/ioredis@4.28.10",
+      "resolved": "https://registry.npmjs.org/@types/ioredis/-/ioredis-4.28.10.tgz",
+      "integrity": "sha512-69LyhUgrXdgcNDv7ogs1qXZomnfOEnSmrmMFqKgt1XMJxmoOSG/u3wYy13yACIfKuMJ8IhKgHafDO3sx19zVQQ==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@types/istanbul-lib-coverage": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+      "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+      "dev": true
+    },
+    "@types/istanbul-lib-report": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
+      "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
+      "dev": true,
+      "requires": {
+        "@types/istanbul-lib-coverage": "*"
+      }
+    },
+    "@types/istanbul-reports": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+      "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+      "dev": true,
+      "requires": {
+        "@types/istanbul-lib-report": "*"
+      }
+    },
+    "@types/jquery": {
+      "version": "3.5.30",
+      "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.30.tgz",
+      "integrity": "sha512-nbWKkkyb919DOUxjmRVk8vwtDb0/k8FKncmUKFi+NY+QXqWltooxTrswvz4LspQwxvLdvzBN1TImr6cw3aQx2A==",
+      "dev": true,
+      "requires": {
+        "@types/sizzle": "*"
+      }
+    },
+    "@types/json-schema": {
+      "version": "7.0.15",
+      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+      "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+      "dev": true
+    },
+    "@types/json5": {
+      "version": "0.0.29",
+      "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+      "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
+      "dev": true
+    },
+    "@types/keygrip": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.6.tgz",
+      "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ=="
+    },
+    "@types/koa": {
+      "version": "2.14.0",
+      "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.14.0.tgz",
+      "integrity": "sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==",
+      "requires": {
+        "@types/accepts": "*",
+        "@types/content-disposition": "*",
+        "@types/cookies": "*",
+        "@types/http-assert": "*",
+        "@types/http-errors": "*",
+        "@types/keygrip": "*",
+        "@types/koa-compose": "*",
+        "@types/node": "*"
       }
     },
-    "@smithy/protocol-http": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.0.tgz",
-      "integrity": "sha512-VRp0YITYIQum+rX4zeZ3cW1wl9r90IQzQN+VLS1NxdSMt6NLsJiJqR9czTxlaeWNrLHsFAETmjmdrS48Ug1liA==",
-      "dev": true,
-      "optional": true,
+    "@types/koa__router": {
+      "version": "12.0.3",
+      "resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-12.0.3.tgz",
+      "integrity": "sha512-5YUJVv6NwM1z7m6FuYpKfNLTZ932Z6EF6xy2BbtpJSyn13DKNQEkXVffFVSnJHxvwwWh2SAeumpjAYUELqgjyw==",
       "requires": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@types/koa": "*"
       }
     },
-    "@smithy/querystring-builder": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.2.tgz",
-      "integrity": "sha512-wk6QpuvBBLJF5w8aADsZOtxaHY9cF5MZe1Ry3hSqqBxARdUrMoXi/jukUz5W0ftXGlbA398IN8dIIUj3WXqJXg==",
-      "dev": true,
-      "optional": true,
+    "@types/koa-compose": {
+      "version": "3.2.8",
+      "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.8.tgz",
+      "integrity": "sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==",
       "requires": {
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-uri-escape": "^2.1.1",
-        "tslib": "^2.5.0"
+        "@types/koa": "*"
       }
     },
-    "@smithy/querystring-parser": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.2.tgz",
-      "integrity": "sha512-z1yL5Iiagm/UxVy1tcuTFZdfOBK/QtYeK6wfClAJ7cOY7kIaYR6jn1cVXXJmhAQSh1b2ljP4xiZN4Ybj7Tbs5w==",
+    "@types/lodash": {
+      "version": "4.14.199",
+      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz",
+      "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==",
+      "dev": true
+    },
+    "@types/long": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
+      "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==",
+      "dev": true
+    },
+    "@types/lru-cache": {
+      "version": "7.10.9",
+      "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-7.10.9.tgz",
+      "integrity": "sha512-wrwgkdJ0xr8AbzKhVaRI8SXZN9saapPwwLoydBEr4HqMZET1LUTi1gdoaj82XmRJ9atqN7MtB0aja29iiK+7ag==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "lru-cache": "*"
       }
     },
-    "@smithy/service-error-classification": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.2.tgz",
-      "integrity": "sha512-R+gL1pAPuWkH6unFridk57wDH5PFY2IlVg2NUjSAjoaIaU+sxqKf/7AOWIcx9Bdn+xY0/4IRQ69urlC+F3I9gg==",
-      "dev": true,
-      "optional": true,
+    "@types/memcached": {
+      "version": "2.2.10",
+      "resolved": "https://registry.npmjs.org/@types/memcached/-/memcached-2.2.10.tgz",
+      "integrity": "sha512-AM9smvZN55Gzs2wRrqeMHVP7KE8KWgCJO/XL5yCly2xF6EKa4YlbpK+cLSAH4NG/Ah64HrlegmGqW8kYws7Vxg==",
       "requires": {
-        "@smithy/types": "^2.10.0"
+        "@types/node": "*"
       }
     },
-    "@smithy/shared-ini-file-loader": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.2.tgz",
-      "integrity": "sha512-idHGDJB+gBh+aaIjmWj6agmtNWftoyAenErky74hAtKyUaCvfocSBgEJ2pQ6o68svBluvGIj4NGFgJu0198mow==",
+    "@types/mime": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
+      "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="
+    },
+    "@types/minimatch": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
+      "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
+      "dev": true
+    },
+    "@types/minimist": {
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
+      "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
+      "dev": true
+    },
+    "@types/mocha": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz",
+      "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==",
+      "dev": true
+    },
+    "@types/mongodb": {
+      "version": "3.6.20",
+      "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz",
+      "integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@types/bson": "*",
+        "@types/node": "*"
       }
     },
-    "@smithy/signature-v4": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.2.tgz",
-      "integrity": "sha512-DdPWaNGIbxzyocR3ncH8xlxQgsqteRADEdCPoivgBzwv17UzKy2obtdi2vwNc5lAJ955bGEkkWef9O7kc1Eocg==",
-      "dev": true,
-      "optional": true,
+    "@types/mysql": {
+      "version": "2.15.22",
+      "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.22.tgz",
+      "integrity": "sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==",
       "requires": {
-        "@smithy/eventstream-codec": "^2.1.2",
-        "@smithy/is-array-buffer": "^2.1.1",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-hex-encoding": "^2.1.1",
-        "@smithy/util-middleware": "^2.1.2",
-        "@smithy/util-uri-escape": "^2.1.1",
-        "@smithy/util-utf8": "^2.1.1",
-        "tslib": "^2.5.0"
+        "@types/node": "*"
       }
     },
-    "@smithy/smithy-client": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.0.tgz",
-      "integrity": "sha512-6/jxk0om9l2s9BcgHtrBn+Hd3xcFGDzxfEJ2FvGpZxIz0S7bgvZg1gyR66O1xf1w9WZBH+W7JClhfSn2gETINw==",
-      "dev": true,
-      "optional": true,
+    "@types/node": {
+      "version": "18.6.5",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.5.tgz",
+      "integrity": "sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw=="
+    },
+    "@types/normalize-package-data": {
+      "version": "2.4.4",
+      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
+      "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
+      "dev": true
+    },
+    "@types/parse-json": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
+      "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
+      "dev": true
+    },
+    "@types/parse5": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz",
+      "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==",
+      "dev": true
+    },
+    "@types/pg": {
+      "version": "8.6.1",
+      "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz",
+      "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==",
       "requires": {
-        "@smithy/middleware-endpoint": "^2.4.2",
-        "@smithy/middleware-stack": "^2.1.2",
-        "@smithy/protocol-http": "^3.2.0",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-stream": "^2.1.2",
-        "tslib": "^2.5.0"
+        "@types/node": "*",
+        "pg-protocol": "*",
+        "pg-types": "^2.2.0"
       }
     },
-    "@smithy/types": {
-      "version": "2.10.0",
-      "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.10.0.tgz",
-      "integrity": "sha512-QYXQmpIebS8/jYXgyJjCanKZbI4Rr8tBVGBAIdDhA35f025TVjJNW69FJ0TGiDqt+lIGo037YIswq2t2Y1AYZQ==",
-      "dev": true,
+    "@types/pg-pool": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.4.tgz",
+      "integrity": "sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ==",
       "requires": {
-        "tslib": "^2.5.0"
+        "@types/pg": "*"
       }
     },
-    "@smithy/url-parser": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.2.tgz",
-      "integrity": "sha512-KBPi740ciTujUaY+RfQuPABD0QFmgSBN5qNVDCGTryfsbG4jkwC0YnElSzi72m24HegMyxzZDLG4Oh4/97mw2g==",
+    "@types/prop-types": {
+      "version": "15.7.11",
+      "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
+      "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==",
+      "dev": true
+    },
+    "@types/qs": {
+      "version": "6.9.11",
+      "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz",
+      "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ=="
+    },
+    "@types/range-parser": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
+      "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="
+    },
+    "@types/react": {
+      "version": "17.0.67",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.67.tgz",
+      "integrity": "sha512-zE76EIJ0Y58Oy9yDX/9csb/NuKjt0Eq2YgWb/8Wxo91YmuLzzbyiRoaqJE9h8iDlsT7n35GdpoLomHlaB1kFbg==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/querystring-parser": "^2.1.2",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@types/prop-types": "*",
+        "@types/scheduler": "*",
+        "csstype": "^3.0.2"
       }
     },
-    "@smithy/util-base64": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz",
-      "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==",
+    "@types/react-addons-test-utils": {
+      "version": "0.14.26",
+      "resolved": "https://registry.npmjs.org/@types/react-addons-test-utils/-/react-addons-test-utils-0.14.26.tgz",
+      "integrity": "sha512-zrnMrqGCfIniXyipb9HFPgdWf9TO0llA7n5QduJsx0IDB0pPK8p3/4rL4SfOLgsmtbb2X2XWCW9kBn/2k+52fg==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/util-buffer-from": "^2.1.1",
-        "tslib": "^2.5.0"
+        "@types/react": "*"
       }
     },
-    "@smithy/util-body-length-browser": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz",
-      "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==",
+    "@types/react-dom": {
+      "version": "18.0.2",
+      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.2.tgz",
+      "integrity": "sha512-UxeS+Wtj5bvLRREz9tIgsK4ntCuLDo0EcAcACgw3E+9wE8ePDr9uQpq53MfcyxyIS55xJ+0B6mDS8c4qkkHLBg==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "tslib": "^2.5.0"
+        "@types/react": "*"
       }
     },
-    "@smithy/util-body-length-node": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz",
-      "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==",
+    "@types/readable-stream": {
+      "version": "4.0.12",
+      "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.12.tgz",
+      "integrity": "sha512-SCaw+bs9o/HCX1eTa3glTcQgW1oPxof49mqP2Qikik3xzTimNv2M4p43BQHhBuf7CwOJdQW0s1SrWU3MZxz6lw==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "tslib": "^2.5.0"
+        "@types/node": "*",
+        "safe-buffer": "~5.1.1"
+      },
+      "dependencies": {
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+          "dev": true
+        }
       }
     },
-    "@smithy/util-buffer-from": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz",
-      "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==",
+    "@types/redis": {
+      "version": "2.8.32",
+      "resolved": "https://registry.npmjs.org/@types/redis/-/redis-2.8.32.tgz",
+      "integrity": "sha512-7jkMKxcGq9p242exlbsVzuJb57KqHRhNl4dHoQu2Y5v9bCAbtIXXH0R3HleSQW4CTOqpHIYUW3t6tpUj4BVQ+w==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/is-array-buffer": "^2.1.1",
-        "tslib": "^2.5.0"
+        "@types/node": "*"
       }
     },
-    "@smithy/util-config-provider": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz",
-      "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==",
+    "@types/resolve": {
+      "version": "1.20.2",
+      "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+      "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
+      "dev": true
+    },
+    "@types/restify": {
+      "version": "4.3.10",
+      "resolved": "https://registry.npmjs.org/@types/restify/-/restify-4.3.10.tgz",
+      "integrity": "sha512-lSt9uvWwdYrGgRCqKyh5DyC008xN8hij5RWzOPlPaTiec2smfpd7s034BASPDMIG4WhRfk0y4oLFoAi/AzVN9g==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "tslib": "^2.5.0"
+        "@types/bunyan": "*",
+        "@types/node": "*"
       }
     },
-    "@smithy/util-defaults-mode-browser": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.2.tgz",
-      "integrity": "sha512-YmojdmsE7VbvFGJ/8btn/5etLm1HOQkgVX6nMWlB0yBL/Vb//s3aTebUJ66zj2+LNrBS3B9S+18+LQU72Yj0AQ==",
-      "dev": true,
-      "optional": true,
+    "@types/scheduler": {
+      "version": "0.16.8",
+      "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
+      "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==",
+      "dev": true
+    },
+    "@types/semver": {
+      "version": "7.5.3",
+      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz",
+      "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==",
+      "dev": true
+    },
+    "@types/send": {
+      "version": "0.17.4",
+      "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
+      "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
       "requires": {
-        "@smithy/property-provider": "^2.1.2",
-        "@smithy/smithy-client": "^2.4.0",
-        "@smithy/types": "^2.10.0",
-        "bowser": "^2.11.0",
-        "tslib": "^2.5.0"
+        "@types/mime": "^1",
+        "@types/node": "*"
       }
     },
-    "@smithy/util-defaults-mode-node": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.1.tgz",
-      "integrity": "sha512-kof7M9Q2qP5yaQn8hHJL3KwozyvIfLe+ys7feifSul6gBAAeoraibo/MWqotb/I0fVLMlCMDwn7WXFsGUwnsew==",
-      "dev": true,
-      "optional": true,
+    "@types/serve-static": {
+      "version": "1.15.5",
+      "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz",
+      "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==",
       "requires": {
-        "@smithy/config-resolver": "^2.1.2",
-        "@smithy/credential-provider-imds": "^2.2.2",
-        "@smithy/node-config-provider": "^2.2.2",
-        "@smithy/property-provider": "^2.1.2",
-        "@smithy/smithy-client": "^2.4.0",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@types/http-errors": "*",
+        "@types/mime": "*",
+        "@types/node": "*"
       }
     },
-    "@smithy/util-endpoints": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.2.tgz",
-      "integrity": "sha512-2/REfdcJ20y9iF+9kSBRBsaoGzjT5dZ3E6/TA45GHJuJAb/vZTj76VLTcrl2iN3fWXiDK1B8RxchaLGbr7RxxA==",
+    "@types/shimmer": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.0.3.tgz",
+      "integrity": "sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA=="
+    },
+    "@types/sinon": {
+      "version": "10.0.18",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.18.tgz",
+      "integrity": "sha512-OpQC9ug8BcnNxue2WF5aTruMaDRFn6NyfaE4DmAKOlQMn54b7CnCvDFV3wj5fk/HbSSTYmOYs2bTb5ShANjyQg==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/node-config-provider": "^2.2.2",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@types/sinonjs__fake-timers": "*"
       }
     },
-    "@smithy/util-hex-encoding": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz",
-      "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==",
-      "dev": true,
-      "optional": true,
+    "@types/sinonjs__fake-timers": {
+      "version": "8.1.5",
+      "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz",
+      "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==",
+      "dev": true
+    },
+    "@types/sizzle": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz",
+      "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==",
+      "dev": true
+    },
+    "@types/stack-utils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
+      "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
+      "dev": true
+    },
+    "@types/tedious": {
+      "version": "4.0.14",
+      "resolved": "https://registry.npmjs.org/@types/tedious/-/tedious-4.0.14.tgz",
+      "integrity": "sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==",
       "requires": {
-        "tslib": "^2.5.0"
+        "@types/node": "*"
       }
     },
-    "@smithy/util-middleware": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.2.tgz",
-      "integrity": "sha512-lvSOnwQ7iAajtWb1nAyy0CkOIn8d+jGykQOtt2NXDsPzOTfejZM/Uph+O/TmVgWoXdcGuw5peUMG2f5xEIl6UQ==",
+    "@types/triple-beam": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz",
+      "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw=="
+    },
+    "@types/uuid": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz",
+      "integrity": "sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==",
+      "dev": true
+    },
+    "@types/webidl-conversions": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
+      "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
+      "dev": true
+    },
+    "@types/webpack-env": {
+      "version": "1.16.3",
+      "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.3.tgz",
+      "integrity": "sha512-9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw==",
+      "dev": true
+    },
+    "@types/whatwg-url": {
+      "version": "8.2.2",
+      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+      "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@types/node": "*",
+        "@types/webidl-conversions": "*"
       }
     },
-    "@smithy/util-retry": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.2.tgz",
-      "integrity": "sha512-pqifOgRqwLfRu+ks3awEKKqPeYxrHLwo4Yu2EarGzeoarTd1LVEyyf5qLE6M7IiCsxnXRhn9FoWIdZOC+oC/VQ==",
+    "@types/ws": {
+      "version": "7.4.7",
+      "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz",
+      "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/service-error-classification": "^2.1.2",
-        "@smithy/types": "^2.10.0",
-        "tslib": "^2.5.0"
+        "@types/node": "*"
       }
     },
-    "@smithy/util-stream": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.2.tgz",
-      "integrity": "sha512-AbGjvoSok7YeUKv9WRVRSChQfsufLR54YCAabTbaABRdIucywRQs29em0uAP6r4RLj+4aFZStWGYpFgT0P8UlQ==",
+    "@types/yargs": {
+      "version": "17.0.32",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+      "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/fetch-http-handler": "^2.4.2",
-        "@smithy/node-http-handler": "^2.4.0",
-        "@smithy/types": "^2.10.0",
-        "@smithy/util-base64": "^2.1.1",
-        "@smithy/util-buffer-from": "^2.1.1",
-        "@smithy/util-hex-encoding": "^2.1.1",
-        "@smithy/util-utf8": "^2.1.1",
-        "tslib": "^2.5.0"
+        "@types/yargs-parser": "*"
       }
     },
-    "@smithy/util-uri-escape": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz",
-      "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==",
+    "@types/yargs-parser": {
+      "version": "21.0.3",
+      "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+      "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
+      "dev": true
+    },
+    "@types/yauzl": {
+      "version": "2.10.3",
+      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
+      "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
       "dev": true,
       "optional": true,
       "requires": {
-        "tslib": "^2.5.0"
+        "@types/node": "*"
       }
     },
-    "@smithy/util-utf8": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz",
-      "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==",
+    "@typescript-eslint/eslint-plugin": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.8.1.tgz",
+      "integrity": "sha512-wTZ5oEKrKj/8/366qTM366zqhIKAp6NCMweoRONtfuC07OAU9nVI2GZZdqQ1qD30WAAtcPdkH+npDwtRFdp4Rw==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@smithy/util-buffer-from": "^2.1.1",
-        "tslib": "^2.5.0"
+        "@typescript-eslint/experimental-utils": "5.8.1",
+        "@typescript-eslint/scope-manager": "5.8.1",
+        "debug": "^4.3.2",
+        "functional-red-black-tree": "^1.0.1",
+        "ignore": "^5.1.8",
+        "regexpp": "^3.2.0",
+        "semver": "^7.3.5",
+        "tsutils": "^3.21.0"
       }
     },
-    "@socket.io/component-emitter": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
-      "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
-      "dev": true
-    },
-    "@teppeis/multimaps": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@teppeis/multimaps/-/multimaps-2.0.0.tgz",
-      "integrity": "sha512-TL1adzq1HdxUf9WYduLcQ/DNGYiz71U31QRgbnr0Ef1cPyOUOsBojxHVWpFeOSUucB6Lrs0LxFRA14ntgtkc9w==",
-      "dev": true
-    },
-    "@tootallnate/once": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
-      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
-      "dev": true
-    },
-    "@tootallnate/quickjs-emscripten": {
-      "version": "0.23.0",
-      "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
-      "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
-      "dev": true
-    },
-    "@tufjs/canonical-json": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz",
-      "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==",
-      "dev": true
-    },
-    "@tufjs/models": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz",
-      "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==",
+    "@typescript-eslint/experimental-utils": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.8.1.tgz",
+      "integrity": "sha512-fbodVnjIDU4JpeXWRDsG5IfIjYBxEvs8EBO8W1+YVdtrc2B9ppfof5sZhVEDOtgTfFHnYQJDI8+qdqLYO4ceww==",
       "dev": true,
       "requires": {
-        "@tufjs/canonical-json": "1.0.0",
-        "minimatch": "^9.0.0"
+        "@types/json-schema": "^7.0.9",
+        "@typescript-eslint/scope-manager": "5.8.1",
+        "@typescript-eslint/types": "5.8.1",
+        "@typescript-eslint/typescript-estree": "5.8.1",
+        "eslint-scope": "^5.1.1",
+        "eslint-utils": "^3.0.0"
       }
     },
-    "@types/accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz",
-      "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==",
+    "@typescript-eslint/parser": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.8.1.tgz",
+      "integrity": "sha512-K1giKHAjHuyB421SoXMXFHHVI4NdNY603uKw92++D3qyxSeYvC10CBJ/GE5Thpo4WTUvu1mmJI2/FFkz38F2Gw==",
+      "dev": true,
       "requires": {
-        "@types/node": "*"
+        "@typescript-eslint/scope-manager": "5.8.1",
+        "@typescript-eslint/types": "5.8.1",
+        "@typescript-eslint/typescript-estree": "5.8.1",
+        "debug": "^4.3.2"
       }
     },
-    "@types/amqplib": {
-      "version": "0.5.17",
-      "resolved": "https://registry.npmjs.org/@types/amqplib/-/amqplib-0.5.17.tgz",
-      "integrity": "sha512-RImqiLP1swDqWBW8UX9iBXVEOw6MYzNmxdXqfemDfdwtUvdTM/W0s2RlSuMVIGkRhaWvpkC9O/N81VzzQwfAbw==",
+    "@typescript-eslint/scope-manager": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.1.tgz",
+      "integrity": "sha512-DGxJkNyYruFH3NIZc3PwrzwOQAg7vvgsHsHCILOLvUpupgkwDZdNq/cXU3BjF4LNrCsVg0qxEyWasys5AiJ85Q==",
       "dev": true,
       "requires": {
-        "@types/bluebird": "*",
-        "@types/node": "*"
+        "@typescript-eslint/types": "5.8.1",
+        "@typescript-eslint/visitor-keys": "5.8.1"
       }
     },
-    "@types/aws-lambda": {
-      "version": "8.10.122",
-      "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.122.tgz",
-      "integrity": "sha512-vBkIh9AY22kVOCEKo5CJlyCgmSWvasC+SWUxL/x/vOwRobMpI/HG1xp/Ae3AqmSiZeLUbOhW0FCD3ZjqqUxmXw=="
-    },
-    "@types/babel__code-frame": {
-      "version": "7.0.6",
-      "resolved": "https://registry.npmjs.org/@types/babel__code-frame/-/babel__code-frame-7.0.6.tgz",
-      "integrity": "sha512-Anitqkl3+KrzcW2k77lRlg/GfLZLWXBuNgbEcIOU6M92yw42vsd3xV/Z/yAHEj8m+KUjL6bWOVOFqX8PFPJ4LA==",
-      "dev": true
-    },
-    "@types/bluebird": {
-      "version": "3.5.42",
-      "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.42.tgz",
-      "integrity": "sha512-Jhy+MWRlro6UjVi578V/4ZGNfeCOcNCp0YaFNIUGFKlImowqwb1O/22wDVk3FDGMLqxdpOV3qQHD5fPEH4hK6A==",
+    "@typescript-eslint/types": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.1.tgz",
+      "integrity": "sha512-L/FlWCCgnjKOLefdok90/pqInkomLnAcF9UAzNr+DSqMC3IffzumHTQTrINXhP1gVp9zlHiYYjvozVZDPleLcA==",
       "dev": true
     },
-    "@types/body-parser": {
-      "version": "1.19.5",
-      "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
-      "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
+    "@typescript-eslint/typescript-estree": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.1.tgz",
+      "integrity": "sha512-26lQ8l8tTbG7ri7xEcCFT9ijU5Fk+sx/KRRyyzCv7MQ+rZZlqiDPtMKWLC8P7o+dtCnby4c+OlxuX1tp8WfafQ==",
+      "dev": true,
       "requires": {
-        "@types/connect": "*",
-        "@types/node": "*"
+        "@typescript-eslint/types": "5.8.1",
+        "@typescript-eslint/visitor-keys": "5.8.1",
+        "debug": "^4.3.2",
+        "globby": "^11.0.4",
+        "is-glob": "^4.0.3",
+        "semver": "^7.3.5",
+        "tsutils": "^3.21.0"
       }
     },
-    "@types/bson": {
-      "version": "4.0.5",
-      "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.5.tgz",
-      "integrity": "sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg==",
+    "@typescript-eslint/visitor-keys": {
+      "version": "5.8.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.1.tgz",
+      "integrity": "sha512-SWgiWIwocK6NralrJarPZlWdr0hZnj5GXHIgfdm8hNkyKvpeQuFyLP6YjSIe9kf3YBIfU6OHSZLYkQ+smZwtNg==",
       "dev": true,
       "requires": {
-        "@types/node": "*"
+        "@typescript-eslint/types": "5.8.1",
+        "eslint-visitor-keys": "^3.0.0"
       }
     },
-    "@types/bunyan": {
-      "version": "1.8.11",
-      "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.11.tgz",
-      "integrity": "sha512-758fRH7umIMk5qt5ELmRMff4mLDlN+xyYzC+dkPTdKwbSkJFvz6xwyScrytPU0QIBbRRwbiE8/BIg8bpajerNQ==",
+    "@web/browser-logs": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.4.0.tgz",
+      "integrity": "sha512-/EBiDAUCJ2DzZhaFxTPRIznEPeafdLbXShIL6aTu7x73x7ZoxSDv7DGuTsh2rWNMUa4+AKli4UORrpyv6QBOiA==",
       "dev": true,
       "requires": {
-        "@types/node": "*"
+        "errorstacks": "^2.2.0"
       }
     },
-    "@types/chai": {
-      "version": "4.3.12",
-      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.12.tgz",
-      "integrity": "sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==",
+    "@web/config-loader": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.3.1.tgz",
+      "integrity": "sha512-IYjHXUgSGGNpO3YJQ9foLcazbJlAWDdJGRe9be7aOhon0Nd6Na5JIOJAej7jsMu76fKHr4b4w2LfIdNQ4fJ8pA==",
       "dev": true
     },
-    "@types/co-body": {
-      "version": "6.1.3",
-      "resolved": "https://registry.npmjs.org/@types/co-body/-/co-body-6.1.3.tgz",
-      "integrity": "sha512-UhuhrQ5hclX6UJctv5m4Rfp52AfG9o9+d9/HwjxhVB5NjXxr5t9oKgJxN8xRHgr35oo8meUEHUPFWiKg6y71aA==",
+    "@web/dev-server": {
+      "version": "0.4.3",
+      "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.4.3.tgz",
+      "integrity": "sha512-vf2ZVjdTj8ExrMSYagyHD+snRue9oRetynxd1p0P7ndEpZDKeNLYsvkJyo0pNU6moBxHmXnYeC5VrAT4E3+lNg==",
       "dev": true,
       "requires": {
-        "@types/node": "*",
-        "@types/qs": "*"
+        "@babel/code-frame": "^7.12.11",
+        "@types/command-line-args": "^5.0.0",
+        "@web/config-loader": "^0.3.0",
+        "@web/dev-server-core": "^0.7.1",
+        "@web/dev-server-rollup": "^0.6.1",
+        "camelcase": "^6.2.0",
+        "command-line-args": "^5.1.1",
+        "command-line-usage": "^7.0.1",
+        "debounce": "^1.2.0",
+        "deepmerge": "^4.2.2",
+        "ip": "^2.0.1",
+        "nanocolors": "^0.2.1",
+        "open": "^8.0.2",
+        "portfinder": "^1.0.32"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+          "dev": true
+        }
       }
     },
-    "@types/command-line-args": {
-      "version": "5.2.3",
-      "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.3.tgz",
-      "integrity": "sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==",
-      "dev": true
-    },
-    "@types/connect": {
-      "version": "3.4.38",
-      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
-      "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
+    "@web/dev-server-core": {
+      "version": "0.7.1",
+      "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.7.1.tgz",
+      "integrity": "sha512-alHd2j0f4e1ekqYDR8lWScrzR7D5gfsUZq3BP3De9bkFWM3AELINCmqqlVKmCtlkAdEc9VyQvNiEqrxraOdc2A==",
+      "dev": true,
       "requires": {
-        "@types/node": "*"
+        "@types/koa": "^2.11.6",
+        "@types/ws": "^7.4.0",
+        "@web/parse5-utils": "^2.1.0",
+        "chokidar": "^3.4.3",
+        "clone": "^2.1.2",
+        "es-module-lexer": "^1.0.0",
+        "get-stream": "^6.0.0",
+        "is-stream": "^2.0.0",
+        "isbinaryfile": "^5.0.0",
+        "koa": "^2.13.0",
+        "koa-etag": "^4.0.0",
+        "koa-send": "^5.0.1",
+        "koa-static": "^5.0.0",
+        "lru-cache": "^8.0.4",
+        "mime-types": "^2.1.27",
+        "parse5": "^6.0.1",
+        "picomatch": "^2.2.2",
+        "ws": "^7.4.2"
+      },
+      "dependencies": {
+        "clone": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+          "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
+          "dev": true
+        },
+        "isbinaryfile": {
+          "version": "5.0.2",
+          "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.2.tgz",
+          "integrity": "sha512-GvcjojwonMjWbTkfMpnVHVqXW/wKMYDfEpY94/8zy8HFMOqb/VL6oeONq9v87q4ttVlaTLnGXnJD4B5B1OTGIg==",
+          "dev": true
+        },
+        "lru-cache": {
+          "version": "8.0.5",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz",
+          "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==",
+          "dev": true
+        },
+        "parse5": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+          "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+          "dev": true
+        },
+        "ws": {
+          "version": "7.5.9",
+          "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+          "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+          "dev": true,
+          "requires": {}
+        }
       }
     },
-    "@types/content-disposition": {
-      "version": "0.5.8",
-      "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.8.tgz",
-      "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg=="
+    "@web/dev-server-esbuild": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@web/dev-server-esbuild/-/dev-server-esbuild-1.0.2.tgz",
+      "integrity": "sha512-ak5mKt7L0H/Fa470Ku7p9A1eI32DNyFGM83jDkJviBO8r3lM00O5hVFW1K+UIYNC5EyanLyPxTqgtIuQEyMYcQ==",
+      "dev": true,
+      "requires": {
+        "@mdn/browser-compat-data": "^4.0.0",
+        "@web/dev-server-core": "^0.7.0",
+        "esbuild": "^0.19.11",
+        "get-tsconfig": "^4.7.2",
+        "parse5": "^6.0.1",
+        "ua-parser-js": "^1.0.33"
+      },
+      "dependencies": {
+        "parse5": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+          "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+          "dev": true
+        },
+        "ua-parser-js": {
+          "version": "1.0.37",
+          "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz",
+          "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==",
+          "dev": true
+        }
+      }
     },
-    "@types/convert-source-map": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/@types/convert-source-map/-/convert-source-map-2.0.3.tgz",
-      "integrity": "sha512-ag0BfJLZf6CQz8VIuRIEYQ5Ggwk/82uvTQf27RcpyDNbY0Vw49LIPqAxk5tqYfrCs9xDaIMvl4aj7ZopnYL8bA==",
-      "dev": true
+    "@web/dev-server-rollup": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.6.1.tgz",
+      "integrity": "sha512-vhtsQ8qu1pBHailOBOYJwZnYDc1Lmx6ZAd2j+y5PD2ck0R1LmVsZ7dZK8hDCpkvpvlu2ndURjL9tbzdcsBRJmg==",
+      "dev": true,
+      "requires": {
+        "@rollup/plugin-node-resolve": "^15.0.1",
+        "@web/dev-server-core": "^0.7.0",
+        "nanocolors": "^0.2.1",
+        "parse5": "^6.0.1",
+        "rollup": "^4.4.0",
+        "whatwg-url": "^11.0.0"
+      },
+      "dependencies": {
+        "parse5": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+          "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+          "dev": true
+        }
+      }
     },
-    "@types/cookie": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
-      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==",
-      "dev": true
+    "@web/parse5-utils": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@web/parse5-utils/-/parse5-utils-2.1.0.tgz",
+      "integrity": "sha512-GzfK5disEJ6wEjoPwx8AVNwUe9gYIiwc+x//QYxYDAFKUp4Xb1OJAGLc2l2gVrSQmtPGLKrTRcW90Hv4pEq1qA==",
+      "dev": true,
+      "requires": {
+        "@types/parse5": "^6.0.1",
+        "parse5": "^6.0.1"
+      },
+      "dependencies": {
+        "parse5": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+          "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+          "dev": true
+        }
+      }
     },
-    "@types/cookies": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.9.0.tgz",
-      "integrity": "sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==",
+    "@web/test-runner": {
+      "version": "0.18.1",
+      "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.1.tgz",
+      "integrity": "sha512-jB/9vrpGVtcLY6/7sPpKpSheQ3wWY9P5aQcz2SK2gMHTq3gNpa51NAyec0Al7EFpHvJ1wKYTGRLB2gPyEoJeDg==",
+      "dev": true,
       "requires": {
-        "@types/connect": "*",
-        "@types/express": "*",
-        "@types/keygrip": "*",
-        "@types/node": "*"
+        "@web/browser-logs": "^0.4.0",
+        "@web/config-loader": "^0.3.0",
+        "@web/dev-server": "^0.4.0",
+        "@web/test-runner-chrome": "^0.16.0",
+        "@web/test-runner-commands": "^0.9.0",
+        "@web/test-runner-core": "^0.13.0",
+        "@web/test-runner-mocha": "^0.9.0",
+        "camelcase": "^6.2.0",
+        "command-line-args": "^5.1.1",
+        "command-line-usage": "^7.0.1",
+        "convert-source-map": "^2.0.0",
+        "diff": "^5.0.0",
+        "globby": "^11.0.1",
+        "nanocolors": "^0.2.1",
+        "portfinder": "^1.0.32",
+        "source-map": "^0.7.3"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+          "dev": true
+        },
+        "convert-source-map": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+          "dev": true
+        },
+        "diff": {
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+          "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.7.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+          "dev": true
+        }
       }
     },
-    "@types/cors": {
-      "version": "2.8.17",
-      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz",
-      "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==",
+    "@web/test-runner-chrome": {
+      "version": "0.16.0",
+      "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.16.0.tgz",
+      "integrity": "sha512-Edc6Y49aVB6k18S5IOj9OCX3rEf8F3jptIu0p95+imqxmcutFEh1GNmlAk2bQGnXS0U6uVY7Xbf61fiaXUQqhg==",
       "dev": true,
       "requires": {
-        "@types/node": "*"
+        "@web/test-runner-core": "^0.13.0",
+        "@web/test-runner-coverage-v8": "^0.8.0",
+        "async-mutex": "0.4.0",
+        "chrome-launcher": "^0.15.0",
+        "puppeteer-core": "^22.0.0"
       }
     },
-    "@types/debounce": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.4.tgz",
-      "integrity": "sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw==",
-      "dev": true
+    "@web/test-runner-commands": {
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.9.0.tgz",
+      "integrity": "sha512-zeLI6QdH0jzzJMDV5O42Pd8WLJtYqovgdt0JdytgHc0d1EpzXDsc7NTCJSImboc2NcayIsWAvvGGeRF69SMMYg==",
+      "dev": true,
+      "requires": {
+        "@web/test-runner-core": "^0.13.0",
+        "mkdirp": "^1.0.4"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "1.0.4",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+          "dev": true
+        }
+      }
     },
-    "@types/estree": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
-      "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
-      "dev": true
+    "@web/test-runner-core": {
+      "version": "0.13.1",
+      "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.13.1.tgz",
+      "integrity": "sha512-2hESALx/UFsAzK+ApWXAkFp2eCmwcs2yj1v4YjwV8F38sQumJ40P3px3BMjFwkOYDORtQOicW0RUeSw1g3BMLA==",
+      "dev": true,
+      "requires": {
+        "@babel/code-frame": "^7.12.11",
+        "@types/babel__code-frame": "^7.0.2",
+        "@types/co-body": "^6.1.0",
+        "@types/convert-source-map": "^2.0.0",
+        "@types/debounce": "^1.2.0",
+        "@types/istanbul-lib-coverage": "^2.0.3",
+        "@types/istanbul-reports": "^3.0.0",
+        "@web/browser-logs": "^0.4.0",
+        "@web/dev-server-core": "^0.7.0",
+        "chokidar": "^3.4.3",
+        "cli-cursor": "^3.1.0",
+        "co-body": "^6.1.0",
+        "convert-source-map": "^2.0.0",
+        "debounce": "^1.2.0",
+        "dependency-graph": "^0.11.0",
+        "globby": "^11.0.1",
+        "ip": "^2.0.1",
+        "istanbul-lib-coverage": "^3.0.0",
+        "istanbul-lib-report": "^3.0.1",
+        "istanbul-reports": "^3.0.2",
+        "log-update": "^4.0.0",
+        "nanocolors": "^0.2.1",
+        "nanoid": "^3.1.25",
+        "open": "^8.0.2",
+        "picomatch": "^2.2.2",
+        "source-map": "^0.7.3"
+      },
+      "dependencies": {
+        "convert-source-map": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.7.4",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+          "dev": true
+        }
+      }
     },
-    "@types/express": {
-      "version": "4.17.18",
-      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz",
-      "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==",
+    "@web/test-runner-coverage-v8": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.8.0.tgz",
+      "integrity": "sha512-PskiucYpjUtgNfR2zF2AWqWwjXL7H3WW/SnCAYmzUrtob7X9o/+BjdyZ4wKbOxWWSbJO4lEdGIDLu+8X2Xw+lA==",
+      "dev": true,
       "requires": {
-        "@types/body-parser": "*",
-        "@types/express-serve-static-core": "^4.17.33",
-        "@types/qs": "*",
-        "@types/serve-static": "*"
+        "@web/test-runner-core": "^0.13.0",
+        "istanbul-lib-coverage": "^3.0.0",
+        "lru-cache": "^8.0.4",
+        "picomatch": "^2.2.2",
+        "v8-to-istanbul": "^9.0.1"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "8.0.5",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz",
+          "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==",
+          "dev": true
+        }
       }
     },
-    "@types/express-serve-static-core": {
-      "version": "4.17.43",
-      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz",
-      "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==",
+    "@web/test-runner-mocha": {
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/@web/test-runner-mocha/-/test-runner-mocha-0.9.0.tgz",
+      "integrity": "sha512-ZL9F6FXd0DBQvo/h/+mSfzFTSRVxzV9st/AHhpgABtUtV/AIpVE9to6+xdkpu6827kwjezdpuadPfg+PlrBWqQ==",
+      "dev": true,
       "requires": {
-        "@types/node": "*",
-        "@types/qs": "*",
-        "@types/range-parser": "*",
-        "@types/send": "*"
+        "@web/test-runner-core": "^0.13.0"
       }
     },
-    "@types/generic-pool": {
-      "version": "3.8.1",
-      "resolved": "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.8.1.tgz",
-      "integrity": "sha512-eaMAbZS0EfKvaP5PUZ/Cdf5uJBO2t6T3RdvQTKuMqUwGhNpCnPAsKWEMyV+mCeCQG3UiHrtgdzni8X6DmhxRaQ==",
+    "@webassemblyjs/ast": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
+      "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
       "dev": true,
       "requires": {
-        "generic-pool": "*"
+        "@webassemblyjs/helper-numbers": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
       }
     },
-    "@types/http-assert": {
-      "version": "1.5.5",
-      "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz",
-      "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g=="
+    "@webassemblyjs/floating-point-hex-parser": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
+      "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
+      "dev": true
     },
-    "@types/http-errors": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
-      "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA=="
+    "@webassemblyjs/helper-api-error": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
+      "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
+      "dev": true
     },
-    "@types/ioredis4": {
-      "version": "npm:@types/ioredis@4.28.10",
-      "resolved": "https://registry.npmjs.org/@types/ioredis/-/ioredis-4.28.10.tgz",
-      "integrity": "sha512-69LyhUgrXdgcNDv7ogs1qXZomnfOEnSmrmMFqKgt1XMJxmoOSG/u3wYy13yACIfKuMJ8IhKgHafDO3sx19zVQQ==",
+    "@webassemblyjs/helper-buffer": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
+      "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
+      "dev": true
+    },
+    "@webassemblyjs/helper-numbers": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+      "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
       "dev": true,
       "requires": {
-        "@types/node": "*"
+        "@webassemblyjs/floating-point-hex-parser": "1.11.6",
+        "@webassemblyjs/helper-api-error": "1.11.6",
+        "@xtuc/long": "4.2.2"
       }
     },
-    "@types/istanbul-lib-coverage": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
-      "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+    "@webassemblyjs/helper-wasm-bytecode": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+      "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
       "dev": true
     },
-    "@types/istanbul-lib-report": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
-      "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
+    "@webassemblyjs/helper-wasm-section": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
+      "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
       "dev": true,
       "requires": {
-        "@types/istanbul-lib-coverage": "*"
+        "@webassemblyjs/ast": "1.12.1",
+        "@webassemblyjs/helper-buffer": "1.12.1",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/wasm-gen": "1.12.1"
       }
     },
-    "@types/istanbul-reports": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
-      "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+    "@webassemblyjs/ieee754": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+      "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
       "dev": true,
       "requires": {
-        "@types/istanbul-lib-report": "*"
+        "@xtuc/ieee754": "^1.2.0"
       }
     },
-    "@types/jquery": {
-      "version": "3.5.20",
-      "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.20.tgz",
-      "integrity": "sha512-UI+EGhgYD4LdSZ8gaiziFqXYIIB38VQSDsnAs8jL/div7FGrzrShx4HKCykVzk3tPfiIlusdNP9Wi3G60LCF2Q==",
+    "@webassemblyjs/leb128": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+      "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
       "dev": true,
       "requires": {
-        "@types/sizzle": "*"
+        "@xtuc/long": "4.2.2"
       }
     },
-    "@types/json-schema": {
-      "version": "7.0.15",
-      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
-      "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
-      "dev": true
-    },
-    "@types/json5": {
-      "version": "0.0.29",
-      "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
-      "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
+    "@webassemblyjs/utf8": {
+      "version": "1.11.6",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+      "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
       "dev": true
     },
-    "@types/keygrip": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.6.tgz",
-      "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ=="
-    },
-    "@types/koa": {
-      "version": "2.14.0",
-      "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.14.0.tgz",
-      "integrity": "sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==",
+    "@webassemblyjs/wasm-edit": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
+      "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
+      "dev": true,
       "requires": {
-        "@types/accepts": "*",
-        "@types/content-disposition": "*",
-        "@types/cookies": "*",
-        "@types/http-assert": "*",
-        "@types/http-errors": "*",
-        "@types/keygrip": "*",
-        "@types/koa-compose": "*",
-        "@types/node": "*"
+        "@webassemblyjs/ast": "1.12.1",
+        "@webassemblyjs/helper-buffer": "1.12.1",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/helper-wasm-section": "1.12.1",
+        "@webassemblyjs/wasm-gen": "1.12.1",
+        "@webassemblyjs/wasm-opt": "1.12.1",
+        "@webassemblyjs/wasm-parser": "1.12.1",
+        "@webassemblyjs/wast-printer": "1.12.1"
       }
     },
-    "@types/koa__router": {
-      "version": "12.0.3",
-      "resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-12.0.3.tgz",
-      "integrity": "sha512-5YUJVv6NwM1z7m6FuYpKfNLTZ932Z6EF6xy2BbtpJSyn13DKNQEkXVffFVSnJHxvwwWh2SAeumpjAYUELqgjyw==",
+    "@webassemblyjs/wasm-gen": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
+      "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
+      "dev": true,
       "requires": {
-        "@types/koa": "*"
+        "@webassemblyjs/ast": "1.12.1",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/ieee754": "1.11.6",
+        "@webassemblyjs/leb128": "1.11.6",
+        "@webassemblyjs/utf8": "1.11.6"
       }
     },
-    "@types/koa-compose": {
-      "version": "3.2.8",
-      "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.8.tgz",
-      "integrity": "sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==",
+    "@webassemblyjs/wasm-opt": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
+      "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
+      "dev": true,
       "requires": {
-        "@types/koa": "*"
+        "@webassemblyjs/ast": "1.12.1",
+        "@webassemblyjs/helper-buffer": "1.12.1",
+        "@webassemblyjs/wasm-gen": "1.12.1",
+        "@webassemblyjs/wasm-parser": "1.12.1"
       }
     },
-    "@types/lodash": {
-      "version": "4.14.199",
-      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz",
-      "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==",
-      "dev": true
-    },
-    "@types/long": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
-      "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==",
-      "dev": true
-    },
-    "@types/lru-cache": {
-      "version": "7.10.9",
-      "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-7.10.9.tgz",
-      "integrity": "sha512-wrwgkdJ0xr8AbzKhVaRI8SXZN9saapPwwLoydBEr4HqMZET1LUTi1gdoaj82XmRJ9atqN7MtB0aja29iiK+7ag==",
+    "@webassemblyjs/wasm-parser": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
+      "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
       "dev": true,
       "requires": {
-        "lru-cache": "*"
+        "@webassemblyjs/ast": "1.12.1",
+        "@webassemblyjs/helper-api-error": "1.11.6",
+        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+        "@webassemblyjs/ieee754": "1.11.6",
+        "@webassemblyjs/leb128": "1.11.6",
+        "@webassemblyjs/utf8": "1.11.6"
       }
     },
-    "@types/memcached": {
-      "version": "2.2.10",
-      "resolved": "https://registry.npmjs.org/@types/memcached/-/memcached-2.2.10.tgz",
-      "integrity": "sha512-AM9smvZN55Gzs2wRrqeMHVP7KE8KWgCJO/XL5yCly2xF6EKa4YlbpK+cLSAH4NG/Ah64HrlegmGqW8kYws7Vxg==",
+    "@webassemblyjs/wast-printer": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
+      "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
+      "dev": true,
       "requires": {
-        "@types/node": "*"
+        "@webassemblyjs/ast": "1.12.1",
+        "@xtuc/long": "4.2.2"
       }
     },
-    "@types/mime": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
-      "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="
+    "@webpack-cli/configtest": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz",
+      "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==",
+      "dev": true,
+      "requires": {}
     },
-    "@types/minimatch": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
-      "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
+    "@webpack-cli/info": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz",
+      "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==",
+      "dev": true,
+      "requires": {}
+    },
+    "@webpack-cli/serve": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz",
+      "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==",
+      "dev": true,
+      "requires": {}
+    },
+    "@xtuc/ieee754": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
       "dev": true
     },
-    "@types/minimist": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
-      "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
+    "@xtuc/long": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
       "dev": true
     },
-    "@types/mocha": {
-      "version": "7.0.2",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz",
-      "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==",
+    "@yarnpkg/lockfile": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
+      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
       "dev": true
     },
-    "@types/mongodb": {
-      "version": "3.6.20",
-      "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz",
-      "integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==",
+    "@yarnpkg/parsers": {
+      "version": "3.0.0-rc.46",
+      "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz",
+      "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==",
       "dev": true,
       "requires": {
-        "@types/bson": "*",
-        "@types/node": "*"
+        "js-yaml": "^3.10.0",
+        "tslib": "^2.4.0"
+      },
+      "dependencies": {
+        "argparse": {
+          "version": "1.0.10",
+          "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+          "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+          "dev": true,
+          "requires": {
+            "sprintf-js": "~1.0.2"
+          }
+        },
+        "js-yaml": {
+          "version": "3.14.1",
+          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+          "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+          "dev": true,
+          "requires": {
+            "argparse": "^1.0.7",
+            "esprima": "^4.0.0"
+          }
+        },
+        "sprintf-js": {
+          "version": "1.0.3",
+          "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+          "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+          "dev": true
+        }
       }
     },
-    "@types/mysql": {
-      "version": "2.15.22",
-      "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.22.tgz",
-      "integrity": "sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==",
+    "@zkochan/js-yaml": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz",
+      "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==",
+      "dev": true,
       "requires": {
-        "@types/node": "*"
+        "argparse": "^2.0.1"
       }
     },
-    "@types/node": {
-      "version": "18.6.5",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.5.tgz",
-      "integrity": "sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw=="
-    },
-    "@types/normalize-package-data": {
-      "version": "2.4.4",
-      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
-      "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
+    "abbrev": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
+      "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
       "dev": true
     },
-    "@types/parse-json": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
-      "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
-      "dev": true
+    "abort-controller": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+      "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+      "dev": true,
+      "requires": {
+        "event-target-shim": "^5.0.0"
+      }
     },
-    "@types/parse5": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz",
-      "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==",
+    "abstract-logging": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz",
+      "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==",
       "dev": true
     },
-    "@types/pg": {
-      "version": "8.6.1",
-      "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz",
-      "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==",
+    "accepts": {
+      "version": "1.3.8",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+      "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+      "dev": true,
       "requires": {
-        "@types/node": "*",
-        "pg-protocol": "*",
-        "pg-types": "^2.2.0"
+        "mime-types": "~2.1.34",
+        "negotiator": "0.6.3"
       }
     },
-    "@types/pg-pool": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.4.tgz",
-      "integrity": "sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ==",
-      "requires": {
-        "@types/pg": "*"
-      }
+    "acorn": {
+      "version": "8.11.3",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+      "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg=="
     },
-    "@types/prop-types": {
-      "version": "15.7.11",
-      "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
-      "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==",
+    "acorn-import-assertions": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
+      "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
+      "dev": true,
+      "requires": {}
+    },
+    "acorn-import-attributes": {
+      "version": "1.9.5",
+      "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
+      "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
+      "requires": {}
+    },
+    "acorn-jsx": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+      "dev": true,
+      "requires": {}
+    },
+    "add-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz",
+      "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==",
       "dev": true
     },
-    "@types/qs": {
-      "version": "6.9.11",
-      "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz",
-      "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ=="
+    "adm-zip": {
+      "version": "0.5.10",
+      "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz",
+      "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==",
+      "dev": true
     },
-    "@types/range-parser": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
-      "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="
+    "after-all-results": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/after-all-results/-/after-all-results-2.0.0.tgz",
+      "integrity": "sha512-2zHEyuhSJOuCrmas9YV0YL/MFCWLxe1dS6k/ENhgYrb/JqyMnadLN4iIAc9kkZrbElMDyyAGH/0J18OPErOWLg==",
+      "dev": true
     },
-    "@types/react": {
-      "version": "17.0.67",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.67.tgz",
-      "integrity": "sha512-zE76EIJ0Y58Oy9yDX/9csb/NuKjt0Eq2YgWb/8Wxo91YmuLzzbyiRoaqJE9h8iDlsT7n35GdpoLomHlaB1kFbg==",
+    "agent-base": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
+      "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+      "requires": {
+        "debug": "^4.3.4"
+      }
+    },
+    "agentkeepalive": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
+      "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
       "dev": true,
       "requires": {
-        "@types/prop-types": "*",
-        "@types/scheduler": "*",
-        "csstype": "^3.0.2"
+        "humanize-ms": "^1.2.1"
       }
     },
-    "@types/react-addons-test-utils": {
-      "version": "0.14.26",
-      "resolved": "https://registry.npmjs.org/@types/react-addons-test-utils/-/react-addons-test-utils-0.14.26.tgz",
-      "integrity": "sha512-zrnMrqGCfIniXyipb9HFPgdWf9TO0llA7n5QduJsx0IDB0pPK8p3/4rL4SfOLgsmtbb2X2XWCW9kBn/2k+52fg==",
+    "aggregate-error": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
       "dev": true,
       "requires": {
-        "@types/react": "*"
+        "clean-stack": "^2.0.0",
+        "indent-string": "^4.0.0"
       }
     },
-    "@types/react-dom": {
-      "version": "18.0.2",
-      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.2.tgz",
-      "integrity": "sha512-UxeS+Wtj5bvLRREz9tIgsK4ntCuLDo0EcAcACgw3E+9wE8ePDr9uQpq53MfcyxyIS55xJ+0B6mDS8c4qkkHLBg==",
+    "ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
       "dev": true,
       "requires": {
-        "@types/react": "*"
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
       }
     },
-    "@types/readable-stream": {
-      "version": "4.0.12",
-      "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.12.tgz",
-      "integrity": "sha512-SCaw+bs9o/HCX1eTa3glTcQgW1oPxof49mqP2Qikik3xzTimNv2M4p43BQHhBuf7CwOJdQW0s1SrWU3MZxz6lw==",
+    "ajv-formats": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+      "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
       "dev": true,
       "requires": {
-        "@types/node": "*",
-        "safe-buffer": "~5.1.1"
+        "ajv": "^8.0.0"
       },
       "dependencies": {
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+        "ajv": {
+          "version": "8.12.0",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+          "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "json-schema-traverse": "^1.0.0",
+            "require-from-string": "^2.0.2",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "json-schema-traverse": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+          "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
           "dev": true
         }
       }
     },
-    "@types/redis": {
-      "version": "2.8.32",
-      "resolved": "https://registry.npmjs.org/@types/redis/-/redis-2.8.32.tgz",
-      "integrity": "sha512-7jkMKxcGq9p242exlbsVzuJb57KqHRhNl4dHoQu2Y5v9bCAbtIXXH0R3HleSQW4CTOqpHIYUW3t6tpUj4BVQ+w==",
+    "ajv-keywords": {
+      "version": "3.5.2",
+      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
       "dev": true,
-      "requires": {
-        "@types/node": "*"
-      }
-    },
-    "@types/resolve": {
-      "version": "1.20.2",
-      "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
-      "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
-      "dev": true
+      "requires": {}
     },
-    "@types/restify": {
-      "version": "4.3.10",
-      "resolved": "https://registry.npmjs.org/@types/restify/-/restify-4.3.10.tgz",
-      "integrity": "sha512-lSt9uvWwdYrGgRCqKyh5DyC008xN8hij5RWzOPlPaTiec2smfpd7s034BASPDMIG4WhRfk0y4oLFoAi/AzVN9g==",
+    "amqplib": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.8.0.tgz",
+      "integrity": "sha512-icU+a4kkq4Y1PS4NNi+YPDMwdlbFcZ1EZTQT2nigW3fvOb6AOgUQ9+Mk4ue0Zu5cBg/XpDzB40oH10ysrk2dmA==",
       "dev": true,
       "requires": {
-        "@types/bunyan": "*",
-        "@types/node": "*"
+        "bitsyntax": "~0.1.0",
+        "bluebird": "^3.7.2",
+        "buffer-more-ints": "~1.0.0",
+        "readable-stream": "1.x >=1.1.9",
+        "safe-buffer": "~5.2.1",
+        "url-parse": "~1.5.1"
       }
     },
-    "@types/scheduler": {
-      "version": "0.16.8",
-      "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
-      "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==",
-      "dev": true
+    "ansi-color": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-color/-/ansi-color-0.2.1.tgz",
+      "integrity": "sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ=="
     },
-    "@types/semver": {
-      "version": "7.5.3",
-      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz",
-      "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==",
+    "ansi-colors": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
+      "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
       "dev": true
     },
-    "@types/send": {
-      "version": "0.17.4",
-      "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
-      "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
+    "ansi-diff-stream": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-diff-stream/-/ansi-diff-stream-1.2.1.tgz",
+      "integrity": "sha512-PaKs34INoKpTzcjyKd2GM/CCEeTyDgWKuHSgF0z7ywjpbBFj/pzQf/30v+TR6VBBLia6Mso+W2ygU22ljqbi6A==",
+      "dev": true,
       "requires": {
-        "@types/mime": "^1",
-        "@types/node": "*"
+        "ansi-regex": "^2.0.0",
+        "buffer-from": "^1.0.0",
+        "through2": "^2.0.1"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+          "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "2.3.8",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+          "dev": true,
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.3",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~2.0.0",
+            "safe-buffer": "~5.1.1",
+            "string_decoder": "~1.1.1",
+            "util-deprecate": "~1.0.1"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+          "dev": true
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "~5.1.0"
+          }
+        },
+        "through2": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+          "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+          "dev": true,
+          "requires": {
+            "readable-stream": "~2.3.6",
+            "xtend": "~4.0.1"
+          }
+        }
       }
     },
-    "@types/serve-static": {
-      "version": "1.15.5",
-      "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz",
-      "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==",
+    "ansi-escapes": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+      "dev": true,
       "requires": {
-        "@types/http-errors": "*",
-        "@types/mime": "*",
-        "@types/node": "*"
+        "type-fest": "^0.21.3"
       }
     },
-    "@types/shimmer": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.0.3.tgz",
-      "integrity": "sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA=="
+    "ansi-regex": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
+      "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
+      "dev": true
     },
-    "@types/sinon": {
-      "version": "10.0.18",
-      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.18.tgz",
-      "integrity": "sha512-OpQC9ug8BcnNxue2WF5aTruMaDRFn6NyfaE4DmAKOlQMn54b7CnCvDFV3wj5fk/HbSSTYmOYs2bTb5ShANjyQg==",
+    "ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
       "dev": true,
       "requires": {
-        "@types/sinonjs__fake-timers": "*"
+        "color-convert": "^1.9.0"
       }
     },
-    "@types/sinonjs__fake-timers": {
-      "version": "8.1.5",
-      "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz",
-      "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==",
+    "any-promise": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+      "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
       "dev": true
     },
-    "@types/sizzle": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz",
-      "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==",
-      "dev": true
+    "anymatch": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+      "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+      "dev": true,
+      "requires": {
+        "normalize-path": "^3.0.0",
+        "picomatch": "^2.0.4"
+      }
     },
-    "@types/stack-utils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
-      "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
+    "append-field": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
+      "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==",
       "dev": true
     },
-    "@types/tedious": {
-      "version": "4.0.14",
-      "resolved": "https://registry.npmjs.org/@types/tedious/-/tedious-4.0.14.tgz",
-      "integrity": "sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==",
+    "append-transform": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
+      "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
+      "dev": true,
       "requires": {
-        "@types/node": "*"
+        "default-require-extensions": "^3.0.0"
       }
     },
-    "@types/triple-beam": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz",
-      "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw=="
-    },
-    "@types/uuid": {
-      "version": "9.0.1",
-      "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz",
-      "integrity": "sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==",
-      "dev": true
-    },
-    "@types/webidl-conversions": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
-      "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
+    "aproba": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+      "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
       "dev": true
     },
-    "@types/webpack-env": {
-      "version": "1.16.2",
-      "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.2.tgz",
-      "integrity": "sha512-vKx7WNQNZDyJveYcHAm9ZxhqSGLYwoyLhrHjLBOkw3a7cT76sTdjgtwyijhk1MaHyRIuSztcVwrUOO/NEu68Dw==",
+    "archy": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+      "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
       "dev": true
     },
-    "@types/whatwg-url": {
-      "version": "8.2.2",
-      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
-      "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+    "are-we-there-yet": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
+      "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
       "dev": true,
       "requires": {
-        "@types/node": "*",
-        "@types/webidl-conversions": "*"
+        "delegates": "^1.0.0",
+        "readable-stream": "^3.6.0"
       }
     },
-    "@types/ws": {
-      "version": "7.4.7",
-      "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz",
-      "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*"
-      }
+    "argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+      "dev": true
     },
-    "@types/yargs": {
-      "version": "17.0.32",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
-      "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+    "array-back": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
+      "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
+      "dev": true
+    },
+    "array-buffer-byte-length": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+      "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
       "dev": true,
       "requires": {
-        "@types/yargs-parser": "*"
+        "call-bind": "^1.0.5",
+        "is-array-buffer": "^3.0.4"
       }
     },
-    "@types/yargs-parser": {
-      "version": "21.0.3",
-      "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
-      "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
+    "array-differ": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
+      "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
       "dev": true
     },
-    "@types/yauzl": {
-      "version": "2.10.3",
-      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
-      "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
+    "array-flatten": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+      "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
+      "dev": true
+    },
+    "array-ify": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
+      "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==",
+      "dev": true
+    },
+    "array-includes": {
+      "version": "3.1.7",
+      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz",
+      "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "@types/node": "*"
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "get-intrinsic": "^1.2.1",
+        "is-string": "^1.0.7"
       }
     },
-    "@typescript-eslint/eslint-plugin": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.8.1.tgz",
-      "integrity": "sha512-wTZ5oEKrKj/8/366qTM366zqhIKAp6NCMweoRONtfuC07OAU9nVI2GZZdqQ1qD30WAAtcPdkH+npDwtRFdp4Rw==",
+    "array-union": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+      "dev": true
+    },
+    "array.prototype.flat": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
+      "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/experimental-utils": "5.8.1",
-        "@typescript-eslint/scope-manager": "5.8.1",
-        "debug": "^4.3.2",
-        "functional-red-black-tree": "^1.0.1",
-        "ignore": "^5.1.8",
-        "regexpp": "^3.2.0",
-        "semver": "^7.3.5",
-        "tsutils": "^3.21.0"
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "es-shim-unscopables": "^1.0.0"
       }
     },
-    "@typescript-eslint/experimental-utils": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.8.1.tgz",
-      "integrity": "sha512-fbodVnjIDU4JpeXWRDsG5IfIjYBxEvs8EBO8W1+YVdtrc2B9ppfof5sZhVEDOtgTfFHnYQJDI8+qdqLYO4ceww==",
+    "array.prototype.flatmap": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
+      "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
       "dev": true,
       "requires": {
-        "@types/json-schema": "^7.0.9",
-        "@typescript-eslint/scope-manager": "5.8.1",
-        "@typescript-eslint/types": "5.8.1",
-        "@typescript-eslint/typescript-estree": "5.8.1",
-        "eslint-scope": "^5.1.1",
-        "eslint-utils": "^3.0.0"
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "es-shim-unscopables": "^1.0.0"
       }
     },
-    "@typescript-eslint/parser": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.8.1.tgz",
-      "integrity": "sha512-K1giKHAjHuyB421SoXMXFHHVI4NdNY603uKw92++D3qyxSeYvC10CBJ/GE5Thpo4WTUvu1mmJI2/FFkz38F2Gw==",
+    "array.prototype.reduce": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz",
+      "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/scope-manager": "5.8.1",
-        "@typescript-eslint/types": "5.8.1",
-        "@typescript-eslint/typescript-estree": "5.8.1",
-        "debug": "^4.3.2"
+        "call-bind": "^1.0.2",
+        "define-properties": "^1.2.0",
+        "es-abstract": "^1.22.1",
+        "es-array-method-boxes-properly": "^1.0.0",
+        "is-string": "^1.0.7"
       }
     },
-    "@typescript-eslint/scope-manager": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.8.1.tgz",
-      "integrity": "sha512-DGxJkNyYruFH3NIZc3PwrzwOQAg7vvgsHsHCILOLvUpupgkwDZdNq/cXU3BjF4LNrCsVg0qxEyWasys5AiJ85Q==",
+    "arraybuffer.prototype.slice": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+      "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/types": "5.8.1",
-        "@typescript-eslint/visitor-keys": "5.8.1"
+        "array-buffer-byte-length": "^1.0.1",
+        "call-bind": "^1.0.5",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.22.3",
+        "es-errors": "^1.2.1",
+        "get-intrinsic": "^1.2.3",
+        "is-array-buffer": "^3.0.4",
+        "is-shared-array-buffer": "^1.0.2"
       }
     },
-    "@typescript-eslint/types": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.8.1.tgz",
-      "integrity": "sha512-L/FlWCCgnjKOLefdok90/pqInkomLnAcF9UAzNr+DSqMC3IffzumHTQTrINXhP1gVp9zlHiYYjvozVZDPleLcA==",
+    "arrify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+      "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
       "dev": true
     },
-    "@typescript-eslint/typescript-estree": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.1.tgz",
-      "integrity": "sha512-26lQ8l8tTbG7ri7xEcCFT9ijU5Fk+sx/KRRyyzCv7MQ+rZZlqiDPtMKWLC8P7o+dtCnby4c+OlxuX1tp8WfafQ==",
+    "asn1": {
+      "version": "0.2.6",
+      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/types": "5.8.1",
-        "@typescript-eslint/visitor-keys": "5.8.1",
-        "debug": "^4.3.2",
-        "globby": "^11.0.4",
-        "is-glob": "^4.0.3",
-        "semver": "^7.3.5",
-        "tsutils": "^3.21.0"
+        "safer-buffer": "~2.1.0"
       }
     },
-    "@typescript-eslint/visitor-keys": {
-      "version": "5.8.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.1.tgz",
-      "integrity": "sha512-SWgiWIwocK6NralrJarPZlWdr0hZnj5GXHIgfdm8hNkyKvpeQuFyLP6YjSIe9kf3YBIfU6OHSZLYkQ+smZwtNg==",
+    "assert": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
+      "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/types": "5.8.1",
-        "eslint-visitor-keys": "^3.0.0"
+        "es6-object-assign": "^1.1.0",
+        "is-nan": "^1.2.1",
+        "object-is": "^1.0.1",
+        "util": "^0.12.0"
       }
     },
-    "@web/browser-logs": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.4.0.tgz",
-      "integrity": "sha512-/EBiDAUCJ2DzZhaFxTPRIznEPeafdLbXShIL6aTu7x73x7ZoxSDv7DGuTsh2rWNMUa4+AKli4UORrpyv6QBOiA==",
-      "dev": true,
-      "requires": {
-        "errorstacks": "^2.2.0"
-      }
+    "assert-plus": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+      "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+      "dev": true
     },
-    "@web/config-loader": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.3.1.tgz",
-      "integrity": "sha512-IYjHXUgSGGNpO3YJQ9foLcazbJlAWDdJGRe9be7aOhon0Nd6Na5JIOJAej7jsMu76fKHr4b4w2LfIdNQ4fJ8pA==",
+    "assertion-error": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+      "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
       "dev": true
     },
-    "@web/dev-server": {
-      "version": "0.4.3",
-      "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.4.3.tgz",
-      "integrity": "sha512-vf2ZVjdTj8ExrMSYagyHD+snRue9oRetynxd1p0P7ndEpZDKeNLYsvkJyo0pNU6moBxHmXnYeC5VrAT4E3+lNg==",
+    "assertion-error-formatter": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz",
+      "integrity": "sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.12.11",
-        "@types/command-line-args": "^5.0.0",
-        "@web/config-loader": "^0.3.0",
-        "@web/dev-server-core": "^0.7.1",
-        "@web/dev-server-rollup": "^0.6.1",
-        "camelcase": "^6.2.0",
-        "command-line-args": "^5.1.1",
-        "command-line-usage": "^7.0.1",
-        "debounce": "^1.2.0",
-        "deepmerge": "^4.2.2",
-        "ip": "^2.0.1",
-        "nanocolors": "^0.2.1",
-        "open": "^8.0.2",
-        "portfinder": "^1.0.32"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
-          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
-          "dev": true
-        }
+        "diff": "^4.0.1",
+        "pad-right": "^0.2.2",
+        "repeat-string": "^1.6.1"
       }
     },
-    "@web/dev-server-core": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.7.1.tgz",
-      "integrity": "sha512-alHd2j0f4e1ekqYDR8lWScrzR7D5gfsUZq3BP3De9bkFWM3AELINCmqqlVKmCtlkAdEc9VyQvNiEqrxraOdc2A==",
+    "ast-types": {
+      "version": "0.13.4",
+      "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
+      "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
       "dev": true,
       "requires": {
-        "@types/koa": "^2.11.6",
-        "@types/ws": "^7.4.0",
-        "@web/parse5-utils": "^2.1.0",
-        "chokidar": "^3.4.3",
-        "clone": "^2.1.2",
-        "es-module-lexer": "^1.0.0",
-        "get-stream": "^6.0.0",
-        "is-stream": "^2.0.0",
-        "isbinaryfile": "^5.0.0",
-        "koa": "^2.13.0",
-        "koa-etag": "^4.0.0",
-        "koa-send": "^5.0.1",
-        "koa-static": "^5.0.0",
-        "lru-cache": "^8.0.4",
-        "mime-types": "^2.1.27",
-        "parse5": "^6.0.1",
-        "picomatch": "^2.2.2",
-        "ws": "^7.4.2"
-      },
-      "dependencies": {
-        "clone": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
-          "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
-          "dev": true
-        },
-        "isbinaryfile": {
-          "version": "5.0.2",
-          "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.2.tgz",
-          "integrity": "sha512-GvcjojwonMjWbTkfMpnVHVqXW/wKMYDfEpY94/8zy8HFMOqb/VL6oeONq9v87q4ttVlaTLnGXnJD4B5B1OTGIg==",
-          "dev": true
-        },
-        "lru-cache": {
-          "version": "8.0.5",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz",
-          "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==",
-          "dev": true
-        },
-        "parse5": {
-          "version": "6.0.1",
-          "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-          "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
-          "dev": true
-        },
-        "ws": {
-          "version": "7.5.9",
-          "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
-          "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
-          "dev": true,
-          "requires": {}
-        }
+        "tslib": "^2.0.1"
       }
     },
-    "@web/dev-server-esbuild": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/@web/dev-server-esbuild/-/dev-server-esbuild-1.0.2.tgz",
-      "integrity": "sha512-ak5mKt7L0H/Fa470Ku7p9A1eI32DNyFGM83jDkJviBO8r3lM00O5hVFW1K+UIYNC5EyanLyPxTqgtIuQEyMYcQ==",
+    "astral-regex": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+      "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+      "dev": true
+    },
+    "async": {
+      "version": "3.2.5",
+      "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
+      "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
+      "dev": true
+    },
+    "async-mutex": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.0.tgz",
+      "integrity": "sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA==",
       "dev": true,
       "requires": {
-        "@mdn/browser-compat-data": "^4.0.0",
-        "@web/dev-server-core": "^0.7.0",
-        "esbuild": "^0.19.11",
-        "get-tsconfig": "^4.7.2",
-        "parse5": "^6.0.1",
-        "ua-parser-js": "^1.0.33"
-      },
-      "dependencies": {
-        "parse5": {
-          "version": "6.0.1",
-          "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-          "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
-          "dev": true
-        },
-        "ua-parser-js": {
-          "version": "1.0.37",
-          "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz",
-          "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==",
-          "dev": true
-        }
+        "tslib": "^2.4.0"
       }
     },
-    "@web/dev-server-rollup": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.6.1.tgz",
-      "integrity": "sha512-vhtsQ8qu1pBHailOBOYJwZnYDc1Lmx6ZAd2j+y5PD2ck0R1LmVsZ7dZK8hDCpkvpvlu2ndURjL9tbzdcsBRJmg==",
+    "asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+      "dev": true
+    },
+    "at-least-node": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+      "dev": true
+    },
+    "atomic-sleep": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz",
+      "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==",
+      "dev": true
+    },
+    "available-typed-arrays": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+      "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
       "dev": true,
       "requires": {
-        "@rollup/plugin-node-resolve": "^15.0.1",
-        "@web/dev-server-core": "^0.7.0",
-        "nanocolors": "^0.2.1",
-        "parse5": "^6.0.1",
-        "rollup": "^4.4.0",
-        "whatwg-url": "^11.0.0"
-      },
-      "dependencies": {
-        "parse5": {
-          "version": "6.0.1",
-          "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-          "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
-          "dev": true
-        }
+        "possible-typed-array-names": "^1.0.0"
       }
     },
-    "@web/parse5-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@web/parse5-utils/-/parse5-utils-2.1.0.tgz",
-      "integrity": "sha512-GzfK5disEJ6wEjoPwx8AVNwUe9gYIiwc+x//QYxYDAFKUp4Xb1OJAGLc2l2gVrSQmtPGLKrTRcW90Hv4pEq1qA==",
+    "avvio": {
+      "version": "8.3.0",
+      "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz",
+      "integrity": "sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==",
       "dev": true,
       "requires": {
-        "@types/parse5": "^6.0.1",
-        "parse5": "^6.0.1"
-      },
-      "dependencies": {
-        "parse5": {
-          "version": "6.0.1",
-          "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-          "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
-          "dev": true
-        }
+        "@fastify/error": "^3.3.0",
+        "archy": "^1.0.0",
+        "debug": "^4.0.0",
+        "fastq": "^1.17.1"
       }
     },
-    "@web/test-runner": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.1.tgz",
-      "integrity": "sha512-jB/9vrpGVtcLY6/7sPpKpSheQ3wWY9P5aQcz2SK2gMHTq3gNpa51NAyec0Al7EFpHvJ1wKYTGRLB2gPyEoJeDg==",
+    "aws-sdk": {
+      "version": "2.1008.0",
+      "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1008.0.tgz",
+      "integrity": "sha512-wBEon+ARCuMcwEPpOFZqRT3elBLfLtPqv8jMql3Hsr7Ua5toPlgKMmjf368iTzBNaY7TOZsjLAT9nAhvtSZ++g==",
       "dev": true,
       "requires": {
-        "@web/browser-logs": "^0.4.0",
-        "@web/config-loader": "^0.3.0",
-        "@web/dev-server": "^0.4.0",
-        "@web/test-runner-chrome": "^0.16.0",
-        "@web/test-runner-commands": "^0.9.0",
-        "@web/test-runner-core": "^0.13.0",
-        "@web/test-runner-mocha": "^0.9.0",
-        "camelcase": "^6.2.0",
-        "command-line-args": "^5.1.1",
-        "command-line-usage": "^7.0.1",
-        "convert-source-map": "^2.0.0",
-        "diff": "^5.0.0",
-        "globby": "^11.0.1",
-        "nanocolors": "^0.2.1",
-        "portfinder": "^1.0.32",
-        "source-map": "^0.7.3"
+        "buffer": "4.9.2",
+        "events": "1.1.1",
+        "ieee754": "1.1.13",
+        "jmespath": "0.15.0",
+        "querystring": "0.2.0",
+        "sax": "1.2.1",
+        "url": "0.10.3",
+        "uuid": "3.3.2",
+        "xml2js": "0.4.19"
       },
       "dependencies": {
-        "camelcase": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
-          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
-          "dev": true
-        },
-        "convert-source-map": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
-          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
-          "dev": true
-        },
-        "diff": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
-          "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.7.4",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
-          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+        "uuid": {
+          "version": "3.3.2",
+          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+          "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
           "dev": true
         }
       }
     },
-    "@web/test-runner-chrome": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.16.0.tgz",
-      "integrity": "sha512-Edc6Y49aVB6k18S5IOj9OCX3rEf8F3jptIu0p95+imqxmcutFEh1GNmlAk2bQGnXS0U6uVY7Xbf61fiaXUQqhg==",
+    "axios": {
+      "version": "1.6.7",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz",
+      "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
       "dev": true,
       "requires": {
-        "@web/test-runner-core": "^0.13.0",
-        "@web/test-runner-coverage-v8": "^0.8.0",
-        "async-mutex": "0.4.0",
-        "chrome-launcher": "^0.15.0",
-        "puppeteer-core": "^22.0.0"
+        "follow-redirects": "^1.15.4",
+        "form-data": "^4.0.0",
+        "proxy-from-env": "^1.1.0"
       }
     },
-    "@web/test-runner-commands": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.9.0.tgz",
-      "integrity": "sha512-zeLI6QdH0jzzJMDV5O42Pd8WLJtYqovgdt0JdytgHc0d1EpzXDsc7NTCJSImboc2NcayIsWAvvGGeRF69SMMYg==",
+    "b4a": {
+      "version": "1.6.6",
+      "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz",
+      "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==",
+      "dev": true
+    },
+    "babel-code-frame": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+      "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==",
       "dev": true,
       "requires": {
-        "@web/test-runner-core": "^0.13.0",
-        "mkdirp": "^1.0.4"
+        "chalk": "^1.1.3",
+        "esutils": "^2.0.2",
+        "js-tokens": "^3.0.2"
       },
       "dependencies": {
-        "mkdirp": {
-          "version": "1.0.4",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+        "ansi-regex": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+          "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+          "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
+          "dev": true
+        },
+        "chalk": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+          "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^2.2.1",
+            "escape-string-regexp": "^1.0.2",
+            "has-ansi": "^2.0.0",
+            "strip-ansi": "^3.0.0",
+            "supports-color": "^2.0.0"
+          }
+        },
+        "has-ansi": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+          "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^2.0.0"
+          }
+        },
+        "js-tokens": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+          "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==",
+          "dev": true
+        },
+        "strip-ansi": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+          "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^2.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+          "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
           "dev": true
         }
       }
     },
-    "@web/test-runner-core": {
-      "version": "0.13.1",
-      "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.13.1.tgz",
-      "integrity": "sha512-2hESALx/UFsAzK+ApWXAkFp2eCmwcs2yj1v4YjwV8F38sQumJ40P3px3BMjFwkOYDORtQOicW0RUeSw1g3BMLA==",
+    "babel-core": {
+      "version": "6.26.3",
+      "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
+      "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.12.11",
-        "@types/babel__code-frame": "^7.0.2",
-        "@types/co-body": "^6.1.0",
-        "@types/convert-source-map": "^2.0.0",
-        "@types/debounce": "^1.2.0",
-        "@types/istanbul-lib-coverage": "^2.0.3",
-        "@types/istanbul-reports": "^3.0.0",
-        "@web/browser-logs": "^0.4.0",
-        "@web/dev-server-core": "^0.7.0",
-        "chokidar": "^3.4.3",
-        "cli-cursor": "^3.1.0",
-        "co-body": "^6.1.0",
-        "convert-source-map": "^2.0.0",
-        "debounce": "^1.2.0",
-        "dependency-graph": "^0.11.0",
-        "globby": "^11.0.1",
-        "ip": "^2.0.1",
-        "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-report": "^3.0.1",
-        "istanbul-reports": "^3.0.2",
-        "log-update": "^4.0.0",
-        "nanocolors": "^0.2.1",
-        "nanoid": "^3.1.25",
-        "open": "^8.0.2",
-        "picomatch": "^2.2.2",
-        "source-map": "^0.7.3"
+        "babel-code-frame": "^6.26.0",
+        "babel-generator": "^6.26.0",
+        "babel-helpers": "^6.24.1",
+        "babel-messages": "^6.23.0",
+        "babel-register": "^6.26.0",
+        "babel-runtime": "^6.26.0",
+        "babel-template": "^6.26.0",
+        "babel-traverse": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "babylon": "^6.18.0",
+        "convert-source-map": "^1.5.1",
+        "debug": "^2.6.9",
+        "json5": "^0.5.1",
+        "lodash": "^4.17.4",
+        "minimatch": "^3.0.4",
+        "path-is-absolute": "^1.0.1",
+        "private": "^0.1.8",
+        "slash": "^1.0.0",
+        "source-map": "^0.5.7"
       },
       "dependencies": {
-        "convert-source-map": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "json5": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+          "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==",
+          "dev": true
+        },
+        "minimatch": {
+          "version": "3.1.2",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^1.1.7"
+          }
+        },
+        "ms": {
           "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
-          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+          "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+          "dev": true
+        },
+        "slash": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+          "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==",
           "dev": true
         },
         "source-map": {
-          "version": "0.7.4",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
-          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
           "dev": true
         }
       }
     },
-    "@web/test-runner-coverage-v8": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmjs.org/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.8.0.tgz",
-      "integrity": "sha512-PskiucYpjUtgNfR2zF2AWqWwjXL7H3WW/SnCAYmzUrtob7X9o/+BjdyZ4wKbOxWWSbJO4lEdGIDLu+8X2Xw+lA==",
+    "babel-generator": {
+      "version": "6.26.1",
+      "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+      "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
       "dev": true,
       "requires": {
-        "@web/test-runner-core": "^0.13.0",
-        "istanbul-lib-coverage": "^3.0.0",
-        "lru-cache": "^8.0.4",
-        "picomatch": "^2.2.2",
-        "v8-to-istanbul": "^9.0.1"
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "detect-indent": "^4.0.0",
+        "jsesc": "^1.3.0",
+        "lodash": "^4.17.4",
+        "source-map": "^0.5.7",
+        "trim-right": "^1.0.1"
       },
       "dependencies": {
-        "lru-cache": {
-          "version": "8.0.5",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz",
-          "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==",
+        "detect-indent": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+          "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==",
+          "dev": true,
+          "requires": {
+            "repeating": "^2.0.0"
+          }
+        },
+        "jsesc": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+          "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
           "dev": true
         }
       }
     },
-    "@web/test-runner-mocha": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/@web/test-runner-mocha/-/test-runner-mocha-0.9.0.tgz",
-      "integrity": "sha512-ZL9F6FXd0DBQvo/h/+mSfzFTSRVxzV9st/AHhpgABtUtV/AIpVE9to6+xdkpu6827kwjezdpuadPfg+PlrBWqQ==",
+    "babel-helper-bindify-decorators": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
+      "integrity": "sha512-TYX2QQATKA6Wssp6j7jqlw4QLmABDN1olRdEHndYvBXdaXM5dcx6j5rN0+nd+aVL+Th40fAEYvvw/Xxd/LETuQ==",
       "dev": true,
       "requires": {
-        "@web/test-runner-core": "^0.13.0"
+        "babel-runtime": "^6.22.0",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "@webassemblyjs/ast": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
-      "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
+    "babel-helper-builder-binary-assignment-operator-visitor": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
+      "integrity": "sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0"
+        "babel-helper-explode-assignable-expression": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
-      "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-api-error": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
-      "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-buffer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
-      "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-code-frame": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
-      "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
+    "babel-helper-call-delegate": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
+      "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/wast-printer": "1.9.0"
+        "babel-helper-hoist-variables": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "@webassemblyjs/helper-fsm": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
-      "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-module-context": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
-      "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
+    "babel-helper-define-map": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
+      "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.9.0"
+        "babel-helper-function-name": "^6.24.1",
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "lodash": "^4.17.4"
       }
     },
-    "@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
-      "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-wasm-section": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
-      "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
+    "babel-helper-explode-assignable-expression": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
+      "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0"
+        "babel-runtime": "^6.22.0",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "@webassemblyjs/ieee754": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
-      "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
+    "babel-helper-explode-class": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
+      "integrity": "sha512-SFbWewr0/0U4AiRzsHqwsbOQeLXVa9T1ELdqEa2efcQB5KopTnunAqoj07TuHlN2lfTQNPGO/rJR4FMln5fVcA==",
       "dev": true,
       "requires": {
-        "@xtuc/ieee754": "^1.2.0"
+        "babel-helper-bindify-decorators": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "@webassemblyjs/leb128": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
-      "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
+    "babel-helper-function-name": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+      "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==",
       "dev": true,
       "requires": {
-        "@xtuc/long": "4.2.2"
+        "babel-helper-get-function-arity": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "@webassemblyjs/utf8": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
-      "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
-      "dev": true
-    },
-    "@webassemblyjs/wasm-edit": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
-      "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
+    "babel-helper-get-function-arity": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+      "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/helper-wasm-section": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-opt": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "@webassemblyjs/wast-printer": "1.9.0"
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "@webassemblyjs/wasm-gen": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
-      "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
+    "babel-helper-hoist-variables": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
+      "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "@webassemblyjs/wasm-opt": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
-      "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
+    "babel-helper-optimise-call-expression": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
+      "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0"
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "@webassemblyjs/wasm-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
-      "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
+    "babel-helper-regex": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
+      "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "lodash": "^4.17.4"
       }
     },
-    "@webassemblyjs/wast-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
-      "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
+    "babel-helper-remap-async-to-generator": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
+      "integrity": "sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-code-frame": "1.9.0",
-        "@webassemblyjs/helper-fsm": "1.9.0",
-        "@xtuc/long": "4.2.2"
+        "babel-helper-function-name": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "@webassemblyjs/wast-printer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
-      "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
+    "babel-helper-replace-supers": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
+      "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0",
-        "@xtuc/long": "4.2.2"
+        "babel-helper-optimise-call-expression": "^6.24.1",
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "@webpack-cli/configtest": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
-      "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
+    "babel-helpers": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+      "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==",
       "dev": true,
-      "requires": {}
+      "requires": {
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
+      }
     },
-    "@webpack-cli/info": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
-      "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
+    "babel-loader": {
+      "version": "8.3.0",
+      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz",
+      "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==",
       "dev": true,
       "requires": {
-        "envinfo": "^7.7.3"
+        "find-cache-dir": "^3.3.1",
+        "loader-utils": "^2.0.0",
+        "make-dir": "^3.1.0",
+        "schema-utils": "^2.6.5"
       }
     },
-    "@webpack-cli/serve": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
-      "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
+    "babel-messages": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+      "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==",
       "dev": true,
-      "requires": {}
-    },
-    "@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
-      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "dev": true
-    },
-    "@xtuc/long": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
-      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
-      "dev": true
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "@yarnpkg/lockfile": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
-      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
-      "dev": true
+    "babel-plugin-check-es2015-constants": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
+      "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "@yarnpkg/parsers": {
-      "version": "3.0.0-rc.46",
-      "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz",
-      "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==",
+    "babel-plugin-istanbul": {
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+      "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
       "dev": true,
       "requires": {
-        "js-yaml": "^3.10.0",
-        "tslib": "^2.4.0"
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@istanbuljs/load-nyc-config": "^1.0.0",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-instrument": "^5.0.4",
+        "test-exclude": "^6.0.0"
       },
       "dependencies": {
-        "argparse": {
-          "version": "1.0.10",
-          "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-          "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-          "dev": true,
-          "requires": {
-            "sprintf-js": "~1.0.2"
-          }
-        },
-        "js-yaml": {
-          "version": "3.14.1",
-          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-          "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+        "istanbul-lib-instrument": {
+          "version": "5.2.1",
+          "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+          "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
           "dev": true,
           "requires": {
-            "argparse": "^1.0.7",
-            "esprima": "^4.0.0"
+            "@babel/core": "^7.12.3",
+            "@babel/parser": "^7.14.7",
+            "@istanbuljs/schema": "^0.1.2",
+            "istanbul-lib-coverage": "^3.2.0",
+            "semver": "^6.3.0"
           }
         },
-        "sprintf-js": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-          "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+        "semver": {
+          "version": "6.3.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+          "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
           "dev": true
         }
       }
     },
-    "@zkochan/js-yaml": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz",
-      "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==",
+    "babel-plugin-polyfill-corejs2": {
+      "version": "0.4.11",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz",
+      "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==",
       "dev": true,
       "requires": {
-        "argparse": "^2.0.1"
+        "@babel/compat-data": "^7.22.6",
+        "@babel/helper-define-polyfill-provider": "^0.6.2",
+        "semver": "^6.3.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+          "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+          "dev": true
+        }
       }
     },
-    "abbrev": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
-      "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
-      "dev": true
-    },
-    "abort-controller": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
-      "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+    "babel-plugin-polyfill-corejs3": {
+      "version": "0.10.4",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz",
+      "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==",
       "dev": true,
       "requires": {
-        "event-target-shim": "^5.0.0"
+        "@babel/helper-define-polyfill-provider": "^0.6.1",
+        "core-js-compat": "^3.36.1"
       }
     },
-    "abstract-logging": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz",
-      "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==",
-      "dev": true
-    },
-    "accepts": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
-      "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+    "babel-plugin-polyfill-regenerator": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz",
+      "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==",
       "dev": true,
       "requires": {
-        "mime-types": "~2.1.34",
-        "negotiator": "0.6.3"
+        "@babel/helper-define-polyfill-provider": "^0.6.2"
       }
     },
-    "acorn": {
-      "version": "8.11.3",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-      "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg=="
-    },
-    "acorn-import-attributes": {
-      "version": "1.9.5",
-      "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
-      "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
-      "requires": {}
-    },
-    "acorn-jsx": {
-      "version": "5.3.2",
-      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
-      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
-      "dev": true,
-      "requires": {}
-    },
-    "add-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz",
-      "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==",
+    "babel-plugin-syntax-async-functions": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+      "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==",
       "dev": true
     },
-    "adm-zip": {
-      "version": "0.5.10",
-      "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz",
-      "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==",
+    "babel-plugin-syntax-async-generators": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
+      "integrity": "sha512-EbciFN5Jb9iqU9bqaLmmFLx2G8pAUsvpWJ6OzOWBNrSY9qTohXj+7YfZx6Ug1Qqh7tCb1EA7Jvn9bMC1HBiucg==",
       "dev": true
     },
-    "after-all-results": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/after-all-results/-/after-all-results-2.0.0.tgz",
-      "integrity": "sha512-2zHEyuhSJOuCrmas9YV0YL/MFCWLxe1dS6k/ENhgYrb/JqyMnadLN4iIAc9kkZrbElMDyyAGH/0J18OPErOWLg==",
+    "babel-plugin-syntax-class-constructor-call": {
+      "version": "6.18.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
+      "integrity": "sha512-EEuBcXz/wZ81Jaac0LnMHtD4Mfz9XWn2oH2Xj+CHwz2SZWUqqdtR2BgWPSdTGMmxN/5KLSh4PImt9+9ZedDarA==",
       "dev": true
     },
-    "agent-base": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
-      "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
-      "requires": {
-        "debug": "^4.3.4"
-      }
-    },
-    "agentkeepalive": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
-      "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
-      "dev": true,
-      "requires": {
-        "humanize-ms": "^1.2.1"
-      }
-    },
-    "aggregate-error": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
-      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
-      "dev": true,
-      "requires": {
-        "clean-stack": "^2.0.0",
-        "indent-string": "^4.0.0"
-      }
-    },
-    "ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "requires": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "ajv-errors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
-      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
-      "dev": true,
-      "requires": {}
+    "babel-plugin-syntax-class-properties": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
+      "integrity": "sha512-chI3Rt9T1AbrQD1s+vxw3KcwC9yHtF621/MacuItITfZX344uhQoANjpoSJZleAmW2tjlolqB/f+h7jIqXa7pA==",
+      "dev": true
     },
-    "ajv-formats": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
-      "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
-      "dev": true,
-      "requires": {
-        "ajv": "^8.0.0"
-      },
-      "dependencies": {
-        "ajv": {
-          "version": "8.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
-          "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "json-schema-traverse": "^1.0.0",
-            "require-from-string": "^2.0.2",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "json-schema-traverse": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
-          "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
-          "dev": true
-        }
-      }
+    "babel-plugin-syntax-decorators": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+      "integrity": "sha512-AWj19x2aDm8qFQ5O2JcD6pwJDW1YdcnO+1b81t7gxrGjz5VHiUqeYWAR4h7zueWMalRelrQDXprv2FrY1dbpbw==",
+      "dev": true
     },
-    "ajv-keywords": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true,
-      "requires": {}
+    "babel-plugin-syntax-do-expressions": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
+      "integrity": "sha512-HD/5qJB9oSXzl0caxM+aRD7ENICXqcc3Up/8toDQk7zNIDE7TzsqtxC5f4t9Rwhu2Ya8l9l4j6b3vOsy+a6qxg==",
+      "dev": true
     },
-    "amqplib": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.8.0.tgz",
-      "integrity": "sha512-icU+a4kkq4Y1PS4NNi+YPDMwdlbFcZ1EZTQT2nigW3fvOb6AOgUQ9+Mk4ue0Zu5cBg/XpDzB40oH10ysrk2dmA==",
-      "dev": true,
-      "requires": {
-        "bitsyntax": "~0.1.0",
-        "bluebird": "^3.7.2",
-        "buffer-more-ints": "~1.0.0",
-        "readable-stream": "1.x >=1.1.9",
-        "safe-buffer": "~5.2.1",
-        "url-parse": "~1.5.1"
-      }
+    "babel-plugin-syntax-dynamic-import": {
+      "version": "6.18.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+      "integrity": "sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==",
+      "dev": true
     },
-    "ansi-color": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-color/-/ansi-color-0.2.1.tgz",
-      "integrity": "sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ=="
+    "babel-plugin-syntax-exponentiation-operator": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+      "integrity": "sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==",
+      "dev": true
     },
-    "ansi-colors": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
-      "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
+    "babel-plugin-syntax-export-extensions": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
+      "integrity": "sha512-Eo0rcRaIDMld/W6mVhePiudIuLW+Cr/8eveW3mBREfZORScZgx4rh6BAPyvzdEc/JZvQ+LkC80t0VGFs6FX+lg==",
       "dev": true
     },
-    "ansi-diff-stream": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-diff-stream/-/ansi-diff-stream-1.2.1.tgz",
-      "integrity": "sha512-PaKs34INoKpTzcjyKd2GM/CCEeTyDgWKuHSgF0z7ywjpbBFj/pzQf/30v+TR6VBBLia6Mso+W2ygU22ljqbi6A==",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^2.0.0",
-        "buffer-from": "^1.0.0",
-        "through2": "^2.0.1"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
-        "through2": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
-          "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-          "dev": true,
-          "requires": {
-            "readable-stream": "~2.3.6",
-            "xtend": "~4.0.1"
-          }
-        }
-      }
+    "babel-plugin-syntax-function-bind": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
+      "integrity": "sha512-m8yMoh9LIiNyeLdQs5I9G+3YXo4nqVsKQkk7YplrG4qAFbNi9hkZlow8HDHxhH9QOVFPHmy8+03NzRCdyChIKw==",
+      "dev": true
     },
-    "ansi-escapes": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
-      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+    "babel-plugin-syntax-object-rest-spread": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+      "integrity": "sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==",
+      "dev": true
+    },
+    "babel-plugin-syntax-trailing-function-commas": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+      "integrity": "sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==",
+      "dev": true
+    },
+    "babel-plugin-transform-async-generator-functions": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
+      "integrity": "sha512-uT7eovUxtXe8Q2ufcjRuJIOL0hg6VAUJhiWJBLxH/evYAw+aqoJLcYTR8hqx13iOx/FfbCMHgBmXWZjukbkyPg==",
       "dev": true,
       "requires": {
-        "type-fest": "^0.21.3"
+        "babel-helper-remap-async-to-generator": "^6.24.1",
+        "babel-plugin-syntax-async-generators": "^6.5.0",
+        "babel-runtime": "^6.22.0"
       }
     },
-    "ansi-regex": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
-      "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
-      "dev": true
-    },
-    "ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+    "babel-plugin-transform-async-to-generator": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+      "integrity": "sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==",
       "dev": true,
       "requires": {
-        "color-convert": "^1.9.0"
+        "babel-helper-remap-async-to-generator": "^6.24.1",
+        "babel-plugin-syntax-async-functions": "^6.8.0",
+        "babel-runtime": "^6.22.0"
       }
     },
-    "any-promise": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
-      "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
-      "dev": true
+    "babel-plugin-transform-class-constructor-call": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz",
+      "integrity": "sha512-RvYukT1Nh7njz8P8326ztpQUGCKwmjgu6aRIx1lkvylWITYcskg29vy1Kp8WXIq7FvhXsz0Crf2kS94bjB690A==",
+      "dev": true,
+      "requires": {
+        "babel-plugin-syntax-class-constructor-call": "^6.18.0",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
+      }
     },
-    "anymatch": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
-      "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+    "babel-plugin-transform-class-properties": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
+      "integrity": "sha512-n4jtBA3OYBdvG5PRMKsMXJXHfLYw/ZOmtxCLOOwz6Ro5XlrColkStLnz1AS1L2yfPA9BKJ1ZNlmVCLjAL9DSIg==",
       "dev": true,
       "requires": {
-        "normalize-path": "^3.0.0",
-        "picomatch": "^2.0.4"
+        "babel-helper-function-name": "^6.24.1",
+        "babel-plugin-syntax-class-properties": "^6.8.0",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
       }
     },
-    "append-field": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
-      "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==",
-      "dev": true
+    "babel-plugin-transform-decorators": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
+      "integrity": "sha512-skQ2CImwDkCHu0mkWvCOlBCpBIHW4/49IZWVwV4A/EnWjL9bB6UBvLyMNe3Td5XDStSZNhe69j4bfEW8dvUbew==",
+      "dev": true,
+      "requires": {
+        "babel-helper-explode-class": "^6.24.1",
+        "babel-plugin-syntax-decorators": "^6.13.0",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-types": "^6.24.1"
+      }
     },
-    "append-transform": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
-      "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
+    "babel-plugin-transform-do-expressions": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz",
+      "integrity": "sha512-yQwYqYg+Tnj1InA8W1rsItsZVhkv1Euc4KVua9ledtPz5PDWYz7LVyy6rDBpVYUWFZj5k6GUm3YZpCbIm8Tqew==",
       "dev": true,
       "requires": {
-        "default-require-extensions": "^3.0.0"
+        "babel-plugin-syntax-do-expressions": "^6.8.0",
+        "babel-runtime": "^6.22.0"
       }
     },
-    "aproba": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
-      "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
-      "dev": true
+    "babel-plugin-transform-es2015-arrow-functions": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+      "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "archy": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
-      "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
-      "dev": true
+    "babel-plugin-transform-es2015-block-scoped-functions": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+      "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "are-we-there-yet": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
-      "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
+    "babel-plugin-transform-es2015-block-scoping": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+      "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==",
       "dev": true,
       "requires": {
-        "delegates": "^1.0.0",
-        "readable-stream": "^3.6.0"
+        "babel-runtime": "^6.26.0",
+        "babel-template": "^6.26.0",
+        "babel-traverse": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "lodash": "^4.17.4"
       }
     },
-    "argparse": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
-      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
-      "dev": true
+    "babel-plugin-transform-es2015-classes": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+      "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==",
+      "dev": true,
+      "requires": {
+        "babel-helper-define-map": "^6.24.1",
+        "babel-helper-function-name": "^6.24.1",
+        "babel-helper-optimise-call-expression": "^6.24.1",
+        "babel-helper-replace-supers": "^6.24.1",
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
+      }
     },
-    "arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
-      "dev": true
+    "babel-plugin-transform-es2015-computed-properties": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+      "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
+      }
     },
-    "arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true
+    "babel-plugin-transform-es2015-destructuring": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+      "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
-      "dev": true
+    "babel-plugin-transform-es2015-duplicate-keys": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+      "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
+      }
     },
-    "array-back": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
-      "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
-      "dev": true
+    "babel-plugin-transform-es2015-for-of": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+      "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "array-buffer-byte-length": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
-      "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
+    "babel-plugin-transform-es2015-function-name": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+      "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==",
       "dev": true,
       "requires": {
-        "call-bind": "^1.0.5",
-        "is-array-buffer": "^3.0.4"
+        "babel-helper-function-name": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "array-differ": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
-      "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
-      "dev": true
+    "babel-plugin-transform-es2015-literals": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+      "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "array-flatten": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
-      "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
-      "dev": true
+    "babel-plugin-transform-es2015-modules-amd": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+      "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==",
+      "dev": true,
+      "requires": {
+        "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
+      }
     },
-    "array-ify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
-      "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==",
-      "dev": true
+    "babel-plugin-transform-es2015-modules-commonjs": {
+      "version": "6.26.2",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
+      "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
+      "dev": true,
+      "requires": {
+        "babel-plugin-transform-strict-mode": "^6.24.1",
+        "babel-runtime": "^6.26.0",
+        "babel-template": "^6.26.0",
+        "babel-types": "^6.26.0"
+      }
     },
-    "array-includes": {
-      "version": "3.1.7",
-      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz",
-      "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==",
+    "babel-plugin-transform-es2015-modules-systemjs": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+      "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==",
       "dev": true,
       "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1",
-        "get-intrinsic": "^1.2.1",
-        "is-string": "^1.0.7"
+        "babel-helper-hoist-variables": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
       }
     },
-    "array-union": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
-      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
-      "dev": true
+    "babel-plugin-transform-es2015-modules-umd": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+      "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==",
+      "dev": true,
+      "requires": {
+        "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
+      }
     },
-    "array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
-      "dev": true
+    "babel-plugin-transform-es2015-object-super": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+      "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==",
+      "dev": true,
+      "requires": {
+        "babel-helper-replace-supers": "^6.24.1",
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "array.prototype.flat": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
-      "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
+    "babel-plugin-transform-es2015-parameters": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+      "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==",
       "dev": true,
       "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1",
-        "es-shim-unscopables": "^1.0.0"
+        "babel-helper-call-delegate": "^6.24.1",
+        "babel-helper-get-function-arity": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
       }
     },
-    "array.prototype.flatmap": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
-      "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
+    "babel-plugin-transform-es2015-shorthand-properties": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+      "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==",
       "dev": true,
       "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1",
-        "es-shim-unscopables": "^1.0.0"
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "array.prototype.reduce": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz",
-      "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==",
+    "babel-plugin-transform-es2015-spread": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+      "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==",
       "dev": true,
       "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.2.0",
-        "es-abstract": "^1.22.1",
-        "es-array-method-boxes-properly": "^1.0.0",
-        "is-string": "^1.0.7"
+        "babel-runtime": "^6.22.0"
       }
     },
-    "arraybuffer.prototype.slice": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
-      "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
+    "babel-plugin-transform-es2015-sticky-regex": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+      "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==",
       "dev": true,
       "requires": {
-        "array-buffer-byte-length": "^1.0.1",
-        "call-bind": "^1.0.5",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.22.3",
-        "es-errors": "^1.2.1",
-        "get-intrinsic": "^1.2.3",
-        "is-array-buffer": "^3.0.4",
-        "is-shared-array-buffer": "^1.0.2"
+        "babel-helper-regex": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
       }
     },
-    "arrify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
-      "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
-      "dev": true
+    "babel-plugin-transform-es2015-template-literals": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+      "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
     },
-    "asn1": {
-      "version": "0.2.6",
-      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
-      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+    "babel-plugin-transform-es2015-typeof-symbol": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+      "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==",
       "dev": true,
       "requires": {
-        "safer-buffer": "~2.1.0"
+        "babel-runtime": "^6.22.0"
       }
     },
-    "asn1.js": {
-      "version": "5.4.1",
-      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
-      "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
+    "babel-plugin-transform-es2015-unicode-regex": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+      "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==",
       "dev": true,
       "requires": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "safer-buffer": "^2.1.0"
+        "babel-helper-regex": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "regexpu-core": "^2.0.0"
       },
       "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
+        "jsesc": {
+          "version": "0.5.0",
+          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+          "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
           "dev": true
+        },
+        "regexpu-core": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
+          "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==",
+          "dev": true,
+          "requires": {
+            "regenerate": "^1.2.1",
+            "regjsgen": "^0.2.0",
+            "regjsparser": "^0.1.4"
+          }
+        },
+        "regjsparser": {
+          "version": "0.1.5",
+          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+          "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==",
+          "dev": true,
+          "requires": {
+            "jsesc": "~0.5.0"
+          }
         }
       }
     },
-    "assert": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
-      "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
+    "babel-plugin-transform-exponentiation-operator": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
+      "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==",
       "dev": true,
       "requires": {
-        "es6-object-assign": "^1.1.0",
-        "is-nan": "^1.2.1",
-        "object-is": "^1.0.1",
-        "util": "^0.12.0"
+        "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
+        "babel-plugin-syntax-exponentiation-operator": "^6.8.0",
+        "babel-runtime": "^6.22.0"
       }
     },
-    "assert-plus": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
-      "dev": true
-    },
-    "assertion-error": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
-      "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
-      "dev": true
-    },
-    "assertion-error-formatter": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz",
-      "integrity": "sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ==",
+    "babel-plugin-transform-export-extensions": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz",
+      "integrity": "sha512-mtzELzINaYqdVglyZrDDVwkcFRuE7s6QUFWXxwffKAHB/NkfbJ2NJSytugB43ytIC8UVt30Ereyx+7gNyTkDLg==",
       "dev": true,
       "requires": {
-        "diff": "^4.0.1",
-        "pad-right": "^0.2.2",
-        "repeat-string": "^1.6.1"
+        "babel-plugin-syntax-export-extensions": "^6.8.0",
+        "babel-runtime": "^6.22.0"
       }
     },
-    "assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
-      "dev": true
-    },
-    "ast-types": {
-      "version": "0.13.4",
-      "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
-      "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
+    "babel-plugin-transform-function-bind": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz",
+      "integrity": "sha512-9Ec4KYf1GurT39mlUjDSlN7HWSlB3u3mWRMogQbb+Y88lO0ZM3rJ0ADhPnQwWK9TbO6e/4E+Et1rrfGY9mFimA==",
       "dev": true,
       "requires": {
-        "tslib": "^2.0.1"
+        "babel-plugin-syntax-function-bind": "^6.8.0",
+        "babel-runtime": "^6.22.0"
       }
     },
-    "astral-regex": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
-      "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
-      "dev": true
-    },
-    "async": {
-      "version": "3.2.5",
-      "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
-      "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
-      "dev": true
-    },
-    "async-each": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz",
-      "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==",
+    "babel-plugin-transform-object-rest-spread": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
+      "integrity": "sha512-ocgA9VJvyxwt+qJB0ncxV8kb/CjfTcECUY4tQ5VT7nP6Aohzobm8CDFaQ5FHdvZQzLmf0sgDxB8iRXZXxwZcyA==",
       "dev": true,
-      "optional": true
+      "requires": {
+        "babel-plugin-syntax-object-rest-spread": "^6.8.0",
+        "babel-runtime": "^6.26.0"
+      }
     },
-    "async-mutex": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.0.tgz",
-      "integrity": "sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA==",
+    "babel-plugin-transform-regenerator": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
+      "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==",
       "dev": true,
       "requires": {
-        "tslib": "^2.4.0"
+        "regenerator-transform": "^0.10.0"
+      },
+      "dependencies": {
+        "regenerator-transform": {
+          "version": "0.10.1",
+          "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
+          "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
+          "dev": true,
+          "requires": {
+            "babel-runtime": "^6.18.0",
+            "babel-types": "^6.19.0",
+            "private": "^0.1.6"
+          }
+        }
       }
     },
-    "asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
-      "dev": true
+    "babel-plugin-transform-strict-mode": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
+      "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
+      }
     },
-    "at-least-node": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
-      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
-      "dev": true
+    "babel-preset-es2015": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz",
+      "integrity": "sha512-XfwUqG1Ry6R43m4Wfob+vHbIVBIqTg/TJY4Snku1iIzeH7mUnwHA8Vagmv+ZQbPwhS8HgsdQvy28Py3k5zpoFQ==",
+      "dev": true,
+      "requires": {
+        "babel-plugin-check-es2015-constants": "^6.22.0",
+        "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
+        "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
+        "babel-plugin-transform-es2015-block-scoping": "^6.24.1",
+        "babel-plugin-transform-es2015-classes": "^6.24.1",
+        "babel-plugin-transform-es2015-computed-properties": "^6.24.1",
+        "babel-plugin-transform-es2015-destructuring": "^6.22.0",
+        "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1",
+        "babel-plugin-transform-es2015-for-of": "^6.22.0",
+        "babel-plugin-transform-es2015-function-name": "^6.24.1",
+        "babel-plugin-transform-es2015-literals": "^6.22.0",
+        "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
+        "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
+        "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1",
+        "babel-plugin-transform-es2015-modules-umd": "^6.24.1",
+        "babel-plugin-transform-es2015-object-super": "^6.24.1",
+        "babel-plugin-transform-es2015-parameters": "^6.24.1",
+        "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1",
+        "babel-plugin-transform-es2015-spread": "^6.22.0",
+        "babel-plugin-transform-es2015-sticky-regex": "^6.24.1",
+        "babel-plugin-transform-es2015-template-literals": "^6.22.0",
+        "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0",
+        "babel-plugin-transform-es2015-unicode-regex": "^6.24.1",
+        "babel-plugin-transform-regenerator": "^6.24.1"
+      }
     },
-    "atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true
+    "babel-preset-stage-0": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz",
+      "integrity": "sha512-MJD+xBbpsApbKlzAX0sOBF+VeFaUmv5s8FSOO7SSZpes1QgphCjq/UIGRFWSmQ/0i5bqQjLGCTXGGXqcLQ9JDA==",
+      "dev": true,
+      "requires": {
+        "babel-plugin-transform-do-expressions": "^6.22.0",
+        "babel-plugin-transform-function-bind": "^6.22.0",
+        "babel-preset-stage-1": "^6.24.1"
+      }
     },
-    "atomic-sleep": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz",
-      "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==",
-      "dev": true
+    "babel-preset-stage-1": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz",
+      "integrity": "sha512-rn+UOcd7BHDniq1SVxv2/AVVSVI1NK+hfS0I/iR6m6KbOi/aeBRcqBilqO73pd9VUpRXF2HFtlDuC9F2BEQqmg==",
+      "dev": true,
+      "requires": {
+        "babel-plugin-transform-class-constructor-call": "^6.24.1",
+        "babel-plugin-transform-export-extensions": "^6.22.0",
+        "babel-preset-stage-2": "^6.24.1"
+      }
     },
-    "available-typed-arrays": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
-      "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+    "babel-preset-stage-2": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz",
+      "integrity": "sha512-9F+nquz+37PrlTSBdpeQBKnQfAMNBnryXw+m4qBh35FNbJPfzZz+sjN2G5Uf1CRedU9PH7fJkTbYijxmkLX8Og==",
       "dev": true,
       "requires": {
-        "possible-typed-array-names": "^1.0.0"
+        "babel-plugin-syntax-dynamic-import": "^6.18.0",
+        "babel-plugin-transform-class-properties": "^6.24.1",
+        "babel-plugin-transform-decorators": "^6.24.1",
+        "babel-preset-stage-3": "^6.24.1"
       }
     },
-    "avvio": {
-      "version": "8.3.0",
-      "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz",
-      "integrity": "sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==",
+    "babel-preset-stage-3": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz",
+      "integrity": "sha512-eCbEOF8uN0KypFXJmZXn2sTk7bPV9uM5xov7G/7BM08TbQEObsVs0cEWfy6NQySlfk7JBi/t+XJP1JkruYfthA==",
       "dev": true,
       "requires": {
-        "@fastify/error": "^3.3.0",
-        "archy": "^1.0.0",
-        "debug": "^4.0.0",
-        "fastq": "^1.17.1"
+        "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
+        "babel-plugin-transform-async-generator-functions": "^6.24.1",
+        "babel-plugin-transform-async-to-generator": "^6.24.1",
+        "babel-plugin-transform-exponentiation-operator": "^6.24.1",
+        "babel-plugin-transform-object-rest-spread": "^6.22.0"
       }
     },
-    "aws-sdk": {
-      "version": "2.1008.0",
-      "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1008.0.tgz",
-      "integrity": "sha512-wBEon+ARCuMcwEPpOFZqRT3elBLfLtPqv8jMql3Hsr7Ua5toPlgKMmjf368iTzBNaY7TOZsjLAT9nAhvtSZ++g==",
+    "babel-register": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+      "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==",
       "dev": true,
       "requires": {
-        "buffer": "4.9.2",
-        "events": "1.1.1",
-        "ieee754": "1.1.13",
-        "jmespath": "0.15.0",
-        "querystring": "0.2.0",
-        "sax": "1.2.1",
-        "url": "0.10.3",
-        "uuid": "3.3.2",
-        "xml2js": "0.4.19"
+        "babel-core": "^6.26.0",
+        "babel-runtime": "^6.26.0",
+        "core-js": "^2.5.0",
+        "home-or-tmp": "^2.0.0",
+        "lodash": "^4.17.4",
+        "mkdirp": "^0.5.1",
+        "source-map-support": "^0.4.15"
       },
       "dependencies": {
-        "uuid": {
-          "version": "3.3.2",
-          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
-          "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
+        "mkdirp": {
+          "version": "0.5.6",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+          "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.6"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
           "dev": true
+        },
+        "source-map-support": {
+          "version": "0.4.18",
+          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+          "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+          "dev": true,
+          "requires": {
+            "source-map": "^0.5.6"
+          }
         }
       }
     },
-    "axios": {
-      "version": "1.6.7",
-      "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz",
-      "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
+    "babel-runtime": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+      "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
       "dev": true,
       "requires": {
-        "follow-redirects": "^1.15.4",
-        "form-data": "^4.0.0",
-        "proxy-from-env": "^1.1.0"
+        "core-js": "^2.4.0",
+        "regenerator-runtime": "^0.11.0"
       }
     },
-    "b4a": {
-      "version": "1.6.6",
-      "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz",
-      "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==",
-      "dev": true
+    "babel-template": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+      "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.26.0",
+        "babel-traverse": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "babylon": "^6.18.0",
+        "lodash": "^4.17.4"
+      }
     },
-    "babel-loader": {
-      "version": "8.2.2",
-      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz",
-      "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==",
+    "babel-traverse": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+      "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==",
       "dev": true,
       "requires": {
-        "find-cache-dir": "^3.3.1",
-        "loader-utils": "^1.4.0",
-        "make-dir": "^3.1.0",
-        "schema-utils": "^2.6.5"
+        "babel-code-frame": "^6.26.0",
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "babylon": "^6.18.0",
+        "debug": "^2.6.8",
+        "globals": "^9.18.0",
+        "invariant": "^2.2.2",
+        "lodash": "^4.17.4"
       },
       "dependencies": {
-        "json5": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
-          "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
           "dev": true,
           "requires": {
-            "minimist": "^1.2.0"
+            "ms": "2.0.0"
           }
         },
-        "loader-utils": {
-          "version": "1.4.2",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
-          "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
+        "globals": {
+          "version": "9.18.0",
+          "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+          "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+          "dev": true
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+          "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+          "dev": true
+        }
+      }
+    },
+    "babel-types": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+      "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.26.0",
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.4",
+        "to-fast-properties": "^1.0.3"
+      },
+      "dependencies": {
+        "to-fast-properties": {
+          "version": "1.0.3",
+          "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+          "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==",
+          "dev": true
         }
       }
     },
+    "babylon": {
+      "version": "6.18.0",
+      "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+      "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+      "dev": true
+    },
     "balanced-match": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -51817,42 +59805,6 @@
         "bare-os": "^2.1.0"
       }
     },
-    "base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
-      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
-      "requires": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-          "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.1",
-            "is-data-descriptor": "^1.0.1"
-          }
-        }
-      }
-    },
     "base64-js": {
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@@ -51945,16 +59897,6 @@
       "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
       "dev": true
     },
-    "bindings": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
-      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "file-uri-to-path": "1.0.0"
-      }
-    },
     "bitsyntax": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz",
@@ -52018,12 +59960,6 @@
       "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
       "dev": true
     },
-    "bn.js": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
-      "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
-      "dev": true
-    },
     "body-parser": {
       "version": "1.20.2",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
@@ -52086,91 +60022,12 @@
         "fill-range": "^7.0.1"
       }
     },
-    "brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==",
-      "dev": true
-    },
     "browser-stdout": {
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
       "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
       "dev": true
     },
-    "browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
-      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
-      "requires": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
-      "requires": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
-      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "browserify-rsa": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
-      "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^5.0.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "browserify-sign": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz",
-      "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^5.2.1",
-        "browserify-rsa": "^4.1.0",
-        "create-hash": "^1.2.0",
-        "create-hmac": "^1.1.7",
-        "elliptic": "^6.5.4",
-        "inherits": "^2.0.4",
-        "parse-asn1": "^5.1.6",
-        "readable-stream": "^3.6.2",
-        "safe-buffer": "^5.2.1"
-      }
-    },
-    "browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
-      "requires": {
-        "pako": "~1.0.5"
-      }
-    },
     "browserslist": {
       "version": "4.23.0",
       "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
@@ -52245,12 +60102,6 @@
       "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==",
       "dev": true
     },
-    "buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==",
-      "dev": true
-    },
     "bufrw": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/bufrw/-/bufrw-1.4.0.tgz",
@@ -52268,12 +60119,6 @@
       "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
       "dev": true
     },
-    "builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==",
-      "dev": true
-    },
     "builtins": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
@@ -52353,23 +60198,6 @@
         }
       }
     },
-    "cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
-      "requires": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      }
-    },
     "cache-content-type": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz",
@@ -52666,16 +60494,6 @@
       "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
       "dev": true
     },
-    "cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
     "cjs-module-lexer": {
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz",
@@ -52687,18 +60505,6 @@
       "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==",
       "dev": true
     },
-    "class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
-      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      }
-    },
     "clean-stack": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
@@ -52908,16 +60714,6 @@
         "type-is": "^1.6.16"
       }
     },
-    "collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
-      "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==",
-      "dev": true,
-      "requires": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      }
-    },
     "color": {
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
@@ -52960,9 +60756,9 @@
       "dev": true
     },
     "colorette": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
-      "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==",
+      "version": "2.0.20",
+      "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+      "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
       "dev": true
     },
     "colors": {
@@ -53077,12 +60873,6 @@
         }
       }
     },
-    "component-emitter": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
-      "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
-      "dev": true
-    },
     "concat-map": {
       "version": "0.0.1",
       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -53166,24 +60956,12 @@
       "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
       "dev": true
     },
-    "console-browserify": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
-      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
-      "dev": true
-    },
     "console-control-strings": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
       "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
       "dev": true
     },
-    "constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==",
-      "dev": true
-    },
     "content-disposition": {
       "version": "0.5.4",
       "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
@@ -53368,75 +61146,21 @@
         "keygrip": "~1.1.0"
       }
     },
-    "copy-concurrently": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
-      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+    "core-js": {
+      "version": "2.6.12",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
+      "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
+      "dev": true
+    },
+    "core-js-compat": {
+      "version": "3.37.1",
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
+      "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
       "dev": true,
       "requires": {
-        "aproba": "^1.1.1",
-        "fs-write-stream-atomic": "^1.0.8",
-        "iferr": "^0.1.5",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.0"
-      },
-      "dependencies": {
-        "aproba": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-          "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-          "dev": true
-        },
-        "glob": {
-          "version": "7.2.3",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-          "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.1.1",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "minimatch": {
-          "version": "3.1.2",
-          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-          "dev": true,
-          "requires": {
-            "brace-expansion": "^1.1.7"
-          }
-        },
-        "mkdirp": {
-          "version": "0.5.6",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-          "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.6"
-          }
-        },
-        "rimraf": {
-          "version": "2.7.1",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        }
+        "browserslist": "^4.23.0"
       }
     },
-    "copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==",
-      "dev": true
-    },
     "core-util-is": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
@@ -53473,51 +61197,6 @@
         }
       }
     },
-    "create-ecdh": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
-      "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.5.3"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "create-hash": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
-      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "create-hmac": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
-      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
     "cross-env": {
       "version": "7.0.3",
       "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
@@ -53547,23 +61226,70 @@
         "which": "^2.0.1"
       }
     },
-    "crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+    "cross-var": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/cross-var/-/cross-var-1.1.0.tgz",
+      "integrity": "sha512-wIcFax9RNm5ayuORUeJ5MLxPbfh8XdZhhUpKutIszU46Fs9UIhEdPJ7+YguM+7FxEj+68hSQVyathVsIu84SiA==",
       "dev": true,
       "requires": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
+        "babel-preset-es2015": "^6.18.0",
+        "babel-preset-stage-0": "^6.16.0",
+        "babel-register": "^6.18.0",
+        "cross-spawn": "^5.0.1",
+        "exit": "^0.1.2"
+      },
+      "dependencies": {
+        "cross-spawn": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+          "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==",
+          "dev": true,
+          "requires": {
+            "lru-cache": "^4.0.1",
+            "shebang-command": "^1.2.0",
+            "which": "^1.2.9"
+          }
+        },
+        "lru-cache": {
+          "version": "4.1.5",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+          "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+          "dev": true,
+          "requires": {
+            "pseudomap": "^1.0.2",
+            "yallist": "^2.1.2"
+          }
+        },
+        "shebang-command": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+          "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
+          "dev": true,
+          "requires": {
+            "shebang-regex": "^1.0.0"
+          }
+        },
+        "shebang-regex": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+          "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
+          "dev": true
+        },
+        "which": {
+          "version": "1.3.1",
+          "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+          "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+          "dev": true,
+          "requires": {
+            "isexe": "^2.0.0"
+          }
+        },
+        "yallist": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+          "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
+          "dev": true
+        }
       }
     },
     "crypto-random-string": {
@@ -53626,12 +61352,6 @@
       "integrity": "sha512-TVF6svNzeQCOpjCqsy0/CSy8VgObG3wXusJ73xW2GbG5rGx7lC8zxDSURicsXI2UsGdi2L0QNRCi745/wUDvsA==",
       "dev": true
     },
-    "cyclist": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz",
-      "integrity": "sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==",
-      "dev": true
-    },
     "dargs": {
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz",
@@ -53742,12 +61462,6 @@
         }
       }
     },
-    "decode-uri-component": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
-      "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
-      "dev": true
-    },
     "dedent": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
@@ -53827,15 +61541,6 @@
         "object-keys": "^1.1.1"
       }
     },
-    "define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
-      "dev": true,
-      "requires": {
-        "is-descriptor": "^0.1.0"
-      }
-    },
     "degenerator": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
@@ -53933,16 +61638,6 @@
       "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
       "dev": true
     },
-    "des.js": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz",
-      "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
     "destroy": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
@@ -53991,25 +61686,6 @@
       "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
       "dev": true
     },
-    "diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
     "dir-glob": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -54040,12 +61716,6 @@
         "void-elements": "^2.0.0"
       }
     },
-    "domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true
-    },
     "dot-prop": {
       "version": "6.0.1",
       "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
@@ -54077,50 +61747,6 @@
       "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
       "dev": true
     },
-    "duplexify": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
-      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
     "eastasianwidth": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -54175,29 +61801,6 @@
       "integrity": "sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==",
       "dev": true
     },
-    "elliptic": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
-      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.11.9",
-        "brorand": "^1.1.0",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.1",
-        "inherits": "^2.0.4",
-        "minimalistic-assert": "^1.0.1",
-        "minimalistic-crypto-utils": "^1.0.1"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
     "emoji-regex": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -54295,17 +61898,6 @@
       "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==",
       "dev": true
     },
-    "enhanced-resolve": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
-      "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.5.0",
-        "tapable": "^1.0.0"
-      }
-    },
     "enquirer": {
       "version": "2.3.6",
       "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
@@ -54353,15 +61945,6 @@
       "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
       "dev": true
     },
-    "errno": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
-      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
-      "dev": true,
-      "requires": {
-        "prr": "~1.0.1"
-      }
-    },
     "error": {
       "version": "7.0.2",
       "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
@@ -55100,16 +62683,6 @@
       "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==",
       "dev": true
     },
-    "evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
-      "requires": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
     "ewma": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/ewma/-/ewma-2.0.1.tgz",
@@ -55136,37 +62709,11 @@
         "strip-final-newline": "^2.0.0"
       }
     },
-    "expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
-      "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==",
-      "dev": true,
-      "requires": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
-          "dev": true
-        }
-      }
+    "exit": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+      "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
+      "dev": true
     },
     "expect": {
       "version": "29.2.0",
@@ -55275,15 +62822,6 @@
       "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
       "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
     },
-    "extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
-      "dev": true,
-      "requires": {
-        "is-extendable": "^0.1.0"
-      }
-    },
     "external-editor": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
@@ -55306,43 +62844,6 @@
         }
       }
     },
-    "extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
-      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
-      "requires": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-          "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.1",
-            "is-data-descriptor": "^1.0.1"
-          }
-        }
-      }
-    },
     "extract-zip": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
@@ -55651,12 +63152,6 @@
       "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
       "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="
     },
-    "figgy-pudding": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
-      "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
-      "dev": true
-    },
     "figures": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
@@ -55675,13 +63170,6 @@
         "flat-cache": "^3.0.4"
       }
     },
-    "file-uri-to-path": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
-      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
-      "dev": true,
-      "optional": true
-    },
     "file-url": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/file-url/-/file-url-3.0.0.tgz",
@@ -55871,48 +63359,6 @@
       "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
       "dev": true
     },
-    "flush-write-stream": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
-      "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.3.6"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
     "fn.name": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
@@ -55934,12 +63380,6 @@
         "is-callable": "^1.1.3"
       }
     },
-    "for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
-      "dev": true
-    },
     "foreground-child": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
@@ -55973,63 +63413,12 @@
       "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
       "dev": true
     },
-    "fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
-      "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==",
-      "dev": true,
-      "requires": {
-        "map-cache": "^0.2.2"
-      }
-    },
     "fresh": {
       "version": "0.5.2",
       "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
       "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
       "dev": true
     },
-    "from2": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
-      "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
     "fromentries": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
@@ -56063,18 +63452,6 @@
         "minipass": "^7.0.3"
       }
     },
-    "fs-write-stream-atomic": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
-      "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "iferr": "^0.1.5",
-        "imurmurhash": "^0.1.4",
-        "readable-stream": "1 || 2"
-      }
-    },
     "fs.realpath": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -56365,12 +63742,6 @@
         }
       }
     },
-    "get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
-      "dev": true
-    },
     "getopts": {
       "version": "2.2.5",
       "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.5.tgz",
@@ -56511,6 +63882,12 @@
         "is-glob": "^4.0.3"
       }
     },
+    "glob-to-regexp": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+      "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+      "dev": true
+    },
     "global-dirs": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz",
@@ -56664,79 +64041,6 @@
       "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
       "dev": true
     },
-    "has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
-      "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==",
-      "dev": true,
-      "requires": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      }
-    },
-    "has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
-      "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==",
-      "dev": true,
-      "requires": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "dependencies": {
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "kind-of": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
-          "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "hash-base": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
-      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      }
-    },
-    "hash.js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
-      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
     "hasha": {
       "version": "5.2.2",
       "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
@@ -56803,15 +64107,14 @@
       "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
       "dev": true
     },
-    "hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
+    "home-or-tmp": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+      "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==",
       "dev": true,
       "requires": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
+        "os-homedir": "^1.0.0",
+        "os-tmpdir": "^1.0.1"
       }
     },
     "hosted-git-info": {
@@ -56987,12 +64290,6 @@
         "sshpk": "^1.18.0"
       }
     },
-    "https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
-      "dev": true
-    },
     "https-proxy-agent": {
       "version": "7.0.4",
       "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
@@ -57032,12 +64329,6 @@
       "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
       "dev": true
     },
-    "iferr": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==",
-      "dev": true
-    },
     "ignore": {
       "version": "5.3.1",
       "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
@@ -57284,6 +64575,15 @@
       "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
       "dev": true
     },
+    "invariant": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+      "dev": true,
+      "requires": {
+        "loose-envify": "^1.0.0"
+      }
+    },
     "ioredis": {
       "version": "5.2.2",
       "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.2.2.tgz",
@@ -57323,15 +64623,6 @@
       "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
       "dev": true
     },
-    "is-accessor-descriptor": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz",
-      "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==",
-      "dev": true,
-      "requires": {
-        "hasown": "^2.0.0"
-      }
-    },
     "is-arguments": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
@@ -57386,12 +64677,6 @@
         "has-tostringtag": "^1.0.0"
       }
     },
-    "is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
     "is-builtin-module": {
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
@@ -57432,15 +64717,6 @@
         "hasown": "^2.0.0"
       }
     },
-    "is-data-descriptor": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz",
-      "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==",
-      "dev": true,
-      "requires": {
-        "hasown": "^2.0.0"
-      }
-    },
     "is-data-view": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
@@ -57459,34 +64735,24 @@
         "has-tostringtag": "^1.0.0"
       }
     },
-    "is-descriptor": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
-      "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
-      "dev": true,
-      "requires": {
-        "is-accessor-descriptor": "^1.0.1",
-        "is-data-descriptor": "^1.0.1"
-      }
-    },
     "is-docker": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
       "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
       "dev": true
     },
-    "is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
-      "dev": true
-    },
     "is-extglob": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
       "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
       "dev": true
     },
+    "is-finite": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
+      "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
+      "dev": true
+    },
     "is-fullwidth-code-point": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@@ -57875,81 +65141,6 @@
         }
       }
     },
-    "istanbul-lib-source-maps": {
-      "version": "3.0.6",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
-      "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^2.0.5",
-        "make-dir": "^2.1.0",
-        "rimraf": "^2.6.3",
-        "source-map": "^0.6.1"
-      },
-      "dependencies": {
-        "glob": {
-          "version": "7.2.3",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-          "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.1.1",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "istanbul-lib-coverage": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
-          "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
-          "dev": true
-        },
-        "make-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-          "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-          "dev": true,
-          "requires": {
-            "pify": "^4.0.1",
-            "semver": "^5.6.0"
-          }
-        },
-        "minimatch": {
-          "version": "3.1.2",
-          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-          "dev": true,
-          "requires": {
-            "brace-expansion": "^1.1.7"
-          }
-        },
-        "pify": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-          "dev": true
-        },
-        "rimraf": {
-          "version": "2.7.1",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
-        "semver": {
-          "version": "5.7.2",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
-          "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
-          "dev": true
-        }
-      }
-    },
     "istanbul-reports": {
       "version": "3.1.7",
       "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
@@ -58253,69 +65444,80 @@
         }
       }
     },
-    "jest-regex-util": {
+    "jest-regex-util": {
+      "version": "27.5.1",
+      "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz",
+      "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==",
+      "dev": true
+    },
+    "jest-util": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
+      "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+      "dev": true,
+      "requires": {
+        "@jest/types": "^29.6.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
+      }
+    },
+    "jest-worker": {
       "version": "27.5.1",
-      "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz",
-      "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==",
-      "dev": true
-    },
-    "jest-util": {
-      "version": "29.7.0",
-      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
-      "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+      "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
       "dev": true,
       "requires": {
-        "@jest/types": "^29.6.3",
         "@types/node": "*",
-        "chalk": "^4.0.0",
-        "ci-info": "^3.2.0",
-        "graceful-fs": "^4.2.9",
-        "picomatch": "^2.2.3"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
+        "merge-stream": "^2.0.0",
+        "supports-color": "^8.0.0"
       }
     },
     "jmespath": {
@@ -58603,15 +65805,15 @@
       "dev": true
     },
     "karma": {
-      "version": "6.3.16",
-      "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.16.tgz",
-      "integrity": "sha512-nEU50jLvDe5yvXqkEJRf8IuvddUkOY2x5Xc4WXHz6dxINgGDrgD2uqQWeVrJs4hbfNaotn+HQ1LZJ4yOXrL7xQ==",
+      "version": "6.4.3",
+      "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.3.tgz",
+      "integrity": "sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q==",
       "dev": true,
       "requires": {
+        "@colors/colors": "1.5.0",
         "body-parser": "^1.19.0",
         "braces": "^3.0.2",
         "chokidar": "^3.5.1",
-        "colors": "1.4.0",
         "connect": "^3.7.0",
         "di": "^0.0.1",
         "dom-serialize": "^2.2.1",
@@ -58627,7 +65829,7 @@
         "qjobs": "^1.2.0",
         "range-parser": "^1.2.1",
         "rimraf": "^3.0.2",
-        "socket.io": "^4.2.0",
+        "socket.io": "^4.7.2",
         "source-map": "^0.6.1",
         "tmp": "^0.2.1",
         "ua-parser-js": "^0.7.30",
@@ -58693,9 +65895,9 @@
       }
     },
     "karma-chrome-launcher": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz",
-      "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz",
+      "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==",
       "dev": true,
       "requires": {
         "which": "^1.2.1"
@@ -58712,19 +65914,44 @@
         }
       }
     },
-    "karma-coverage-istanbul-reporter": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz",
-      "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==",
+    "karma-coverage": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz",
+      "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==",
       "dev": true,
       "requires": {
-        "istanbul-lib-coverage": "^3.0.0",
+        "istanbul-lib-coverage": "^3.2.0",
+        "istanbul-lib-instrument": "^5.1.0",
         "istanbul-lib-report": "^3.0.0",
-        "istanbul-lib-source-maps": "^3.0.6",
-        "istanbul-reports": "^3.0.2",
+        "istanbul-lib-source-maps": "^4.0.1",
+        "istanbul-reports": "^3.0.5",
         "minimatch": "^3.0.4"
       },
       "dependencies": {
+        "istanbul-lib-instrument": {
+          "version": "5.2.1",
+          "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+          "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+          "dev": true,
+          "requires": {
+            "@babel/core": "^7.12.3",
+            "@babel/parser": "^7.14.7",
+            "@istanbuljs/schema": "^0.1.2",
+            "istanbul-lib-coverage": "^3.2.0",
+            "semver": "^6.3.0"
+          }
+        },
+        "istanbul-lib-source-maps": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+          "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
+          "dev": true,
+          "requires": {
+            "debug": "^4.1.1",
+            "istanbul-lib-coverage": "^3.0.0",
+            "source-map": "^0.6.1"
+          }
+        },
         "minimatch": {
           "version": "3.1.2",
           "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -58733,6 +65960,12 @@
           "requires": {
             "brace-expansion": "^1.1.7"
           }
+        },
+        "semver": {
+          "version": "6.3.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+          "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+          "dev": true
         }
       }
     },
@@ -58762,55 +65995,49 @@
       }
     },
     "karma-webpack": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz",
-      "integrity": "sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A==",
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-5.0.1.tgz",
+      "integrity": "sha512-oo38O+P3W2mSPCSUrQdySSPv1LvPpXP+f+bBimNomS5sW+1V4SuhCuW8TfJzV+rDv921w2fDSDw0xJbPe6U+kQ==",
       "dev": true,
       "requires": {
-        "clone-deep": "^4.0.1",
-        "loader-utils": "^1.1.0",
-        "neo-async": "^2.6.1",
-        "schema-utils": "^1.0.0",
-        "source-map": "^0.7.3",
-        "webpack-dev-middleware": "^3.7.0"
+        "glob": "^7.1.3",
+        "minimatch": "^9.0.3",
+        "webpack-merge": "^4.1.5"
       },
       "dependencies": {
-        "json5": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
-          "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.2",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
-          "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
+        "glob": {
+          "version": "7.2.3",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+          "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
           "dev": true,
           "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.1.1",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          },
+          "dependencies": {
+            "minimatch": {
+              "version": "3.1.2",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+              "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+              "dev": true,
+              "requires": {
+                "brace-expansion": "^1.1.7"
+              }
+            }
           }
         },
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+        "webpack-merge": {
+          "version": "4.2.2",
+          "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz",
+          "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==",
           "dev": true,
           "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
+            "lodash": "^4.17.15"
           }
-        },
-        "source-map": {
-          "version": "0.7.4",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
-          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
-          "dev": true
         }
       }
     },
@@ -59878,9 +67105,9 @@
       }
     },
     "loader-runner": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
-      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
+      "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
       "dev": true
     },
     "loader-utils": {
@@ -59926,6 +67153,12 @@
       "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==",
       "dev": true
     },
+    "lodash.debounce": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+      "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
+      "dev": true
+    },
     "lodash.defaults": {
       "version": "4.2.0",
       "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
@@ -60359,27 +67592,12 @@
         }
       }
     },
-    "map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
-      "dev": true
-    },
     "map-obj": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
       "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
       "dev": true
     },
-    "map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
-      "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==",
-      "dev": true,
-      "requires": {
-        "object-visit": "^1.0.0"
-      }
-    },
     "markdown-it": {
       "version": "14.1.0",
       "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
@@ -60479,17 +67697,6 @@
       "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==",
       "dev": true
     },
-    "md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
-      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
     "mdurl": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
@@ -60512,48 +67719,6 @@
         "jackpot": ">=0.0.6"
       }
     },
-    "memory-fs": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
-      "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
-      "dev": true,
-      "requires": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
     "memory-pager": {
       "version": "1.5.0",
       "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
@@ -60766,24 +67931,6 @@
         "picomatch": "^2.3.1"
       }
     },
-    "miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
     "mime": {
       "version": "2.6.0",
       "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -60823,12 +67970,6 @@
       "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
       "dev": true
     },
-    "minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==",
-      "dev": true
-    },
     "minimatch": {
       "version": "9.0.4",
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
@@ -61058,105 +68199,12 @@
         }
       }
     },
-    "mississippi": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
-      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
-      "dev": true,
-      "requires": {
-        "concat-stream": "^1.5.0",
-        "duplexify": "^3.4.2",
-        "end-of-stream": "^1.1.0",
-        "flush-write-stream": "^1.0.0",
-        "from2": "^2.1.0",
-        "parallel-transform": "^1.1.0",
-        "pump": "^3.0.0",
-        "pumpify": "^1.3.3",
-        "stream-each": "^1.1.0",
-        "through2": "^2.0.0"
-      },
-      "dependencies": {
-        "concat-stream": {
-          "version": "1.6.2",
-          "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-          "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-          "dev": true,
-          "requires": {
-            "buffer-from": "^1.0.0",
-            "inherits": "^2.0.3",
-            "readable-stream": "^2.2.2",
-            "typedarray": "^0.0.6"
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
-        "through2": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
-          "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-          "dev": true,
-          "requires": {
-            "readable-stream": "~2.3.6",
-            "xtend": "~4.0.1"
-          }
-        }
-      }
-    },
     "mitt": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
       "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
       "dev": true
     },
-    "mixin-deep": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
-      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
-      "requires": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
     "mkdirp": {
       "version": "2.1.6",
       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz",
@@ -61294,7 +68342,8 @@
           "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
           "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
           "dev": true,
-          "optional": true
+          "optional": true,
+          "peer": true
         },
         "glob": {
           "version": "7.1.3",
@@ -61581,69 +68630,6 @@
         }
       }
     },
-    "move-concurrently": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
-      "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "copy-concurrently": "^1.0.0",
-        "fs-write-stream-atomic": "^1.0.8",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.3"
-      },
-      "dependencies": {
-        "aproba": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-          "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-          "dev": true
-        },
-        "glob": {
-          "version": "7.2.3",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-          "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.1.1",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "minimatch": {
-          "version": "3.1.2",
-          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-          "dev": true,
-          "requires": {
-            "brace-expansion": "^1.1.7"
-          }
-        },
-        "mkdirp": {
-          "version": "0.5.6",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-          "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.6"
-          }
-        },
-        "rimraf": {
-          "version": "2.7.1",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        }
-      }
-    },
     "mpath": {
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
@@ -61977,66 +68963,6 @@
       "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
       "dev": true
     },
-    "nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
-      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-          "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.2",
-            "isobject": "^3.0.1"
-          }
-        },
-        "extend-shallow": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-          "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
-          "dev": true,
-          "requires": {
-            "assign-symbols": "^1.0.0",
-            "is-extendable": "^1.0.1"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-          "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.1",
-            "is-data-descriptor": "^1.0.1"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
     "native-duplexpair": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/native-duplexpair/-/native-duplexpair-1.0.0.tgz",
@@ -62482,138 +69408,6 @@
       "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
       "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw=="
     },
-    "node-libs-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
-      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
-      "dev": true,
-      "requires": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^3.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.1",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.11.0",
-        "vm-browserify": "^1.0.1"
-      },
-      "dependencies": {
-        "assert": {
-          "version": "1.5.1",
-          "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz",
-          "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==",
-          "dev": true,
-          "requires": {
-            "object.assign": "^4.1.4",
-            "util": "^0.10.4"
-          },
-          "dependencies": {
-            "util": {
-              "version": "0.10.4",
-              "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
-              "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
-              "dev": true,
-              "requires": {
-                "inherits": "2.0.3"
-              }
-            }
-          }
-        },
-        "events": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-          "dev": true
-        },
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
-          "dev": true
-        },
-        "punycode": {
-          "version": "1.4.1",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
-          "dev": true
-        },
-        "qs": {
-          "version": "6.11.2",
-          "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
-          "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
-          "dev": true,
-          "requires": {
-            "side-channel": "^1.0.4"
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          },
-          "dependencies": {
-            "safe-buffer": {
-              "version": "5.1.2",
-              "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-              "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-              "dev": true
-            },
-            "string_decoder": {
-              "version": "1.1.1",
-              "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-              "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-              "dev": true,
-              "requires": {
-                "safe-buffer": "~5.1.0"
-              }
-            }
-          }
-        },
-        "url": {
-          "version": "0.11.3",
-          "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz",
-          "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==",
-          "dev": true,
-          "requires": {
-            "punycode": "^1.4.1",
-            "qs": "^6.11.2"
-          }
-        },
-        "util": {
-          "version": "0.11.1",
-          "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
-          "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
-          "dev": true,
-          "requires": {
-            "inherits": "2.0.3"
-          }
-        }
-      }
-    },
     "node-preload": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
@@ -63407,28 +70201,6 @@
       "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
       "dev": true
     },
-    "object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==",
-      "dev": true,
-      "requires": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
     "object-hash": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
@@ -63457,15 +70229,6 @@
       "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
       "dev": true
     },
-    "object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
-      "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.0"
-      }
-    },
     "object.assign": {
       "version": "4.1.5",
       "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
@@ -63502,15 +70265,6 @@
         "safe-array-concat": "^1.0.0"
       }
     },
-    "object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
-      "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
     "object.values": {
       "version": "1.1.7",
       "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz",
@@ -63684,10 +70438,10 @@
         }
       }
     },
-    "os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
+    "os-homedir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+      "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
       "dev": true
     },
     "os-tmpdir": {
@@ -63981,55 +70735,6 @@
         "repeat-string": "^1.5.2"
       }
     },
-    "pako": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
-      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
-      "dev": true
-    },
-    "parallel-transform": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
-      "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
-      "dev": true,
-      "requires": {
-        "cyclist": "^1.0.1",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.1.5"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
     "parent-module": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -64039,19 +70744,6 @@
         "callsites": "^3.0.0"
       }
     },
-    "parse-asn1": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
-      "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
-      "dev": true,
-      "requires": {
-        "asn1.js": "^5.2.0",
-        "browserify-aes": "^1.0.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3",
-        "safe-buffer": "^5.1.1"
-      }
-    },
     "parse-conflict-json": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz",
@@ -64142,25 +70834,6 @@
       "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
       "dev": true
     },
-    "pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==",
-      "dev": true
-    },
-    "path-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
-      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
-      "dev": true
-    },
-    "path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==",
-      "dev": true,
-      "optional": true
-    },
     "path-exists": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -64220,19 +70893,6 @@
       "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
       "dev": true
     },
-    "pbkdf2": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
-      "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
-      "dev": true,
-      "requires": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
     "pend": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
@@ -64499,12 +71159,6 @@
         }
       }
     },
-    "posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==",
-      "dev": true
-    },
     "possible-typed-array-names": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
@@ -64584,6 +71238,12 @@
         }
       }
     },
+    "private": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+      "dev": true
+    },
     "proc-log": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz",
@@ -64764,40 +71424,12 @@
       "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
       "dev": true
     },
-    "prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
-      "dev": true
-    },
     "pseudomap": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
       "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==",
       "dev": true
     },
-    "public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
-      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
     "pump": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
@@ -64808,29 +71440,6 @@
         "once": "^1.3.1"
       }
     },
-    "pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
-      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
-      "dev": true,
-      "requires": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      },
-      "dependencies": {
-        "pump": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
-          "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-          "dev": true,
-          "requires": {
-            "end-of-stream": "^1.1.0",
-            "once": "^1.3.1"
-          }
-        }
-      }
-    },
     "punycode": {
       "version": "2.3.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -64893,12 +71502,6 @@
       "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
       "dev": true
     },
-    "querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
-      "dev": true
-    },
     "querystringify": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
@@ -64938,16 +71541,6 @@
         "safe-buffer": "^5.1.0"
       }
     },
-    "randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
-      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
-      "requires": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
     "range-parser": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -65282,12 +71875,12 @@
       "dev": true
     },
     "rechoir": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
-      "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
+      "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
       "dev": true,
       "requires": {
-        "resolve": "^1.9.0"
+        "resolve": "^1.20.0"
       }
     },
     "redent": {
@@ -65347,35 +71940,34 @@
       "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==",
       "dev": true
     },
-    "regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
-      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+    "regenerate": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
+      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
+      "dev": true
+    },
+    "regenerate-unicode-properties": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
+      "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
       "dev": true,
       "requires": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-          "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
-          "dev": true,
-          "requires": {
-            "assign-symbols": "^1.0.0",
-            "is-extendable": "^1.0.1"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
+        "regenerate": "^1.4.2"
+      }
+    },
+    "regenerator-runtime": {
+      "version": "0.11.1",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+      "dev": true
+    },
+    "regenerator-transform": {
+      "version": "0.15.2",
+      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
+      "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
+      "dev": true,
+      "requires": {
+        "@babel/runtime": "^7.8.4"
       }
     },
     "regexp-match-indices": {
@@ -65411,6 +72003,43 @@
       "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
       "dev": true
     },
+    "regexpu-core": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
+      "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
+      "dev": true,
+      "requires": {
+        "@babel/regjsgen": "^0.8.0",
+        "regenerate": "^1.4.2",
+        "regenerate-unicode-properties": "^10.1.0",
+        "regjsparser": "^0.9.1",
+        "unicode-match-property-ecmascript": "^2.0.0",
+        "unicode-match-property-value-ecmascript": "^2.1.0"
+      }
+    },
+    "regjsgen": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+      "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==",
+      "dev": true
+    },
+    "regjsparser": {
+      "version": "0.9.1",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
+      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
+      "dev": true,
+      "requires": {
+        "jsesc": "~0.5.0"
+      },
+      "dependencies": {
+        "jsesc": {
+          "version": "0.5.0",
+          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+          "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
+          "dev": true
+        }
+      }
+    },
     "release-zalgo": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
@@ -65420,25 +72049,21 @@
         "es6-error": "^4.0.1"
       }
     },
-    "remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
-      "dev": true,
-      "optional": true
-    },
-    "repeat-element": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
-      "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
-      "dev": true
-    },
     "repeat-string": {
       "version": "1.6.1",
       "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
       "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
       "dev": true
     },
+    "repeating": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+      "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==",
+      "dev": true,
+      "requires": {
+        "is-finite": "^1.0.0"
+      }
+    },
     "require-directory": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -65576,12 +72201,6 @@
       "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
       "dev": true
     },
-    "resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
-      "dev": true
-    },
     "restify": {
       "version": "11.1.0",
       "resolved": "https://registry.npmjs.org/restify/-/restify-11.1.0.tgz",
@@ -65763,16 +72382,6 @@
         "glob": "^10.3.7"
       }
     },
-    "ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
-      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
     "rollup": {
       "version": "4.12.1",
       "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.1.tgz",
@@ -65855,23 +72464,6 @@
         "queue-microtask": "^1.2.2"
       }
     },
-    "run-queue": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
-      "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1"
-      },
-      "dependencies": {
-        "aproba": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-          "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-          "dev": true
-        }
-      }
-    },
     "rxjs": {
       "version": "7.8.1",
       "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
@@ -65920,23 +72512,6 @@
       "dev": true,
       "optional": true
     },
-    "safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
-      "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==",
-      "dev": true,
-      "requires": {
-        "ret": "~0.1.10"
-      },
-      "dependencies": {
-        "ret": {
-          "version": "0.1.15",
-          "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-          "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-          "dev": true
-        }
-      }
-    },
     "safe-regex-test": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
@@ -66095,9 +72670,9 @@
       "dev": true
     },
     "serialize-javascript": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
-      "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+      "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
       "dev": true,
       "requires": {
         "randombytes": "^2.1.0"
@@ -66153,40 +72728,12 @@
         "has-property-descriptors": "^1.0.2"
       }
     },
-    "set-value": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
-      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      }
-    },
-    "setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
-      "dev": true
-    },
     "setprototypeof": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
       "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
       "dev": true
     },
-    "sha.js": {
-      "version": "2.4.11",
-      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
-      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
     "shallow-clone": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
@@ -66486,97 +73033,6 @@
       "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
       "dev": true
     },
-    "snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
-      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
-      "requires": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
-          "dev": true
-        }
-      }
-    },
-    "snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-          "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.1",
-            "is-data-descriptor": "^1.0.1"
-          }
-        }
-      }
-    },
-    "snapdragon-util": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.2.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
     "socket.io": {
       "version": "4.7.4",
       "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz",
@@ -66674,31 +73130,12 @@
         "is-plain-obj": "^1.0.0"
       }
     },
-    "source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
-      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
-      "dev": true
-    },
     "source-map": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
       "dev": true
     },
-    "source-map-resolve": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
-      "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
-      "dev": true,
-      "requires": {
-        "atob": "^2.1.2",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
     "source-map-support": {
       "version": "0.5.21",
       "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
@@ -66709,12 +73146,6 @@
         "source-map": "^0.6.0"
       }
     },
-    "source-map-url": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
-      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
-      "dev": true
-    },
     "sparse-bitfield": {
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
@@ -66860,36 +73291,6 @@
         "through": "2"
       }
     },
-    "split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
-      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.0"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-          "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
-          "dev": true,
-          "requires": {
-            "assign-symbols": "^1.0.0",
-            "is-extendable": "^1.0.1"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
     "split2": {
       "version": "3.2.2",
       "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz",
@@ -67088,16 +73489,6 @@
       "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==",
       "dev": true
     },
-    "static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
-      "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==",
-      "dev": true,
-      "requires": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
-      }
-    },
     "statuses": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
@@ -67110,115 +73501,12 @@
       "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==",
       "dev": true
     },
-    "stream-browserify": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
-      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
-      "dev": true,
-      "requires": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "stream-each": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
-      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "stream-http": {
-      "version": "2.8.3",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
-      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
-      "dev": true,
-      "requires": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.6",
-        "to-arraybuffer": "^1.0.0",
-        "xtend": "^4.0.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
     "stream-read-all": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-3.0.1.tgz",
       "integrity": "sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==",
       "dev": true
     },
-    "stream-shift": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
-      "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
-      "dev": true
-    },
     "stream-transform": {
       "version": "3.3.0",
       "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-3.3.0.tgz",
@@ -67481,12 +73769,6 @@
         }
       }
     },
-    "tapable": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
-      "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
-      "dev": true
-    },
     "tar": {
       "version": "6.1.11",
       "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
@@ -67611,14 +73893,15 @@
       }
     },
     "terser": {
-      "version": "4.8.1",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
-      "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
+      "version": "5.31.1",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz",
+      "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==",
       "dev": true,
       "requires": {
+        "@jridgewell/source-map": "^0.3.3",
+        "acorn": "^8.8.2",
         "commander": "^2.20.0",
-        "source-map": "~0.6.1",
-        "source-map-support": "~0.5.12"
+        "source-map-support": "~0.5.20"
       },
       "dependencies": {
         "commander": {
@@ -67630,226 +73913,37 @@
       }
     },
     "terser-webpack-plugin": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
-      "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+      "version": "5.3.10",
+      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
+      "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
       "dev": true,
       "requires": {
-        "cacache": "^12.0.2",
-        "find-cache-dir": "^2.1.0",
-        "is-wsl": "^1.1.0",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^4.0.0",
-        "source-map": "^0.6.1",
-        "terser": "^4.1.2",
-        "webpack-sources": "^1.4.0",
-        "worker-farm": "^1.7.0"
+        "@jridgewell/trace-mapping": "^0.3.20",
+        "jest-worker": "^27.4.5",
+        "schema-utils": "^3.1.1",
+        "serialize-javascript": "^6.0.1",
+        "terser": "^5.26.0"
       },
       "dependencies": {
-        "cacache": {
-          "version": "12.0.4",
-          "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
-          "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
-          "dev": true,
-          "requires": {
-            "bluebird": "^3.5.5",
-            "chownr": "^1.1.1",
-            "figgy-pudding": "^3.5.1",
-            "glob": "^7.1.4",
-            "graceful-fs": "^4.1.15",
-            "infer-owner": "^1.0.3",
-            "lru-cache": "^5.1.1",
-            "mississippi": "^3.0.0",
-            "mkdirp": "^0.5.1",
-            "move-concurrently": "^1.0.1",
-            "promise-inflight": "^1.0.1",
-            "rimraf": "^2.6.3",
-            "ssri": "^6.0.1",
-            "unique-filename": "^1.1.1",
-            "y18n": "^4.0.0"
-          }
-        },
-        "chownr": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-          "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-          "dev": true
-        },
-        "find-cache-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
-          "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
-          "dev": true,
-          "requires": {
-            "commondir": "^1.0.1",
-            "make-dir": "^2.0.0",
-            "pkg-dir": "^3.0.0"
-          }
-        },
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "glob": {
-          "version": "7.2.3",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-          "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.1.1",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "is-wsl": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-          "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==",
-          "dev": true
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "make-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-          "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-          "dev": true,
-          "requires": {
-            "pify": "^4.0.1",
-            "semver": "^5.6.0"
-          }
-        },
-        "minimatch": {
-          "version": "3.1.2",
-          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-          "dev": true,
-          "requires": {
-            "brace-expansion": "^1.1.7"
-          }
-        },
-        "mkdirp": {
-          "version": "0.5.6",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-          "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.6"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "path-exists": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-          "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
-          "dev": true
-        },
-        "pify": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-          "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-          "dev": true,
-          "requires": {
-            "find-up": "^3.0.0"
-          }
-        },
-        "rimraf": {
-          "version": "2.7.1",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
         "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
           "dev": true,
           "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
           }
         },
-        "semver": {
-          "version": "5.7.2",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
-          "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
-          "dev": true
-        },
-        "ssri": {
+        "serialize-javascript": {
           "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
-          "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
+          "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+          "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
           "dev": true,
           "requires": {
-            "figgy-pudding": "^3.5.1"
+            "randombytes": "^2.1.0"
           }
-        },
-        "unique-filename": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
-          "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
-          "dev": true,
-          "requires": {
-            "unique-slug": "^2.0.0"
-          }
-        },
-        "unique-slug": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
-          "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
-          "dev": true,
-          "requires": {
-            "imurmurhash": "^0.1.4"
-          }
-        },
-        "y18n": {
-          "version": "4.0.3",
-          "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
-          "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
-          "dev": true
         }
       }
     },
@@ -68066,15 +74160,6 @@
       "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==",
       "dev": true
     },
-    "timers-browserify": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
-      "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
-      "dev": true,
-      "requires": {
-        "setimmediate": "^1.0.4"
-      }
-    },
     "tiny-case": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz",
@@ -68130,91 +74215,12 @@
         }
       }
     },
-    "to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==",
-      "dev": true
-    },
     "to-fast-properties": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
       "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
       "dev": true
     },
-    "to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
-      "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
-      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-          "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.2",
-            "isobject": "^3.0.1"
-          }
-        },
-        "extend-shallow": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-          "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
-          "dev": true,
-          "requires": {
-            "assign-symbols": "^1.0.0",
-            "is-extendable": "^1.0.1"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-          "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.1",
-            "is-data-descriptor": "^1.0.1"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
     "to-regex-range": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -68257,69 +74263,17 @@
       "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
       "dev": true
     },
+    "trim-right": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+      "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==",
+      "dev": true
+    },
     "triple-beam": {
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz",
       "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg=="
     },
-    "ts-loader": {
-      "version": "8.3.0",
-      "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.3.0.tgz",
-      "integrity": "sha512-MgGly4I6cStsJy27ViE32UoqxPTN9Xly4anxxVyaIWR+9BGxboV4EyJBGfR3RePV7Ksjj3rHmPZJeIt+7o4Vag==",
-      "dev": true,
-      "requires": {
-        "chalk": "^4.1.0",
-        "enhanced-resolve": "^4.0.0",
-        "loader-utils": "^2.0.0",
-        "micromatch": "^4.0.0",
-        "semver": "^7.3.4"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
     "ts-mocha": {
       "version": "10.0.0",
       "resolved": "https://registry.npmjs.org/ts-mocha/-/ts-mocha-10.0.0.tgz",
@@ -68420,12 +74374,6 @@
         }
       }
     },
-    "tty-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-      "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==",
-      "dev": true
-    },
     "tuf-js": {
       "version": "1.1.7",
       "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz",
@@ -68748,24 +74696,40 @@
       "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
       "dev": true
     },
-    "unicorn-magic": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
-      "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+    "unicode-canonical-property-names-ecmascript": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
+      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
       "dev": true
     },
-    "union-value": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
-      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+    "unicode-match-property-ecmascript": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+      "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
       "dev": true,
       "requires": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^2.0.1"
+        "unicode-canonical-property-names-ecmascript": "^2.0.0",
+        "unicode-property-aliases-ecmascript": "^2.0.0"
       }
     },
+    "unicode-match-property-value-ecmascript": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
+      "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
+      "dev": true
+    },
+    "unicode-property-aliases-ecmascript": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+      "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
+      "dev": true
+    },
+    "unicorn-magic": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
+      "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+      "dev": true
+    },
     "unique-filename": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
@@ -68811,46 +74775,6 @@
       "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
       "dev": true
     },
-    "unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
-      "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==",
-      "dev": true,
-      "requires": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
-      "dependencies": {
-        "has-value": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
-          "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==",
-          "dev": true,
-          "requires": {
-            "get-value": "^2.0.3",
-            "has-values": "^0.1.4",
-            "isobject": "^2.0.0"
-          },
-          "dependencies": {
-            "isobject": {
-              "version": "2.1.0",
-              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-              "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
-              "dev": true,
-              "requires": {
-                "isarray": "1.0.0"
-              }
-            }
-          }
-        },
-        "has-values": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==",
-          "dev": true
-        }
-      }
-    },
     "upath": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz",
@@ -68885,12 +74809,6 @@
         "punycode": "^2.1.0"
       }
     },
-    "urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
-      "dev": true
-    },
     "url": {
       "version": "0.10.3",
       "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
@@ -68925,12 +74843,6 @@
       "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==",
       "dev": true
     },
-    "use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true
-    },
     "util": {
       "version": "0.12.5",
       "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
@@ -69064,12 +74976,6 @@
         }
       }
     },
-    "vm-browserify": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
-      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
-      "dev": true
-    },
     "void-elements": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
@@ -69083,306 +74989,13 @@
       "dev": true
     },
     "watchpack": {
-      "version": "1.7.5",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
-      "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
-      "dev": true,
-      "requires": {
-        "chokidar": "^3.4.1",
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0",
-        "watchpack-chokidar2": "^2.0.1"
-      }
-    },
-    "watchpack-chokidar2": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
-      "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz",
+      "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==",
       "dev": true,
-      "optional": true,
       "requires": {
-        "chokidar": "^2.1.8"
-      },
-      "dependencies": {
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-          "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-              "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-          "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true,
-          "optional": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          }
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "define-property": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-          "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-descriptor": "^1.0.2",
-            "isobject": "^3.0.1"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          }
-        },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "bindings": "^1.5.0",
-            "nan": "^2.12.1"
-          }
-        },
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-          "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-              "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-          "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-          "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.1",
-            "is-data-descriptor": "^1.0.1"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "3.0.2",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-              "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "assign-symbols": "^1.0.0",
-                "is-extendable": "^1.0.1"
-              }
-            }
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-          "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true,
-          "optional": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        },
-        "upath": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-          "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-          "dev": true,
-          "optional": true
-        }
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.1.2"
       }
     },
     "wbuf": {
@@ -69410,386 +75023,129 @@
       "dev": true
     },
     "webpack": {
-      "version": "4.46.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
-      "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/wasm-edit": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "acorn": "^6.4.1",
-        "ajv": "^6.10.2",
-        "ajv-keywords": "^3.4.1",
+      "version": "5.91.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz",
+      "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==",
+      "dev": true,
+      "peer": true,
+      "requires": {
+        "@types/eslint-scope": "^3.7.3",
+        "@types/estree": "^1.0.5",
+        "@webassemblyjs/ast": "^1.12.1",
+        "@webassemblyjs/wasm-edit": "^1.12.1",
+        "@webassemblyjs/wasm-parser": "^1.12.1",
+        "acorn": "^8.7.1",
+        "acorn-import-assertions": "^1.9.0",
+        "browserslist": "^4.21.10",
         "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^4.5.0",
-        "eslint-scope": "^4.0.3",
-        "json-parse-better-errors": "^1.0.2",
-        "loader-runner": "^2.4.0",
-        "loader-utils": "^1.2.3",
-        "memory-fs": "^0.4.1",
-        "micromatch": "^3.1.10",
-        "mkdirp": "^0.5.3",
-        "neo-async": "^2.6.1",
-        "node-libs-browser": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "tapable": "^1.1.3",
-        "terser-webpack-plugin": "^1.4.3",
-        "watchpack": "^1.7.4",
-        "webpack-sources": "^1.4.1"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "6.4.2",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
-          "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
-          "dev": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          }
-        },
-        "define-property": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-          "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.2",
-            "isobject": "^3.0.1"
-          }
-        },
-        "eslint-scope": {
-          "version": "4.0.3",
-          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
-          "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
-          "dev": true,
-          "requires": {
-            "esrecurse": "^4.1.0",
-            "estraverse": "^4.1.1"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
-          "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.1",
-            "is-data-descriptor": "^1.0.1"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "json5": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
-          "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.2",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
-          "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
-        },
-        "memory-fs": {
-          "version": "0.4.1",
-          "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-          "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==",
+        "enhanced-resolve": "^5.16.0",
+        "es-module-lexer": "^1.2.1",
+        "eslint-scope": "5.1.1",
+        "events": "^3.2.0",
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.2.11",
+        "json-parse-even-better-errors": "^2.3.1",
+        "loader-runner": "^4.2.0",
+        "mime-types": "^2.1.27",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.2.0",
+        "tapable": "^2.1.1",
+        "terser-webpack-plugin": "^5.3.10",
+        "watchpack": "^2.4.1",
+        "webpack-sources": "^3.2.3"
+      },
+      "dependencies": {
+        "enhanced-resolve": {
+          "version": "5.17.0",
+          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
           "dev": true,
+          "peer": true,
           "requires": {
-            "errno": "^0.1.3",
-            "readable-stream": "^2.0.1"
+            "graceful-fs": "^4.2.4",
+            "tapable": "^2.2.0"
           }
         },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+        "events": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
           "dev": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "3.0.2",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-              "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
-              "dev": true,
-              "requires": {
-                "assign-symbols": "^1.0.0",
-                "is-extendable": "^1.0.1"
-              }
-            }
-          }
+          "peer": true
         },
-        "mkdirp": {
-          "version": "0.5.6",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-          "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.6"
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+        "json-parse-even-better-errors": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
           "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
+          "peer": true
         },
         "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
           "dev": true,
+          "peer": true,
           "requires": {
-            "safe-buffer": "~5.1.0"
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
           }
         },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
+        "tapable": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
           "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
+          "peer": true
         }
       }
     },
     "webpack-cli": {
-      "version": "4.7.2",
-      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.2.tgz",
-      "integrity": "sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw==",
+      "version": "5.1.4",
+      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz",
+      "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==",
       "dev": true,
       "requires": {
         "@discoveryjs/json-ext": "^0.5.0",
-        "@webpack-cli/configtest": "^1.0.4",
-        "@webpack-cli/info": "^1.3.0",
-        "@webpack-cli/serve": "^1.5.1",
-        "colorette": "^1.2.1",
-        "commander": "^7.0.0",
-        "execa": "^5.0.0",
+        "@webpack-cli/configtest": "^2.1.1",
+        "@webpack-cli/info": "^2.0.2",
+        "@webpack-cli/serve": "^2.0.5",
+        "colorette": "^2.0.14",
+        "commander": "^10.0.1",
+        "cross-spawn": "^7.0.3",
+        "envinfo": "^7.7.3",
         "fastest-levenshtein": "^1.0.12",
         "import-local": "^3.0.2",
-        "interpret": "^2.2.0",
-        "rechoir": "^0.7.0",
-        "v8-compile-cache": "^2.2.0",
+        "interpret": "^3.1.1",
+        "rechoir": "^0.8.0",
         "webpack-merge": "^5.7.3"
       },
       "dependencies": {
-        "commander": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
-          "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
-          "dev": true
-        }
-      }
-    },
-    "webpack-dev-middleware": {
-      "version": "3.7.3",
-      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz",
-      "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==",
-      "dev": true,
-      "requires": {
-        "memory-fs": "^0.4.1",
-        "mime": "^2.4.4",
-        "mkdirp": "^0.5.1",
-        "range-parser": "^1.2.1",
-        "webpack-log": "^2.0.0"
-      },
-      "dependencies": {
-        "memory-fs": {
-          "version": "0.4.1",
-          "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-          "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==",
-          "dev": true,
-          "requires": {
-            "errno": "^0.1.3",
-            "readable-stream": "^2.0.1"
-          }
-        },
-        "mkdirp": {
-          "version": "0.5.6",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-          "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.6"
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
-          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "webpack-log": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
-      "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
-      "dev": true,
-      "requires": {
-        "ansi-colors": "^3.0.0",
-        "uuid": "^3.3.2"
-      },
-      "dependencies": {
-        "uuid": {
-          "version": "3.4.0",
-          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-          "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+        "interpret": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
+          "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
           "dev": true
         }
       }
     },
     "webpack-merge": {
-      "version": "5.8.0",
-      "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
-      "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
+      "version": "5.10.0",
+      "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz",
+      "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==",
       "dev": true,
       "requires": {
         "clone-deep": "^4.0.1",
+        "flat": "^5.0.2",
         "wildcard": "^2.0.0"
       }
     },
     "webpack-sources": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
-      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
-      "dev": true,
-      "requires": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      }
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+      "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+      "dev": true
     },
     "whatwg-url": {
       "version": "11.0.0",
@@ -69960,14 +75316,11 @@
       "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==",
       "dev": true
     },
-    "worker-farm": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
-      "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
-      "dev": true,
-      "requires": {
-        "errno": "~0.1.7"
-      }
+    "workerpool": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
+      "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==",
+      "dev": true
     },
     "wrap-ansi": {
       "version": "6.2.0",
diff --git a/package.json b/package.json
index 0d6447f3ea..74dbe0ce2e 100644
--- a/package.json
+++ b/package.json
@@ -57,7 +57,8 @@
     "minimatch": "^9.0.3",
     "prettier": "2.8.8",
     "semver": "^7.6.0",
-    "typescript": "4.4.4"
+    "process": "0.11.10",
+    "util": "0.12.5"
   },
   "changelog": {
     "labels": {
diff --git a/packages/opentelemetry-id-generator-aws-xray/package.json b/packages/opentelemetry-id-generator-aws-xray/package.json
index 9387f6cb05..03fd94813f 100644
--- a/packages/opentelemetry-id-generator-aws-xray/package.json
+++ b/packages/opentelemetry-id-generator-aws-xray/package.json
@@ -51,26 +51,33 @@
     "@opentelemetry/api": "^1.0.0"
   },
   "devDependencies": {
+    "@babel/core": "7.24.6",
+    "@babel/preset-env": "7.24.6",
     "@opentelemetry/api": "^1.0.0",
-    "@types/mocha": "8.2.3",
+    "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
-    "@types/webpack-env": "1.16.2",
-    "@jsdevtools/coverage-istanbul-loader": "3.0.5",
-    "karma": "6.3.16",
-    "karma-chrome-launcher": "^3.1.1",
-    "karma-coverage-istanbul-reporter": "3.0.3",
+    "@types/sinon": "17.0.3",
+    "@types/webpack-env": "1.16.3",
+    "assert": "2.0.0",
+    "babel-loader": "8.3.0",
+    "babel-plugin-istanbul": "6.1.1",
+    "cross-var": "1.1.0",
+    "karma": "6.4.3",
+    "karma-chrome-launcher": "3.1.0",
+    "karma-coverage": "2.2.1",
     "karma-mocha": "2.0.1",
     "karma-spec-reporter": "0.0.36",
-    "karma-webpack": "4.0.2",
-    "mocha": "7.2.0",
+    "karma-webpack": "5.0.1",
+    "mocha": "10.2.0",
     "nyc": "15.1.0",
     "rimraf": "5.0.5",
-    "sinon": "15.2.0",
-    "ts-loader": "8.3.0",
+    "sinon": "15.1.2",
+    "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "4.46.0"
+    "webpack": "5.89.0",
+    "webpack-cli": "5.1.4",
+    "webpack-merge": "5.10.0"
   },
   "dependencies": {
     "@opentelemetry/core": "^1.0.0"
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/package.json b/plugins/web/opentelemetry-instrumentation-long-task/package.json
index 45967a2afd..6bb5fc796f 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/package.json
+++ b/plugins/web/opentelemetry-instrumentation-long-task/package.json
@@ -48,33 +48,34 @@
     "access": "public"
   },
   "devDependencies": {
-    "@babel/core": "7.22.17",
-    "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+    "@babel/core": "7.24.6",
+    "@babel/preset-env": "7.24.6",
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
-    "@types/jquery": "3.5.20",
-    "@types/mocha": "7.0.2",
+    "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
-    "@types/webpack-env": "1.16.2",
-    "babel-loader": "8.2.2",
-    "karma": "6.3.16",
-    "karma-chrome-launcher": "^3.1.1",
-    "karma-coverage-istanbul-reporter": "3.0.3",
-    "karma-jquery": "0.2.4",
+    "@types/sinon": "17.0.3",
+    "@types/webpack-env": "1.16.3",
+    "assert": "2.0.0",
+    "babel-loader": "8.3.0",
+    "babel-plugin-istanbul": "6.1.1",
+    "cross-var": "1.1.0",
+    "karma": "6.4.3",
+    "karma-chrome-launcher": "3.1.0",
+    "karma-coverage": "2.2.1",
     "karma-mocha": "2.0.1",
     "karma-spec-reporter": "0.0.36",
-    "karma-webpack": "4.0.2",
-    "mocha": "7.2.0",
+    "karma-webpack": "5.0.1",
+    "mocha": "10.2.0",
     "nyc": "15.1.0",
     "rimraf": "5.0.5",
-    "sinon": "15.2.0",
-    "ts-loader": "8.3.0",
+    "sinon": "15.1.2",
+    "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "4.46.0",
-    "webpack-cli": "4.7.2",
-    "webpack-merge": "5.8.0",
+    "webpack": "5.89.0",
+    "webpack-cli": "5.1.4",
+    "webpack-merge": "5.10.0",
     "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
   },
   "dependencies": {
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
index c2a9c8f89a..41553cf08c 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
@@ -17,7 +17,7 @@
     "compile": "tsc --build tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
     "prepublishOnly": "npm run compile",
     "tdd": "karma start",
-    "test:browser": "nyc karma start --single-run",
+    "test:browser": "karma start --single-run",
     "watch": "tsc --build --watch tsconfig.json tsconfig.esm.json tsconfig.esnext.json"
   },
   "keywords": [
@@ -48,35 +48,37 @@
     "access": "public"
   },
   "devDependencies": {
-    "@babel/core": "7.22.17",
-    "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+    "@babel/core": "7.24.6",
+    "@babel/preset-env": "7.24.6",
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-zone-peer-dep": "^1.8.0",
     "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
-    "@types/jquery": "3.5.20",
-    "@types/mocha": "7.0.2",
+    "@types/jquery": "3.5.30",
+    "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
-    "@types/webpack-env": "1.16.2",
-    "babel-loader": "8.2.2",
-    "karma": "6.3.16",
-    "karma-chrome-launcher": "^3.1.1",
-    "karma-coverage-istanbul-reporter": "3.0.3",
+    "@types/sinon": "17.0.3",
+    "@types/webpack-env": "1.16.3",
+    "assert": "2.0.0",
+    "babel-loader": "8.3.0",
+    "babel-plugin-istanbul": "6.1.1",
+    "cross-var": "1.1.0",
+    "karma": "6.4.3",
+    "karma-chrome-launcher": "3.1.0",
+    "karma-coverage": "2.2.1",
     "karma-jquery": "0.2.4",
     "karma-mocha": "2.0.1",
     "karma-spec-reporter": "0.0.36",
-    "karma-webpack": "4.0.2",
-    "mocha": "7.2.0",
+    "karma-webpack": "5.0.1",
+    "mocha": "10.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
-    "sinon": "15.2.0",
-    "ts-loader": "8.3.0",
+    "sinon": "15.1.2",
+    "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "4.46.0",
-    "webpack-cli": "4.7.2",
-    "webpack-merge": "5.8.0",
+    "webpack": "5.89.0",
+    "webpack-cli": "5.1.4",
+    "webpack-merge": "5.10.0",
     "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
   },
   "dependencies": {
diff --git a/plugins/web/opentelemetry-plugin-react-load/package.json b/plugins/web/opentelemetry-plugin-react-load/package.json
index 3994d17b54..948fe986eb 100644
--- a/plugins/web/opentelemetry-plugin-react-load/package.json
+++ b/plugins/web/opentelemetry-plugin-react-load/package.json
@@ -48,37 +48,39 @@
     "access": "public"
   },
   "devDependencies": {
-    "@babel/core": "7.22.17",
-    "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+    "@babel/core": "7.24.6",
+    "@babel/preset-env": "7.24.6",
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/propagator-b3": "^1.3.1",
-    "@types/mocha": "7.0.2",
+    "@opentelemetry/propagator-b3": "1.25.0",
+    "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
     "@types/react": "17.0.67",
     "@types/react-addons-test-utils": "0.14.26",
     "@types/react-dom": "18.0.2",
     "@types/shimmer": "1.0.3",
-    "@types/sinon": "10.0.18",
-    "@types/webpack-env": "1.16.2",
-    "babel-loader": "8.2.2",
-    "karma": "6.3.16",
-    "karma-chrome-launcher": "^3.1.1",
-    "karma-coverage-istanbul-reporter": "3.0.3",
+    "@types/sinon": "17.0.3",
+    "@types/webpack-env": "1.16.3",
+    "assert": "2.0.0",
+    "babel-loader": "8.3.0",
+    "babel-plugin-istanbul": "6.1.1",
+    "karma": "6.4.3",
+    "karma-chrome-launcher": "3.1.0",
+    "karma-coverage": "2.2.1",
     "karma-mocha": "2.0.1",
     "karma-spec-reporter": "0.0.36",
-    "karma-webpack": "4.0.2",
-    "mocha": "7.2.0",
+    "karma-webpack": "5.0.1",
+    "mocha": "10.2.0",
     "nyc": "15.1.0",
     "react": "17.0.2",
     "react-dom": "17.0.2",
     "rimraf": "5.0.5",
-    "sinon": "15.2.0",
-    "ts-loader": "8.3.0",
+    "sinon": "15.1.2",
+    "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "4.46.0",
-    "webpack-cli": "4.7.2",
-    "webpack-merge": "5.8.0"
+    "webpack": "5.89.0",
+    "webpack-cli": "5.1.4",
+    "webpack-merge": "5.10.0"
   },
   "peerDependencies": {
     "@opentelemetry/api": "^1.0.0",
diff --git a/propagators/opentelemetry-propagator-instana/package.json b/propagators/opentelemetry-propagator-instana/package.json
index 7bf4bd036c..ea88db3b1e 100644
--- a/propagators/opentelemetry-propagator-instana/package.json
+++ b/propagators/opentelemetry-propagator-instana/package.json
@@ -47,26 +47,32 @@
     "@opentelemetry/api": "^1.0.0"
   },
   "devDependencies": {
-    "@jsdevtools/coverage-istanbul-loader": "3.0.5",
+    "@babel/core": "7.24.6",
+    "@babel/preset-env": "7.24.6",
     "@opentelemetry/api": "^1.0.0",
-    "@types/mocha": "8.2.3",
+    "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/webpack-env": "1.16.2",
+    "@types/sinon": "17.0.3",
+    "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
-    "karma": "6.3.17",
-    "karma-chrome-launcher": "3.1.1",
-    "karma-coverage-istanbul-reporter": "3.0.3",
+    "babel-loader": "8.3.0",
+    "babel-plugin-istanbul": "6.1.1",
+    "cross-var": "1.1.0",
+    "karma": "6.4.3",
+    "karma-chrome-launcher": "3.1.0",
+    "karma-coverage": "2.2.1",
     "karma-mocha": "2.0.1",
     "karma-spec-reporter": "0.0.36",
-    "karma-webpack": "4.0.2",
-    "mocha": "7.2.0",
+    "karma-webpack": "5.0.1",
+    "mocha": "10.2.0",
     "nyc": "15.1.0",
     "process": "0.11.10",
-    "ts-loader": "8.3.0",
+    "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "4.46.0",
-    "webpack-cli": "4.9.2"
+    "webpack": "5.89.0",
+    "webpack-cli": "5.1.4",
+    "webpack-merge": "5.10.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/propagators/opentelemetry-propagator-instana#readme"
 }
diff --git a/propagators/opentelemetry-propagator-ot-trace/package.json b/propagators/opentelemetry-propagator-ot-trace/package.json
index 20ceb7a58f..ff172873f3 100644
--- a/propagators/opentelemetry-propagator-ot-trace/package.json
+++ b/propagators/opentelemetry-propagator-ot-trace/package.json
@@ -47,23 +47,32 @@
     "@opentelemetry/api": "^1.0.0"
   },
   "devDependencies": {
+    "@babel/core": "7.24.6",
+    "@babel/preset-env": "7.24.6",
     "@opentelemetry/api": "^1.0.0",
-    "@types/mocha": "8.2.3",
+    "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/webpack-env": "1.16.2",
-    "@jsdevtools/coverage-istanbul-loader": "3.0.5",
-    "karma": "6.3.16",
-    "karma-chrome-launcher": "^3.1.1",
-    "karma-coverage-istanbul-reporter": "3.0.3",
+    "@types/sinon": "17.0.3",
+    "@types/webpack-env": "1.16.3",
+    "assert": "2.0.0",
+    "babel-loader": "8.3.0",
+    "babel-plugin-istanbul": "6.1.1",
+    "cross-var": "1.1.0",
+    "karma": "6.4.3",
+    "karma-chrome-launcher": "3.1.0",
+    "karma-coverage": "2.2.1",
     "karma-mocha": "2.0.1",
     "karma-spec-reporter": "0.0.36",
-    "karma-webpack": "4.0.2",
-    "mocha": "7.2.0",
+    "karma-webpack": "5.0.1",
+    "mocha": "10.2.0",
     "nyc": "15.1.0",
-    "ts-loader": "8.3.0",
+    "sinon": "15.1.2",
+    "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "4.46.0"
+    "webpack": "5.89.0",
+    "webpack-cli": "5.1.4",
+    "webpack-merge": "5.10.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/propagators/opentelemetry-propagator-ot-trace#readme"
 }

From 9e4726cc0356dcc482fe16aa6f6698360255e93e Mon Sep 17 00:00:00 2001
From: Arun Prabhakaran <arunp0@users.noreply.github.com>
Date: Thu, 13 Jun 2024 16:53:36 +0530
Subject: [PATCH 035/123] fix: fix timeout in aws resource detector (#2186)

* fix: fix timeout in aws resource detector

Current timeout is 1 sec, which is causing EC2 metadata api request timed out.
Increase the timeout to 5 sec.

* Updated the timeouts as per comments

---------

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 .../src/detectors/AwsEc2Detector.ts           |  2 +-
 .../test/detectors/AwsEc2Detector.test.ts     | 25 +++++++++++--------
 2 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2Detector.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2Detector.ts
index cc45e96f1d..5afec499d2 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2Detector.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2Detector.ts
@@ -131,7 +131,7 @@ class AwsEc2Detector implements Detector {
       const timeoutId = setTimeout(() => {
         req.abort();
         reject(new Error('EC2 metadata api request timed out.'));
-      }, 1000);
+      }, this.MILLISECOND_TIME_OUT);
 
       const req = http.request(options, res => {
         clearTimeout(timeoutId);
diff --git a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEc2Detector.test.ts b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEc2Detector.test.ts
index 62375965d1..501d019b59 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEc2Detector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEc2Detector.test.ts
@@ -109,7 +109,8 @@ describe('awsEc2Detector', () => {
       scope.done();
     });
 
-    it('should throw when timed out', async () => {
+    it('should throw when timed out', function (done) {
+      this.timeout(6000);
       const expectedError = new Error('EC2 metadata api request timed out.');
       const scope = nock(AWS_HOST)
         .put(AWS_TOKEN_PATH)
@@ -120,17 +121,21 @@ describe('awsEc2Detector', () => {
         .reply(200, () => mockedIdentityResponse)
         .get(AWS_HOST_PATH)
         .matchHeader(AWS_METADATA_TOKEN_HEADER, mockedTokenResponse)
-        .delayConnection(2000)
+        .delayConnection(5000)
         .reply(200, () => mockedHostResponse);
 
-      try {
-        await awsEc2Detector.detect();
-        assert.ok(false, 'Expected to throw');
-      } catch (err) {
-        assert.deepStrictEqual(err, expectedError);
-      }
-
-      scope.done();
+      awsEc2Detector
+        .detect()
+        .then(() => {
+          assert.ok(false, 'Expected to throw');
+        })
+        .catch(err => {
+          assert.deepStrictEqual(err, expectedError);
+        })
+        .finally(() => {
+          scope.done();
+          done();
+        });
     });
 
     it('should throw when replied with an Error', async () => {

From 3c71ead22e7668d826fbf4c7c024cb1de4b625ba Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Thu, 13 Jun 2024 13:49:13 +0200
Subject: [PATCH 036/123] docs: add contributing guidelines for new
 instrumentations (#2259)

* docs: add contributing guidelines for new instrumentations

* Update CONTRIBUTING.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

---------

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>
---
 ..._request.md => instrumentation_request.md} | 13 ++++++--
 CONTRIBUTING.md                               | 33 +++++++++++++++++++
 README.md                                     |  1 +
 3 files changed, 44 insertions(+), 3 deletions(-)
 rename .github/ISSUE_TEMPLATE/{plugin_request.md => instrumentation_request.md} (65%)

diff --git a/.github/ISSUE_TEMPLATE/plugin_request.md b/.github/ISSUE_TEMPLATE/instrumentation_request.md
similarity index 65%
rename from .github/ISSUE_TEMPLATE/plugin_request.md
rename to .github/ISSUE_TEMPLATE/instrumentation_request.md
index 2f588b9759..408e111f7f 100644
--- a/.github/ISSUE_TEMPLATE/plugin_request.md
+++ b/.github/ISSUE_TEMPLATE/instrumentation_request.md
@@ -5,9 +5,7 @@ labels: instrumentation-request
 ---
 
 <!--
-**NB:** Before opening an instrumentation request against this repo, consider whether the instrumentation should/could be implemented in the [other OpenTelemetry client libraries](https://github.com/open-telemetry/). If so, please [open an issue on opentelemetry-specification](https://github.com/open-telemetry/opentelemetry-specification/issues/new) first.
-
-You are welcome to try to build your own instrumentation. If you do, please let us know if you have any questions/feedback.
+**NB:** Before opening an instrumentation request against this repo, please read [the contributing guidelines for new instrumentation](../../CONTRIBUTING.md#new-instrumentation).
 -->
 
 ### Is your instrumentation request related to a problem? Please describe
@@ -27,6 +25,15 @@ Weekly Downloads:
 
 Versions:
 
+### Code Owners
+
+<!--
+New Instrumentation requests need at least 2 code-owners that will maintain the instrumentation long-term.
+-->
+
+- Owner 1
+- Owner 2
+
 ### Additional context
 <!--
 Add any other context or screenshots about the instrumentation request here. Is there a reference you could point for the well-defined lifecycle methods?
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6e014f3ee1..e3441af5ab 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -26,6 +26,7 @@ We'd love your help!
 - [Contributing Vendor Components](#contributing-vendor-components)
   - [Adding a New Vendor Component](#adding-a-new-vendor-component)
   - [Removing Vendor Components](#removing-vendor-components)
+- [New Instrumentation](#new-instrumentation)
 
 ## Development Quick Start
 
@@ -232,6 +233,38 @@ please ping ([@open-telemetry/javascript-approvers](https://github.com/orgs/open
 - New or changed functionality is documented if appropriate
 - Substantial changes should not be merged within 24 hours of opening in order to allow reviewers from all time zones to have a chance to review
 
+## New Instrumentation
+
+**Do not submit pull requests for new instrumentation without reading the following.**
+
+This project is dedicated to promoting the development of quality instrumentation using OpenTelemetry.
+To achieve this goal, we recognize that the instrumentation needs to be written using the best practices of OpenTelemetry, but also by developers that understand the package they are instrumenting.
+Additionally, the produced instrumentation needs to be maintained and evolved.
+
+The size of the OpenTelemetry JavaScript developer community is not large enough to support an ever-growing amount of instrumentation.
+Therefore, to reach our goal, we have the following recommendations for where instrumentation packages should live.
+
+1. Native to the instrumented package
+2. A dedicated public repository
+3. Here in the opentelemetry-js-contrib repository
+
+If possible, OpenTelemetry instrumentation should be included in the instrumented package.
+This will ensure the instrumentation reaches all package users, and is continuously maintained by developers that understand the package.
+
+If instrumentation cannot be directly included in the package it is instrumenting, it should be hosted in a dedicated public repository owned by its maintainer(s).
+This will appropriately assign maintenance responsibilities for the instrumentation and ensure these maintainers have the needed privilege to maintain the code.
+
+The last place instrumentation should be hosted is here in this repository.
+Maintaining instrumentation here hampers the development of OpenTelemetry for JavaScript and therefore should be avoided.
+When instrumentation cannot be included in a target package and there is good reason to not host it in a separate and dedicated repository an [instrumentation request](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/new/choose) should be filed.
+Note that new instrumentation needs at least two contributors assigned to it as code-owners.  It is the responsibility
+of the requesting party to reach out and find code-owners for the proposed instrumentation. The instrumentation request
+needs to be accepted before any pull requests for the instrumentation can be considered for merging.
+
+Regardless of where instrumentation is hosted, it needs to be discoverable.
+The [OpenTelemetry registry](https://opentelemetry.io/registry/) exists to ensure that instrumentation is discoverable.
+You can find out how to add instrumentation to the registry [here](https://github.com/open-telemetry/opentelemetry.io#adding-a-project-to-the-opentelemetry-registry).
+
 ## Contributing Vendor Components
 
 This repo is generally meant for hosting components that work with popular open-source frameworks and tools. However, it is also possible to contribute components specific to a 3rd party vendor in this repo.
diff --git a/README.md b/README.md
index 7dede8487a..5a30f19bf6 100644
--- a/README.md
+++ b/README.md
@@ -48,6 +48,7 @@ This project includes:
 - [Resource Detectors](./detectors).
 
 **Instrumentations**: OpenTelemetry can collect tracing data automatically using instrumentations. Vendors/Users can also create and use their own.
+Please read the [contributing guidelines on adding new instrumentation](CONTRIBUTING.md#new-instrumentation) before opening any PRs.
 
 **Resource Detectors**: OpenTelemetry can collect resource attributes of the entity that producing telemetry. For example, a process producing telemetry that is running in a container on Kubernetes has a Pod name, it is in a namespace and possibly is part of a Deployment which also has a name. All three of these attributes can be included in the `Resource`.
 

From 2dc2f72e5a86aa9e1220a26f78878070acde8424 Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Fri, 14 Jun 2024 09:41:28 +0200
Subject: [PATCH 037/123] chore(propagator-grpc-cencus-binary): remove
 component from archive (#2276)

---
 .../.eslintignore                             |   1 -
 .../.eslintrc.js                              |   7 -
 .../CHANGELOG.md                              |  44 ---
 .../LICENSE                                   | 201 -------------
 .../README.md                                 |  58 ----
 .../package.json                              |  57 ----
 .../src/BinaryTraceContext.ts                 | 141 ---------
 .../src/GrpcCensusPropagator.ts               | 154 ----------
 .../src/index.ts                              |  17 --
 .../test/BinaryTraceContext.test.ts           |  93 ------
 .../test/GrpcCensusPropagator.test.ts         | 282 ------------------
 .../tsconfig.json                             |  11 -
 12 files changed, 1066 deletions(-)
 delete mode 100644 archive/opentelemetry-propagator-grpc-census-binary/.eslintignore
 delete mode 100644 archive/opentelemetry-propagator-grpc-census-binary/.eslintrc.js
 delete mode 100644 archive/opentelemetry-propagator-grpc-census-binary/CHANGELOG.md
 delete mode 100644 archive/opentelemetry-propagator-grpc-census-binary/LICENSE
 delete mode 100644 archive/opentelemetry-propagator-grpc-census-binary/README.md
 delete mode 100644 archive/opentelemetry-propagator-grpc-census-binary/package.json
 delete mode 100644 archive/opentelemetry-propagator-grpc-census-binary/src/BinaryTraceContext.ts
 delete mode 100644 archive/opentelemetry-propagator-grpc-census-binary/src/GrpcCensusPropagator.ts
 delete mode 100644 archive/opentelemetry-propagator-grpc-census-binary/src/index.ts
 delete mode 100644 archive/opentelemetry-propagator-grpc-census-binary/test/BinaryTraceContext.test.ts
 delete mode 100644 archive/opentelemetry-propagator-grpc-census-binary/test/GrpcCensusPropagator.test.ts
 delete mode 100644 archive/opentelemetry-propagator-grpc-census-binary/tsconfig.json

diff --git a/archive/opentelemetry-propagator-grpc-census-binary/.eslintignore b/archive/opentelemetry-propagator-grpc-census-binary/.eslintignore
deleted file mode 100644
index 378eac25d3..0000000000
--- a/archive/opentelemetry-propagator-grpc-census-binary/.eslintignore
+++ /dev/null
@@ -1 +0,0 @@
-build
diff --git a/archive/opentelemetry-propagator-grpc-census-binary/.eslintrc.js b/archive/opentelemetry-propagator-grpc-census-binary/.eslintrc.js
deleted file mode 100644
index f726f3becb..0000000000
--- a/archive/opentelemetry-propagator-grpc-census-binary/.eslintrc.js
+++ /dev/null
@@ -1,7 +0,0 @@
-module.exports = {
-    "env": {
-        "mocha": true,
-        "node": true
-    },
-    ...require('../../eslint.config.js')
-}
diff --git a/archive/opentelemetry-propagator-grpc-census-binary/CHANGELOG.md b/archive/opentelemetry-propagator-grpc-census-binary/CHANGELOG.md
deleted file mode 100644
index f6b5c40c3f..0000000000
--- a/archive/opentelemetry-propagator-grpc-census-binary/CHANGELOG.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# Changelog
-
-## [0.27.2](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/propagator-grpc-census-binary-v0.27.1...propagator-grpc-census-binary-v0.27.2) (2024-04-25)
-
-
-### Bug Fixes
-
-* revert modifications to Apache license ([#2105](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2105)) ([4590c8d](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/4590c8df184bbcb9bd67ce1111df9f25f865ccf2))
-
-## [0.27.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/propagator-grpc-census-binary-v0.27.0...propagator-grpc-census-binary-v0.27.1) (2023-08-14)
-
-
-### Bug Fixes
-
-* Revert "feat(minification): Add importHelpers and tslib as a dependency ([#1545](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1545))" ([#1611](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1611)) ([e5bca5f](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/e5bca5fe5b27adc59c8de8fe4087d38b69d93bd4))
-
-## [0.27.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/propagator-grpc-census-binary-v0.26.1...propagator-grpc-census-binary-v0.27.0) (2023-07-12)
-
-
-### Features
-
-* **minification:** Add importHelpers and tslib as a dependency ([#1545](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1545)) ([65f612e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/65f612e35c4d67b9935dc3a9155588b35d915482))
-
-## [0.26.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/propagator-grpc-census-binary-v0.26.0...propagator-grpc-census-binary-v0.26.1) (2023-05-16)
-
-
-### Bug Fixes
-
-* **eslint-config:** replace gts with prettier and eslint ([#1439](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1439)) ([2571c37](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/2571c371be1b5738442200cab2415b6a04c32aab))
-
-## [0.26.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/propagator-grpc-census-binary-v0.25.1...propagator-grpc-census-binary-v0.26.0) (2022-05-14)
-
-
-### Features
-
-* add supported node versions for all packages ([#973](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/973)) ([baaacbd](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/baaacbdd35ca4baab0afae64647aa8c0380ee4b7))
-* use Otel SDK 1.2/0.28 ([#984](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/984)) ([098c2ed](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/098c2ed6f9c5ab7bd865685018c0777245aab3b7))
-
-### [0.25.1](https://www.github.com/open-telemetry/opentelemetry-js-contrib/compare/propagator-grpc-census-binary-v0.25.0...propagator-grpc-census-binary-v0.25.1) (2022-01-24)
-
-
-### Bug Fixes
-
-* rename lerna's --include-filtered-dependencies option ([#817](https://www.github.com/open-telemetry/opentelemetry-js-contrib/issues/817)) ([cf268e7](https://www.github.com/open-telemetry/opentelemetry-js-contrib/commit/cf268e7a92b7800ad6dbec9ca77466f9ee03ee1a))
diff --git a/archive/opentelemetry-propagator-grpc-census-binary/LICENSE b/archive/opentelemetry-propagator-grpc-census-binary/LICENSE
deleted file mode 100644
index 261eeb9e9f..0000000000
--- a/archive/opentelemetry-propagator-grpc-census-binary/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/archive/opentelemetry-propagator-grpc-census-binary/README.md b/archive/opentelemetry-propagator-grpc-census-binary/README.md
deleted file mode 100644
index 0b9cc0caf9..0000000000
--- a/archive/opentelemetry-propagator-grpc-census-binary/README.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# OpenTelemetry Propagator gRPC Census
-
-[![NPM Published Version][npm-img]][npm-url]
-[![Apache License][license-image]][license-image]
-
-OpenTelemetry gRPC Census propagator provides gRPC header propagation for systems that use the OpenCensus 'grpc-trace-bin' binary header format. This allows for context propagation when either:
-
-- incoming gRPC calls come from services already instrumented using OpenCensus
-- outgoing gRPC calls go to services already instrumented using OpenCensus
-
-This propagator works in conjunction with the OpenTelemetry [gRPC plugin](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/exporter-trace-otlp-grpc).
-
-Example of usage:
-
-```javascript
-const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
-const { GrpcCensusPropagator } = require('@opentelemetry/propagator-grpc-census-binary');
-const { registerInstrumentations } = require('@opentelemetry/instrumentation');
-const { GrpcInstrumentation } = require('opentelemetry/instrumentation-grpc');
-
-const provider = new NodeTracerProvider();
-
-// Register GrpcCensusPropagator so we can propagate content using
-// the 'grpc-trace-bin' header in our incoming/outgoing gRPC calls.
-provider.register({
-  propagator: new GrpcCensusPropagator()
-});
-
-registerInstrumentations({
-  instrumentations: [
-    new GrpcInstrumentation(),
-  ],
-});
-
-```
-
-Also, see [examples/grpc-census-prop](../../examples/grpc-census-prop) for a
-worked example that shows when this propagator can be useful.
-
-## Implementation Details
-
-See [binary-format.ts](https://github.com/census-instrumentation/opencensus-node/blob/master/packages/opencensus-propagation-binaryformat/src/binary-format.ts) for equivalent encoding/decoding of the format in OpenCensus. Note: the author of the OpenCensus binary format, [@mayurkale22](https://github.com/mayurkale22), also created BinaryTraceContext.ts in [opentelemetry-core](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-core) but that was subsequently removed as part of PR [#804](https://github.com/open-telemetry/opentelemetry-js/pull/804). The implementation of GrpcCensusPropagator in _this_ module uses a version of BinaryTraceContext.ts inspired by Mayur's previous work (with minor modifications e.g. there is no longer a BinaryFormat interface to implement).
-
-## Useful links
-
-- For more information on OpenTelemetry, visit: <https://opentelemetry.io/>
-- For more about OpenTelemetry JavaScript: <https://github.com/open-telemetry/opentelemetry-js>
-- For help or feedback on this project, join us in [GitHub Discussions][discussions-url]
-
-## License
-
-Apache 2.0 - See [LICENSE][license-url] for more information.
-
-[discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
-[license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE
-[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
-[npm-url]: https://www.npmjs.com/package/@opentelemetry/propagator-grpc-census-binary
-[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fpropagator-grpc-census-binary.svg
diff --git a/archive/opentelemetry-propagator-grpc-census-binary/package.json b/archive/opentelemetry-propagator-grpc-census-binary/package.json
deleted file mode 100644
index 383d1cb1fb..0000000000
--- a/archive/opentelemetry-propagator-grpc-census-binary/package.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
-  "name": "@opentelemetry/propagator-grpc-census-binary",
-  "version": "0.27.2",
-  "description": "OpenTelemetry gRPC Census propagator provides a context propagator for OpenTelemetry that can use the gRPC binary header: 'grpc-trace-bin' for interoperability with OpenCensus",
-  "main": "build/src/index.js",
-  "types": "build/src/index.d.ts",
-  "repository": "open-telemetry/opentelemetry-js-contrib",
-  "scripts": {
-    "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'",
-    "tdd": "npm run tdd:node",
-    "tdd:node": "npm run test -- --watch-extensions ts --watch",
-    "clean": "rimraf build/*",
-    "lint": "eslint . --ext .ts",
-    "lint:fix": "eslint . --ext .ts --fix",
-    "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/propagator-grpc-census-binary --include-dependencies",
-    "prewatch": "npm run precompile",
-    "compile": "tsc -p .",
-    "prepublishOnly": "npm run compile",
-    "watch": "tsc -w"
-  },
-  "keywords": [
-    "opentelemetry",
-    "nodejs",
-    "tracing",
-    "grpc",
-    "opencensus"
-  ],
-  "author": "OpenTelemetry Authors",
-  "license": "Apache-2.0",
-  "engines": {
-    "node": ">=14"
-  },
-  "files": [
-    "build/src/**/*.js",
-    "build/src/**/*.js.map",
-    "build/src/**/*.d.ts"
-  ],
-  "publishConfig": {
-    "access": "public"
-  },
-  "peerDependencies": {
-    "@opentelemetry/api": "^1.0.0"
-  },
-  "devDependencies": {
-    "@opentelemetry/api": "^1.0.0",
-    "@types/mocha": "7.0.2",
-    "@types/node": "18.6.5",
-    "grpc": "1.24.11",
-    "mocha": "7.2.0",
-    "nyc": "15.1.0",
-    "rimraf": "5.0.5",
-    "ts-loader": "8.3.0",
-    "ts-mocha": "10.0.0",
-    "typescript": "4.4.4"
-  },
-  "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/propagators/opentelemetry-propagator-grpc-census-binary#readme"
-}
diff --git a/archive/opentelemetry-propagator-grpc-census-binary/src/BinaryTraceContext.ts b/archive/opentelemetry-propagator-grpc-census-binary/src/BinaryTraceContext.ts
deleted file mode 100644
index 5470441b09..0000000000
--- a/archive/opentelemetry-propagator-grpc-census-binary/src/BinaryTraceContext.ts
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { SpanContext, TraceFlags } from '@opentelemetry/api';
-
-const VERSION_ID = 0;
-const TRACE_ID_FIELD_ID = 0;
-const SPAN_ID_FIELD_ID = 1;
-const TRACE_OPTION_FIELD_ID = 2;
-
-// Sizes are number of bytes.
-const ID_SIZE = 1;
-const TRACE_ID_SIZE = 16;
-const SPAN_ID_SIZE = 8;
-const TRACE_OPTION_SIZE = 1;
-
-const VERSION_ID_OFFSET = 0;
-const TRACE_ID_FIELD_ID_OFFSET = VERSION_ID_OFFSET + ID_SIZE;
-const TRACE_ID_OFFSET = TRACE_ID_FIELD_ID_OFFSET + ID_SIZE;
-const SPAN_ID_FIELD_ID_OFFSET = TRACE_ID_OFFSET + TRACE_ID_SIZE;
-const SPAN_ID_OFFSET = SPAN_ID_FIELD_ID_OFFSET + ID_SIZE;
-const TRACE_OPTION_FIELD_ID_OFFSET = SPAN_ID_OFFSET + SPAN_ID_SIZE;
-const TRACE_OPTIONS_OFFSET = TRACE_OPTION_FIELD_ID_OFFSET + ID_SIZE;
-
-const FORMAT_LENGTH =
-  4 * ID_SIZE + TRACE_ID_SIZE + SPAN_ID_SIZE + TRACE_OPTION_SIZE;
-
-/**
- * Used to encode SpanContext to binary (toBytes) or decode SpanContext
- * from binary (fromBytes). Derived from a previous implementation in
- * opentelemetry-core (see README.md). Supports the main
- * GrpcCensusPropagator class.
- */
-export class BinaryTraceContext {
-  /**
-   * Converts context to the binary format used by OpenCensus.
-   *
-   * @param spanContext - The SpanContext to encode
-   * @returns Encoded context as a Uint8Array
-   */
-  static toBytes(spanContext: SpanContext): Uint8Array {
-    /**
-     *  0           1           2
-     *  0 1 2345678901234567 8 90123456 7 8
-     * -------------------------------------
-     * | | |                | |        | | |
-     * -------------------------------------
-     *  ^ ^      ^           ^    ^     ^ ^
-     *  | |      |           |    |     | `-- options value
-     *  | |      |           |    |     `---- options field ID (2)
-     *  | |      |           |    `---------- spanID value
-     *  | |      |           `--------------- spanID field ID (1)
-     *  | |      `--------------------------- traceID value
-     *  | `---------------------------------- traceID field ID (0)
-     *  `------------------------------------ version (0)
-     */
-    const traceId = spanContext.traceId;
-    const spanId = spanContext.spanId;
-    const buf = new Uint8Array(FORMAT_LENGTH);
-    let j = TRACE_ID_OFFSET;
-    for (let i = TRACE_ID_OFFSET; i < SPAN_ID_FIELD_ID_OFFSET; i++) {
-      // tslint:disable-next-line:ban Needed to parse hexadecimal.
-      buf[j++] = parseInt(traceId.substr((i - TRACE_ID_OFFSET) * 2, 2), 16);
-    }
-    buf[j++] = SPAN_ID_FIELD_ID;
-    for (let i = SPAN_ID_OFFSET; i < TRACE_OPTION_FIELD_ID_OFFSET; i++) {
-      // tslint:disable-next-line:ban Needed to parse hexadecimal.
-      buf[j++] = parseInt(spanId.substr((i - SPAN_ID_OFFSET) * 2, 2), 16);
-    }
-    buf[j++] = TRACE_OPTION_FIELD_ID;
-    buf[j++] = Number(spanContext.traceFlags) || TraceFlags.NONE;
-    return buf;
-  }
-
-  /**
-   * Converts the binary format used by OpenCensus to a SpanContext
-   *
-   * @param buf - Encoded context as a Uint8Array
-   * @returns Decoded context or null if the incoming binary is invalid
-   */
-  static fromBytes(buf: Uint8Array): SpanContext | null {
-    const result: SpanContext = {
-      traceId: '',
-      spanId: '',
-      traceFlags: TraceFlags.NONE,
-    };
-    // Length must be 29.
-    if (buf.length !== FORMAT_LENGTH) return null;
-    // Check version and field numbers.
-    if (
-      buf[VERSION_ID_OFFSET] !== VERSION_ID ||
-      buf[TRACE_ID_FIELD_ID_OFFSET] !== TRACE_ID_FIELD_ID ||
-      buf[SPAN_ID_FIELD_ID_OFFSET] !== SPAN_ID_FIELD_ID ||
-      buf[TRACE_OPTION_FIELD_ID_OFFSET] !== TRACE_OPTION_FIELD_ID
-    ) {
-      return null;
-    }
-
-    result.isRemote = true;
-
-    // See toBytes for byte offsets.
-    result.traceId = toHex(buf.slice(TRACE_ID_OFFSET, SPAN_ID_FIELD_ID_OFFSET));
-    result.spanId = toHex(
-      buf.slice(SPAN_ID_OFFSET, TRACE_OPTION_FIELD_ID_OFFSET)
-    );
-    result.traceFlags = buf[TRACE_OPTIONS_OFFSET];
-    return result;
-  }
-}
-
-/**
- * Convert a binary array to a Hex representation
- *
- * @param buff - binary array to be converted
- * @returns Hex representation
- */
-function toHex(buff: Uint8Array) {
-  let out = '';
-  for (let i = 0; i < buff.length; ++i) {
-    const n = buff[i];
-    if (n < 16) {
-      out += '0' + n.toString(16);
-    } else {
-      out += n.toString(16);
-    }
-  }
-  return out;
-}
diff --git a/archive/opentelemetry-propagator-grpc-census-binary/src/GrpcCensusPropagator.ts b/archive/opentelemetry-propagator-grpc-census-binary/src/GrpcCensusPropagator.ts
deleted file mode 100644
index 3610026038..0000000000
--- a/archive/opentelemetry-propagator-grpc-census-binary/src/GrpcCensusPropagator.ts
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import {
-  Context,
-  trace,
-  TextMapGetter,
-  TextMapSetter,
-  TextMapPropagator,
-} from '@opentelemetry/api';
-import { BinaryTraceContext } from './BinaryTraceContext';
-
-/** The metadata key under which span context is stored as a binary value. */
-export const GRPC_TRACE_KEY = 'grpc-trace-bin';
-
-const VALID_TRACEID_REGEX = /^[0-9a-f]{32}$/i;
-const VALID_SPANID_REGEX = /^[0-9a-f]{16}$/i;
-const INVALID_ID_REGEX = /^0+$/i;
-
-/**
- * Check whether a traceId is valid
- * @param traceId - traceId to check
- * @returns true if valid
- */
-function isValidTraceId(traceId: string): boolean {
-  return VALID_TRACEID_REGEX.test(traceId) && !INVALID_ID_REGEX.test(traceId);
-}
-
-/**
- * Check whether a spanId is valid
- * @param spanId - spanId to check
- * @returns true if valid
- */
-function isValidSpanId(spanId: string): boolean {
-  return VALID_SPANID_REGEX.test(spanId) && !INVALID_ID_REGEX.test(spanId);
-}
-
-/**
- * Propagator for the grpc-trace-bin header used by OpenCensus for
- * gRPC. Acts as a bridge between the TextMapPropagator interface and
- * the binary encoding/decoding that happens in the supporting
- * BinaryTraceContext class.
- */
-export class GrpcCensusPropagator implements TextMapPropagator {
-  /**
-   * Injects trace propagation context into the carrier after encoding
-   * in binary format
-   *
-   * @param context - Context to be injected
-   * @param carrier - Carrier in which to inject (for gRPC this will
-   *     be a grpc.Metadata object)
-   * @param setter - setter function that sets the correct key in
-   *     the carrier
-   */
-  inject(context: Context, carrier: unknown, setter: TextMapSetter) {
-    const spanContext = trace.getSpan(context)?.spanContext();
-    if (!spanContext) return;
-
-    if (
-      isValidTraceId(spanContext.traceId) &&
-      isValidSpanId(spanContext.spanId)
-    ) {
-      // We set the header only if there is an existing sampling decision.
-      // Otherwise we will omit it => Absent.
-      if (spanContext.traceFlags !== undefined) {
-        const encodedArray = BinaryTraceContext.toBytes(spanContext);
-        const encodedContext = Buffer.from(encodedArray.buffer);
-
-        if (carrier && encodedContext) {
-          // Set the gRPC header (carrier will be of type grpc.Metadata)
-          // @TODO FIX ME once this is resolved
-          // https://github.com/open-telemetry/opentelemetry-specification/issues/437
-          setter.set(carrier, GRPC_TRACE_KEY, encodedContext as any);
-          // setter.set(carrier, GRPC_TRACE_KEY, encodedContext);
-        }
-      }
-    }
-  }
-
-  /**
-   * Extracts trace propagation context from the carrier and decodes
-   * from the binary format
-   *
-   * @param context - context to set extracted span context on
-   * @param carrier - Carrier from which to extract (for gRPC this will
-   *     be a grpc.Metadata object)
-   * @param getter - getter function that gets value(s) for the correct
-   *     key in the carrier
-   * @returns Extracted context if successful, otherwise the input context
-   */
-  extract(context: Context, carrier: unknown, getter: TextMapGetter): Context {
-    if (carrier) {
-      // Get the gRPC header (carrier will be of type grpc.Metadata and
-      // getter actually returns an Array so we use the zero-th element if
-      // it exists)
-
-      // @TODO FIX ME once this is resolved
-      // https://github.com/open-telemetry/opentelemetry-specification/issues/437
-      const values = getter.get(
-        carrier,
-        GRPC_TRACE_KEY
-      ) as unknown as Array<Buffer>;
-      // const values = getter.get(carrier, GRPC_TRACE_KEY) as Array<Buffer>;
-      const metadataValue = values.length > 0 ? values[0] : null;
-
-      if (!metadataValue) {
-        // No metadata, return empty context
-        return context;
-      } else {
-        const decodedContext = BinaryTraceContext.fromBytes(metadataValue);
-
-        if (decodedContext) {
-          const traceId = decodedContext.traceId;
-          const spanId = decodedContext.spanId;
-
-          if (isValidTraceId(traceId) && isValidSpanId(spanId)) {
-            return trace.setSpan(
-              context,
-              trace.wrapSpanContext({
-                traceId,
-                spanId,
-                isRemote: true,
-                traceFlags: decodedContext.traceFlags,
-              })
-            );
-          }
-          return context;
-        } else {
-          // Failed to deserialize Span Context, return empty context
-          return context;
-        }
-      }
-    }
-
-    return context;
-  }
-
-  fields(): string[] {
-    return [GRPC_TRACE_KEY];
-  }
-}
diff --git a/archive/opentelemetry-propagator-grpc-census-binary/src/index.ts b/archive/opentelemetry-propagator-grpc-census-binary/src/index.ts
deleted file mode 100644
index daf40be1c4..0000000000
--- a/archive/opentelemetry-propagator-grpc-census-binary/src/index.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-export * from './GrpcCensusPropagator';
diff --git a/archive/opentelemetry-propagator-grpc-census-binary/test/BinaryTraceContext.test.ts b/archive/opentelemetry-propagator-grpc-census-binary/test/BinaryTraceContext.test.ts
deleted file mode 100644
index 0e1627bbe4..0000000000
--- a/archive/opentelemetry-propagator-grpc-census-binary/test/BinaryTraceContext.test.ts
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import * as assert from 'assert';
-import { BinaryTraceContext } from '../src/BinaryTraceContext';
-import { SpanContext, TraceFlags } from '@opentelemetry/api';
-
-describe('BinaryTraceContext', () => {
-  const commonTraceId = 'd4cda95b652f4a0b92b449d5929fda1b';
-  const commonSpanId = '75e8ed491aec7eca';
-
-  const testCases: Array<{
-    structured: SpanContext | null;
-    binary: Uint8Array;
-    description: string;
-  }> = [
-    {
-      structured: {
-        traceId: commonTraceId,
-        spanId: commonSpanId,
-        traceFlags: TraceFlags.SAMPLED,
-      },
-      binary: new Uint8Array([
-        0, 0, 212, 205, 169, 91, 101, 47, 74, 11, 146, 180, 73, 213, 146, 159,
-        218, 27, 1, 117, 232, 237, 73, 26, 236, 126, 202, 2, 1,
-      ]),
-      description: 'span context with 64-bit span ID',
-    },
-    {
-      structured: {
-        traceId: commonTraceId,
-        spanId: commonSpanId,
-        traceFlags: TraceFlags.NONE,
-      },
-      binary: new Uint8Array([
-        0, 0, 212, 205, 169, 91, 101, 47, 74, 11, 146, 180, 73, 213, 146, 159,
-        218, 27, 1, 117, 232, 237, 73, 26, 236, 126, 202, 2, 0,
-      ]),
-      description: 'span context with no traceFlags',
-    },
-    {
-      structured: null,
-      binary: new Uint8Array([0, 0]),
-      description: 'incomplete binary span context (by returning null)',
-    },
-    {
-      structured: null,
-      binary: new Uint8Array(29),
-      description: 'bad binary span context (by returning null)',
-    },
-  ];
-
-  describe('.toBytes()', () => {
-    testCases.forEach(
-      testCase =>
-        testCase.structured &&
-        it(`should serialize ${testCase.description}`, () => {
-          assert.deepStrictEqual(
-            BinaryTraceContext.toBytes(testCase.structured!),
-            testCase.binary
-          );
-        })
-    );
-  });
-
-  describe('.fromBytes()', () => {
-    testCases.forEach(testCase =>
-      it(`should deserialize ${testCase.description}`, () => {
-        assert.deepStrictEqual(
-          BinaryTraceContext.fromBytes(testCase.binary),
-          testCase.structured &&
-            Object.assign(
-              { isRemote: true, traceFlags: TraceFlags.NONE },
-              testCase.structured
-            )
-        );
-      })
-    );
-  });
-});
diff --git a/archive/opentelemetry-propagator-grpc-census-binary/test/GrpcCensusPropagator.test.ts b/archive/opentelemetry-propagator-grpc-census-binary/test/GrpcCensusPropagator.test.ts
deleted file mode 100644
index b90696e4bc..0000000000
--- a/archive/opentelemetry-propagator-grpc-census-binary/test/GrpcCensusPropagator.test.ts
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import {
-  ROOT_CONTEXT,
-  SpanContext,
-  TextMapGetter,
-  TextMapSetter,
-  TraceFlags,
-  trace,
-} from '@opentelemetry/api';
-import * as assert from 'assert';
-import { Metadata, MetadataValue } from 'grpc';
-import {
-  GrpcCensusPropagator,
-  GRPC_TRACE_KEY,
-} from '../src/GrpcCensusPropagator';
-
-describe('GrpcCensusPropagator', () => {
-  const censusPropagator = new GrpcCensusPropagator();
-  const metadata = new Metadata();
-
-  beforeEach(() => {
-    metadata.remove(GRPC_TRACE_KEY);
-  });
-
-  describe('.inject()', () => {
-    it('should set grpc-trace-bin header correctly for sampled span', () => {
-      const spanContext: SpanContext = {
-        traceId: 'd4cda95b652f4a1592b449d5929fda1b',
-        spanId: '6e0c63257de34c92',
-        traceFlags: TraceFlags.SAMPLED,
-      };
-      censusPropagator.inject(
-        trace.setSpan(ROOT_CONTEXT, trace.wrapSpanContext(spanContext)),
-        metadata,
-        makeSetter((metadata: any, k: any, v: any) =>
-          metadata.set(k, v as MetadataValue)
-        )
-      );
-
-      const value = metadata.getMap()[GRPC_TRACE_KEY] as Buffer;
-
-      const binaryExpected = `0000${spanContext.traceId}01${
-        spanContext.spanId
-      }02${'01'}`;
-
-      assert.deepStrictEqual(value.toString('hex'), binaryExpected);
-    });
-
-    it('should set grpc-trace-bin header correctly for unsampled span', () => {
-      const spanContext: SpanContext = {
-        traceId: 'd4cda95b652f4a1592b449d5929fda1b',
-        spanId: '6e0c63257de34c92',
-        traceFlags: TraceFlags.NONE,
-      };
-      censusPropagator.inject(
-        trace.setSpan(ROOT_CONTEXT, trace.wrapSpanContext(spanContext)),
-        metadata,
-        makeSetter((metadata: any, k: any, v: any) =>
-          metadata.set(k, v as MetadataValue)
-        )
-      );
-
-      const value = metadata.getMap()[GRPC_TRACE_KEY] as Buffer;
-
-      const binaryExpected = `0000${spanContext.traceId}01${
-        spanContext.spanId
-      }02${'00'}`;
-
-      assert.deepStrictEqual(value.toString('hex'), binaryExpected);
-    });
-
-    it('should not inject empty spancontext', () => {
-      const emptySpanContext = {
-        traceId: '',
-        spanId: '',
-        traceFlags: TraceFlags.NONE,
-      };
-      censusPropagator.inject(
-        trace.setSpan(ROOT_CONTEXT, trace.wrapSpanContext(emptySpanContext)),
-        metadata,
-        makeSetter((metadata: any, k: any, v: any) =>
-          metadata.set(k, v as MetadataValue)
-        )
-      );
-
-      const value = metadata.getMap()[GRPC_TRACE_KEY] as Buffer;
-      assert.deepStrictEqual(value, undefined);
-    });
-
-    it('should not inject when context has no parent', () => {
-      censusPropagator.inject(
-        ROOT_CONTEXT,
-        metadata,
-        makeSetter((metadata: any, k: any, v: any) =>
-          metadata.set(k, v as MetadataValue)
-        )
-      );
-
-      const value = metadata.getMap()[GRPC_TRACE_KEY] as Buffer;
-      assert.deepStrictEqual(value, undefined);
-    });
-
-    it('should not try to inject without valid TraceFlags', () => {
-      const spanContext = {
-        traceId: 'd4cda95b652f4a1592b449d5929fda1b',
-        spanId: '6e0c63257de34c92',
-        traceFlags: undefined,
-      };
-      censusPropagator.inject(
-        // cast to any so that undefined traceFlags can be used for coverage
-        trace.setSpan(ROOT_CONTEXT, trace.wrapSpanContext(spanContext as any)),
-        metadata,
-        makeSetter((metadata: any, k: any, v: any) =>
-          metadata.set(k, v as MetadataValue)
-        )
-      );
-
-      const value = metadata.getMap()[GRPC_TRACE_KEY] as Buffer;
-      assert.deepStrictEqual(value, undefined);
-    });
-
-    it('should not try to inject without carrier', () => {
-      const emptySpanContext = {
-        traceId: 'd4cda95b652f4a1592b449d5929fda1b',
-        spanId: '6e0c63257de34c92',
-        traceFlags: TraceFlags.SAMPLED,
-      };
-      censusPropagator.inject(
-        trace.setSpan(ROOT_CONTEXT, trace.wrapSpanContext(emptySpanContext)),
-        null,
-        makeSetter((metadata: any, k: any, v: any) =>
-          metadata.set(k, v as MetadataValue)
-        )
-      );
-
-      const value = metadata.getMap()[GRPC_TRACE_KEY] as Buffer;
-      assert.deepStrictEqual(value, undefined);
-    });
-  });
-
-  describe('.extract()', () => {
-    it('should extract context of a unsampled span from carrier', () => {
-      const encodedArray = getUnsampledSpanEncodedArray();
-      const encoded = Buffer.from(encodedArray.buffer);
-      metadata.set(GRPC_TRACE_KEY, encoded);
-
-      const extractedSpanContext = trace
-        .getSpan(censusPropagator.extract(ROOT_CONTEXT, metadata, makeGetter()))
-        ?.spanContext();
-
-      assert.deepStrictEqual(extractedSpanContext, {
-        spanId: '75e8ed491aec7eca',
-        traceId: 'd4cda95b652f4a0b92b449d5929fda1b',
-        isRemote: true,
-        traceFlags: TraceFlags.NONE,
-      });
-    });
-
-    it('should extract context of a sampled span from carrier', () => {
-      const encodedArray = getUnsampledSpanEncodedArray();
-
-      // switch last byte to sampled
-      encodedArray[encodedArray.length - 1] = 1;
-      const encoded = Buffer.from(encodedArray.buffer);
-      metadata.set(GRPC_TRACE_KEY, encoded);
-
-      const extractedSpanContext = trace
-        .getSpan(censusPropagator.extract(ROOT_CONTEXT, metadata, makeGetter()))
-        ?.spanContext();
-
-      assert.deepStrictEqual(extractedSpanContext, {
-        spanId: '75e8ed491aec7eca',
-        traceId: 'd4cda95b652f4a0b92b449d5929fda1b',
-        isRemote: true,
-        traceFlags: TraceFlags.SAMPLED,
-      });
-    });
-
-    it('should return undefined when header is not set', () => {
-      const extractedSpanContext = trace
-        .getSpan(censusPropagator.extract(ROOT_CONTEXT, metadata, makeGetter()))
-        ?.spanContext();
-      assert.deepStrictEqual(extractedSpanContext, undefined);
-    });
-
-    it('should return undefined for invalid field IDs', () => {
-      // zero out all 29 bytes - this will fail due to lack of valid
-      // field IDs for spanId and options (bytes 18 and 27)
-      const encodedArray = new Uint8Array(29);
-
-      const encoded = Buffer.from(encodedArray.buffer);
-      metadata.set(GRPC_TRACE_KEY, encoded);
-
-      const extractedSpanContext = trace
-        .getSpan(censusPropagator.extract(ROOT_CONTEXT, metadata, makeGetter()))
-        ?.spanContext();
-
-      assert.deepStrictEqual(extractedSpanContext, undefined);
-    });
-
-    it('should return undefined for invalid trace or span ids', () => {
-      // this should give coverage for the flow where either
-      // isValidTraceId or isValidSpanId fails
-
-      // zero out all 29 bytes except for the spanId field ID and
-      // the options field IF
-      const encodedArray = new Uint8Array(29);
-      encodedArray[18] = 1;
-      encodedArray[27] = 2;
-
-      const encoded = Buffer.from(encodedArray.buffer);
-      metadata.set(GRPC_TRACE_KEY, encoded);
-
-      const extractedSpanContext = trace
-        .getSpan(censusPropagator.extract(ROOT_CONTEXT, metadata, makeGetter()))
-        ?.spanContext();
-
-      assert.deepStrictEqual(extractedSpanContext, undefined);
-    });
-
-    it('should return undefined when carrier is null', () => {
-      const extractedSpanContext = trace
-        .getSpan(censusPropagator.extract(ROOT_CONTEXT, metadata, makeGetter()))
-        ?.spanContext();
-      assert.deepStrictEqual(extractedSpanContext, undefined);
-    });
-  });
-
-  describe('fields', () => {
-    it('should return valid values', () => {
-      assert.deepStrictEqual(censusPropagator.fields(), ['grpc-trace-bin']);
-    });
-  });
-});
-
-function getUnsampledSpanEncodedArray() {
-  return new Uint8Array([
-    0, 0, 212, 205, 169, 91, 101, 47, 74, 11, 146, 180, 73, 213, 146, 159, 218,
-    27, 1, 117, 232, 237, 73, 26, 236, 126, 202, 2, 0,
-  ]);
-}
-
-function makeSetter(callback: (metadata: any, k: any, v: any) => void) {
-  const setter: TextMapSetter = {
-    set(carrier, key, value) {
-      callback(carrier, key, value);
-    },
-  };
-  return setter;
-}
-
-function makeGetter() {
-  const getter: TextMapGetter = {
-    get(carrier, key) {
-      if (carrier) {
-        return carrier.get(key);
-      }
-    },
-    keys(carrier) {
-      if (carrier == null) {
-        return [];
-      }
-      return Object.keys(carrier);
-    },
-  };
-  return getter;
-}
diff --git a/archive/opentelemetry-propagator-grpc-census-binary/tsconfig.json b/archive/opentelemetry-propagator-grpc-census-binary/tsconfig.json
deleted file mode 100644
index 4078877ce6..0000000000
--- a/archive/opentelemetry-propagator-grpc-census-binary/tsconfig.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "extends": "../../tsconfig.base",
-  "compilerOptions": {
-    "rootDir": ".",
-    "outDir": "build"
-  },
-  "include": [
-    "src/**/*.ts",
-    "test/**/*.ts"
-  ]
-}

From b08f01f2d4604c14334b860e411eb55c58631171 Mon Sep 17 00:00:00 2001
From: Ryan Eberhardt <reberhardt7@gmail.com>
Date: Wed, 19 Jun 2024 03:28:38 -0700
Subject: [PATCH 038/123] fix(instr-undici): respect requireParent flag when
 INVALID_SPAN_CONTEXT is used (#2273)

---
 .../node/instrumentation-undici/src/undici.ts |  5 +++-
 .../test/undici.test.ts                       | 25 +++++++++++++++++++
 2 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/plugins/node/instrumentation-undici/src/undici.ts b/plugins/node/instrumentation-undici/src/undici.ts
index aa89c4f4ea..924b1bc013 100644
--- a/plugins/node/instrumentation-undici/src/undici.ts
+++ b/plugins/node/instrumentation-undici/src/undici.ts
@@ -239,7 +239,10 @@ export class UndiciInstrumentation extends InstrumentationBase {
     const currentSpan = trace.getSpan(activeCtx);
     let span: Span;
 
-    if (config.requireParentforSpans && !currentSpan) {
+    if (
+      config.requireParentforSpans &&
+      (!currentSpan || !trace.isSpanContextValid(currentSpan.spanContext()))
+    ) {
       span = trace.wrapSpanContext(INVALID_SPAN_CONTEXT);
     } else {
       span = this.tracer.startSpan(
diff --git a/plugins/node/instrumentation-undici/test/undici.test.ts b/plugins/node/instrumentation-undici/test/undici.test.ts
index c125b2e189..89183dfde6 100644
--- a/plugins/node/instrumentation-undici/test/undici.test.ts
+++ b/plugins/node/instrumentation-undici/test/undici.test.ts
@@ -17,6 +17,7 @@ import * as assert from 'assert';
 import { Writable } from 'stream';
 
 import {
+  INVALID_SPAN_CONTEXT,
   SpanKind,
   SpanStatusCode,
   context,
@@ -626,6 +627,30 @@ describe('UndiciInstrumentation `undici` tests', function () {
       assert.strictEqual(spans.length, 0, 'no spans are created');
     });
 
+    it('should not create spans with INVALID_SPAN_CONTEXT parent if required in configuration', async function () {
+      let spans = memoryExporter.getFinishedSpans();
+      assert.strictEqual(spans.length, 0);
+
+      instrumentation.setConfig({
+        enabled: true,
+        requireParentforSpans: true,
+      });
+
+      const root = trace.wrapSpanContext(INVALID_SPAN_CONTEXT);
+      await context.with(trace.setSpan(context.active(), root), async () => {
+        const requestUrl = `${protocol}://${hostname}:${mockServer.port}/?query=test`;
+        const response = await undici.request(requestUrl);
+        await consumeResponseBody(response.body);
+        assert.ok(
+          response.headers['propagation-error'] == null,
+          'propagation is set for instrumented requests'
+        );
+      });
+
+      spans = memoryExporter.getFinishedSpans();
+      assert.strictEqual(spans.length, 0, 'no spans are created');
+    });
+
     it('should create spans with parent if required in configuration', function (done) {
       let spans = memoryExporter.getFinishedSpans();
       assert.strictEqual(spans.length, 0);

From 72e3f66c2049189172491a166a20c1af3f547ee5 Mon Sep 17 00:00:00 2001
From: Yoann MALLEMANCHE <yoann.mallemanche@gmail.com>
Date: Wed, 19 Jun 2024 17:28:37 +0200
Subject: [PATCH 039/123] fix(instr-undici): wrong user agent reported if no
 user agent were set (#2282)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 .../node/instrumentation-undici/src/undici.ts |  4 +-
 .../test/undici.test.ts                       | 38 +++++++++++++++++++
 2 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/plugins/node/instrumentation-undici/src/undici.ts b/plugins/node/instrumentation-undici/src/undici.ts
index 924b1bc013..e436c8aff4 100644
--- a/plugins/node/instrumentation-undici/src/undici.ts
+++ b/plugins/node/instrumentation-undici/src/undici.ts
@@ -205,7 +205,9 @@ export class UndiciInstrumentation extends InstrumentationBase {
       const idx = request.headers.findIndex(
         h => h.toLowerCase() === 'user-agent'
       );
-      userAgent = request.headers[idx + 1];
+      if (idx >= 0) {
+        userAgent = request.headers[idx + 1];
+      }
     } else if (typeof request.headers === 'string') {
       const headers = request.headers.split('\r\n');
       const uaHeader = headers.find(h =>
diff --git a/plugins/node/instrumentation-undici/test/undici.test.ts b/plugins/node/instrumentation-undici/test/undici.test.ts
index 89183dfde6..69ef7f5011 100644
--- a/plugins/node/instrumentation-undici/test/undici.test.ts
+++ b/plugins/node/instrumentation-undici/test/undici.test.ts
@@ -768,5 +768,43 @@ describe('UndiciInstrumentation `undici` tests', function () {
         },
       });
     });
+
+    it('should not report an user-agent if it was not defined', async function () {
+      let spans = memoryExporter.getFinishedSpans();
+      assert.strictEqual(spans.length, 0);
+
+      // Do some requests
+      const headers = {
+        'foo-client': 'bar',
+      };
+
+      const queryRequestUrl = `${protocol}://${hostname}:${mockServer.port}/?query=test`;
+      const queryResponse = await undici.request(queryRequestUrl, { headers });
+      await consumeResponseBody(queryResponse.body);
+
+      assert.ok(
+        queryResponse.headers['propagation-error'] == null,
+        'propagation is set for instrumented requests'
+      );
+
+      spans = memoryExporter.getFinishedSpans();
+      const span = spans[0];
+      assert.ok(span, 'a span is present');
+      assert.strictEqual(spans.length, 1);
+      assertSpan(span, {
+        hostname: 'localhost',
+        httpStatusCode: queryResponse.statusCode,
+        httpMethod: 'GET',
+        path: '/',
+        query: '?query=test',
+        reqHeaders: headers,
+        resHeaders: queryResponse.headers,
+      });
+      assert.strictEqual(
+        span.attributes['user_agent.original'],
+        undefined,
+        'user-agent is undefined'
+      );
+    });
   });
 });

From c3afab7ddd4e86fd32478b19f64b94b33f157520 Mon Sep 17 00:00:00 2001
From: Jamie Danielson <jamiedanielson@honeycomb.io>
Date: Wed, 19 Jun 2024 13:10:18 -0400
Subject: [PATCH 040/123] feat(auto-instrumentations-node): disabling
 instrumentations via env var (#2174)

* feat(auto-instr-node): disabling instrumentations via env var

* create new func to reduce code duplication

* fix Object is possibly undefined

---------

Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
---
 .../auto-instrumentations-node/README.md      | 11 ++++-
 .../auto-instrumentations-node/src/utils.ts   | 43 ++++++++++++++++---
 .../test/utils.test.ts                        | 25 +++++++++++
 3 files changed, 70 insertions(+), 9 deletions(-)

diff --git a/metapackages/auto-instrumentations-node/README.md b/metapackages/auto-instrumentations-node/README.md
index 221a0570a5..c32df7c437 100644
--- a/metapackages/auto-instrumentations-node/README.md
+++ b/metapackages/auto-instrumentations-node/README.md
@@ -77,8 +77,9 @@ For example, to enable only the `env`, `host` detectors:
 export OTEL_NODE_RESOURCE_DETECTORS="env,host"
 ```
 
-By default, all [Supported Instrumentations](#supported-instrumentations) are enabled,
-but you can use the environment variable `OTEL_NODE_ENABLED_INSTRUMENTATIONS` to enable only certain instrumentations
+By default, all [Supported Instrumentations](#supported-instrumentations) are enabled.
+You can use the environment variable `OTEL_NODE_ENABLED_INSTRUMENTATIONS` to enable only certain instrumentations,
+OR the environment variable `OTEL_NODE_DISABLED_INSTRUMENTATIONS` to disable only certain instrumentations,
 by providing a comma-separated list of the instrumentation package names without the `@opentelemetry/instrumentation-` prefix.
 
 For example, to enable only
@@ -90,6 +91,12 @@ instrumentations:
 export OTEL_NODE_ENABLED_INSTRUMENTATIONS="http,nestjs-core"
 ```
 
+To disable only [@opentelemetry/instrumentation-fs](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-fs):
+
+```shell
+export OTEL_NODE_DISABLED_INSTRUMENTATIONS="fs"
+```
+
 To enable logging for troubleshooting, set the log level by setting the `OTEL_LOG_LEVEL` environment variable to one of the following:
 
 - `none`
diff --git a/metapackages/auto-instrumentations-node/src/utils.ts b/metapackages/auto-instrumentations-node/src/utils.ts
index 04f4c1ed50..c258dfc597 100644
--- a/metapackages/auto-instrumentations-node/src/utils.ts
+++ b/metapackages/auto-instrumentations-node/src/utils.ts
@@ -147,6 +147,7 @@ export function getNodeAutoInstrumentations(
 ): Instrumentation[] {
   checkManuallyProvidedInstrumentationNames(Object.keys(inputConfigs));
   const enabledInstrumentationsFromEnv = getEnabledInstrumentationsFromEnv();
+  const disabledInstrumentationsFromEnv = getDisabledInstrumentationsFromEnv();
 
   const instrumentations: Instrumentation[] = [];
 
@@ -159,7 +160,8 @@ export function getNodeAutoInstrumentations(
 
     if (
       userConfig.enabled === false ||
-      !enabledInstrumentationsFromEnv.includes(name)
+      !enabledInstrumentationsFromEnv.includes(name) ||
+      disabledInstrumentationsFromEnv.includes(name)
     ) {
       diag.debug(`Disabling instrumentation for ${name}`);
       continue;
@@ -186,6 +188,22 @@ function checkManuallyProvidedInstrumentationNames(
   }
 }
 
+function getInstrumentationsFromEnv(envVar: string): string[] {
+  const envVarValue = process.env[envVar];
+  if (envVarValue == null) {
+    return [];
+  }
+
+  const instrumentationsFromEnv = envVarValue
+    ?.split(',')
+    .map(
+      instrumentationPkgSuffix =>
+        `@opentelemetry/instrumentation-${instrumentationPkgSuffix.trim()}`
+    );
+  checkManuallyProvidedInstrumentationNames(instrumentationsFromEnv);
+  return instrumentationsFromEnv;
+}
+
 /**
  * Returns the list of instrumentations that are enabled based on the environment variable.
  */
@@ -194,12 +212,23 @@ function getEnabledInstrumentationsFromEnv() {
     return Object.keys(InstrumentationMap);
   }
 
-  const instrumentationsFromEnv =
-    process.env.OTEL_NODE_ENABLED_INSTRUMENTATIONS.split(',').map(
-      instrumentationPkgSuffix =>
-        `@opentelemetry/instrumentation-${instrumentationPkgSuffix.trim()}`
-    );
-  checkManuallyProvidedInstrumentationNames(instrumentationsFromEnv);
+  const instrumentationsFromEnv = getInstrumentationsFromEnv(
+    'OTEL_NODE_ENABLED_INSTRUMENTATIONS'
+  );
+  return instrumentationsFromEnv;
+}
+
+/**
+ * Returns the list of instrumentations that are disabled based on the environment variable.
+ */
+function getDisabledInstrumentationsFromEnv() {
+  if (!process.env.OTEL_NODE_DISABLED_INSTRUMENTATIONS) {
+    return [];
+  }
+
+  const instrumentationsFromEnv = getInstrumentationsFromEnv(
+    'OTEL_NODE_DISABLED_INSTRUMENTATIONS'
+  );
   return instrumentationsFromEnv;
 }
 
diff --git a/metapackages/auto-instrumentations-node/test/utils.test.ts b/metapackages/auto-instrumentations-node/test/utils.test.ts
index 0622022f36..ceea3262a8 100644
--- a/metapackages/auto-instrumentations-node/test/utils.test.ts
+++ b/metapackages/auto-instrumentations-node/test/utils.test.ts
@@ -89,6 +89,31 @@ describe('utils', () => {
       }
     });
 
+    it('should include all instrumentations except those disabled via OTEL_NODE_DISABLED_INSTRUMENTATIONS environment variable', () => {
+      process.env.OTEL_NODE_DISABLED_INSTRUMENTATIONS =
+        'fs,aws-sdk, aws-lambda'; // separator with and without whitespaces should be allowed
+      try {
+        const instrumentations = getNodeAutoInstrumentations();
+        const disabledInstrumentations = new Set([
+          '@opentelemetry/instrumentation-fs',
+          '@opentelemetry/instrumentation-aws-sdk',
+          '@opentelemetry/instrumentation-aws-lambda',
+        ]);
+        const enabledInstrumentationNames = new Set(
+          instrumentations.map(i => i.instrumentationName)
+        );
+
+        for (const disabledInstrumentation of disabledInstrumentations) {
+          assert.strictEqual(
+            enabledInstrumentationNames.has(disabledInstrumentation),
+            false
+          );
+        }
+      } finally {
+        delete process.env.OTEL_NODE_DISABLED_INSTRUMENTATIONS;
+      }
+    });
+
     it('should show error for none existing instrumentation', () => {
       const spy = sinon.stub(diag, 'error');
       const name = '@opentelemetry/instrumentation-http2';

From 01c28ae016ed32f9968e52bc91e3e3700dcef82e Mon Sep 17 00:00:00 2001
From: Amir Blum <amirgiraffe@gmail.com>
Date: Thu, 20 Jun 2024 09:51:01 +0300
Subject: [PATCH 041/123] fix!: standardize supported versions and set upper
 bound limit (#2196)

* feat(amqplib): cap supported versions to 1

* docs: update guideline with supportedVersions instructions

* refactor: align all supported version to common format

* chore: markdown lint

* chore: markdown lint

* docs: add supported versions for aws-sdk

* fix(bunyan): README text

* docs: update README

* chore: use caret for single major version

* docs: fixes to README

* docs: fix example in guidelines

* docs: task list in guidelines

* docs: fix markdown

* fix: README nits

* docs: add supported versions for node internal modules

* docs: remove comment from redis packages

* chore: lint markdown

* docs: create a script to update node dist README automatically

* docs: make supportedVersions md list

* ci: verify node dist readme

* ci: update script name

* chore: align all READMEs to use dash for list style

* chore: markdown lint

* fix(restify): forgotten supportedVersions

* revert: remove script for auto instrumentation README generation

* Update GUIDELINES.md

Co-authored-by: Trent Mick <trentm@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Trent Mick <trentm@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Trent Mick <trentm@gmail.com>

* Update plugins/node/instrumentation-amqplib/src/amqplib.ts

Co-authored-by: Trent Mick <trentm@gmail.com>

* fix: typo

* chore: use Node.js in texts

* Update GUIDELINES.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* revert: add back guideline on versioning of redis instrumentations

* Update GUIDELINES.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* Update plugins/node/instrumentation-lru-memoizer/README.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* Update plugins/node/opentelemetry-instrumentation-connect/README.md

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>

* fix: from code review

* docs: make GUIDELINES shorter

* docs: align runtime metrics

* fix: some fixes from code review

* docs: remove quote from README

* chore: replace caret range to >= <

* Update GUIDELINES.md

Co-authored-by: Trent Mick <trentm@gmail.com>

* Update GUIDELINES.md

Co-authored-by: Trent Mick <trentm@gmail.com>

* docs: nit lower bound version

---------

Co-authored-by: Trent Mick <trentm@gmail.com>
Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>
---
 GUIDELINES.md                                 | 78 +++++++++++++++++++
 packages/winston-transport/README.md          |  2 +-
 .../node/instrumentation-amqplib/README.md    |  2 +-
 .../instrumentation-amqplib/src/amqplib.ts    | 10 ++-
 .../node/instrumentation-cucumber/README.md   |  4 +
 .../src/instrumentation.ts                    |  6 +-
 .../node/instrumentation-dataloader/README.md |  4 +-
 .../src/instrumentation.ts                    |  2 +-
 plugins/node/instrumentation-fs/README.md     |  4 +
 .../node/instrumentation-kafkajs/README.md    |  2 +-
 .../src/instrumentation.ts                    |  2 +-
 .../instrumentation-lru-memoizer/README.md    |  2 +-
 .../node/instrumentation-mongoose/README.md   |  2 +-
 .../instrumentation-runtime-node/README.md    | 12 +--
 .../node/instrumentation-socket.io/README.md  |  2 +-
 .../node/instrumentation-tedious/README.md    |  2 +-
 plugins/node/instrumentation-undici/README.md |  2 +-
 .../README.md                                 |  4 +
 .../README.md                                 |  5 ++
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  8 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  4 +
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    |  6 +-
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  2 +-
 .../src/constants.ts                          |  2 +-
 .../README.md                                 |  4 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    | 16 ++--
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  2 +-
 .../src/instrumentation.ts                    |  8 +-
 .../README.md                                 |  4 +
 .../README.md                                 |  3 +-
 .../src/instrumentation.ts                    |  4 +-
 .../README.md                                 |  8 +-
 .../README.md                                 |  3 +-
 .../README.md                                 |  7 +-
 .../src/instrumentation.ts                    |  2 +-
 .../README.md                                 |  2 +-
 .../src/constants.ts                          |  1 -
 .../src/instrumentation.ts                    |  6 +-
 .../README.md                                 |  2 +-
 .../src/constants.ts                          |  1 -
 .../src/instrumentation.ts                    |  6 +-
 .../README.md                                 | 14 ++--
 66 files changed, 211 insertions(+), 99 deletions(-)

diff --git a/GUIDELINES.md b/GUIDELINES.md
index fbee8623a8..a3850fc6e3 100644
--- a/GUIDELINES.md
+++ b/GUIDELINES.md
@@ -198,6 +198,84 @@ Instrumentation may add additional patch/unpatch messages for specific functions
 
 The cases above are not covered by the base class and offer additional context to the user troubleshooting an issue with the instrumentation.
 
+## Supported Versions
+
+Supported versions can refer to 2 entities in the context of OpenTelemetry instrumentations:
+
+- `Instrumented Package` - This is the user-facing package/s that the end user has installed in his application and is familiar with.
+- `Patched Package` - These are the packages that are being patched in practice to achieve the instrumentation goals. It may be `Instrumented Package` itself or transitive internal dependencies of the `Instrumented Package`.
+
+### `Instrumented Package` Documentation
+
+Instrumentation should have a "## Supported Versions" section in the README file that lists the supported versions range of the instrumented package. This range should hide and consolidate any internal implementation details like the use of internal modules, different patch logic for different versions, etc. It should focus on the relevance to the human consumer.
+
+### `Patched Package`s Supported Versions
+
+The packages to patch are specified in the `InstrumentationNodeModuleDefinition` and `InstrumentationNodeModuleFile` classes. Instrumentation can specify arrays with different package names and version ranges to use to implement the instrumentation logic. example use:
+
+```js
+const supportedVersions = ['>=1.2.3 <3'];
+
+  protected init() {
+
+    const someModuleFile = new InstrumentationNodeModuleFile(
+      'foo/lib/some-file.js',
+      supportedVersions,
+      myFilePatch,
+      myFileUnpatch,
+    );
+
+    const module = new InstrumentationNodeModuleDefinition(
+      'foo',
+      supportedVersions,
+      myModulePatch,
+      myModuleUnpatch,
+      [someModuleFile]
+    );
+    return module
+  }
+```
+
+### Variations
+
+There can be few variations between the instrumented package and the patched package:
+
+- Single Module - instrumentation patches the same module that is instrumented.
+- Different Modules - instrumentation patches internal modules with different names and version ranges as of the instrumented package.
+- Node.js Core Modules - instrumentation patches a Node.js internal module.
+- Multiple Modules - instrumentation may instrument a set of (potentially large number of) user-facing instrumented packages.
+- Patch Logic - instrumentation may use the `moduleExports` to patch, or hooks up to other mechanisms for recording signals. examples are: Node.js diagnostics channel, patching globals (like `window` being patched in browser instrumentations, or patches arbitrary lambda function handlers, etc.
+
+### Range Specification
+
+For versions that are a closed range, instrumentations should prefer to specify the supported versions of the instrumented package as `>=x.y.z <w` to promote consistency and readability across the code-base.
+
+If an instrumentation supports just one major version of the instrumented package, it can specify the version range as `^x.y.z` or `^x`, which are equivalent but more readable.
+
+Instrumentation should use an upper and lower bounds for the version ranges it uses for patches. This is to ensure that any new major versions of the instrumented package are not automatically patched by the instrumentation, which could lead to unexpected behavior.
+
+New major versions should be reviewed and tested before being added to the supported versions list.
+
+Specific guidelines for different cases:
+
+- For `Different Modules`, instrumentations can use an upper limit on patched packages but it is unknown which future versions of the instrumented package will continue to use it. Thus it is ok to use an open upper limit, for example `>=1.2.3`, for the instrumented package.
+- For `Node.js Core Modules`, the supported versions range is set to `['*']` to advertise that the instrumentation is compatible with all versions of Node.js that OpenTelemetry supports.
+- For `Multiple Modules`, the supported versions range should be specified for each module in the README file with the supported versions.
+- For `Different Patch Logic`, the use of supported versions can sometimes be more flexible, and the README should specify useful versioning information.
+
+### Add New Supported Versions
+
+When a new major version of the instrumented package is released, renovate bot will open a PR in contrib which helps maintainers to become aware of it. The instrumentation maintainer should review the new version and check compatibility with existing code. It can then be added to the supported versions list to be released in the next version of the instrumentation.
+
+Checklist for adding a new version to the supported versions list:
+
+- [ ] Review which functions are patched by the instrumentation and if they were changed in the new version that need support in code.
+- [ ] Check for breaking changes in the new version that could affect the instrumentation.
+- [ ] Test the instrumentation with the new version to ensure it works as expected.
+- [ ] Update the supported versions list in the instrumentation code, perhaps with different patches and additional `InstrumentationNodeModuleDefinition`s that target the new version.
+- [ ] Update the README file to reflect the support for new versions.
+- [ ] For instrumentations that use test-all-versions `.tav.yml`, add the new version to the list of versions to test.
+
 ## package.json
 
 ### Description
diff --git a/packages/winston-transport/README.md b/packages/winston-transport/README.md
index 977d2da610..73b360ad95 100644
--- a/packages/winston-transport/README.md
+++ b/packages/winston-transport/README.md
@@ -51,7 +51,7 @@ const logger = winston.createLogger({
 
 ### Supported versions
 
-Winston `3.x`
+- [`winston`](https://www.npmjs.com/package/winston) versions `>=3.0.0 <4`
 
 ## Useful links
 
diff --git a/plugins/node/instrumentation-amqplib/README.md b/plugins/node/instrumentation-amqplib/README.md
index 1fce886b89..4db4c91e49 100644
--- a/plugins/node/instrumentation-amqplib/README.md
+++ b/plugins/node/instrumentation-amqplib/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-amqplib
 
 ## Supported Versions
 
-- `>=0.5.5`
+- [`amqplib`](https://www.npmjs.com/package/amqplib) versions `>=0.5.5 <1`
 
 ## Usage
 
diff --git a/plugins/node/instrumentation-amqplib/src/amqplib.ts b/plugins/node/instrumentation-amqplib/src/amqplib.ts
index 6cca9bfd80..b5050f1396 100644
--- a/plugins/node/instrumentation-amqplib/src/amqplib.ts
+++ b/plugins/node/instrumentation-amqplib/src/amqplib.ts
@@ -74,6 +74,8 @@ import {
 } from './utils';
 import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
+const supportedVersions = ['>=0.5.5 <1'];
+
 export class AmqplibInstrumentation extends InstrumentationBase {
   protected override _config!: AmqplibInstrumentationConfig;
 
@@ -92,28 +94,28 @@ export class AmqplibInstrumentation extends InstrumentationBase {
   protected init() {
     const channelModelModuleFile = new InstrumentationNodeModuleFile(
       'amqplib/lib/channel_model.js',
-      ['>=0.5.5'],
+      supportedVersions,
       this.patchChannelModel.bind(this),
       this.unpatchChannelModel.bind(this)
     );
 
     const callbackModelModuleFile = new InstrumentationNodeModuleFile(
       'amqplib/lib/callback_model.js',
-      ['>=0.5.5'],
+      supportedVersions,
       this.patchChannelModel.bind(this),
       this.unpatchChannelModel.bind(this)
     );
 
     const connectModuleFile = new InstrumentationNodeModuleFile(
       'amqplib/lib/connect.js',
-      ['>=0.5.5'],
+      supportedVersions,
       this.patchConnect.bind(this),
       this.unpatchConnect.bind(this)
     );
 
     const module = new InstrumentationNodeModuleDefinition(
       'amqplib',
-      ['>=0.5.5'],
+      supportedVersions,
       undefined,
       undefined,
       [channelModelModuleFile, connectModuleFile, callbackModelModuleFile]
diff --git a/plugins/node/instrumentation-cucumber/README.md b/plugins/node/instrumentation-cucumber/README.md
index acc5466c36..60933c2c10 100644
--- a/plugins/node/instrumentation-cucumber/README.md
+++ b/plugins/node/instrumentation-cucumber/README.md
@@ -15,6 +15,10 @@ Compatible with OpenTelemetry JS API and SDK `1.0+`.
 npm install --save @opentelemetry/instrumentation-cucumber
 ```
 
+## Supported Versions
+
+- [`@cucumber/cucumber`](https://www.npmjs.com/package/@cucumber/cucumber) versions `>=8.0.0 <11`
+
 ## Usage
 
 ```js
diff --git a/plugins/node/instrumentation-cucumber/src/instrumentation.ts b/plugins/node/instrumentation-cucumber/src/instrumentation.ts
index 42962feb78..564f4e9604 100644
--- a/plugins/node/instrumentation-cucumber/src/instrumentation.ts
+++ b/plugins/node/instrumentation-cucumber/src/instrumentation.ts
@@ -46,6 +46,8 @@ type Cucumber = typeof cucumber;
 type Hook = (typeof hooks)[number];
 type Step = (typeof steps)[number];
 
+const supportedVersions = ['>=8.0.0 <11'];
+
 export class CucumberInstrumentation extends InstrumentationBase {
   private module: Cucumber | undefined;
 
@@ -57,7 +59,7 @@ export class CucumberInstrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         '@cucumber/cucumber',
-        ['^8.0.0', '^9.0.0', '^10.0.0'],
+        supportedVersions,
         (moduleExports: Cucumber) => {
           this.module = moduleExports;
           steps.forEach(step => {
@@ -83,7 +85,7 @@ export class CucumberInstrumentation extends InstrumentationBase {
         [
           new InstrumentationNodeModuleFile(
             '@cucumber/cucumber/lib/runtime/test_case_runner.js',
-            ['^8.0.0', '^9.0.0', '^10.0.0'],
+            supportedVersions,
             moduleExports => {
               if (isWrapped(moduleExports.default.prototype.run)) {
                 this._unwrap(moduleExports.default.prototype, 'run');
diff --git a/plugins/node/instrumentation-dataloader/README.md b/plugins/node/instrumentation-dataloader/README.md
index 9f3a1f0832..bef652dfbd 100644
--- a/plugins/node/instrumentation-dataloader/README.md
+++ b/plugins/node/instrumentation-dataloader/README.md
@@ -15,9 +15,9 @@ Compatible with OpenTelemetry JS API and SDK `1.0+`.
 npm install --save @opentelemetry/instrumentation-dataloader
 ```
 
-### Supported Versions
+## Supported Versions
 
-- `^2.0.0`
+- [`dataloader`](https://www.npmjs.com/package/dataloader) versions `>=2.0.0 <3`
 
 ## Usage
 
diff --git a/plugins/node/instrumentation-dataloader/src/instrumentation.ts b/plugins/node/instrumentation-dataloader/src/instrumentation.ts
index ecfa6ac9aa..617104ee7d 100644
--- a/plugins/node/instrumentation-dataloader/src/instrumentation.ts
+++ b/plugins/node/instrumentation-dataloader/src/instrumentation.ts
@@ -52,7 +52,7 @@ export class DataloaderInstrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         MODULE_NAME,
-        ['^2.0.0'],
+        ['>=2.0.0 <3'],
         dataloader => {
           this._patchLoad(dataloader.prototype);
           this._patchLoadMany(dataloader.prototype);
diff --git a/plugins/node/instrumentation-fs/README.md b/plugins/node/instrumentation-fs/README.md
index 77718809da..669b33ee93 100644
--- a/plugins/node/instrumentation-fs/README.md
+++ b/plugins/node/instrumentation-fs/README.md
@@ -17,6 +17,10 @@ See the full list of instrumented functions in [constants.ts](src/constants.ts);
 npm install --save @opentelemetry/instrumentation-fs
 ```
 
+## Supported Versions
+
+- Node.js `>=14`
+
 ## Usage
 
 ```js
diff --git a/plugins/node/instrumentation-kafkajs/README.md b/plugins/node/instrumentation-kafkajs/README.md
index 9f00d430e2..a5f54ee2ee 100644
--- a/plugins/node/instrumentation-kafkajs/README.md
+++ b/plugins/node/instrumentation-kafkajs/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-kafkajs
 
 ### Supported versions
 
-- `<3.0.0`
+- [`kafkajs`](https://www.npmjs.com/package/kafkajs) versions `>=0.1.0 <3`
 
 ## Usage
 
diff --git a/plugins/node/instrumentation-kafkajs/src/instrumentation.ts b/plugins/node/instrumentation-kafkajs/src/instrumentation.ts
index ed3eeeea27..69a158e815 100644
--- a/plugins/node/instrumentation-kafkajs/src/instrumentation.ts
+++ b/plugins/node/instrumentation-kafkajs/src/instrumentation.ts
@@ -72,7 +72,7 @@ export class KafkaJsInstrumentation extends InstrumentationBase {
 
     const module = new InstrumentationNodeModuleDefinition(
       'kafkajs',
-      ['< 3'],
+      ['>=0.1.0 <3'],
       (moduleExports: typeof kafkaJs) => {
         unpatch(moduleExports);
         this._wrap(
diff --git a/plugins/node/instrumentation-lru-memoizer/README.md b/plugins/node/instrumentation-lru-memoizer/README.md
index d59881a792..0e6d62ed4c 100644
--- a/plugins/node/instrumentation-lru-memoizer/README.md
+++ b/plugins/node/instrumentation-lru-memoizer/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-lru-memoizer
 
 ## Supported Versions
 
-- `>=1.3 <3`
+- [`lru-memorizer`](https://www.npmjs.com/package/lru-memoizer) versions `>=1.3.0 <3`
 
 ## Usage
 
diff --git a/plugins/node/instrumentation-mongoose/README.md b/plugins/node/instrumentation-mongoose/README.md
index 159e01568b..717b928f13 100644
--- a/plugins/node/instrumentation-mongoose/README.md
+++ b/plugins/node/instrumentation-mongoose/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-mongoose
 
 ## Supported Versions
 
-- `>=5.9.7 <7`
+- [`mongoose`](https://www.npmjs.com/package/mongoose) versions `>=5.9.7 <7`
 
 ## Usage
 
diff --git a/plugins/node/instrumentation-runtime-node/README.md b/plugins/node/instrumentation-runtime-node/README.md
index 017a372db4..d3f1160db9 100644
--- a/plugins/node/instrumentation-runtime-node/README.md
+++ b/plugins/node/instrumentation-runtime-node/README.md
@@ -6,6 +6,12 @@
 This module provides automatic metric instrumentation that exposes measurements from the [Performance measurement APIs](https://nodejs.org/api/perf_hooks.html) (i.e. `perf_hooks`).
 While currently it is limited to metrics, it may be modified to produce other signals in the future.
 
+## Supported Versions
+
+- Node.js `>=14.10`
+
+<!-- - 14.6.0 - this package uses _private properties_ -->
+
 ## Example
 
 ```bash
@@ -58,12 +64,6 @@ nodejs_performance_event_loop_utilization 0.010140079547955264
 |---|---|---|---|---|
 | [`eventLoopUtilizationMeasurementInterval`](./src/types.ts#L25) | `int` | millisecond | `5000` | The approximate number of milliseconds for which to calculate event loop utilization averages. A larger value will result in more accurate averages at the expense of less granular data. Should be set to below the scrape interval of your metrics collector to avoid duplicated data points. |
 
-## Supported Node.js versions
-
-v14.10.0+
-
-<!-- - 14.6.0 - this package uses _private properties_ -->
-
 ## Useful links
 
 - For more information on OpenTelemetry, visit: <https://opentelemetry.io/>
diff --git a/plugins/node/instrumentation-socket.io/README.md b/plugins/node/instrumentation-socket.io/README.md
index 28370b58f2..fd30b8cbd6 100644
--- a/plugins/node/instrumentation-socket.io/README.md
+++ b/plugins/node/instrumentation-socket.io/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-socket.io
 
 ## Supported Versions
 
-- `>=2 <5`
+- [socket.io](https://www.npmjs.com/package/socket.io) versions `>=2.0.0 <5`
 
 ## Usage
 
diff --git a/plugins/node/instrumentation-tedious/README.md b/plugins/node/instrumentation-tedious/README.md
index d12d5b1982..33c523556b 100644
--- a/plugins/node/instrumentation-tedious/README.md
+++ b/plugins/node/instrumentation-tedious/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-tedious
 
 ## Supported Versions
 
-- `>=1.11.0 <=17`
+- [tedious](https://www.npmjs.com/package/tedious) `>=1.11.0 <18`
 
 ## Usage
 
diff --git a/plugins/node/instrumentation-undici/README.md b/plugins/node/instrumentation-undici/README.md
index cf533955fc..7d78fbd647 100644
--- a/plugins/node/instrumentation-undici/README.md
+++ b/plugins/node/instrumentation-undici/README.md
@@ -16,7 +16,7 @@ npm install --save @opentelemetry/instrumentation-undici
 
 ## Supported Versions
 
-- `undici@>=5.12.0`
+- [`undici`](https://www.npmjs.com/package/undici) version `>=5.12.0`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/README.md b/plugins/node/opentelemetry-instrumentation-aws-lambda/README.md
index 59543ddb2d..8122156176 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/README.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/README.md
@@ -19,6 +19,10 @@ Compatible with OpenTelemetry JS API and SDK `1.0+`.
 npm install --save @opentelemetry/instrumentation-aws-lambda
 ```
 
+## Supported Versions
+
+- This package will instrument the lambda execution regardless of versions.
+
 ## Usage
 
 Create a file to initialize the instrumentation, such as `lambda-wrapper.js`.
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md b/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md
index 52017e7497..ee4dd002b3 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md
@@ -15,6 +15,11 @@ If total installation size is not constrained, it is recommended to use the [`@o
 npm install --save @opentelemetry/instrumentation-aws-sdk
 ```
 
+## Supported Versions
+
+- [`aws-sdk`](https://www.npmjs.com/package/aws-sdk) versions `>=2.308.0 <3`
+- `@aws-sdk/client-*` versions `>=3.0.0 <4`
+
 ## Usage
 
 For further automatic instrumentation instruction see the [@opentelemetry/instrumentation](https://www.npmjs.com/package/@opentelemetry/instrumentation) package.
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/README.md b/plugins/node/opentelemetry-instrumentation-bunyan/README.md
index 84bf360858..a9f70d220e 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/README.md
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-bunyan
 
 ## Supported Versions
 
-- `bunyan@^1.0.0`
+- [`bunyan`](https://www.npmjs.com/package/bunyan) versions `>=1.0.0 <2`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts
index c2eb53bb58..e70fab1a00 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts
@@ -45,7 +45,7 @@ export class BunyanInstrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         'bunyan',
-        ['<2.0'],
+        ['>=1.0.0 <2'],
         (module: any) => {
           const instrumentation = this;
           const Logger =
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/README.md b/plugins/node/opentelemetry-instrumentation-cassandra/README.md
index ce80ed50ee..43b6563eb7 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/README.md
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/README.md
@@ -15,6 +15,10 @@ Compatible with OpenTelemetry JS API and SDK `1.0+`.
 npm install --save @opentelemetry/instrumentation-cassandra-driver
 ```
 
+### Supported Versions
+
+- [`cassandra-driver`](https://www.npmjs.com/package/cassandra-driver) versions `>=4.4.0 <5`
+
 ## Usage
 
 ```js
@@ -45,10 +49,6 @@ await client.execute('select * from foo');
 | `responseHook`              | `CassandraDriverResponseCustomAttributeFunction` | `undefined` | Hook for adding custom attributes before response is handled                                                                                                                                                                   |
 | `maxQueryLength`            | `number`                                         | `65536`     | If `enhancedDatabaseReporting` is enabled, limits the attached query strings to this length.                                                                                                                                   |
 
-### Supported versions
-
-`>=4.4 <5.0`
-
 ## Semantic Conventions
 
 This package uses `@opentelemetry/semantic-conventions` version `1.22+`, which implements Semantic Convention [Version 1.7.0](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/semantic_conventions/README.md)
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts
index 3d90300b9c..46949a7380 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts
@@ -43,7 +43,7 @@ import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { EventEmitter } from 'events';
 import type * as CassandraDriver from 'cassandra-driver';
 
-const supportedVersions = ['>=4.4 <5.0'];
+const supportedVersions = ['>=4.4.0 <5'];
 
 export class CassandraDriverInstrumentation extends InstrumentationBase {
   protected override _config!: CassandraDriverInstrumentationConfig;
diff --git a/plugins/node/opentelemetry-instrumentation-connect/README.md b/plugins/node/opentelemetry-instrumentation-connect/README.md
index d16302b84a..fb70ac71d5 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/README.md
+++ b/plugins/node/opentelemetry-instrumentation-connect/README.md
@@ -23,7 +23,7 @@ npm install --save @opentelemetry/instrumentation-http @opentelemetry/instrument
 
 ### Supported Versions
 
-- `^3.0.0`
+- [`connect`](https://www.npmjs.com/package/connect) versions `>=3.0.0 <4`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts
index 0c1fde4956..a57048b265 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-connect/src/instrumentation.ts
@@ -50,7 +50,7 @@ export class ConnectInstrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         'connect',
-        ['^3.0.0'],
+        ['>=3.0.0 <4'],
         moduleExports => {
           return this._patchConstructor(moduleExports);
         }
diff --git a/plugins/node/opentelemetry-instrumentation-dns/README.md b/plugins/node/opentelemetry-instrumentation-dns/README.md
index d394584264..1a0358f2bc 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/README.md
+++ b/plugins/node/opentelemetry-instrumentation-dns/README.md
@@ -19,6 +19,10 @@ If total installation size is not constrained, it is recommended to use the [`@o
 npm install --save @opentelemetry/instrumentation-dns
 ```
 
+## Supported Versions
+
+- Node.js `>=14`
+
 ## Usage
 
 ```js
diff --git a/plugins/node/opentelemetry-instrumentation-express/README.md b/plugins/node/opentelemetry-instrumentation-express/README.md
index f6758e09db..742dc21a81 100644
--- a/plugins/node/opentelemetry-instrumentation-express/README.md
+++ b/plugins/node/opentelemetry-instrumentation-express/README.md
@@ -19,7 +19,7 @@ npm install --save @opentelemetry/instrumentation-http @opentelemetry/instrument
 
 ### Supported Versions
 
-- `^4.0.0`
+- [`express`](https://www.npmjs.com/package/express) version `>=4.0.0 <5`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
index f15e8cb2ce..c3f5602cac 100644
--- a/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
@@ -67,7 +67,7 @@ export class ExpressInstrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         'express',
-        ['^4.0.0'],
+        ['>=4.0.0 <5'],
         moduleExports => {
           const routerProto = moduleExports.Router as unknown as express.Router;
           // patch express.Router.route
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/README.md b/plugins/node/opentelemetry-instrumentation-fastify/README.md
index ffaf255868..4eb0f07d70 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/README.md
+++ b/plugins/node/opentelemetry-instrumentation-fastify/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-http @opentelemetry/instrument
 
 ### Supported Versions
 
-- fastify: `^3.0.0 || ^4.0.0`
+- [`fastify`](https://www.npmjs.com/package/fastify) versions `>=3.0.0 <5`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts
index 34871ee978..641bfc86e4 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts
@@ -63,7 +63,7 @@ export class FastifyInstrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         'fastify',
-        ['^3.0.0', '^4.0.0'],
+        ['>=3.0.0 <5'],
         moduleExports => {
           return this._patchConstructor(moduleExports);
         }
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/README.md b/plugins/node/opentelemetry-instrumentation-generic-pool/README.md
index ea9dee4228..90404555dc 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/README.md
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-generic-pool
 
 ### Supported Versions
 
-- `>=2.0.0`
+- [`generic-pool`](https://www.npmjs.com/package/generic-pool) version `>=2.0.0 <4`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts
index 08b31e5eb1..aed3416f36 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts
@@ -40,7 +40,7 @@ export default class Instrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         MODULE_NAME,
-        ['>=3'],
+        ['>=3.0.0 <4'],
         moduleExports => {
           const Pool: any = moduleExports.Pool;
           if (isWrapped(Pool.prototype.acquire)) {
@@ -61,7 +61,7 @@ export default class Instrumentation extends InstrumentationBase {
       ),
       new InstrumentationNodeModuleDefinition(
         MODULE_NAME,
-        ['^2.4'],
+        ['>=2.4.0 <3'],
         moduleExports => {
           const Pool: any = moduleExports.Pool;
           if (isWrapped(Pool.prototype.acquire)) {
@@ -82,7 +82,7 @@ export default class Instrumentation extends InstrumentationBase {
       ),
       new InstrumentationNodeModuleDefinition(
         MODULE_NAME,
-        ['2 - 2.3'],
+        ['>=2.0.0 <2.4'],
         moduleExports => {
           this._isDisabled = false;
           if (isWrapped(moduleExports.Pool)) {
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/README.md b/plugins/node/opentelemetry-instrumentation-graphql/README.md
index 5a23f47660..9de60ce985 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/README.md
+++ b/plugins/node/opentelemetry-instrumentation-graphql/README.md
@@ -21,7 +21,7 @@ npm install @opentelemetry/instrumentation-graphql
 
 ### Supported Versions
 
-`^14.0 | ^15.0 | ^16.0`
+- [`graphql`](https://www.npmjs.com/package/graphql) versions `>=14.0.0 <17`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-graphql/src/instrumentation.ts
index e6e55cf118..88cb3afec9 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-graphql/src/instrumentation.ts
@@ -61,7 +61,7 @@ const DEFAULT_CONFIG: GraphQLInstrumentationConfig = {
   ignoreResolveSpans: false,
 };
 
-const supportedVersions = ['>=14 <17'];
+const supportedVersions = ['>=14.0.0 <17'];
 
 export class GraphQLInstrumentation extends InstrumentationBase {
   constructor(config: GraphQLInstrumentationConfig = {}) {
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/README.md b/plugins/node/opentelemetry-instrumentation-hapi/README.md
index c9b4062ea5..1333b3fd80 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/README.md
+++ b/plugins/node/opentelemetry-instrumentation-hapi/README.md
@@ -21,7 +21,7 @@ npm install --save @opentelemetry/instrumentation-hapi
 
 ### Supported Versions
 
-- `>=17.0.0 <22`
+- [`@hapi/hapi`](https://www.npmjs.com/package/@hapi/hapi) versions `>=17.0.0 <22`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-hapi/src/instrumentation.ts
index 8fd9442974..9951dac8ed 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-hapi/src/instrumentation.ts
@@ -56,7 +56,7 @@ export class HapiInstrumentation extends InstrumentationBase {
   protected init() {
     return new InstrumentationNodeModuleDefinition(
       HapiComponentName,
-      ['>=17 <22'],
+      ['>=17.0.0 <22'],
       (module: any) => {
         const moduleExports: typeof Hapi =
           module[Symbol.toStringTag] === 'Module' ? module.default : module;
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/README.md b/plugins/node/opentelemetry-instrumentation-ioredis/README.md
index 907eba1995..d8063be0b8 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/README.md
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-ioredis
 
 ### Supported Versions
 
-- `>=2.0.0 <6`
+- [`ioredis`](https://www.npmjs.com/package/ioredis) versions `>=2.0.0 <6`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-ioredis/src/instrumentation.ts
index abf9e2c5e8..346eed7165 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/src/instrumentation.ts
@@ -54,7 +54,7 @@ export class IORedisInstrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         'ioredis',
-        ['>1', '<6'],
+        ['>=2.0.0 <6'],
         (module, moduleVersion?: string) => {
           const moduleExports =
             module[Symbol.toStringTag] === 'Module'
diff --git a/plugins/node/opentelemetry-instrumentation-knex/README.md b/plugins/node/opentelemetry-instrumentation-knex/README.md
index ba3e97846e..61404aa594 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/README.md
+++ b/plugins/node/opentelemetry-instrumentation-knex/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-knex
 
 ### Supported Versions
 
-- `>=0.10.0`
+- [`knex`](https://www.npmjs.com/package/knex) versions `>=0.10.0 <4`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-knex/src/constants.ts b/plugins/node/opentelemetry-instrumentation-knex/src/constants.ts
index dfb011cd45..2887f41925 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/src/constants.ts
+++ b/plugins/node/opentelemetry-instrumentation-knex/src/constants.ts
@@ -17,7 +17,7 @@
 export const MODULE_NAME = 'knex';
 export const SUPPORTED_VERSIONS = [
   // use "lib/execution" for runner.js, "lib" for client.js as basepath, latest tested 0.95.6
-  '>=0.22.0',
+  '>=0.22.0 <4',
   // use "lib" as basepath
   '>=0.10.0 <0.18.0',
   '>=0.19.0 <0.22.0',
diff --git a/plugins/node/opentelemetry-instrumentation-koa/README.md b/plugins/node/opentelemetry-instrumentation-koa/README.md
index aee8051ccd..dc07813ffc 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/README.md
+++ b/plugins/node/opentelemetry-instrumentation-koa/README.md
@@ -21,8 +21,8 @@ npm install --save @opentelemetry/instrumentation-koa
 
 ### Supported Versions
 
-- `koa`: `^2.0.0`
-- `@koa/router`: `>=8`
+- [`koa`](https://www.npmjs.com/package/koa) versions `>=2.0.0 <3`
+- [`@koa/router`](https://www.npmjs.com/package/@koa/router) versions `>=8.0.0`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts
index 0598850569..646b91704a 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts
@@ -50,7 +50,7 @@ export class KoaInstrumentation extends InstrumentationBase {
   protected init() {
     return new InstrumentationNodeModuleDefinition(
       'koa',
-      ['^2.0.0'],
+      ['>=2.0.0 <3'],
       (module: any) => {
         const moduleExports: typeof koa =
           module[Symbol.toStringTag] === 'Module'
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/README.md b/plugins/node/opentelemetry-instrumentation-memcached/README.md
index 24e6477889..d429346390 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/README.md
+++ b/plugins/node/opentelemetry-instrumentation-memcached/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-memcached
 
 ### Supported Versions
 
-- `>=2.2`
+- [`memcached`](https://www.npmjs.com/package/memcached) versions `>=2.2.0 <3`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts
index 600179254b..f29bf1ca14 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts
@@ -56,7 +56,7 @@ export class Instrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         'memcached',
-        ['>=2.2'],
+        ['>=2.2.0 <3'],
         (moduleExports: typeof Memcached, moduleVersion) => {
           this.ensureWrapped(
             moduleExports.prototype,
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/README.md b/plugins/node/opentelemetry-instrumentation-mongodb/README.md
index efec965ee9..ca43f4e3bd 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/README.md
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-mongodb
 
 ### Supported Versions
 
-- `>=3.3 <7`
+- [`mongodb`](https://www.npmjs.com/package/mongodb) version `>=3.3.0 <7`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
index 54d9dfa26c..62086bc6bd 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
@@ -94,13 +94,13 @@ export class MongoDBInstrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         'mongodb',
-        ['>=3.3 <4'],
+        ['>=3.3.0 <4'],
         undefined,
         undefined,
         [
           new InstrumentationNodeModuleFile(
             'mongodb/lib/core/wireprotocol/index.js',
-            ['>=3.3 <4'],
+            ['>=3.3.0 <4'],
             v3PatchConnection,
             v3UnpatchConnection
           ),
@@ -108,37 +108,37 @@ export class MongoDBInstrumentation extends InstrumentationBase {
       ),
       new InstrumentationNodeModuleDefinition(
         'mongodb',
-        ['4.*', '5.*', '6.*'],
+        ['>=4.0.0 <7'],
         undefined,
         undefined,
         [
           new InstrumentationNodeModuleFile(
             'mongodb/lib/cmap/connection.js',
-            ['4.*', '5.*', '>=6 <6.4'],
+            ['>=4.0.0 <6.4'],
             v4PatchConnectionCallback,
             v4UnpatchConnection
           ),
           new InstrumentationNodeModuleFile(
             'mongodb/lib/cmap/connection.js',
-            ['>=6.4'],
+            ['>=6.4.0 <7'],
             v4PatchConnectionPromise,
             v4UnpatchConnection
           ),
           new InstrumentationNodeModuleFile(
             'mongodb/lib/cmap/connection_pool.js',
-            ['4.*', '5.*', '>=6 <6.4'],
+            ['>=4.0.0 <6.4'],
             v4PatchConnectionPool,
             v4UnpatchConnectionPool
           ),
           new InstrumentationNodeModuleFile(
             'mongodb/lib/cmap/connect.js',
-            ['4.*', '5.*', '6.*'],
+            ['>=4.0.0 <7'],
             v4PatchConnect,
             v4UnpatchConnect
           ),
           new InstrumentationNodeModuleFile(
             'mongodb/lib/sessions.js',
-            ['4.*', '5.*', '6.*'],
+            ['>=4.0.0 <7'],
             v4PatchSessions,
             v4UnpatchSessions
           ),
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/README.md b/plugins/node/opentelemetry-instrumentation-mysql/README.md
index 971fc5351a..ee4b8da9a4 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/README.md
+++ b/plugins/node/opentelemetry-instrumentation-mysql/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-mysql
 
 ## Supported Versions
 
-- `2.x`
+- [`mysql`](https://www.npmjs.com/package/mysql) versions `>=2.0.0 <3`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-mysql/src/instrumentation.ts
index 11eab4bf93..5ce35c594f 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-mysql/src/instrumentation.ts
@@ -81,7 +81,7 @@ export class MySQLInstrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         'mysql',
-        ['2.*'],
+        ['>=2.0.0 <3'],
         (moduleExports: typeof mysqlTypes) => {
           if (isWrapped(moduleExports.createConnection)) {
             this._unwrap(moduleExports, 'createConnection');
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/README.md b/plugins/node/opentelemetry-instrumentation-mysql2/README.md
index a0f3c73658..52d6d65d60 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/README.md
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-mysql2
 
 ## Supported Versions
 
-- `>= 1.4.2, < 4.0`
+- [`mysql2`](https://www.npmjs.com/package/mysql2) versions `>=1.4.2 <4`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-mysql2/src/instrumentation.ts
index 38f2ce8bd3..ee8ebfc6f5 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/src/instrumentation.ts
@@ -52,7 +52,7 @@ export class MySQL2Instrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         'mysql2',
-        ['>= 1.4.2 < 4.0'],
+        ['>=1.4.2 <4'],
         (moduleExports: any) => {
           const ConnectionPrototype: mysqlTypes.Connection =
             moduleExports.Connection.prototype;
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/README.md b/plugins/node/opentelemetry-instrumentation-nestjs-core/README.md
index 1c1f0cd347..932f94097f 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/README.md
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-nestjs-core
 
 ### Supported Versions
 
-- `>=4.0.0`
+- [`@nestjs/core`](https://www.npmjs.com/package/@nestjs/core) versions `>=4.0.0 <11`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-nestjs-core/src/instrumentation.ts
index a7b2380250..79337e9834 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/src/instrumentation.ts
@@ -33,6 +33,8 @@ import {
 } from '@opentelemetry/semantic-conventions';
 import { AttributeNames, NestType } from './enums';
 
+const supportedVersions = ['>=4.0.0 <11'];
+
 export class Instrumentation extends InstrumentationBase {
   static readonly COMPONENT = '@nestjs/core';
   static readonly COMMON_ATTRIBUTES = {
@@ -46,12 +48,12 @@ export class Instrumentation extends InstrumentationBase {
   init() {
     const module = new InstrumentationNodeModuleDefinition(
       Instrumentation.COMPONENT,
-      ['>=4.0.0']
+      supportedVersions
     );
 
     module.files.push(
-      this.getNestFactoryFileInstrumentation(['>=4.0.0']),
-      this.getRouterExecutionContextFileInstrumentation(['>=4.0.0'])
+      this.getNestFactoryFileInstrumentation(supportedVersions),
+      this.getRouterExecutionContextFileInstrumentation(supportedVersions)
     );
 
     return module;
diff --git a/plugins/node/opentelemetry-instrumentation-net/README.md b/plugins/node/opentelemetry-instrumentation-net/README.md
index 60fc7ca98a..de1422c187 100644
--- a/plugins/node/opentelemetry-instrumentation-net/README.md
+++ b/plugins/node/opentelemetry-instrumentation-net/README.md
@@ -17,6 +17,10 @@ Compatible with OpenTelemetry JS API and SDK `1.0+`.
 npm install --save @opentelemetry/instrumentation-net
 ```
 
+## Supported Versions
+
+- Node.js `>=14`
+
 ## Usage
 
 ```js
diff --git a/plugins/node/opentelemetry-instrumentation-pg/README.md b/plugins/node/opentelemetry-instrumentation-pg/README.md
index abc18e2089..ba267f7f17 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/README.md
+++ b/plugins/node/opentelemetry-instrumentation-pg/README.md
@@ -17,7 +17,8 @@ npm install --save @opentelemetry/instrumentation-pg
 
 ### Supported Versions
 
-- `>=8 <9`
+- [`pg`](https://www.npmjs.com/package/pg) versions `>=8.0.0 <9`
+- [`pg-pool`](https://www.npmjs.com/package/pg-pool) versions `>=2.0.0 <4`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
index c6bee00999..5d472a94b7 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
@@ -50,7 +50,7 @@ export class PgInstrumentation extends InstrumentationBase {
   protected init() {
     const modulePG = new InstrumentationNodeModuleDefinition(
       'pg',
-      ['8.*'],
+      ['>=8.0.0 <9'],
       (module: any) => {
         const moduleExports: typeof pgTypes =
           module[Symbol.toStringTag] === 'Module'
@@ -91,7 +91,7 @@ export class PgInstrumentation extends InstrumentationBase {
 
     const modulePGPool = new InstrumentationNodeModuleDefinition(
       'pg-pool',
-      ['2.*', '3.*'],
+      ['>=2.0.0 <4'],
       (moduleExports: typeof pgPoolTypes) => {
         if (isWrapped(moduleExports.prototype.connect)) {
           this._unwrap(moduleExports.prototype, 'connect');
diff --git a/plugins/node/opentelemetry-instrumentation-pino/README.md b/plugins/node/opentelemetry-instrumentation-pino/README.md
index a4038c5f57..4e132bd220 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/README.md
+++ b/plugins/node/opentelemetry-instrumentation-pino/README.md
@@ -15,6 +15,10 @@ Compatible with OpenTelemetry JS API and SDK `1.0+`.
 npm install --save @opentelemetry/instrumentation-pino
 ```
 
+### Supported Versions
+
+- [`pino`](https://www.npmjs.com/package/pino) versions `>=5.14.0 <10`
+
 ## Usage
 
 ```js
@@ -61,10 +65,6 @@ For the current active span, the following fields are injected. These field name
 
 When no span context is active or the span context is invalid, injection is skipped.
 
-### Supported versions
-
-`>=5.14.0 <10`
-
 ## Semantic Conventions
 
 This package does not currently generate any attributes from semantic conventions.
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/README.md b/plugins/node/opentelemetry-instrumentation-redis-4/README.md
index 19eea1b33a..a8e9449d4b 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/README.md
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/README.md
@@ -17,7 +17,8 @@ npm install --save @opentelemetry/instrumentation-redis-4
 
 ### Supported Versions
 
-This package supports `redis@^4.0.0`
+- [`redis`](https://www.npmjs.com/package/redis) versions `>=4.0.0`
+
 For versions `redis@^2.6.0` and `redis@^3.0.0`, please use `@opentelemetry/instrumentation-redis`
 
 ## Usage
diff --git a/plugins/node/opentelemetry-instrumentation-redis/README.md b/plugins/node/opentelemetry-instrumentation-redis/README.md
index f345f9ac02..b5c9f1cdc1 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/README.md
+++ b/plugins/node/opentelemetry-instrumentation-redis/README.md
@@ -3,7 +3,7 @@
 [![NPM Published Version][npm-img]][npm-url]
 [![Apache License][license-image]][license-image]
 
-This module provides automatic instrumentation for the [`redis@^2.6.0`](https://github.com/NodeRedis/node_redis) module, which may be loaded using the [`@opentelemetry/sdk-trace-node`](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) package and is included in the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle.
+This module provides automatic instrumentation for the [`redis`](https://github.com/NodeRedis/node_redis) module versions `>=2.6.0 <4`, which may be loaded using the [`@opentelemetry/sdk-trace-node`](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) package and is included in the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle.
 
 If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.
 
@@ -17,8 +17,9 @@ npm install --save @opentelemetry/instrumentation-redis
 
 ### Supported Versions
 
-This package supports `redis@^2.6.0` and `redis@^3.0.0`
-For version `redis@^4.0.0`, please use `@opentelemetry/instrumentation-redis-4`
+- [`redis`](https://www.npmjs.com/package/redis) versions `>=2.6.0 <4`
+
+For versions `redis@^4.0.0`, please use `@opentelemetry/instrumentation-redis-4`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-redis/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-redis/src/instrumentation.ts
index 1d627b5820..93928cc29f 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-redis/src/instrumentation.ts
@@ -48,7 +48,7 @@ export class RedisInstrumentation extends InstrumentationBase {
     return [
       new InstrumentationNodeModuleDefinition(
         'redis',
-        ['^2.6.0', '^3.0.0'],
+        ['>=2.6.0 <4'],
         moduleExports => {
           if (
             isWrapped(
diff --git a/plugins/node/opentelemetry-instrumentation-restify/README.md b/plugins/node/opentelemetry-instrumentation-restify/README.md
index fd9b7fc7cd..dc08120c43 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/README.md
+++ b/plugins/node/opentelemetry-instrumentation-restify/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-restify
 
 ### Supported Versions
 
-- `>=4.0.0 <12`
+- [`restify`](https://www.npmjs.com/package/restify) versions `>=4.0.0 <12`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-restify/src/constants.ts b/plugins/node/opentelemetry-instrumentation-restify/src/constants.ts
index ebd38f91cc..6298f2d56b 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/src/constants.ts
+++ b/plugins/node/opentelemetry-instrumentation-restify/src/constants.ts
@@ -24,4 +24,3 @@ export const RESTIFY_METHODS = [
   'patch',
 ];
 export const MODULE_NAME = 'restify';
-export const SUPPORTED_VERSIONS = ['>=4.0.0 <12'];
diff --git a/plugins/node/opentelemetry-instrumentation-restify/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-restify/src/instrumentation.ts
index 5d4c7f39cb..ea682f74de 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-restify/src/instrumentation.ts
@@ -35,6 +35,8 @@ import { isPromise, isAsyncFunction } from './utils';
 import { getRPCMetadata, RPCType } from '@opentelemetry/core';
 import type { RestifyInstrumentationConfig } from './types';
 
+const supportedVersions = ['>=4.0.0 <12'];
+
 export class RestifyInstrumentation extends InstrumentationBase {
   constructor(config: RestifyInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
@@ -54,7 +56,7 @@ export class RestifyInstrumentation extends InstrumentationBase {
   init() {
     const module = new InstrumentationNodeModuleDefinition(
       constants.MODULE_NAME,
-      constants.SUPPORTED_VERSIONS,
+      supportedVersions,
       (moduleExports, moduleVersion) => {
         this._moduleVersion = moduleVersion;
         return moduleExports;
@@ -64,7 +66,7 @@ export class RestifyInstrumentation extends InstrumentationBase {
     module.files.push(
       new InstrumentationNodeModuleFile(
         'restify/lib/server.js',
-        constants.SUPPORTED_VERSIONS,
+        supportedVersions,
         moduleExports => {
           this._isDisabled = false;
           const Server: any = moduleExports;
diff --git a/plugins/node/opentelemetry-instrumentation-router/README.md b/plugins/node/opentelemetry-instrumentation-router/README.md
index 152a9cf081..29c2a54f05 100644
--- a/plugins/node/opentelemetry-instrumentation-router/README.md
+++ b/plugins/node/opentelemetry-instrumentation-router/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-router
 
 ### Supported Versions
 
-- `>=1.0.0`
+- [`router`](https://www.npmjs.com/package/router) versions `>=1.0.0 <2`
 
 ## Usage
 
diff --git a/plugins/node/opentelemetry-instrumentation-router/src/constants.ts b/plugins/node/opentelemetry-instrumentation-router/src/constants.ts
index ae69202fe3..a45b7aabf6 100644
--- a/plugins/node/opentelemetry-instrumentation-router/src/constants.ts
+++ b/plugins/node/opentelemetry-instrumentation-router/src/constants.ts
@@ -15,7 +15,6 @@
  */
 
 export const MODULE_NAME = 'router';
-export const SUPPORTED_VERSIONS = ['1'];
 
 // Router.prototype.handle
 export const ROUTE_ROUTER_FN = `function router(req, res, next) {
diff --git a/plugins/node/opentelemetry-instrumentation-router/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-router/src/instrumentation.ts
index 50803ab148..d4f875bbc3 100644
--- a/plugins/node/opentelemetry-instrumentation-router/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-router/src/instrumentation.ts
@@ -34,6 +34,8 @@ import * as utils from './utils';
 import AttributeNames from './enums/AttributeNames';
 import LayerType from './enums/LayerType';
 
+const supportedVersions = ['>=1.0.0 <2'];
+
 export default class RouterInstrumentation extends InstrumentationBase {
   constructor(config: InstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
@@ -44,7 +46,7 @@ export default class RouterInstrumentation extends InstrumentationBase {
   init() {
     const module = new InstrumentationNodeModuleDefinition(
       constants.MODULE_NAME,
-      constants.SUPPORTED_VERSIONS,
+      supportedVersions,
       (moduleExports, moduleVersion) => {
         this._moduleVersion = moduleVersion;
         return moduleExports;
@@ -54,7 +56,7 @@ export default class RouterInstrumentation extends InstrumentationBase {
     module.files.push(
       new InstrumentationNodeModuleFile(
         'router/lib/layer.js',
-        constants.SUPPORTED_VERSIONS,
+        supportedVersions,
         moduleExports => {
           const Layer: any = moduleExports;
           if (isWrapped(Layer.prototype.handle_request)) {
diff --git a/plugins/node/opentelemetry-instrumentation-winston/README.md b/plugins/node/opentelemetry-instrumentation-winston/README.md
index 9dfa9365b7..4680f759e2 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/README.md
+++ b/plugins/node/opentelemetry-instrumentation-winston/README.md
@@ -15,6 +15,12 @@ Compatible with OpenTelemetry JS API and SDK `1.0+`.
 npm install --save @opentelemetry/instrumentation-winston
 ```
 
+### Supported Versions
+
+- [`winston`](https://www.npmjs.com/package/winston) versions `>=1.0.0 <4`
+
+Log sending: [`winston`](https://www.npmjs.com/package/winston) versions `>=3.0.0 <4`
+
 ## Usage
 
 ```js
@@ -98,14 +104,6 @@ logHook: (span, record) => {
 
 Log injection can be disabled with the `disableLogCorrelation: true` option.
 
-### Supported versions
-
-`1.x`, `2.x`, `3.x`
-
-Log sending
-
-`3.x`
-
 ## Semantic Conventions
 
 This package does not currently generate any attributes from semantic conventions.

From 1ac1045287530d9a1d0dcf5b5a30f3e2e8fa9b6f Mon Sep 17 00:00:00 2001
From: Amir Blum <amirgiraffe@gmail.com>
Date: Thu, 20 Jun 2024 18:10:10 +0300
Subject: [PATCH 042/123] docs: remove redundant migration text from READMEs
 (#2243)

* docs: remove redundant migration text

* docs: also include mongoose

* docs: remove migration text from socket.io

---------

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 plugins/node/instrumentation-amqplib/README.md     | 12 ------------
 plugins/node/instrumentation-mongoose/README.md    | 14 --------------
 plugins/node/instrumentation-socket.io/README.md   | 11 ++---------
 .../README.md                                      | 12 ------------
 4 files changed, 2 insertions(+), 47 deletions(-)

diff --git a/plugins/node/instrumentation-amqplib/README.md b/plugins/node/instrumentation-amqplib/README.md
index 4db4c91e49..f2c7e90bd1 100644
--- a/plugins/node/instrumentation-amqplib/README.md
+++ b/plugins/node/instrumentation-amqplib/README.md
@@ -69,18 +69,6 @@ If timeout is not big enough, span might be closed with 'InstrumentationTimeout'
 
 Default is 1 minute
 
-## Migration From opentelemetry-instrumentation-amqplib
-
-This instrumentation was originally published under the name `"opentelemetry-instrumentation-amqplib"` in [this repo](https://github.com/aspecto-io/opentelemetry-ext-js). Few breaking changes were made during porting to the contrib repo to align with conventions:
-
-### Hook Info
-
-The instrumentation's config `publishHook`, `publishConfirmHook`, `consumeHook` and `consumeEndHook` functions signature changed, so the second function parameter is info object, containing the relevant hook data.
-
-### `moduleVersionAttributeName` config option
-
-The `moduleVersionAttributeName` config option is removed. To add the amqplib package version to spans, use the `moduleVersion` attribute in hook info for `publishHook` and `consumeHook` functions.
-
 ## Semantic Conventions
 
 This package uses `@opentelemetry/semantic-conventions` version `1.22+`, which implements Semantic Convention [Version 1.7.0](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/semantic_conventions/README.md)
diff --git a/plugins/node/instrumentation-mongoose/README.md b/plugins/node/instrumentation-mongoose/README.md
index 717b928f13..c5500b14c2 100644
--- a/plugins/node/instrumentation-mongoose/README.md
+++ b/plugins/node/instrumentation-mongoose/README.md
@@ -38,20 +38,6 @@ registerInstrumentations({
 })
 ```
 
-## Migration From opentelemetry-instrumentation-mongoose
-
-This instrumentation was originally published and maintained under the name `"opentelemetry-instrumentation-mongoose"` in [this repo](https://github.com/aspecto-io/opentelemetry-ext-js).
-
-Few breaking changes were made during porting to the contrib repo to align with conventions:
-
-### Hook Info
-
-The instrumentation's config `responseHook` functions signature changed, so the second function parameter is info object, containing the relevant hook data.
-
-### `moduleVersionAttributeName` config option
-
-The `moduleVersionAttributeName` config option is removed. To add the mongoose package version to spans, use the `moduleVersion` attribute in hook info for `responseHook` function.
-
 ## Semantic Conventions
 
 This package uses `@opentelemetry/semantic-conventions` version `1.22+`, which implements Semantic Convention [Version 1.7.0](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/semantic_conventions/README.md)
diff --git a/plugins/node/instrumentation-socket.io/README.md b/plugins/node/instrumentation-socket.io/README.md
index fd30b8cbd6..757805358a 100644
--- a/plugins/node/instrumentation-socket.io/README.md
+++ b/plugins/node/instrumentation-socket.io/README.md
@@ -48,16 +48,9 @@ registerInstrumentations({
 | `onIgnoreEventList` | `string[]` | `[]` | names of listened events to ignore tracing for |
 | `traceReserved` | `boolean` | `false` | set to true if you want to trace socket.io reserved events (see [docs](https://socket.io/docs/v4/emit-cheatsheet/#Reserved-events)) |
 
-## Migration From opentelemetry-instrumentation-socket.io
+## Filter Http Transport
 
-This instrumentation was originally published and maintained under the name `"opentelemetry-instrumentation-socket.io"` in [this repo](https://github.com/aspecto-io/opentelemetry-ext-js).
-
-Few breaking changes were made during porting to the contrib repo:
-
-### filterHttpTransport
-
-The instrumentation's config `filterHttpTransport` option was removed to decouple this instrumentation from the http instrumentation.
-if you do not want to trace the socket.io http requests, add the default socket.io route (`/socket.io/`) to the `HttpInstrumentationConfig.ignoreIncomingPaths` array
+If you do not want to trace the socket.io http requests, add the default socket.io route (`/socket.io/`) to the `HttpInstrumentationConfig.ignoreIncomingPaths` array
 
 ## Semantic Conventions
 
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md b/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md
index ee4dd002b3..9ee2e057eb 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md
@@ -110,18 +110,6 @@ Specific service logic currently implemented for:
 
 The instrumentation is doing best effort to support the trace specification of OpenTelemetry. For SQS, it involves defining new attributes on the `Messages` array, as well as on the manipulated types generated from this array (to set correct trace context for a single SQS message operation). Those properties are defined as [non-enumerable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties) properties, so they have minimum side effect on the app. They will, however, show when using the `Object.getOwnPropertyDescriptors` and `Reflect.ownKeys` functions on SQS `Messages` array and for each `Message` in the array.
 
-## Migration From opentelemetry-instrumentation-aws-sdk
-
-This instrumentation was originally published under the name `"opentelemetry-instrumentation-aws-sdk"` in [this repo](https://github.com/aspecto-io/opentelemetry-ext-js). Few breaking changes were made during porting to the contrib repo to align with conventions:
-
-### Hook Info
-
-The instrumentation's config `preRequestHook`, `responseHook` and `sqsProcessHook` functions signature changed, so the second function parameter is info object, containing the relevant hook data.
-
-### `moduleVersionAttributeName` config option
-
-The `moduleVersionAttributeName` config option is removed. To add the aws-sdk package version to spans, use the `moduleVersion` attribute in hook info for `preRequestHook` and `responseHook` functions.
-
 ## Semantic Conventions
 
 This package uses `@opentelemetry/semantic-conventions` version `1.22+`, which implements Semantic Convention [Version 1.7.0](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/semantic_conventions/README.md)

From 2b117bb4067a526244dd2590eaff69797254fa27 Mon Sep 17 00:00:00 2001
From: Amir Blum <amirgiraffe@gmail.com>
Date: Thu, 20 Jun 2024 22:10:09 +0300
Subject: [PATCH 043/123] chore: add script to verify READMEs and apply few
 fixes (#2242)

* chore: add script to verify README for instrumentations

* ci: add verify readmes to lint workflow

* chore: md lint

* fix: ci lint step

* revert: README changes to detectors

* refactor: rename verify-readme to lint-readme

* fix: remove console log on success

* refactor: use auto instrumentations deps to lable node or web

* Update scripts/lint-readme.js

Co-authored-by: Trent Mick <trentm@gmail.com>

---------

Co-authored-by: Trent Mick <trentm@gmail.com>
---
 .github/workflows/lint.yml                    |  1 +
 package.json                                  |  1 +
 .../node/instrumentation-amqplib/package.json |  1 +
 .../instrumentation-cucumber/package.json     |  1 +
 plugins/node/instrumentation-fs/package.json  |  1 +
 .../node/instrumentation-kafkajs/package.json |  1 +
 .../instrumentation-lru-memoizer/package.json |  1 +
 .../instrumentation-mongoose/package.json     |  1 +
 .../instrumentation-socket.io/package.json    |  1 +
 .../README.md                                 |  4 +-
 .../package.json                              |  1 +
 .../README.md                                 |  2 +
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../README.md                                 |  2 +
 .../package.json                              |  1 +
 .../README.md                                 |  2 +
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../README.md                                 |  2 +
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../README.md                                 |  6 +-
 .../package.json                              |  1 +
 .../README.md                                 |  2 +
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../README.md                                 |  2 +
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../README.md                                 |  4 +-
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../package.json                              |  1 +
 .../README.md                                 |  2 +-
 .../package.json                              |  1 +
 .../README.md                                 |  2 +-
 .../package.json                              |  1 +
 .../README.md                                 |  2 +-
 .../package.json                              |  1 +
 .../opentelemetry-plugin-react-load/README.md |  4 +-
 .../package.json                              |  1 +
 scripts/lint-readme.js                        | 84 +++++++++++++++++++
 49 files changed, 144 insertions(+), 11 deletions(-)
 create mode 100644 scripts/lint-readme.js

diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index a30b2bbe56..fdf521d3e3 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -20,3 +20,4 @@ jobs:
         run: |
           npm run lint
           npm run lint:markdown
+          npm run lint:readme
diff --git a/package.json b/package.json
index 74dbe0ce2e..f0daf35bfc 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,7 @@
     "clean": "lerna run clean",
     "precompile": "tsc --version && npm run version:update",
     "version:update": "lerna run version:update",
+    "lint:readme": "lerna run lint:readme",
     "compile": "lerna run compile",
     "prewatch": "npm run precompile",
     "test": "lerna run test",
diff --git a/plugins/node/instrumentation-amqplib/package.json b/plugins/node/instrumentation-amqplib/package.json
index f564585eb1..689a7f2dfc 100644
--- a/plugins/node/instrumentation-amqplib/package.json
+++ b/plugins/node/instrumentation-amqplib/package.json
@@ -30,6 +30,7 @@
     "compile": "tsc -p .",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-amqplib --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/instrumentation-cucumber/package.json b/plugins/node/instrumentation-cucumber/package.json
index cdef209a8b..ec0afafdd6 100644
--- a/plugins/node/instrumentation-cucumber/package.json
+++ b/plugins/node/instrumentation-cucumber/package.json
@@ -12,6 +12,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-cucumber --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/instrumentation-fs/package.json b/plugins/node/instrumentation-fs/package.json
index f6ee4bcb9e..51cb8ef836 100644
--- a/plugins/node/instrumentation-fs/package.json
+++ b/plugins/node/instrumentation-fs/package.json
@@ -11,6 +11,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-fs --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/instrumentation-kafkajs/package.json b/plugins/node/instrumentation-kafkajs/package.json
index 8ea5ebca2f..7b48870d0c 100644
--- a/plugins/node/instrumentation-kafkajs/package.json
+++ b/plugins/node/instrumentation-kafkajs/package.json
@@ -11,6 +11,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-kafkajs --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/instrumentation-lru-memoizer/package.json b/plugins/node/instrumentation-lru-memoizer/package.json
index 3406f6d31b..464fd99fdc 100644
--- a/plugins/node/instrumentation-lru-memoizer/package.json
+++ b/plugins/node/instrumentation-lru-memoizer/package.json
@@ -12,6 +12,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-lru-memoizer --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/instrumentation-mongoose/package.json b/plugins/node/instrumentation-mongoose/package.json
index 6dd3d52944..42c1828823 100644
--- a/plugins/node/instrumentation-mongoose/package.json
+++ b/plugins/node/instrumentation-mongoose/package.json
@@ -13,6 +13,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-mongoose --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/instrumentation-socket.io/package.json b/plugins/node/instrumentation-socket.io/package.json
index f8933eaafb..96aae23247 100644
--- a/plugins/node/instrumentation-socket.io/package.json
+++ b/plugins/node/instrumentation-socket.io/package.json
@@ -12,6 +12,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-socket.io --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/README.md b/plugins/node/opentelemetry-instrumentation-aws-lambda/README.md
index 8122156176..3893a552fb 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/README.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/README.md
@@ -9,10 +9,10 @@ This module provides automatic instrumentation for the [`AWS Lambda`](https://do
 
 If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.
 
-This module is currently under active development and not ready for general use.
-
 Compatible with OpenTelemetry JS API and SDK `1.0+`.
 
+This module is currently under active development and not ready for general use.
+
 ## Installation
 
 ```bash
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
index e09fe6acd7..02b86d9a9b 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
@@ -11,6 +11,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-aws-lambda --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md b/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md
index 9ee2e057eb..a6e01f85ba 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/README.md
@@ -9,6 +9,8 @@ This module provides automatic instrumentation for the [`aws-sdk` v2](https://do
 
 If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.
 
+Compatible with OpenTelemetry JS API and SDK `1.0+`.
+
 ## Installation
 
 ```bash
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
index d55e356552..ea6d8a9fb0 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
@@ -31,6 +31,7 @@
     "compile": "tsc -p .",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-aws-sdk --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/package.json b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
index 74346ded65..3668eee72a 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/package.json
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
@@ -11,6 +11,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-cassandra-driver --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/opentelemetry-instrumentation-connect/README.md b/plugins/node/opentelemetry-instrumentation-connect/README.md
index fb70ac71d5..604ee668b4 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/README.md
+++ b/plugins/node/opentelemetry-instrumentation-connect/README.md
@@ -7,6 +7,8 @@ This module provides automatic instrumentation for the [`connect`](https://githu
 
 If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.
 
+Compatible with OpenTelemetry JS API and SDK `1.0+`.
+
 ## Status
 
 | Maturity                                              | [Component Owner](../../../.github/component_owners.yml) | Compatibility         |
diff --git a/plugins/node/opentelemetry-instrumentation-connect/package.json b/plugins/node/opentelemetry-instrumentation-connect/package.json
index e3dcb5bd0a..6c7acae01e 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/package.json
+++ b/plugins/node/opentelemetry-instrumentation-connect/package.json
@@ -10,6 +10,7 @@
     "compile": "tsc -p .",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-connect --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/opentelemetry-instrumentation-dns/README.md b/plugins/node/opentelemetry-instrumentation-dns/README.md
index 1a0358f2bc..e1940425d9 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/README.md
+++ b/plugins/node/opentelemetry-instrumentation-dns/README.md
@@ -7,6 +7,8 @@ This module provides automatic instrumentation for the [`dns`](http://nodejs.org
 
 If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.
 
+Compatible with OpenTelemetry JS API and SDK `1.0+`.
+
 ## Status
 
 | Maturity                                              | [Component Owner](../../../.github/component_owners.yml) | Compatibility         |
diff --git a/plugins/node/opentelemetry-instrumentation-dns/package.json b/plugins/node/opentelemetry-instrumentation-dns/package.json
index d54c69b26c..f0d0cdf4ef 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/package.json
+++ b/plugins/node/opentelemetry-instrumentation-dns/package.json
@@ -15,6 +15,7 @@
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
     "version:update": "node ../../../scripts/version-update.js",
+    "lint:readme": "node ../../../scripts/lint-readme",
     "compile": "tsc -p ."
   },
   "keywords": [
diff --git a/plugins/node/opentelemetry-instrumentation-express/package.json b/plugins/node/opentelemetry-instrumentation-express/package.json
index d8aa38a859..c969dd0520 100644
--- a/plugins/node/opentelemetry-instrumentation-express/package.json
+++ b/plugins/node/opentelemetry-instrumentation-express/package.json
@@ -12,6 +12,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-express --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/README.md b/plugins/node/opentelemetry-instrumentation-fastify/README.md
index 4eb0f07d70..51b7dcccfc 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/README.md
+++ b/plugins/node/opentelemetry-instrumentation-fastify/README.md
@@ -7,6 +7,8 @@ This module provides automatic instrumentation for the [`fastify`](https://www.f
 
 If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.
 
+Compatible with OpenTelemetry JS API and SDK `1.0+`.
+
 ## Installation
 
 This instrumentation relies on HTTP calls to also be instrumented. Make sure you install and enable both, otherwise you will have spans that are not connected with each other.
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/package.json b/plugins/node/opentelemetry-instrumentation-fastify/package.json
index 25b709cfff..58476b30c5 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-fastify/package.json
@@ -10,6 +10,7 @@
     "compile": "tsc -p .",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-fastify --include-dependencies",
     "prepublishOnly": "npm run compile",
     "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'",
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
index c66c810714..b843b0e15d 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
@@ -11,6 +11,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-generic-pool --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/README.md b/plugins/node/opentelemetry-instrumentation-graphql/README.md
index 9de60ce985..b7ec85b58b 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/README.md
+++ b/plugins/node/opentelemetry-instrumentation-graphql/README.md
@@ -9,10 +9,10 @@ This module provides automatic instrumentation and tracing for GraphQL in Node.j
 
 If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.
 
-*Note*: graphql plugin instruments graphql directly. it should work with any package that wraps the graphql package (e.g apollo).
-
 Compatible with OpenTelemetry JS API and SDK `1.0+`.
 
+*Note*: graphql plugin instruments graphql directly. it should work with any package that wraps the graphql package (e.g apollo).
+
 ## Installation
 
 ```shell script
@@ -131,7 +131,7 @@ This package does not currently generate any attributes from semantic convention
 Apache 2.0 - See [LICENSE][license-url] for more information.
 
 [discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
-[license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/main/LICENSE
+[license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE
 [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
 [npm-url]: https://www.npmjs.com/package/@opentelemetry/instrumentation-graphql
 [npm-img]: https://badge.fury.io/js/%40opentelemetry%2Finstrumentation-graphql.svg
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/package.json b/plugins/node/opentelemetry-instrumentation-graphql/package.json
index 7bcb771167..441be6b47e 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-graphql/package.json
@@ -10,6 +10,7 @@
     "compile": "tsc -p .",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-graphql --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/README.md b/plugins/node/opentelemetry-instrumentation-hapi/README.md
index 1333b3fd80..7a5e2c3ac7 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/README.md
+++ b/plugins/node/opentelemetry-instrumentation-hapi/README.md
@@ -7,6 +7,8 @@ This module provides automatic instrumentation for the [Hapi Framework](https://
 
 If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.
 
+Compatible with OpenTelemetry JS API and SDK `1.0+`.
+
 ## Status
 
 | Maturity                                              | [Component Owner](../../../.github/component_owners.yml) | Compatibility         |
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/package.json b/plugins/node/opentelemetry-instrumentation-hapi/package.json
index fc8a7769af..05800e470b 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/package.json
+++ b/plugins/node/opentelemetry-instrumentation-hapi/package.json
@@ -12,6 +12,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-hapi --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/package.json b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
index a8cbb1292f..ab66240a02 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
@@ -15,6 +15,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-ioredis --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
diff --git a/plugins/node/opentelemetry-instrumentation-knex/package.json b/plugins/node/opentelemetry-instrumentation-knex/package.json
index 3b957dbde3..78ec339bd0 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/package.json
+++ b/plugins/node/opentelemetry-instrumentation-knex/package.json
@@ -14,6 +14,7 @@
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-knex --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
+    "lint:readme": "node ../../../scripts/lint-readme",
     "compile": "tsc -p .",
     "prepublishOnly": "npm run compile",
     "watch": "tsc -w"
diff --git a/plugins/node/opentelemetry-instrumentation-koa/README.md b/plugins/node/opentelemetry-instrumentation-koa/README.md
index dc07813ffc..dfa209fe7c 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/README.md
+++ b/plugins/node/opentelemetry-instrumentation-koa/README.md
@@ -7,6 +7,8 @@ This module provides automatic instrumentation for the [Koa](https://github.com/
 
 If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.
 
+Compatible with OpenTelemetry JS API and SDK `1.0+`.
+
 ## Status
 
 | Maturity                                              | [Component Owner](../../../.github/component_owners.yml) | Compatibility         |
diff --git a/plugins/node/opentelemetry-instrumentation-koa/package.json b/plugins/node/opentelemetry-instrumentation-koa/package.json
index 6a1995235d..dd6f4e4879 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/package.json
+++ b/plugins/node/opentelemetry-instrumentation-koa/package.json
@@ -12,6 +12,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-koa --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/package.json b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
index 7570e0afe6..1621791ec9 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
@@ -16,6 +16,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-mongodb --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
diff --git a/plugins/node/opentelemetry-instrumentation-net/README.md b/plugins/node/opentelemetry-instrumentation-net/README.md
index de1422c187..1aa5784b13 100644
--- a/plugins/node/opentelemetry-instrumentation-net/README.md
+++ b/plugins/node/opentelemetry-instrumentation-net/README.md
@@ -7,10 +7,10 @@ This module provides automatic instrumentation for the [`net`](http://nodejs.org
 
 If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.
 
-Supports both TCP and IPC connections.
-
 Compatible with OpenTelemetry JS API and SDK `1.0+`.
 
+Supports both TCP and IPC connections.
+
 ## Installation
 
 ```bash
diff --git a/plugins/node/opentelemetry-instrumentation-net/package.json b/plugins/node/opentelemetry-instrumentation-net/package.json
index 303510e996..6f221dcf7b 100644
--- a/plugins/node/opentelemetry-instrumentation-net/package.json
+++ b/plugins/node/opentelemetry-instrumentation-net/package.json
@@ -11,6 +11,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-net --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/opentelemetry-instrumentation-pg/package.json b/plugins/node/opentelemetry-instrumentation-pg/package.json
index 24dad46903..ec8d1f81aa 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pg/package.json
@@ -10,6 +10,7 @@
     "compile": "tsc -p .",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-pg --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/opentelemetry-instrumentation-pino/package.json b/plugins/node/opentelemetry-instrumentation-pino/package.json
index 3d5bb458b1..12f2485424 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pino/package.json
@@ -12,6 +12,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-pino --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/package.json b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
index f28faa3784..3f440ab849 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
@@ -17,6 +17,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-redis-4 --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
diff --git a/plugins/node/opentelemetry-instrumentation-redis/package.json b/plugins/node/opentelemetry-instrumentation-redis/package.json
index f4b4b54da0..f94dc6f9cf 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis/package.json
@@ -17,6 +17,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-redis --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
diff --git a/plugins/node/opentelemetry-instrumentation-restify/package.json b/plugins/node/opentelemetry-instrumentation-restify/package.json
index 514bff4c35..de1487c692 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-restify/package.json
@@ -10,6 +10,7 @@
     "compile": "tsc -p .",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-restify --include-dependencies",
     "prepublishOnly": "npm run compile",
     "prewatch": "npm run precompile",
diff --git a/plugins/node/opentelemetry-instrumentation-router/package.json b/plugins/node/opentelemetry-instrumentation-router/package.json
index 9e76e9b0ac..ed280aa09a 100644
--- a/plugins/node/opentelemetry-instrumentation-router/package.json
+++ b/plugins/node/opentelemetry-instrumentation-router/package.json
@@ -11,6 +11,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-router --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
diff --git a/plugins/node/opentelemetry-instrumentation-winston/package.json b/plugins/node/opentelemetry-instrumentation-winston/package.json
index 8d9e9575ab..b991ee2955 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/package.json
+++ b/plugins/node/opentelemetry-instrumentation-winston/package.json
@@ -12,6 +12,7 @@
     "clean": "rimraf build/*",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-winston --include-dependencies",
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/README.md b/plugins/web/opentelemetry-instrumentation-document-load/README.md
index a538ecf399..c672add7a5 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/README.md
+++ b/plugins/web/opentelemetry-instrumentation-document-load/README.md
@@ -145,7 +145,7 @@ Attributes collected:
 Apache 2.0 - See [LICENSE][license-url] for more information.
 
 [discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
-[license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/main/LICENSE
+[license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE
 [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
 [npm-url]: https://www.npmjs.com/package/@opentelemetry/instrumentation-document-load
 [npm-img]: https://badge.fury.io/js/%40opentelemetry%2Finstrumentation-document-load.svg
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/package.json b/plugins/web/opentelemetry-instrumentation-document-load/package.json
index ebab74aea6..60dc5f6009 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/package.json
+++ b/plugins/web/opentelemetry-instrumentation-document-load/package.json
@@ -11,6 +11,7 @@
     "clean": "tsc --build --clean tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-document-load --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/README.md b/plugins/web/opentelemetry-instrumentation-long-task/README.md
index 5f15447e58..fd3a3df856 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/README.md
+++ b/plugins/web/opentelemetry-instrumentation-long-task/README.md
@@ -69,7 +69,7 @@ longtaskInstrumentationConfig = {
 Apache 2.0 - See [LICENSE][license-url] for more information.
 
 [discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
-[license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/main/LICENSE
+[license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE
 [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
 [npm-url]: https://www.npmjs.com/package/@opentelemetry/instrumentation-long-task
 [npm-img]: https://badge.fury.io/js/%40opentelemetry%2Finstrumentation-long-task.svg
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/package.json b/plugins/web/opentelemetry-instrumentation-long-task/package.json
index 6bb5fc796f..150eb5940c 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/package.json
+++ b/plugins/web/opentelemetry-instrumentation-long-task/package.json
@@ -10,6 +10,7 @@
   "scripts": {
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "clean": "tsc --build --clean tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-user-interaction --include-dependencies",
     "prewatch": "npm run precompile",
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/README.md b/plugins/web/opentelemetry-instrumentation-user-interaction/README.md
index c72a693fc8..9823e3f068 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/README.md
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/README.md
@@ -163,7 +163,7 @@ registerInstrumentations({
 Apache 2.0 - See [LICENSE][license-url] for more information.
 
 [discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
-[license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/main/LICENSE
+[license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE
 [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
 [npm-url]: https://www.npmjs.com/package/@opentelemetry/instrumentation-user-interaction
 [npm-img]: https://badge.fury.io/js/%40opentelemetry%2Finstrumentation-user-interaction.svg
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
index 41553cf08c..642570faaf 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
@@ -10,6 +10,7 @@
   "scripts": {
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "clean": "tsc --build --clean tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/instrumentation-user-interaction --include-dependencies",
     "prewatch": "npm run precompile",
diff --git a/plugins/web/opentelemetry-plugin-react-load/README.md b/plugins/web/opentelemetry-plugin-react-load/README.md
index 76155f67b4..ab822d1955 100644
--- a/plugins/web/opentelemetry-plugin-react-load/README.md
+++ b/plugins/web/opentelemetry-plugin-react-load/README.md
@@ -7,6 +7,8 @@ This module provides automatic instrumentation for *React lifecycles* for Web ap
 
 If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-web`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-web) bundle with [`@opentelemetry/sdk-trace-web`](https://www.npmjs.com/package/@opentelemetry/sdk-trace-web) for the most seamless instrumentation experience.
 
+Compatible with OpenTelemetry JS API and SDK `1.0+`.
+
 ## Status
 
 | Maturity                                 | [Component Owner](../../../.github/component_owners.yml) | Compatibility         |
@@ -54,7 +56,7 @@ This package does not currently generate any attributes from semantic convention
 Apache 2.0 - See [LICENSE][license-url] for more information.
 
 [discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
-[license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/main/LICENSE
+[license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE
 [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
 [npm-url]: https://www.npmjs.com/package/@opentelemetry/plugin-react-load
 [npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fplugin-react-load.svg
diff --git a/plugins/web/opentelemetry-plugin-react-load/package.json b/plugins/web/opentelemetry-plugin-react-load/package.json
index 948fe986eb..2c2e616eed 100644
--- a/plugins/web/opentelemetry-plugin-react-load/package.json
+++ b/plugins/web/opentelemetry-plugin-react-load/package.json
@@ -11,6 +11,7 @@
     "clean": "tsc --build --clean tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",
+    "lint:readme": "node ../../../scripts/lint-readme.js",
     "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/plugin-react-load --include-dependencies",
     "prewatch": "npm run precompile",
     "version:update": "node ../../../scripts/version-update.js",
diff --git a/scripts/lint-readme.js b/scripts/lint-readme.js
new file mode 100644
index 0000000000..78dd0d4b5e
--- /dev/null
+++ b/scripts/lint-readme.js
@@ -0,0 +1,84 @@
+const fs = require('fs');
+const path = require('path');
+
+const packageRoot = process.cwd();
+const monorepoRoot = path.resolve(__dirname, '..');
+
+const autoInstrumentationNodeDeps = require(`${monorepoRoot}/metapackages/auto-instrumentations-node/package.json`).dependencies;
+const autoInstrumentationWebDeps = require(`${monorepoRoot}/metapackages/auto-instrumentations-web/package.json`).dependencies;
+
+// extract info from package.json
+const packageJsonUrl = path.resolve(`${packageRoot}/package.json`);
+const pjson = require(packageJsonUrl);
+const instrumentationPackageName = pjson.name;
+
+// identify if it's node or web
+const isNode = instrumentationPackageName in autoInstrumentationNodeDeps;
+const isWeb = instrumentationPackageName in autoInstrumentationWebDeps;
+
+// extract info from README.md
+const currentReadmeContent = fs.readFileSync(
+  path.resolve(`${packageRoot}/README.md`),
+  'utf8'
+);
+
+// make sure the footer is present
+
+const footerToVerify = `## Useful links
+
+- For more information on OpenTelemetry, visit: <https://opentelemetry.io/>
+- For more about OpenTelemetry JavaScript: <https://github.com/open-telemetry/opentelemetry-js>
+- For help or feedback on this project, join us in [GitHub Discussions][discussions-url]
+
+## License
+
+Apache 2.0 - See [LICENSE][license-url] for more information.
+
+[discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
+[license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE
+[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
+[npm-url]: https://www.npmjs.com/package/${instrumentationPackageName}
+[npm-img]: https://badge.fury.io/js/${encodeURIComponent(instrumentationPackageName)}.svg
+`;
+
+if (!currentReadmeContent.includes(footerToVerify)) {
+  throw new Error(
+    `README.md footer is not valid. Please add the following text to the README.md file:\n\n${footerToVerify}`
+  );
+}
+
+// make sure we have badges at the top
+
+const badgesToVerify = `[![NPM Published Version][npm-img]][npm-url]
+[![Apache License][license-image]][license-image]
+`;
+
+if (!currentReadmeContent.includes(badgesToVerify)) {
+  throw new Error(
+    `README.md badges are not valid. Please add the following text to the README.md file:\n\n${badgesToVerify}`
+  );
+}
+
+if (isNode) {
+  const distText = `If total installation size is not constrained, it is recommended to use the [\`@opentelemetry/auto-instrumentations-node\`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](\`https://www.npmjs.com/package/@opentelemetry/sdk-node\`) for the most seamless instrumentation experience.
+
+Compatible with OpenTelemetry JS API and SDK \`1.0+\`.
+`
+
+  if (!currentReadmeContent.includes(distText)) {
+    throw new Error(
+      `README.md dist text is not valid. Please add the following text to the README.md file:\n\n${distText}`
+    );
+  }
+} else if (isWeb) {
+  const distText = `If total installation size is not constrained, it is recommended to use the [\`@opentelemetry/auto-instrumentations-web\`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-web) bundle with [\`@opentelemetry/sdk-trace-web\`](https://www.npmjs.com/package/@opentelemetry/sdk-trace-web) for the most seamless instrumentation experience.
+
+Compatible with OpenTelemetry JS API and SDK \`1.0+\`.
+`;  
+
+  if (!currentReadmeContent.includes(distText)) {
+    throw new Error(
+      `README.md dist text is not valid. Please add the following text to the README.md file:\n\n${distText}`
+    );
+  }
+}

From c3615487ef367abf446bbb432fec5e48c9d5efe6 Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Mon, 24 Jun 2024 13:16:10 +0200
Subject: [PATCH 044/123] docs: add info on how to become a component owner
 (#2287)

* docs: add info on how to become a component owner

* fixup! docs: add info on how to become a component owner

* fixup! docs: add info on how to become a component owner

* fix: finish sentence
---
 .github/ISSUE_TEMPLATE/ownership_request.md | 39 +++++++++++++++++++++
 CONTRIBUTING.md                             | 37 ++++++++++++++++++-
 2 files changed, 75 insertions(+), 1 deletion(-)
 create mode 100644 .github/ISSUE_TEMPLATE/ownership_request.md

diff --git a/.github/ISSUE_TEMPLATE/ownership_request.md b/.github/ISSUE_TEMPLATE/ownership_request.md
new file mode 100644
index 0000000000..3f0d2e6966
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/ownership_request.md
@@ -0,0 +1,39 @@
+---
+name: Component Ownership Request
+about: Request yourself being added as a component owner for a component in this repository
+labels: type:ownership-request
+---
+
+<!--
+**NB:** Before opening a component ownership request against this repo, please read [CONTRIBUTING.md](../../CONTRIBUTING.md#component-ownership) and its subsections first.
+-->
+
+### Which component are you requesting ownership of?
+
+<!--
+Put a link to the component here.
+-->
+
+### Related Work and Qualifications
+
+<!--
+List here why you're qualified to take ownership of the component, see [CONTRIBUTING.md](../../CONTRIBUTING.md#becoming-a-component-owner) for details.
+
+Examples:
+- I am working on <related open-source-project> and have deep knowledge of the instrumented package.
+- I am using the instrumented package on a regular basis and have deep knowledge of the instrumented package.
+- I am working on <similar package or system> and have deep knowledge of the concepts of the instrumented package.
+- I am an engineer at an observability vendor we would like to sponsor this component.
+-->
+
+### Checklist
+
+- [ ] I have read [CONTRIBUTING.md](../../CONTRIBUTING.md) and understand the responsibilities of a component owner.
+- [ ] I agree to follow and uphold the [mission, vision and values](https://github.com/open-telemetry/community/blob/main/mission-vision-values.md) of the OpenTelemetry project
+- [ ] I understand that the component I'm requesting ownership of may be subject to the [OpenTelemetry Semantic Conventions](https://github.com/open-telemetry/semantic-conventions) and agree to follow the rules set out therein.
+
+### Additional context
+
+<!--
+Add any other context that does not fit any of the above sections
+-->
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e3441af5ab..0ed9e86bdc 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -14,6 +14,7 @@ We'd love your help!
   - [CHANGELOG](#changelog)
   - [Benchmarks](#benchmarks)
 - [Component Ownership](#component-ownership)
+  - [Becoming a Component Owner](#becoming-a-component-owner)
 - [Component Lifecycle](#component-lifecycle)
   - [Unreleased](#unreleased)
   - [Experimental](#experimental)
@@ -139,10 +140,44 @@ When two or more approaches must be compared, please write a benchmark in the be
 This repository contains many components which are maintained by more than the typical set of JS maintainers and approvers.
 Each component in this repository SHOULD have a component owner who is responsible for maintaining it.
 The README.md for each component SHOULD contain its owner, but the source of truth for component ownership is in [.github/component_owners.yml](.github/component_owners.yml).
-Component owners are generally given authority to make decisions relating to implementation and feature requests for their components, provided they follow the best practices set out by the maintainers.
+Component owners are generally given authority to make decisions relating to implementation and feature requests for their components,
+provided they follow the best practices set out by the maintainers and the [mission, vision and values](https://github.com/open-telemetry/community/blob/main/mission-vision-values.md)
+of the OpenTelemetry Project.
+
 Component owners MUST do their best to maintain a high level of quality, security, performance, and specification compliance within their components.
 Maintainers may override the decisions of component owners, but should only do so when they feel one or more of these traits is compromised.
 
+### Becoming a Component Owner
+
+To become a component owner, contributors SHOULD demonstrate prior knowledge of the instrumented package or the concepts therein.
+
+Ways do to so may be by providing proof of:
+
+- current or prior involvement with the community that develops the upstream package
+  - **Example:** A person working on MongoDB requesting ownership over a MongoDB instrumentation
+- current or prior involvement with a community that develops systems with similar concepts
+  - **Example:** A person previously working on a MySQL requesting ownership of a instrumentation package that instruments another database client library instrumentation.
+- current or prior extensive use of the instrumented package in other project they are involved in
+  - **Example:** A person working at a company that makes extensive use of the `fastify` library requesting ownership of the `@opentelemetry/instrumentation-fastify` package.
+- a vested interest in the telemetry being emitted from that instrumentation
+  - **Example:** A person employed at an observability vendor that relies on the continued maintenance of the instrumentation
+
+**Examples of proof may include but are not limited to:**
+
+- Links to issues/PRs they worked on
+- Links to blog posts authored by them on behalf of the organization developing that system
+- Membership in GitHub teams/organizations that are associated with the development of the upstream package
+
+Aspiring Component Owners MUST agree to uphold the [mission, vision and values](https://github.com/open-telemetry/community/blob/main/mission-vision-values.md) of the OpenTelemetry project.
+Further, aspiring component owners are expected to have knowledge of the [OpenTelemetry Semantic Conventions](https://github.com/open-telemetry/semantic-conventions)
+and MUST agree to adhere to the rules set out therein.
+
+If all these conditions are met, aspiring component owners are encouraged to self-nominate by opening an issue.
+@open-telemetry/javascript-maintainers will then engage on the issue, may ask questions, and will then - based on the
+information provided on the issue - either approve or deny the ownership request. If the ownership request has been
+approved, the new component owner opens a PR to add themselves to the list of owners ([.github/component_owners.yml](.github/component_owners.yml))
+for that package.
+
 ## Component Lifecycle
 
 This repository contains many components in various stages of the component lifecycle.

From a8086d0957ea00a017e66012e3abd256e7d7b0ae Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Tue, 25 Jun 2024 17:11:40 +0200
Subject: [PATCH 045/123] docs: feature-freeze unmaintained components (#2272)

* docs: impose feature-freeze on unmtainainted components

* fixup! docs: impose feature-freeze on unmtainainted components

* docs: add exemption for semconv updates

* docs: clarify that bugs are exempt from auto-close

* fixup! docs: clarify that bugs are exempt from auto-close

* fixup! docs: impose feature-freeze on unmtainainted components
---
 .github/component-label-map.yml   |  9 +++++++++
 .github/workflows/close-stale.yml | 22 +++++++++++++++++++++-
 CONTRIBUTING.md                   | 15 +++++++++++++--
 3 files changed, 43 insertions(+), 3 deletions(-)

diff --git a/.github/component-label-map.yml b/.github/component-label-map.yml
index c766a864d0..5f28de38fb 100644
--- a/.github/component-label-map.yml
+++ b/.github/component-label-map.yml
@@ -270,3 +270,12 @@ pkg:sql-common:
   - changed-files:
       - any-glob-to-any-file:
           - packages/opentelemetry-sql-common/**
+pkg-status:unmaintained:
+  - changed-files:
+      - any-glob-to-any-file:
+          - detectors/node/opentelemetry-resource-detector-github/**
+          - plugins/node/opentelemetry-instrumentation-connect/**
+          - plugins/node/opentelemetry-instrumentation-dns/**
+          - plugins/node/opentelemetry-instrumentation-hapi/**
+          - plugins/node/opentelemetry-instrumentation-koa/**
+          - propagators/opentelemetry-propagator-ot-trace/**
diff --git a/.github/workflows/close-stale.yml b/.github/workflows/close-stale.yml
index b27106ca04..05ceae509f 100644
--- a/.github/workflows/close-stale.yml
+++ b/.github/workflows/close-stale.yml
@@ -1,7 +1,7 @@
 name: 'Close stale issues and PRs'
 on:
   schedule:
-    - cron: '30 6 * * 1'
+    - cron: '30 6 * * *'
 
 jobs:
   stale:
@@ -20,3 +20,23 @@ jobs:
           exempt-issue-labels: never-stale
           exempt-pr-labels: never-stale
           any-of-labels: information-requested
+      - uses: actions/stale@v9
+        with:
+          days-before-issue-stale: 0
+          days-before-issue-close: 14
+          stale-issue-message: 'This package does not have an assigned [component owner](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#component-ownership) and is considered [unmaintained](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#unmaintained). As such this package is in feature-freeze and this issue will be closed with 14 days unless a new owner or a sponsor (a member of @open-telemetry/javascript-approvers) for the feature is found. It is the responsibility of the author to find a sponsor for this feature.
+
+          Are you familiar with this package? Consider [becoming a component owner](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#becoming-a-component-owner).'
+          close-issue-message: 'This issue was closed because no owner or sponsor has been found after 14 days'
+          only-labels: pkg-status:unmaintained,feature-request
+          exempt-issue-labels: bug,has:sponsor,type:semconv-update
+      - uses: actions/stale@v9
+        with:
+          days-before-pr-stale: 0
+          days-before-pr-close: 14
+          stale-pr-message: 'This package does not have an assigned [component owner](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#component-ownership) and is considered [unmaintained](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#unmaintained). As such this package is in feature-freeze and this PR will be closed with 14 days unless a new owner or a sponsor (a member of @open-telemetry/javascript-approvers) for the feature is found. It is the responsibility of the author to find a sponsor for this feature.
+
+          Are you familiar with this package? Consider [becoming a component owner](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#becoming-a-component-owner).'
+          close-pr-message: 'This issue was closed because no owner or sponsor has been found after 14 days'
+          only-labels: pkg-status:unmaintained
+          exempt-pr-labels: bug,has:sponsor,type:semconv-update
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0ed9e86bdc..a47d95ac8c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -222,8 +222,19 @@ Stable components MUST have their major version set to `1` or greater.
 
 ### Unmaintained
 
-A component which does not have an assigned component owner, or has a component owner who has been unresponsive to issues and pull requests may be marked as unmaintained.
-Unmaintained components may continue to work and receive updates and fixes from contributors, but may not receive immediate attention if there is a problem or feature request.
+A component which does not have an assigned component owner, or has a component owner who has been unresponsive to issues
+and pull requests may be marked as `pkg-status:unmaintained`.
+
+Unmaintained components may continue to work and receive updates and fixes from contributors. An unmaintained component
+is considered feature-freeze and new feature-requests may be closed within two weeks if no new owner is found.
+[@open-telemetry/javascript-approvers](https://github.com/orgs/open-telemetry/teams/javascript-approvers) may sponsor
+features for unmaintained components. At least one sponsor is needed to lift the feature-freeze for the purpose of
+adding the requested feature. Sponsors are expected to provide reviews for that feature and be responsive on the issue.
+
+Components marked as unmaintained still receive semantic conventions updates and bugfixes where possible.
+[@open-telemetry/javascript-triagers](https://github.com/orgs/open-telemetry/teams/javascript-triagers) may add the
+`type:semconv-update` or `bug` label to mark them as exempt from being auto-closed within two weeks.
+
 A component which is unmaintained may be deprecated if there is a problem that is not fixed in a timely manner.
 
 ### Deprecated

From 0ed40384287a8d06549c2a9c98a26ea9b068c472 Mon Sep 17 00:00:00 2001
From: Amir Blum <amirgiraffe@gmail.com>
Date: Wed, 26 Jun 2024 16:19:08 +0300
Subject: [PATCH 046/123] fix!: export instrumentations only as named export
 (#2296)

* fixexport instrumentations only as named export

* fix(undici): remove un-needed exports from index.ts
---
 plugins/node/instrumentation-dataloader/src/index.ts |  2 +-
 plugins/node/instrumentation-fs/src/index.ts         |  6 ------
 .../node/instrumentation-fs/src/instrumentation.ts   |  2 +-
 plugins/node/instrumentation-fs/test/fs.test.ts      |  6 +++---
 plugins/node/instrumentation-fs/test/fsHooks.test.ts |  6 +++---
 .../node/instrumentation-fs/test/fsPromises.test.ts  |  6 +++---
 .../instrumentation-fs/test/fsPromisesHooks.test.ts  |  6 +++---
 plugins/node/instrumentation-fs/test/parent.test.ts  |  6 +++---
 .../node/instrumentation-lru-memoizer/src/index.ts   |  6 +-----
 .../src/instrumentation.ts                           |  2 +-
 .../instrumentation-lru-memoizer/test/index.test.ts  |  2 +-
 .../node/instrumentation-runtime-node/src/index.ts   |  5 +++--
 plugins/node/instrumentation-tedious/src/index.ts    |  4 ----
 plugins/node/instrumentation-undici/src/index.ts     | 11 ++---------
 .../src/index.ts                                     |  5 +----
 .../src/instrumentation.ts                           |  2 +-
 .../test/index.test.ts                               |  4 ++--
 .../opentelemetry-instrumentation-knex/src/index.ts  |  4 ----
 .../test/index.test.ts                               |  4 ++--
 .../src/index.ts                                     |  6 +-----
 .../src/instrumentation.ts                           | 12 ++++++++----
 .../test/index.test.ts                               |  4 ++--
 .../src/index.ts                                     |  4 ----
 .../src/index.ts                                     |  4 ----
 .../src/instrumentation.ts                           | 12 ++++++------
 .../src/index.ts                                     |  4 ----
 .../test/restify.test.ts                             |  2 +-
 .../src/index.ts                                     |  6 +-----
 .../src/instrumentation.ts                           |  2 +-
 .../test/index.test.ts                               |  4 ++--
 30 files changed, 53 insertions(+), 96 deletions(-)

diff --git a/plugins/node/instrumentation-dataloader/src/index.ts b/plugins/node/instrumentation-dataloader/src/index.ts
index 400b81745a..a41cc4c8df 100644
--- a/plugins/node/instrumentation-dataloader/src/index.ts
+++ b/plugins/node/instrumentation-dataloader/src/index.ts
@@ -15,4 +15,4 @@
  */
 
 export * from './types';
-export { DataloaderInstrumentation } from './instrumentation';
+export * from './instrumentation';
diff --git a/plugins/node/instrumentation-fs/src/index.ts b/plugins/node/instrumentation-fs/src/index.ts
index 27e4d2717e..c26f998cff 100644
--- a/plugins/node/instrumentation-fs/src/index.ts
+++ b/plugins/node/instrumentation-fs/src/index.ts
@@ -14,11 +14,5 @@
  * limitations under the License.
  */
 
-import FsInstrumentation from './instrumentation';
-
-export { FsInstrumentation };
-
 export * from './instrumentation';
 export * from './types';
-
-export default FsInstrumentation;
diff --git a/plugins/node/instrumentation-fs/src/instrumentation.ts b/plugins/node/instrumentation-fs/src/instrumentation.ts
index 57db632a0e..281e43fc10 100644
--- a/plugins/node/instrumentation-fs/src/instrumentation.ts
+++ b/plugins/node/instrumentation-fs/src/instrumentation.ts
@@ -51,7 +51,7 @@ function patchedFunctionWithOriginalProperties<
   return Object.assign(patchedFunction, original);
 }
 
-export default class FsInstrumentation extends InstrumentationBase {
+export class FsInstrumentation extends InstrumentationBase {
   constructor(config: FsInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
diff --git a/plugins/node/instrumentation-fs/test/fs.test.ts b/plugins/node/instrumentation-fs/test/fs.test.ts
index e8f97b6ab2..f8d8e4c9e9 100644
--- a/plugins/node/instrumentation-fs/test/fs.test.ts
+++ b/plugins/node/instrumentation-fs/test/fs.test.ts
@@ -22,7 +22,7 @@ import {
 } from '@opentelemetry/sdk-trace-base';
 import * as assert from 'assert';
 import { promisify } from 'util';
-import Instrumentation from '../src';
+import { FsInstrumentation } from '../src';
 import * as sinon from 'sinon';
 import type * as FSType from 'fs';
 import tests, { TestCase, TestCreator } from './definitions';
@@ -66,12 +66,12 @@ provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
 describe('fs instrumentation', () => {
   let contextManager: AsyncHooksContextManager;
   let fs: typeof FSType;
-  let plugin: Instrumentation;
+  let plugin: FsInstrumentation;
 
   beforeEach(async () => {
     contextManager = new AsyncHooksContextManager();
     context.setGlobalContextManager(contextManager.enable());
-    plugin = new Instrumentation(pluginConfig);
+    plugin = new FsInstrumentation(pluginConfig);
     plugin.setTracerProvider(provider);
     plugin.enable();
     fs = require('fs');
diff --git a/plugins/node/instrumentation-fs/test/fsHooks.test.ts b/plugins/node/instrumentation-fs/test/fsHooks.test.ts
index 1ae9e5b0eb..bdffab00e8 100644
--- a/plugins/node/instrumentation-fs/test/fsHooks.test.ts
+++ b/plugins/node/instrumentation-fs/test/fsHooks.test.ts
@@ -19,7 +19,7 @@ import {
   SimpleSpanProcessor,
 } from '@opentelemetry/sdk-trace-base';
 import * as assert from 'assert';
-import Instrumentation from '../src';
+import { FsInstrumentation } from '../src';
 import * as sinon from 'sinon';
 import type * as FSType from 'fs';
 import type { FsInstrumentationConfig } from '../src/types';
@@ -76,11 +76,11 @@ const assertFailingCallHooks = (expectedFunctionName: string) => {
 };
 
 describe('fs instrumentation: hooks', () => {
-  let plugin: Instrumentation;
+  let plugin: FsInstrumentation;
   let fs: typeof FSType;
 
   beforeEach(async () => {
-    plugin = new Instrumentation(pluginConfig);
+    plugin = new FsInstrumentation(pluginConfig);
     plugin.setTracerProvider(provider);
     plugin.setConfig(pluginConfig as FsInstrumentationConfig);
     plugin.enable();
diff --git a/plugins/node/instrumentation-fs/test/fsPromises.test.ts b/plugins/node/instrumentation-fs/test/fsPromises.test.ts
index 9af00a13a5..0400f57ee7 100644
--- a/plugins/node/instrumentation-fs/test/fsPromises.test.ts
+++ b/plugins/node/instrumentation-fs/test/fsPromises.test.ts
@@ -21,7 +21,7 @@ import {
   SimpleSpanProcessor,
 } from '@opentelemetry/sdk-trace-base';
 import * as assert from 'assert';
-import Instrumentation from '../src';
+import { FsInstrumentation } from '../src';
 import * as sinon from 'sinon';
 import type * as FSPromisesType from 'fs/promises';
 import tests, { FsFunction, TestCase, TestCreator } from './definitions';
@@ -45,12 +45,12 @@ provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
 describe('fs/promises instrumentation', () => {
   let contextManager: AsyncHooksContextManager;
   let fsPromises: typeof FSPromisesType;
-  let plugin: Instrumentation;
+  let plugin: FsInstrumentation;
 
   beforeEach(async () => {
     contextManager = new AsyncHooksContextManager();
     context.setGlobalContextManager(contextManager.enable());
-    plugin = new Instrumentation(pluginConfig);
+    plugin = new FsInstrumentation(pluginConfig);
     plugin.setTracerProvider(provider);
     plugin.enable();
     fsPromises = require('fs/promises');
diff --git a/plugins/node/instrumentation-fs/test/fsPromisesHooks.test.ts b/plugins/node/instrumentation-fs/test/fsPromisesHooks.test.ts
index d69be21ed9..be3db71202 100644
--- a/plugins/node/instrumentation-fs/test/fsPromisesHooks.test.ts
+++ b/plugins/node/instrumentation-fs/test/fsPromisesHooks.test.ts
@@ -19,7 +19,7 @@ import {
   SimpleSpanProcessor,
 } from '@opentelemetry/sdk-trace-base';
 import * as assert from 'assert';
-import Instrumentation from '../src';
+import { FsInstrumentation } from '../src';
 import * as sinon from 'sinon';
 import type * as FSPromisesType from 'fs/promises';
 import type { FsInstrumentationConfig } from '../src/types';
@@ -80,11 +80,11 @@ const assertFailingCallHooks = (expectedFunctionName: string) => {
 const fsConstantsR_OK = 4;
 
 describe('fs/promises instrumentation: hooks', () => {
-  let plugin: Instrumentation;
+  let plugin: FsInstrumentation;
   let fsPromises: typeof FSPromisesType;
 
   beforeEach(async () => {
-    plugin = new Instrumentation(pluginConfig);
+    plugin = new FsInstrumentation(pluginConfig);
     plugin.setTracerProvider(provider);
     plugin.setConfig(pluginConfig as FsInstrumentationConfig);
     plugin.enable();
diff --git a/plugins/node/instrumentation-fs/test/parent.test.ts b/plugins/node/instrumentation-fs/test/parent.test.ts
index 9ca6d90059..903e7e48e8 100644
--- a/plugins/node/instrumentation-fs/test/parent.test.ts
+++ b/plugins/node/instrumentation-fs/test/parent.test.ts
@@ -18,7 +18,7 @@ import {
   InMemorySpanExporter,
   SimpleSpanProcessor,
 } from '@opentelemetry/sdk-trace-base';
-import Instrumentation from '../src';
+import { FsInstrumentation } from '../src';
 import * as assert from 'assert';
 import type * as FSType from 'fs';
 import type { FsInstrumentationConfig } from '../src/types';
@@ -32,14 +32,14 @@ provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
 const tracer = provider.getTracer('default');
 
 describe('fs instrumentation: requireParentSpan', () => {
-  let plugin: Instrumentation;
+  let plugin: FsInstrumentation;
   let fs: typeof FSType;
   let ambientContext: api.Context;
   let endRootSpan: () => void;
   let expectedAmbientSpanCount: number;
 
   const initializePlugin = (pluginConfig: FsInstrumentationConfig) => {
-    plugin = new Instrumentation();
+    plugin = new FsInstrumentation();
     plugin.setTracerProvider(provider);
     plugin.setConfig(pluginConfig);
     plugin.enable();
diff --git a/plugins/node/instrumentation-lru-memoizer/src/index.ts b/plugins/node/instrumentation-lru-memoizer/src/index.ts
index fc85cdf0f8..24c76056a1 100644
--- a/plugins/node/instrumentation-lru-memoizer/src/index.ts
+++ b/plugins/node/instrumentation-lru-memoizer/src/index.ts
@@ -14,8 +14,4 @@
  * limitations under the License.
  */
 
-import LruMemoizerInstrumentation from './instrumentation';
-
-export { LruMemoizerInstrumentation };
-
-export default LruMemoizerInstrumentation;
+export * from './instrumentation';
diff --git a/plugins/node/instrumentation-lru-memoizer/src/instrumentation.ts b/plugins/node/instrumentation-lru-memoizer/src/instrumentation.ts
index 6224fe7edf..bfb7465e62 100644
--- a/plugins/node/instrumentation-lru-memoizer/src/instrumentation.ts
+++ b/plugins/node/instrumentation-lru-memoizer/src/instrumentation.ts
@@ -22,7 +22,7 @@ import {
 } from '@opentelemetry/instrumentation';
 import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
-export default class LruMemoizerInstrumentation extends InstrumentationBase {
+export class LruMemoizerInstrumentation extends InstrumentationBase {
   constructor(config: InstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
diff --git a/plugins/node/instrumentation-lru-memoizer/test/index.test.ts b/plugins/node/instrumentation-lru-memoizer/test/index.test.ts
index aced9416b4..42f7605046 100644
--- a/plugins/node/instrumentation-lru-memoizer/test/index.test.ts
+++ b/plugins/node/instrumentation-lru-memoizer/test/index.test.ts
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import LruMemoizerInstrumentation from '../src';
+import { LruMemoizerInstrumentation } from '../src';
 import { trace, context } from '@opentelemetry/api';
 import { expect } from 'expect';
 
diff --git a/plugins/node/instrumentation-runtime-node/src/index.ts b/plugins/node/instrumentation-runtime-node/src/index.ts
index 7e29b98aeb..c26f998cff 100644
--- a/plugins/node/instrumentation-runtime-node/src/index.ts
+++ b/plugins/node/instrumentation-runtime-node/src/index.ts
@@ -13,5 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-export { RuntimeNodeInstrumentation } from './instrumentation';
-export { RuntimeNodeInstrumentationConfig } from './types';
+
+export * from './instrumentation';
+export * from './types';
diff --git a/plugins/node/instrumentation-tedious/src/index.ts b/plugins/node/instrumentation-tedious/src/index.ts
index add054c2a8..c26f998cff 100644
--- a/plugins/node/instrumentation-tedious/src/index.ts
+++ b/plugins/node/instrumentation-tedious/src/index.ts
@@ -14,9 +14,5 @@
  * limitations under the License.
  */
 
-import { TediousInstrumentation } from './instrumentation';
-
 export * from './instrumentation';
-export default TediousInstrumentation;
-
 export * from './types';
diff --git a/plugins/node/instrumentation-undici/src/index.ts b/plugins/node/instrumentation-undici/src/index.ts
index 80c6504fbc..809207c6ce 100644
--- a/plugins/node/instrumentation-undici/src/index.ts
+++ b/plugins/node/instrumentation-undici/src/index.ts
@@ -14,12 +14,5 @@
  * limitations under the License.
  */
 
-export { UndiciInstrumentation } from './undici';
-export {
-  UndiciRequest,
-  UndiciResponse,
-  IgnoreRequestFunction,
-  RequestHookFunction,
-  StartSpanHookFunction,
-  UndiciInstrumentationConfig,
-} from './types';
+export * from './undici';
+export * from './types';
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/src/index.ts b/plugins/node/opentelemetry-instrumentation-generic-pool/src/index.ts
index 3b04638af8..24c76056a1 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/src/index.ts
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/src/index.ts
@@ -14,7 +14,4 @@
  * limitations under the License.
  */
 
-import GenericPoolInstrumentation from './instrumentation';
-
-export { GenericPoolInstrumentation };
-export default GenericPoolInstrumentation;
+export * from './instrumentation';
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts
index aed3416f36..202fb2b411 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts
@@ -28,7 +28,7 @@ import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 const MODULE_NAME = 'generic-pool';
 
-export default class Instrumentation extends InstrumentationBase {
+export class GenericPoolInstrumentation extends InstrumentationBase {
   // only used for v2 - v2.3)
   private _isDisabled = false;
 
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/test/index.test.ts b/plugins/node/opentelemetry-instrumentation-generic-pool/test/index.test.ts
index c3794e0324..d7453d204f 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/test/index.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/test/index.test.ts
@@ -22,8 +22,8 @@ import {
   SimpleSpanProcessor,
 } from '@opentelemetry/sdk-trace-base';
 
-import Instrumentation from '../src';
-const plugin = new Instrumentation();
+import { GenericPoolInstrumentation } from '../src';
+const plugin = new GenericPoolInstrumentation();
 
 import * as util from 'util';
 import * as genericPool from 'generic-pool';
diff --git a/plugins/node/opentelemetry-instrumentation-knex/src/index.ts b/plugins/node/opentelemetry-instrumentation-knex/src/index.ts
index 4d2b9abbeb..c26f998cff 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/src/index.ts
+++ b/plugins/node/opentelemetry-instrumentation-knex/src/index.ts
@@ -14,9 +14,5 @@
  * limitations under the License.
  */
 
-import { KnexInstrumentation } from './instrumentation';
-
 export * from './instrumentation';
-export default KnexInstrumentation;
-
 export * from './types';
diff --git a/plugins/node/opentelemetry-instrumentation-knex/test/index.test.ts b/plugins/node/opentelemetry-instrumentation-knex/test/index.test.ts
index 9072465c47..344fb94400 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/test/index.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-knex/test/index.test.ts
@@ -23,8 +23,8 @@ import {
 } from '@opentelemetry/sdk-trace-base';
 import * as assert from 'assert';
 
-import Instrumentation from '../src';
-const plugin = new Instrumentation({
+import { KnexInstrumentation } from '../src';
+const plugin = new KnexInstrumentation({
   maxQueryLength: 50,
 });
 
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/src/index.ts b/plugins/node/opentelemetry-instrumentation-memcached/src/index.ts
index 22efa9b0a5..c26f998cff 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/src/index.ts
+++ b/plugins/node/opentelemetry-instrumentation-memcached/src/index.ts
@@ -14,9 +14,5 @@
  * limitations under the License.
  */
 
-import { Instrumentation } from './instrumentation';
-export * from './types';
-
 export * from './instrumentation';
-export default Instrumentation;
-export { Instrumentation as MemcachedInstrumentation };
+export * from './types';
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts
index f29bf1ca14..53676b7468 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts
@@ -31,7 +31,7 @@ import * as utils from './utils';
 import { InstrumentationConfig } from './types';
 import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
-export class Instrumentation extends InstrumentationBase {
+export class MemcachedInstrumentation extends InstrumentationBase {
   static readonly COMPONENT = 'memcached';
   static readonly COMMON_ATTRIBUTES = {
     [SEMATTRS_DB_SYSTEM]: DBSYSTEMVALUES_MEMCACHED,
@@ -44,12 +44,16 @@ export class Instrumentation extends InstrumentationBase {
     super(
       PACKAGE_NAME,
       PACKAGE_VERSION,
-      Object.assign({}, Instrumentation.DEFAULT_CONFIG, config)
+      Object.assign({}, MemcachedInstrumentation.DEFAULT_CONFIG, config)
     );
   }
 
   override setConfig(config: InstrumentationConfig = {}) {
-    this._config = Object.assign({}, Instrumentation.DEFAULT_CONFIG, config);
+    this._config = Object.assign(
+      {},
+      MemcachedInstrumentation.DEFAULT_CONFIG,
+      config
+    );
   }
 
   init() {
@@ -97,7 +101,7 @@ export class Instrumentation extends InstrumentationBase {
           kind: api.SpanKind.CLIENT,
           attributes: {
             'memcached.version': moduleVersion,
-            ...Instrumentation.COMMON_ATTRIBUTES,
+            ...MemcachedInstrumentation.COMMON_ATTRIBUTES,
           },
         }
       );
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/test/index.test.ts b/plugins/node/opentelemetry-instrumentation-memcached/test/index.test.ts
index 4e32af5fa6..ca6e883cac 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/test/index.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-memcached/test/index.test.ts
@@ -30,7 +30,7 @@ import {
 } from '@opentelemetry/sdk-trace-base';
 import type * as Memcached from 'memcached';
 import * as assert from 'assert';
-import Instrumentation from '../src';
+import { MemcachedInstrumentation } from '../src';
 import {
   DBSYSTEMVALUES_MEMCACHED,
   SEMATTRS_DB_SYSTEM,
@@ -40,7 +40,7 @@ import {
 } from '@opentelemetry/semantic-conventions';
 import * as util from 'util';
 
-const instrumentation = new Instrumentation();
+const instrumentation = new MemcachedInstrumentation();
 const memoryExporter = new InMemorySpanExporter();
 
 const CONFIG = {
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/src/index.ts b/plugins/node/opentelemetry-instrumentation-mysql2/src/index.ts
index 1973717afb..c26f998cff 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/src/index.ts
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/src/index.ts
@@ -14,9 +14,5 @@
  * limitations under the License.
  */
 
-import { MySQL2Instrumentation } from './instrumentation';
-
 export * from './instrumentation';
-export default MySQL2Instrumentation;
-
 export * from './types';
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/src/index.ts b/plugins/node/opentelemetry-instrumentation-nestjs-core/src/index.ts
index 8744bbf0ae..c464af622c 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/src/index.ts
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/src/index.ts
@@ -14,9 +14,5 @@
  * limitations under the License.
  */
 
-import { Instrumentation } from './instrumentation';
-
 export * from './instrumentation';
-export { Instrumentation as NestInstrumentation };
-
 export * from './enums/AttributeNames';
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-nestjs-core/src/instrumentation.ts
index 79337e9834..5bd5c20b10 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/src/instrumentation.ts
@@ -35,10 +35,10 @@ import { AttributeNames, NestType } from './enums';
 
 const supportedVersions = ['>=4.0.0 <11'];
 
-export class Instrumentation extends InstrumentationBase {
+export class NestInstrumentation extends InstrumentationBase {
   static readonly COMPONENT = '@nestjs/core';
   static readonly COMMON_ATTRIBUTES = {
-    component: Instrumentation.COMPONENT,
+    component: NestInstrumentation.COMPONENT,
   };
 
   constructor(config: InstrumentationConfig = {}) {
@@ -47,7 +47,7 @@ export class Instrumentation extends InstrumentationBase {
 
   init() {
     const module = new InstrumentationNodeModuleDefinition(
-      Instrumentation.COMPONENT,
+      NestInstrumentation.COMPONENT,
       supportedVersions
     );
 
@@ -122,7 +122,7 @@ function createWrapNestFactoryCreate(
     ) {
       const span = tracer.startSpan('Create Nest App', {
         attributes: {
-          ...Instrumentation.COMMON_ATTRIBUTES,
+          ...NestInstrumentation.COMMON_ATTRIBUTES,
           [AttributeNames.TYPE]: NestType.APP_CREATION,
           [AttributeNames.VERSION]: moduleVersion,
           [AttributeNames.MODULE]: nestModule.name,
@@ -171,7 +171,7 @@ function createWrapCreateHandler(tracer: api.Tracer, moduleVersion?: string) {
       ) {
         const span = tracer.startSpan(spanName, {
           attributes: {
-            ...Instrumentation.COMMON_ATTRIBUTES,
+            ...NestInstrumentation.COMMON_ATTRIBUTES,
             [AttributeNames.VERSION]: moduleVersion,
             [AttributeNames.TYPE]: NestType.REQUEST_CONTEXT,
             [SEMATTRS_HTTP_METHOD]: req.method,
@@ -206,7 +206,7 @@ function createWrapHandler(
   const spanName = handler.name || 'anonymous nest handler';
   const options = {
     attributes: {
-      ...Instrumentation.COMMON_ATTRIBUTES,
+      ...NestInstrumentation.COMMON_ATTRIBUTES,
       [AttributeNames.VERSION]: moduleVersion,
       [AttributeNames.TYPE]: NestType.REQUEST_HANDLER,
       [AttributeNames.CALLBACK]: handler.name,
diff --git a/plugins/node/opentelemetry-instrumentation-restify/src/index.ts b/plugins/node/opentelemetry-instrumentation-restify/src/index.ts
index 331bf99930..45cd8db559 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/src/index.ts
+++ b/plugins/node/opentelemetry-instrumentation-restify/src/index.ts
@@ -14,10 +14,6 @@
  * limitations under the License.
  */
 
-import { RestifyInstrumentation } from './instrumentation';
-
 export * from './instrumentation';
-export default RestifyInstrumentation;
-
 export * from './enums/AttributeNames';
 export * from './types';
diff --git a/plugins/node/opentelemetry-instrumentation-restify/test/restify.test.ts b/plugins/node/opentelemetry-instrumentation-restify/test/restify.test.ts
index bea8b196a0..90f50071ed 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/test/restify.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-restify/test/restify.test.ts
@@ -24,7 +24,7 @@ import {
   SimpleSpanProcessor,
 } from '@opentelemetry/sdk-trace-base';
 
-import RestifyInstrumentation from '../src';
+import { RestifyInstrumentation } from '../src';
 import * as types from '../src/internal-types';
 import { RestifyRequestInfo } from '../src/types';
 const plugin = new RestifyInstrumentation();
diff --git a/plugins/node/opentelemetry-instrumentation-router/src/index.ts b/plugins/node/opentelemetry-instrumentation-router/src/index.ts
index b1cddbd9a5..c464af622c 100644
--- a/plugins/node/opentelemetry-instrumentation-router/src/index.ts
+++ b/plugins/node/opentelemetry-instrumentation-router/src/index.ts
@@ -14,9 +14,5 @@
  * limitations under the License.
  */
 
-import RouterInstrumentation from './instrumentation';
-
-export { RouterInstrumentation };
-export default RouterInstrumentation;
-
+export * from './instrumentation';
 export * from './enums/AttributeNames';
diff --git a/plugins/node/opentelemetry-instrumentation-router/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-router/src/instrumentation.ts
index d4f875bbc3..4e585b5c01 100644
--- a/plugins/node/opentelemetry-instrumentation-router/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-router/src/instrumentation.ts
@@ -36,7 +36,7 @@ import LayerType from './enums/LayerType';
 
 const supportedVersions = ['>=1.0.0 <2'];
 
-export default class RouterInstrumentation extends InstrumentationBase {
+export class RouterInstrumentation extends InstrumentationBase {
   constructor(config: InstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
diff --git a/plugins/node/opentelemetry-instrumentation-router/test/index.test.ts b/plugins/node/opentelemetry-instrumentation-router/test/index.test.ts
index 3b16b6eb9f..4958ca77f0 100644
--- a/plugins/node/opentelemetry-instrumentation-router/test/index.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-router/test/index.test.ts
@@ -22,9 +22,9 @@ import {
   SimpleSpanProcessor,
 } from '@opentelemetry/sdk-trace-base';
 
-import Instrumentation from '../src';
+import { RouterInstrumentation } from '../src';
 import { InstrumentationSpan } from '../src/internal-types';
-const plugin = new Instrumentation();
+const plugin = new RouterInstrumentation();
 
 import * as http from 'http';
 import * as Router from 'router';

From 16bff40d1bf5d3729db235c90f560b4e3387c13c Mon Sep 17 00:00:00 2001
From: Chengzhong Wu <chengzhong.wcz@alibaba-inc.com>
Date: Thu, 27 Jun 2024 07:13:09 +0100
Subject: [PATCH 047/123] fix(host-metrics): make host metrics constructor
 options optional (#2300)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 packages/opentelemetry-host-metrics/README.md    |  2 +-
 .../src/BaseMetrics.ts                           | 16 +++++++---------
 .../test/metric.test.ts                          |  5 +----
 3 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/packages/opentelemetry-host-metrics/README.md b/packages/opentelemetry-host-metrics/README.md
index 46952bd1a3..587c5e57a7 100644
--- a/packages/opentelemetry-host-metrics/README.md
+++ b/packages/opentelemetry-host-metrics/README.md
@@ -36,7 +36,7 @@ const meterProvider = new MeterProvider({
   readers: [reader],
 });
 
-const hostMetrics = new HostMetrics({ meterProvider, name: 'example-host-metrics' });
+const hostMetrics = new HostMetrics({ meterProvider });
 hostMetrics.start();
 ```
 
diff --git a/packages/opentelemetry-host-metrics/src/BaseMetrics.ts b/packages/opentelemetry-host-metrics/src/BaseMetrics.ts
index a4f2232820..6d3b9ab2c5 100644
--- a/packages/opentelemetry-host-metrics/src/BaseMetrics.ts
+++ b/packages/opentelemetry-host-metrics/src/BaseMetrics.ts
@@ -25,12 +25,8 @@ import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 export interface MetricsCollectorConfig {
   // Meter Provider
   meterProvider?: MeterProvider;
-  // Character to be used to join metrics - default is "."
-  metricNameSeparator?: string;
   // Name of component
-  name: string;
-  // metric export endpoint
-  url?: string;
+  name?: string;
 }
 
 const DEFAULT_NAME = PACKAGE_NAME;
@@ -43,12 +39,14 @@ export abstract class BaseMetrics {
   protected _meter: Meter;
   private _name: string;
 
-  constructor(config: MetricsCollectorConfig) {
-    this._name = config.name || DEFAULT_NAME;
-    const meterProvider = config.meterProvider || metrics.getMeterProvider();
-    if (!config.meterProvider) {
+  constructor(config?: MetricsCollectorConfig) {
+    // Do not use `??` operator to allow falling back to default when the
+    // specified name is an empty string.
+    this._name = config?.name || DEFAULT_NAME;
+    if (config?.meterProvider == null) {
       this._logger.warn('No meter provider, using default');
     }
+    const meterProvider = config?.meterProvider ?? metrics.getMeterProvider();
     this._meter = meterProvider.getMeter(this._name, PACKAGE_VERSION);
   }
 
diff --git a/packages/opentelemetry-host-metrics/test/metric.test.ts b/packages/opentelemetry-host-metrics/test/metric.test.ts
index c98ad92636..f3844e57e9 100644
--- a/packages/opentelemetry-host-metrics/test/metric.test.ts
+++ b/packages/opentelemetry-host-metrics/test/metric.test.ts
@@ -103,9 +103,7 @@ describe('Host Metrics', () => {
 
   describe('constructor', () => {
     it('should create a new instance', () => {
-      const hostMetrics = new HostMetrics({
-        name: 'opentelemetry-host-metrics',
-      });
+      const hostMetrics = new HostMetrics();
       assert.ok(hostMetrics instanceof HostMetrics);
     });
 
@@ -114,7 +112,6 @@ describe('Host Metrics', () => {
 
       const hostMetrics = new HostMetrics({
         meterProvider,
-        name: 'opentelemetry-host-metrics',
       });
       hostMetrics.start();
       assert.ok(hostMetrics instanceof HostMetrics);

From d9d558f42de006b2894f0bb8f4c5d733a9fa3b83 Mon Sep 17 00:00:00 2001
From: Amir Blum <amirgiraffe@gmail.com>
Date: Thu, 27 Jun 2024 09:13:43 +0300
Subject: [PATCH 048/123] fix(koa)!: use generic config hook types and move dep
 to dev (#2303)

* fix!(instrumentation-koa): use feneric config hook types and move dep to dev

* chore: lint fix

---------

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 package-lock.json                             | 98 +++++++++++++------
 .../README.md                                 | 11 ++-
 .../package.json                              |  6 +-
 .../src/instrumentation.ts                    |  3 +-
 .../src/internal-types.ts                     |  7 +-
 .../src/types.ts                              | 48 ++++++---
 .../src/utils.ts                              |  4 +-
 .../test/koa.test.ts                          | 27 +++--
 8 files changed, 143 insertions(+), 61 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index bc853e7751..6b95edea28 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12632,6 +12632,7 @@
       "version": "1.3.7",
       "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz",
       "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==",
+      "dev": true,
       "dependencies": {
         "@types/node": "*"
       }
@@ -12667,6 +12668,7 @@
       "version": "1.19.5",
       "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
       "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
+      "dev": true,
       "dependencies": {
         "@types/connect": "*",
         "@types/node": "*"
@@ -12716,6 +12718,7 @@
       "version": "3.4.38",
       "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
       "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
+      "dev": true,
       "dependencies": {
         "@types/node": "*"
       }
@@ -12723,7 +12726,8 @@
     "node_modules/@types/content-disposition": {
       "version": "0.5.8",
       "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.8.tgz",
-      "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg=="
+      "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==",
+      "dev": true
     },
     "node_modules/@types/convert-source-map": {
       "version": "2.0.3",
@@ -12741,6 +12745,7 @@
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.9.0.tgz",
       "integrity": "sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==",
+      "dev": true,
       "dependencies": {
         "@types/connect": "*",
         "@types/express": "*",
@@ -12793,6 +12798,7 @@
       "version": "4.17.18",
       "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz",
       "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==",
+      "dev": true,
       "dependencies": {
         "@types/body-parser": "*",
         "@types/express-serve-static-core": "^4.17.33",
@@ -12804,6 +12810,7 @@
       "version": "4.17.43",
       "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz",
       "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==",
+      "dev": true,
       "dependencies": {
         "@types/node": "*",
         "@types/qs": "*",
@@ -12824,12 +12831,14 @@
     "node_modules/@types/http-assert": {
       "version": "1.5.5",
       "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz",
-      "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g=="
+      "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g==",
+      "dev": true
     },
     "node_modules/@types/http-errors": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
-      "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA=="
+      "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==",
+      "dev": true
     },
     "node_modules/@types/ioredis4": {
       "name": "@types/ioredis",
@@ -12889,12 +12898,14 @@
     "node_modules/@types/keygrip": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.6.tgz",
-      "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ=="
+      "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==",
+      "dev": true
     },
     "node_modules/@types/koa": {
-      "version": "2.14.0",
-      "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.14.0.tgz",
-      "integrity": "sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==",
+      "version": "2.15.0",
+      "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.15.0.tgz",
+      "integrity": "sha512-7QFsywoE5URbuVnG3loe03QXuGajrnotr3gQkXcEBShORai23MePfFYdhz90FEtBBpkyIYQbVD+evKtloCgX3g==",
+      "dev": true,
       "dependencies": {
         "@types/accepts": "*",
         "@types/content-disposition": "*",
@@ -12907,9 +12918,10 @@
       }
     },
     "node_modules/@types/koa__router": {
-      "version": "12.0.3",
-      "resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-12.0.3.tgz",
-      "integrity": "sha512-5YUJVv6NwM1z7m6FuYpKfNLTZ932Z6EF6xy2BbtpJSyn13DKNQEkXVffFVSnJHxvwwWh2SAeumpjAYUELqgjyw==",
+      "version": "12.0.4",
+      "resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-12.0.4.tgz",
+      "integrity": "sha512-Y7YBbSmfXZpa/m5UGGzb7XadJIRBRnwNY9cdAojZGp65Cpe5MAP3mOZE7e3bImt8dfKS4UFcR16SLH8L/z7PBw==",
+      "dev": true,
       "dependencies": {
         "@types/koa": "*"
       }
@@ -12918,6 +12930,7 @@
       "version": "3.2.8",
       "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.8.tgz",
       "integrity": "sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==",
+      "dev": true,
       "dependencies": {
         "@types/koa": "*"
       }
@@ -12954,7 +12967,8 @@
     "node_modules/@types/mime": {
       "version": "1.3.5",
       "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
-      "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="
+      "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
+      "dev": true
     },
     "node_modules/@types/minimatch": {
       "version": "3.0.5",
@@ -13042,12 +13056,14 @@
     "node_modules/@types/qs": {
       "version": "6.9.11",
       "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz",
-      "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ=="
+      "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==",
+      "dev": true
     },
     "node_modules/@types/range-parser": {
       "version": "1.2.7",
       "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
-      "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="
+      "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
+      "dev": true
     },
     "node_modules/@types/react": {
       "version": "17.0.67",
@@ -13135,6 +13151,7 @@
       "version": "0.17.4",
       "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
       "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
+      "dev": true,
       "dependencies": {
         "@types/mime": "^1",
         "@types/node": "*"
@@ -13144,6 +13161,7 @@
       "version": "1.15.5",
       "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz",
       "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==",
+      "dev": true,
       "dependencies": {
         "@types/http-errors": "*",
         "@types/mime": "*",
@@ -38872,9 +38890,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/koa": "2.14.0",
-        "@types/koa__router": "12.0.3"
+        "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
         "@koa/router": "12.0.0",
@@ -38884,6 +38900,8 @@
         "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@types/koa": "2.15.0",
+        "@types/koa__router": "12.0.4",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
@@ -52077,8 +52095,8 @@
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/koa": "2.14.0",
-        "@types/koa__router": "12.0.3",
+        "@types/koa": "2.15.0",
+        "@types/koa__router": "12.0.4",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
@@ -56785,6 +56803,7 @@
       "version": "1.3.7",
       "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz",
       "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==",
+      "dev": true,
       "requires": {
         "@types/node": "*"
       }
@@ -56820,6 +56839,7 @@
       "version": "1.19.5",
       "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
       "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
+      "dev": true,
       "requires": {
         "@types/connect": "*",
         "@types/node": "*"
@@ -56869,6 +56889,7 @@
       "version": "3.4.38",
       "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
       "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
+      "dev": true,
       "requires": {
         "@types/node": "*"
       }
@@ -56876,7 +56897,8 @@
     "@types/content-disposition": {
       "version": "0.5.8",
       "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.8.tgz",
-      "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg=="
+      "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==",
+      "dev": true
     },
     "@types/convert-source-map": {
       "version": "2.0.3",
@@ -56894,6 +56916,7 @@
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.9.0.tgz",
       "integrity": "sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==",
+      "dev": true,
       "requires": {
         "@types/connect": "*",
         "@types/express": "*",
@@ -56946,6 +56969,7 @@
       "version": "4.17.18",
       "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz",
       "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==",
+      "dev": true,
       "requires": {
         "@types/body-parser": "*",
         "@types/express-serve-static-core": "^4.17.33",
@@ -56957,6 +56981,7 @@
       "version": "4.17.43",
       "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz",
       "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==",
+      "dev": true,
       "requires": {
         "@types/node": "*",
         "@types/qs": "*",
@@ -56976,12 +57001,14 @@
     "@types/http-assert": {
       "version": "1.5.5",
       "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz",
-      "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g=="
+      "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g==",
+      "dev": true
     },
     "@types/http-errors": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
-      "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA=="
+      "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==",
+      "dev": true
     },
     "@types/ioredis4": {
       "version": "npm:@types/ioredis@4.28.10",
@@ -57040,12 +57067,14 @@
     "@types/keygrip": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.6.tgz",
-      "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ=="
+      "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==",
+      "dev": true
     },
     "@types/koa": {
-      "version": "2.14.0",
-      "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.14.0.tgz",
-      "integrity": "sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==",
+      "version": "2.15.0",
+      "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.15.0.tgz",
+      "integrity": "sha512-7QFsywoE5URbuVnG3loe03QXuGajrnotr3gQkXcEBShORai23MePfFYdhz90FEtBBpkyIYQbVD+evKtloCgX3g==",
+      "dev": true,
       "requires": {
         "@types/accepts": "*",
         "@types/content-disposition": "*",
@@ -57058,9 +57087,10 @@
       }
     },
     "@types/koa__router": {
-      "version": "12.0.3",
-      "resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-12.0.3.tgz",
-      "integrity": "sha512-5YUJVv6NwM1z7m6FuYpKfNLTZ932Z6EF6xy2BbtpJSyn13DKNQEkXVffFVSnJHxvwwWh2SAeumpjAYUELqgjyw==",
+      "version": "12.0.4",
+      "resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-12.0.4.tgz",
+      "integrity": "sha512-Y7YBbSmfXZpa/m5UGGzb7XadJIRBRnwNY9cdAojZGp65Cpe5MAP3mOZE7e3bImt8dfKS4UFcR16SLH8L/z7PBw==",
+      "dev": true,
       "requires": {
         "@types/koa": "*"
       }
@@ -57069,6 +57099,7 @@
       "version": "3.2.8",
       "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.8.tgz",
       "integrity": "sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==",
+      "dev": true,
       "requires": {
         "@types/koa": "*"
       }
@@ -57105,7 +57136,8 @@
     "@types/mime": {
       "version": "1.3.5",
       "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
-      "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="
+      "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
+      "dev": true
     },
     "@types/minimatch": {
       "version": "3.0.5",
@@ -57193,12 +57225,14 @@
     "@types/qs": {
       "version": "6.9.11",
       "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz",
-      "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ=="
+      "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==",
+      "dev": true
     },
     "@types/range-parser": {
       "version": "1.2.7",
       "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
-      "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="
+      "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
+      "dev": true
     },
     "@types/react": {
       "version": "17.0.67",
@@ -57288,6 +57322,7 @@
       "version": "0.17.4",
       "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
       "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
+      "dev": true,
       "requires": {
         "@types/mime": "^1",
         "@types/node": "*"
@@ -57297,6 +57332,7 @@
       "version": "1.15.5",
       "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz",
       "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==",
+      "dev": true,
       "requires": {
         "@types/http-errors": "*",
         "@types/mime": "*",
diff --git a/plugins/node/opentelemetry-instrumentation-koa/README.md b/plugins/node/opentelemetry-instrumentation-koa/README.md
index dfa209fe7c..43e717a171 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/README.md
+++ b/plugins/node/opentelemetry-instrumentation-koa/README.md
@@ -65,11 +65,18 @@ Note that generator-based middleware are deprecated and won't be instrumented.
 
 Instrumentation configuration accepts a custom "hook" function which will be called for every instrumented Koa middleware layer involved in a request. Custom attributes can be set on the span or run any custom logic per layer.
 
-```javascript
+NOTE: `KoaRequestInfo.context` and `KoaRequestInfo.middlewareLayer` are typed as `any`. If you want type support make sure you have `@types/koa` and `@types/koa__router` installed then you can use the following type definitions:
+
+```typescript
 import { KoaInstrumentation } from "@opentelemetry/instrumentation-koa"
+import type { Middleware, ParameterizedContext, DefaultState } from 'koa';
+import type { RouterParamContext } from '@koa/router';
+
+type KoaContext = ParameterizedContext<DefaultState, RouterParamContext>;
+type KoaMiddleware = Middleware<DefaultState, KoaContext>;
 
 const koaInstrumentation = new KoaInstrumentation({
-  requestHook: function (span: Span, info: KoaRequestInfo) {
+  requestHook: function (span: Span, info: KoaRequestInfo<KoaContext, KoaMiddleware>) {
     span.setAttribute(
       'http.method',
       info.context.request.method
diff --git a/plugins/node/opentelemetry-instrumentation-koa/package.json b/plugins/node/opentelemetry-instrumentation-koa/package.json
index dd6f4e4879..b4a1e51658 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/package.json
+++ b/plugins/node/opentelemetry-instrumentation-koa/package.json
@@ -53,6 +53,8 @@
     "@opentelemetry/instrumentation-http": "^0.52.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
+    "@types/koa": "2.15.0",
+    "@types/koa__router": "12.0.4",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.18",
@@ -68,9 +70,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.52.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0",
-    "@types/koa": "2.14.0",
-    "@types/koa__router": "12.0.3"
+    "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-koa#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts
index 646b91704a..538916b922 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts
@@ -23,12 +23,13 @@ import {
 } from '@opentelemetry/instrumentation';
 
 import type * as koa from 'koa';
-import { KoaContext, KoaLayerType, KoaInstrumentationConfig } from './types';
+import { KoaLayerType, KoaInstrumentationConfig } from './types';
 import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { getMiddlewareMetadata, isLayerIgnored } from './utils';
 import { getRPCMetadata, RPCType } from '@opentelemetry/core';
 import {
   kLayerPatched,
+  KoaContext,
   KoaMiddleware,
   KoaPatchedMiddleware,
 } from './internal-types';
diff --git a/plugins/node/opentelemetry-instrumentation-koa/src/internal-types.ts b/plugins/node/opentelemetry-instrumentation-koa/src/internal-types.ts
index 58c7bcf5a3..e236780aae 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/src/internal-types.ts
+++ b/plugins/node/opentelemetry-instrumentation-koa/src/internal-types.ts
@@ -13,10 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import type { Middleware, DefaultState } from 'koa';
-import { KoaContext } from './types';
+import type { Middleware, ParameterizedContext, DefaultState } from 'koa';
 import type * as Router from '@koa/router';
 
+export type KoaContext = ParameterizedContext<
+  DefaultState,
+  Router.RouterParamContext
+>;
 export type KoaMiddleware = Middleware<DefaultState, KoaContext> & {
   router?: Router;
 };
diff --git a/plugins/node/opentelemetry-instrumentation-koa/src/types.ts b/plugins/node/opentelemetry-instrumentation-koa/src/types.ts
index 3c249e3a6a..494141d0f3 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/src/types.ts
+++ b/plugins/node/opentelemetry-instrumentation-koa/src/types.ts
@@ -13,8 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import type { Middleware, ParameterizedContext, DefaultState } from 'koa';
-import type { RouterParamContext } from '@koa/router';
 import { Span } from '@opentelemetry/api';
 import { InstrumentationConfig } from '@opentelemetry/instrumentation';
 
@@ -23,11 +21,30 @@ export enum KoaLayerType {
   MIDDLEWARE = 'middleware',
 }
 
-export type KoaContext = ParameterizedContext<DefaultState, RouterParamContext>;
-
-export type KoaRequestInfo = {
-  context: KoaContext;
-  middlewareLayer: Middleware<DefaultState, KoaContext>;
+/**
+ * Information about the current Koa middleware layer
+ * The middleware layer type is any by default.
+ * One can install koa types packages `@types/koa` and `@types/koa__router`
+ * with compatible versions to the koa version used in the project
+ * to get more specific types for the middleware layer property.
+ *
+ * Example use in a custom attribute function:
+ * ```ts
+ * import type { Middleware, ParameterizedContext, DefaultState } from 'koa';
+ * import type { RouterParamContext } from '@koa/router';
+ *
+ * type KoaContext = ParameterizedContext<DefaultState, RouterParamContext>;
+ * type KoaMiddleware = Middleware<DefaultState, KoaContext>;
+ *
+ * const koaConfig: KoaInstrumentationConfig<KoaContext, KoaMiddleware> = {
+ *  requestHook: (span: Span, info: KoaRequestInfo<KoaContext, KoaMiddleware>) => {
+ *   // custom typescript code that can access the typed into.middlewareLayer and info.context
+ * }
+ *
+ */
+export type KoaRequestInfo<KoaContextType = any, KoaMiddlewareType = any> = {
+  context: KoaContextType;
+  middlewareLayer: KoaMiddlewareType;
   layerType: KoaLayerType;
 };
 
@@ -36,16 +53,25 @@ export type KoaRequestInfo = {
  * @param span - The Express middleware layer span.
  * @param context - The current KoaContext.
  */
-export interface KoaRequestCustomAttributeFunction {
-  (span: Span, info: KoaRequestInfo): void;
+export interface KoaRequestCustomAttributeFunction<
+  KoaContextType = any,
+  KoaMiddlewareType = any
+> {
+  (span: Span, info: KoaRequestInfo<KoaContextType, KoaMiddlewareType>): void;
 }
 
 /**
  * Options available for the Koa Instrumentation (see [documentation](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-Instrumentation-koa#koa-Instrumentation-options))
  */
-export interface KoaInstrumentationConfig extends InstrumentationConfig {
+export interface KoaInstrumentationConfig<
+  KoaContextType = any,
+  KoaMiddlewareType = any
+> extends InstrumentationConfig {
   /** Ignore specific layers based on their type */
   ignoreLayersType?: KoaLayerType[];
   /** Function for adding custom attributes to each middleware layer span */
-  requestHook?: KoaRequestCustomAttributeFunction;
+  requestHook?: KoaRequestCustomAttributeFunction<
+    KoaContextType,
+    KoaMiddlewareType
+  >;
 }
diff --git a/plugins/node/opentelemetry-instrumentation-koa/src/utils.ts b/plugins/node/opentelemetry-instrumentation-koa/src/utils.ts
index 26c58fa6e3..2bbfd027ef 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/src/utils.ts
+++ b/plugins/node/opentelemetry-instrumentation-koa/src/utils.ts
@@ -13,8 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import { KoaContext, KoaLayerType, KoaInstrumentationConfig } from './types';
-import { KoaMiddleware } from './internal-types';
+import { KoaLayerType, KoaInstrumentationConfig } from './types';
+import { KoaContext, KoaMiddleware } from './internal-types';
 import { AttributeNames } from './enums/AttributeNames';
 import { Attributes } from '@opentelemetry/api';
 import { SEMATTRS_HTTP_ROUTE } from '@opentelemetry/semantic-conventions';
diff --git a/plugins/node/opentelemetry-instrumentation-koa/test/koa.test.ts b/plugins/node/opentelemetry-instrumentation-koa/test/koa.test.ts
index 8d97864208..9a527e48f7 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/test/koa.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-koa/test/koa.test.ts
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+import type { Middleware, ParameterizedContext, DefaultState } from 'koa';
+import type { RouterParamContext } from '@koa/router';
 import * as KoaRouter from '@koa/router';
 import { context, trace, Span, SpanKind } from '@opentelemetry/api';
 import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
@@ -29,6 +31,9 @@ import {
   SEMATTRS_HTTP_ROUTE,
 } from '@opentelemetry/semantic-conventions';
 
+type KoaContext = ParameterizedContext<DefaultState, RouterParamContext>;
+type KoaMiddleware = Middleware<DefaultState, KoaContext>;
+
 import { KoaInstrumentation } from '../src';
 const plugin = new KoaInstrumentation();
 
@@ -594,11 +599,13 @@ describe('Koa Instrumentation', () => {
         )
       );
 
-      const requestHook = sinon.spy((span: Span, info: KoaRequestInfo) => {
-        span.setAttribute(SEMATTRS_HTTP_METHOD, info.context.request.method);
+      const requestHook = sinon.spy(
+        (span: Span, info: KoaRequestInfo<KoaContext, KoaMiddleware>) => {
+          span.setAttribute(SEMATTRS_HTTP_METHOD, info.context.request.method);
 
-        throw Error('error thrown in requestHook');
-      });
+          throw Error('error thrown in requestHook');
+        }
+      );
 
       plugin.setConfig({
         requestHook,
@@ -645,11 +652,13 @@ describe('Koa Instrumentation', () => {
         )
       );
 
-      const requestHook = sinon.spy((span: Span, info: KoaRequestInfo) => {
-        span.setAttribute('http.method', info.context.request.method);
-        span.setAttribute('app.env', info.context.app.env);
-        span.setAttribute('koa.layer', info.layerType);
-      });
+      const requestHook = sinon.spy(
+        (span: Span, info: KoaRequestInfo<KoaContext, KoaMiddleware>) => {
+          span.setAttribute('http.method', info.context.request.method);
+          span.setAttribute('app.env', info.context.app.env);
+          span.setAttribute('koa.layer', info.layerType);
+        }
+      );
 
       plugin.setConfig({
         requestHook,

From 055ef417ade05072421c1cee9f8221ce731bdf89 Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Wed, 26 Jun 2024 23:16:10 -0700
Subject: [PATCH 049/123] feat(instrumentation-pino): add log sending to Logs
 Bridge API (#2249)

* feat(instrumentation-pino): add log sending to Logs Bridge API

* refactor tests (mostly from separate #2247 PR); lint:fix; some in-progress changes

* remove some old dev/debug code

* feat!: make it so re-enabled instr after creating a logger will NOT change behaviour for that logger

This removes functionality that was there before, so technically could be breaking.
The motivation is to have the contract of pino instrumentation be cleaner.
With this change a pino Logger instance will not be touched if
the PinoInstrumentation is disabled. I.e. we are hands-off as much as
possible when disabled.

Before this change, even when disabled, the instrumentation would tweak
the pino Logger config to have a no-op mixin. If the instrumentation was
later enabled, then the mixin would become active (adding trace_id et al
fields in a span context).

The coming "log sending" to the Logs Bridge API will *not* support
this "work if instrumentation is re-enabled later", so I think it is
clearer if neither "log sending" nor "log correlation" support this.

We can back this out if we think it is important to support a possible
future feature of the SDK doing live enabling/disabling of
individual instrumentations.

* impl disableLogCorrelation config; undo the previous commit so that log-correlation *will* follow the live instr enable/disable state

* log sending: first tests; change impl to use pino.multistream

* edge case tests; almost complete

* more tests and a fix for 'useOnlyCustomLevels: true' usage

* lint:fix

* refactor some code out to utils file

* add some internal docs

* update readme

* fix lint

* avoid a possible flaky error if using pino 'unixTime' and logging in the first half-second since process start

Effectively the issue is that this sometimes returns true:
node -e 'console.log(Math.round(Date.now() / 1e3) * 1e3 < performance.timeOrigin)'

* limit log-sending to pino@7 and later because that's when pino.multistream was added

* lint:fix

* discuss pino-opentelemetry-transport alternative

* fix a mis-merge

* update changed deps to their new latest

* typo in README

Co-authored-by: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com>

---------

Co-authored-by: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com>
Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 package-lock.json                             |   6 +
 .../README.md                                 | 101 +++--
 .../package.json                              |   3 +
 .../src/instrumentation.ts                    | 111 ++++--
 .../src/log-sending-utils.ts                  | 241 ++++++++++++
 .../src/types.ts                              |  24 +-
 .../test/pino.test.ts                         | 370 ++++++++++++++++++
 7 files changed, 784 insertions(+), 72 deletions(-)
 create mode 100644 plugins/node/opentelemetry-instrumentation-pino/src/log-sending-utils.ts

diff --git a/package-lock.json b/package-lock.json
index 6b95edea28..5ea1ebd21b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -39393,6 +39393,8 @@
       "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
+        "@opentelemetry/api-logs": "^0.52.0",
+        "@opentelemetry/core": "^1.25.0",
         "@opentelemetry/instrumentation": "^0.52.0"
       },
       "devDependencies": {
@@ -39400,6 +39402,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/semver": "7.5.3",
@@ -52949,10 +52952,13 @@
       "version": "file:plugins/node/opentelemetry-instrumentation-pino",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
+        "@opentelemetry/api-logs": "^0.52.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/core": "^1.25.0",
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
+        "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/semver": "7.5.3",
diff --git a/plugins/node/opentelemetry-instrumentation-pino/README.md b/plugins/node/opentelemetry-instrumentation-pino/README.md
index 4e132bd220..bbd6fa9e5c 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/README.md
+++ b/plugins/node/opentelemetry-instrumentation-pino/README.md
@@ -3,7 +3,7 @@
 [![NPM Published Version][npm-img]][npm-url]
 [![Apache License][license-image]][license-image]
 
-This module provides automatic instrumentation for injection of trace context for the [`pino`](https://www.npmjs.com/package/pino) module, which may be loaded using the [`@opentelemetry/sdk-trace-node`](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) package and is included in the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle.
+This module provides automatic instrumentation of the [`pino`](https://www.npmjs.com/package/pino) module to inject trace-context into Pino log records (log correlation) and to send Pino logging to the OpenTelemetry Logging SDK (log sending). It may be loaded using the [`@opentelemetry/sdk-trace-node`](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) package and is included in the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle.
 
 If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.
 
@@ -15,60 +15,105 @@ Compatible with OpenTelemetry JS API and SDK `1.0+`.
 npm install --save @opentelemetry/instrumentation-pino
 ```
 
-### Supported Versions
+## Supported Versions
 
 - [`pino`](https://www.npmjs.com/package/pino) versions `>=5.14.0 <10`
+  - The "log sending" feature is only supported in pino v7 and later.
 
 ## Usage
 
 ```js
-const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
+const { NodeSDK, tracing, logs, api } = require('@opentelemetry/sdk-node');
 const { PinoInstrumentation } = require('@opentelemetry/instrumentation-pino');
-const { registerInstrumentations } = require('@opentelemetry/instrumentation');
-
-const provider = new NodeTracerProvider();
-provider.register();
-
-registerInstrumentations({
+const sdk = new NodeSDK({
+  spanProcessor: new tracing.SimpleSpanProcessor(new tracing.ConsoleSpanExporter()),
+  logRecordProcessor: new logs.SimpleLogRecordProcessor(new logs.ConsoleLogRecordExporter()),
   instrumentations: [
     new PinoInstrumentation({
-      // Optional hook to insert additional context to log object.
-      logHook: (span, record, level) => {
-        record['resource.service.name'] =
-          provider.resource.attributes['service.name'];
-      },
-      // Log span context under custom keys
-      // This is optional, and will default to "trace_id", "span_id" and "trace_flags" as the keys
-      logKeys: {
-        traceId: 'traceId',
-        spanId: 'spanId',
-        traceFlags: 'traceFlags',
-      },
+      // See below for Pino instrumentation options.
     }),
-    // other instrumentations
-  ],
-});
+  ]
+})
+sdk.start();
 
 const pino = require('pino');
 const logger = pino();
-logger.info('foobar');
-// {"msg":"foobar","trace_id":"fc30029f30df383a4090d3189fe0ffdf","span_id":"625fa861d19d1056","trace_flags":"01", ...}
+
+logger.info('hi');
+// 1. Log records will be sent to the SDK-registered log record processor, if any.
+//    This is called "log sending".
+
+const tracer = api.trace.getTracer('example');
+tracer.startActiveSpan('manual-span', span => {
+  logger.info('in a span');
+  // 2. Fields identifying the current span will be added to log records:
+  //    {"level":30,...,"msg":"in a span","trace_id":"d61b4e4af1032e0aae279d12f3ab0159","span_id":"d140da862204f2a2","trace_flags":"01"}
+  //    This feature is called "log correlation".
+});
 ```
 
-### Fields added to pino log objects
+### Log sending
+
+Creation of a Pino Logger will automatically add a [Pino destination](https://getpino.io/#/docs/api?id=pinooptions-destination-gt-logger) that sends log records to the OpenTelemetry Logs SDK. The OpenTelemetry SDK can be configured to handle those records -- for example, sending them on to an OpenTelemetry collector for log archiving and processing. The example above shows a minimal configuration that emits OpenTelemetry log records to the console for debugging.
+
+If the OpenTelemetry SDK is not configured with a Logger provider, then this added destination will be a no-op.
+
+Log sending can be disabled with the `disableLogSending: true` option.
 
-For the current active span, the following fields are injected. These field names can be optionally configured via `logKeys` in the PinoInstrumentation config:
+### Log correlation
+
+Pino logger calls in the context of a tracing span will have fields identifying the span added to the log record. This allows [correlating](https://opentelemetry.io/docs/specs/otel/logs/#log-correlation) log records with tracing data. The added fields are ([spec](https://opentelemetry.io/docs/specs/otel/compatibility/logging_trace_context/)):
 
 - `trace_id`
 - `span_id`
 - `trace_flags`
 
+These field names can optionally be configured via the `logKeys` option. For example:
+
+```js
+    new PinoInstrumentation({
+      logKeys: {
+        traceId: 'myTraceId',
+        spanId: 'mySpanId',
+        traceFlags: 'myTraceFlags',
+      },
+    }),
+```
+
+After adding these fields, the optional `logHook` is called to allow injecting additional fields. For example:
+
+```js
+  logHook: (span, record) => {
+    record['resource.service.name'] = provider.resource.attributes['service.name'];
+  }
+```
+
 When no span context is active or the span context is invalid, injection is skipped.
+Log injection can be disabled with the `disableLogCorrelation: true` option.
+
+### Pino instrumentation options
+
+| Option                  | Type              | Description |
+| ----------------------- | ----------------- | ----------- |
+| `disableLogSending`     | `boolean`         | Whether to disable [log sending](#log-sending). Default `false`. |
+| `disableLogCorrelation` | `boolean`         | Whether to disable [log correlation](#log-correlation). Default `false`. |
+| `logKeys`               | record            | A record with keys `traceId`, `spanId`, and `traceFlags` string fields giving the field names to use for log-correlation span data. |
+| `logHook`               | `LogHookFunction` | An option hook to inject additional context to a log record after trace-context has been added. This requires `disableLogCorrelation` to be false. |
 
 ## Semantic Conventions
 
 This package does not currently generate any attributes from semantic conventions.
 
+## Alternative log sending with `pino-opentelemetry-transport`
+
+A possible alternative to the "log sending" support provided by this instrumentation is the [`pino-opentelemetry-transport` package](https://github.com/pinojs/pino-opentelemetry-transport).
+
+Every Pino logger has an output ["destination"](https://getpino.io/#/docs/api?id=destination), for example, a file or stdout.  Since v7, Pino includes support for ["transports"](https://getpino.io/#/docs/transports), a type of destination that uses a [worker thread](https://nodejs.org/api/worker_threads.html) to run the transport code. When calling `logger.info("hi")`, Pino serializes the log record to a JSON string, [sends that string to the worker](https://nodejs.org/api/worker_threads.html#workerpostmessagevalue-transferlist) for it to be handled.
+
+The `pino-opentelemetry-transport` package uses this mechanism. It starts an OpenTelemetry SDK `LoggerProvider` in the worker thread, parses each log record string, translates it into the OpenTelemetry Logs data model and sends it. Note that this `LoggerProvider` is independent of any OpenTelemetry SDK components in the main thread.
+
+The log sending support in this instrumentation works on the main thread and uses the OpenTelemetry SDK configured in the main thread. Otherwise the two mechanisms are very similar. Note that because they are maintained separately, there might be small differences in how Pino log records are translated into the OpenTelemetry Logs data model.
+
 ## Useful links
 
 - For more information on OpenTelemetry, visit: <https://opentelemetry.io/>
diff --git a/plugins/node/opentelemetry-instrumentation-pino/package.json b/plugins/node/opentelemetry-instrumentation-pino/package.json
index 12f2485424..7fefd37481 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pino/package.json
@@ -49,6 +49,7 @@
     "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
+    "@opentelemetry/semantic-conventions": "^1.22.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
     "@types/semver": "7.5.3",
@@ -64,6 +65,8 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
+    "@opentelemetry/api-logs": "^0.52.0",
+    "@opentelemetry/core": "^1.25.0",
     "@opentelemetry/instrumentation": "^0.52.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-pino#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-pino/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-pino/src/instrumentation.ts
index f7dc81f034..7a6edf907d 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-pino/src/instrumentation.ts
@@ -28,6 +28,7 @@ import {
 } from '@opentelemetry/instrumentation';
 import { PinoInstrumentationConfig } from './types';
 import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
+import { getTimeConverter, OTelPinoStream } from './log-sending-utils';
 
 const pinoVersions = ['>=5.14.0 <10'];
 
@@ -48,30 +49,73 @@ export class PinoInstrumentation extends InstrumentationBase {
         const isESM = module[Symbol.toStringTag] === 'Module';
         const moduleExports = isESM ? module.default : module;
         const instrumentation = this;
+
         const patchedPino = Object.assign((...args: unknown[]) => {
-          if (args.length === 0) {
-            return moduleExports({
-              mixin: instrumentation._getMixinFunction(),
-            });
+          const config = instrumentation.getConfig();
+          const isEnabled = instrumentation.isEnabled();
+
+          const logger = moduleExports(...args);
+
+          // Setup "log correlation" -- injection of `trace_id` et al fields.
+          // Note: If the Pino logger is configured with `nestedKey`, then
+          // the `trace_id` et al fields added by `otelMixin` will be nested
+          // as well. https://getpino.io/#/docs/api?id=mixin-function
+          const otelMixin = instrumentation._getMixinFunction();
+          const mixinSym = moduleExports.symbols.mixinSym;
+          const origMixin = logger[mixinSym];
+          if (origMixin === undefined) {
+            logger[mixinSym] = otelMixin;
+          } else {
+            logger[mixinSym] = (ctx: object, level: number) => {
+              return Object.assign(
+                otelMixin(ctx, level),
+                origMixin(ctx, level)
+              );
+            };
           }
 
-          if (args.length === 1) {
-            // eslint-disable-next-line @typescript-eslint/no-explicit-any
-            const optsOrStream = args[0] as any;
-            if (
-              typeof optsOrStream === 'string' ||
-              typeof optsOrStream?.write === 'function'
-            ) {
-              args.splice(0, 0, {
-                mixin: instrumentation._getMixinFunction(),
-              });
-              return moduleExports(...args);
-            }
-          }
+          // Setup "log sending" -- sending log records to the Logs API.
+          // This depends on `pino.multistream`, which was added in v7.0.0.
+          if (
+            isEnabled &&
+            !config.disableLogSending &&
+            typeof moduleExports.multistream === 'function'
+          ) {
+            const otelTimestampFromTime = getTimeConverter(
+              logger,
+              moduleExports
+            );
+            const otelStream = new OTelPinoStream({
+              messageKey: logger[moduleExports.symbols.messageKeySym],
+              levels: logger.levels,
+              otelTimestampFromTime,
+            });
+            (otelStream as any)[Symbol.for('pino.metadata')] = true; // for `stream.lastLevel`
+
+            // An error typically indicates a Pino bug, or logger configuration
+            // bug. `diag.warn` *once* for the first error on the assumption
+            // subsequent ones stem from the same bug.
+            otelStream.once('unknown', (line, err) => {
+              instrumentation._diag.warn(
+                'could not send pino log line (will only log first occurrence)',
+                { line, err }
+              );
+            });
 
-          args[0] = instrumentation._combineOptions(args[0]);
+            // Use pino's own `multistream` to send to the original stream and
+            // to the OTel Logs API/SDK.
+            // https://getpino.io/#/docs/api?id=pinomultistreamstreamsarray-opts-gt-multistreamres
+            const origStream = logger[moduleExports.symbols.streamSym];
+            logger[moduleExports.symbols.streamSym] = moduleExports.multistream(
+              [
+                { level: logger.level, stream: origStream },
+                { level: logger.level, stream: otelStream },
+              ],
+              { levels: logger.levels.values }
+            );
+          }
 
-          return moduleExports(...args);
+          return logger;
         }, moduleExports);
 
         if (typeof patchedPino.pino === 'function') {
@@ -80,6 +124,7 @@ export class PinoInstrumentation extends InstrumentationBase {
         if (typeof patchedPino.default === 'function') {
           patchedPino.default = patchedPino;
         }
+        /* istanbul ignore if */
         if (isESM) {
           if (module.pino) {
             // This was added in pino@6.8.0 (https://github.com/pinojs/pino/pull/936).
@@ -122,7 +167,10 @@ export class PinoInstrumentation extends InstrumentationBase {
   private _getMixinFunction() {
     const instrumentation = this;
     return function otelMixin(_context: object, level: number) {
-      if (!instrumentation.isEnabled()) {
+      if (
+        !instrumentation.isEnabled() ||
+        instrumentation.getConfig().disableLogCorrelation
+      ) {
         return {};
       }
 
@@ -151,27 +199,4 @@ export class PinoInstrumentation extends InstrumentationBase {
       return record;
     };
   }
-
-  private _combineOptions(options?: any) {
-    if (options === undefined) {
-      return { mixin: this._getMixinFunction() };
-    }
-
-    if (options.mixin === undefined) {
-      options.mixin = this._getMixinFunction();
-      return options;
-    }
-
-    const originalMixin = options.mixin;
-    const otelMixin = this._getMixinFunction();
-
-    options.mixin = (context: object, level: number) => {
-      return Object.assign(
-        otelMixin(context, level),
-        originalMixin(context, level)
-      );
-    };
-
-    return options;
-  }
 }
diff --git a/plugins/node/opentelemetry-instrumentation-pino/src/log-sending-utils.ts b/plugins/node/opentelemetry-instrumentation-pino/src/log-sending-utils.ts
new file mode 100644
index 0000000000..f24cd20cd2
--- /dev/null
+++ b/plugins/node/opentelemetry-instrumentation-pino/src/log-sending-utils.ts
@@ -0,0 +1,241 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Writable } from 'stream';
+
+import { logs, Logger, SeverityNumber } from '@opentelemetry/api-logs';
+import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
+import { millisToHrTime } from '@opentelemetry/core';
+
+// This block is a copy (modulo code style and TypeScript types) of the Pino
+// code that defines log level value and names. This file is part of
+// *instrumenting* Pino, so we want to avoid a dependency on the library.
+const DEFAULT_LEVELS = {
+  trace: 10,
+  debug: 20,
+  info: 30,
+  warn: 40,
+  error: 50,
+  fatal: 60,
+};
+
+const OTEL_SEV_NUM_FROM_PINO_LEVEL: { [level: number]: SeverityNumber } = {
+  [DEFAULT_LEVELS.trace]: SeverityNumber.TRACE,
+  [DEFAULT_LEVELS.debug]: SeverityNumber.DEBUG,
+  [DEFAULT_LEVELS.info]: SeverityNumber.INFO,
+  [DEFAULT_LEVELS.warn]: SeverityNumber.WARN,
+  [DEFAULT_LEVELS.error]: SeverityNumber.ERROR,
+  [DEFAULT_LEVELS.fatal]: SeverityNumber.FATAL,
+};
+
+const EXTRA_SEV_NUMS = [
+  SeverityNumber.TRACE2,
+  SeverityNumber.TRACE3,
+  SeverityNumber.TRACE4,
+  SeverityNumber.DEBUG2,
+  SeverityNumber.DEBUG3,
+  SeverityNumber.DEBUG4,
+  SeverityNumber.INFO2,
+  SeverityNumber.INFO3,
+  SeverityNumber.INFO4,
+  SeverityNumber.WARN2,
+  SeverityNumber.WARN3,
+  SeverityNumber.WARN4,
+  SeverityNumber.ERROR2,
+  SeverityNumber.ERROR3,
+  SeverityNumber.ERROR4,
+  SeverityNumber.FATAL2,
+  SeverityNumber.FATAL3,
+  SeverityNumber.FATAL4,
+];
+
+function severityNumberFromPinoLevel(lvl: number) {
+  // Fast common case: one of the known levels
+  const sev = OTEL_SEV_NUM_FROM_PINO_LEVEL[lvl];
+  if (sev !== undefined) {
+    return sev;
+  }
+
+  // Otherwise, scale the Pino level range -- 10 (trace) to 70 (fatal+10)
+  // -- onto the extra OTel severity numbers (TRACE2, TRACE3, ..., FATAL4).
+  // Values below trace (10) map to SeverityNumber.TRACE2, which may be
+  // considered a bit weird, but it means the unnumbered levels are always
+  // just for exactly matching values.
+  const relativeLevelWeight = (lvl - 10) / (70 - 10);
+  const otelSevIdx = Math.floor(relativeLevelWeight * EXTRA_SEV_NUMS.length);
+  const cappedOTelIdx = Math.min(
+    EXTRA_SEV_NUMS.length - 1,
+    Math.max(0, otelSevIdx)
+  );
+  const otelSevValue = EXTRA_SEV_NUMS[cappedOTelIdx];
+  return otelSevValue;
+}
+
+/**
+ * Return a function that knows how to convert the "time" field value on a
+ * Pino log record to an OTel LogRecord timestamp value.
+ *
+ * How to convert the serialized "time" on a Pino log record
+ * depends on the Logger's `Symbol(pino.time)` prop, configurable
+ * via https://getpino.io/#/docs/api?id=timestamp-boolean-function
+ *
+ * For example:
+ *    const logger = pino({timestamp: pino.stdTimeFunctions.isoTime})
+ * results in log record entries of the form:
+ *    ,"time":"2024-05-17T22:03:25.969Z"
+ * `otelTimestampFromTime` will be given the value of the "time" field:
+ *   "2024-05-17T22:03:25.969Z"
+ * which should be parsed to a number of milliseconds since the epoch.
+ */
+export function getTimeConverter(pinoLogger: any, pinoMod: any) {
+  const stdTimeFns = pinoMod.stdTimeFunctions;
+  const loggerTimeFn = pinoLogger[pinoMod.symbols.timeSym];
+  if (loggerTimeFn === stdTimeFns.epochTime) {
+    return (time: number) => time;
+  } else if (loggerTimeFn === stdTimeFns.unixTime) {
+    return (time: number) => time * 1e3;
+  } else if (loggerTimeFn === stdTimeFns.isoTime) {
+    return (time: string) => new Date(time).getTime();
+  } else if (loggerTimeFn === stdTimeFns.nullTime) {
+    return () => Date.now();
+  } else {
+    // The logger has a custom time function. Don't guess.
+    return () => NaN;
+  }
+}
+
+interface OTelPinoStreamOptions {
+  messageKey: string;
+  levels: any; // Pino.LevelMapping
+  otelTimestampFromTime: (time: any) => number;
+}
+
+/**
+ * A Pino stream for sending records to the OpenTelemetry Logs API.
+ *
+ * - This stream emits an 'unknown' event on an unprocessable pino record.
+ *   The event arguments are: `logLine: string`, `err: string | Error`.
+ */
+export class OTelPinoStream extends Writable {
+  private _otelLogger: Logger;
+  private _messageKey: string;
+  private _levels;
+  private _otelTimestampFromTime;
+
+  constructor(options: OTelPinoStreamOptions) {
+    super();
+
+    // Note: A PINO_CONFIG event was added to pino (2024-04-04) to send config
+    // to transports. Eventually OTelPinoStream might be able to use this
+    // for auto-configuration in newer pino versions. The event currently does
+    // not include the `timeSym` value that is needed here, however.
+    this._messageKey = options.messageKey;
+    this._levels = options.levels;
+    this._otelTimestampFromTime = options.otelTimestampFromTime;
+
+    // Cannot use `instrumentation.logger` until have delegating LoggerProvider:
+    // https://github.com/open-telemetry/opentelemetry-js/issues/4399
+    this._otelLogger = logs.getLogger(PACKAGE_NAME, PACKAGE_VERSION);
+  }
+
+  override _write(s: string, _encoding: string, callback: Function) {
+    /* istanbul ignore if */
+    if (!s) {
+      return;
+    }
+
+    // Parse, and handle edge cases similar to how `pino-abtract-transport` does:
+    // https://github.com/pinojs/pino-abstract-transport/blob/v1.2.0/index.js#L28-L45
+    // - Emitting an 'unknown' event on parse error mimicks pino-abstract-transport.
+    let recObj;
+    try {
+      recObj = JSON.parse(s);
+    } catch (parseErr) {
+      // Invalid JSON suggests a bug in Pino, or a logger configuration bug
+      // (a bogus `options.timestamp` or serializer).
+      this.emit('unknown', s.toString(), parseErr);
+      callback();
+      return;
+    }
+    /* istanbul ignore if */
+    if (recObj === null) {
+      this.emit('unknown', s.toString(), 'Null value ignored');
+      callback();
+      return;
+    }
+    /* istanbul ignore if */
+    if (typeof recObj !== 'object') {
+      recObj = {
+        data: recObj,
+      };
+    }
+
+    const {
+      time,
+      [this._messageKey]: body,
+      level, // eslint-disable-line @typescript-eslint/no-unused-vars
+
+      // The typical Pino `hostname` and `pid` fields are removed because they
+      // are redundant with the OpenTelemetry `host.name` and `process.pid`
+      // Resource attributes, respectively. This code cannot change the
+      // LoggerProvider's `resource`, so getting the OpenTelemetry equivalents
+      // depends on the user using the OpenTelemetry HostDetector and
+      // ProcessDetector.
+      // https://getpino.io/#/docs/api?id=opt-base
+      hostname, // eslint-disable-line @typescript-eslint/no-unused-vars
+      pid, // eslint-disable-line @typescript-eslint/no-unused-vars
+
+      // The `trace_id` et al fields that may have been added by the
+      // "log correlation" feature are stripped, because they are redundant.
+      trace_id, // eslint-disable-line @typescript-eslint/no-unused-vars
+      span_id, // eslint-disable-line @typescript-eslint/no-unused-vars
+      trace_flags, // eslint-disable-line @typescript-eslint/no-unused-vars
+
+      ...attributes
+    } = recObj;
+
+    let timestamp = this._otelTimestampFromTime(time);
+    if (isNaN(timestamp)) {
+      attributes['time'] = time; // save the unexpected "time" field to attributes
+      timestamp = Date.now();
+    }
+
+    // This avoids a possible subtle bug when a Pino logger uses
+    // `time: pino.stdTimeFunctions.unixTime` and logs in the first half-second
+    // since process start. The rounding involved results in:
+    //    timestamp < performance.timeOrigin
+    // If that is passed to Logger.emit() it will be misinterpreted by
+    // `timeInputToHrTime` as a `performance.now()` value.
+    const timestampHrTime = millisToHrTime(timestamp);
+
+    // Prefer using `stream.lastLevel`, because `recObj.level` can be customized
+    // to anything via `formatters.level`
+    // (https://getpino.io/#/docs/api?id=formatters-object).
+    const lastLevel = (this as any).lastLevel;
+
+    const otelRec = {
+      timestamp: timestampHrTime,
+      observedTimestamp: timestampHrTime,
+      severityNumber: severityNumberFromPinoLevel(lastLevel),
+      severityText: this._levels.labels[lastLevel],
+      body,
+      attributes,
+    };
+
+    this._otelLogger.emit(otelRec);
+    callback();
+  }
+}
diff --git a/plugins/node/opentelemetry-instrumentation-pino/src/types.ts b/plugins/node/opentelemetry-instrumentation-pino/src/types.ts
index 52484885a7..43fabc5065 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/src/types.ts
+++ b/plugins/node/opentelemetry-instrumentation-pino/src/types.ts
@@ -25,9 +25,31 @@ export type LogHookFunction = (
 ) => void;
 
 export interface PinoInstrumentationConfig extends InstrumentationConfig {
+  /**
+   * Whether to disable the automatic sending of log records to the
+   * OpenTelemetry Logs SDK.
+   * @default false
+   */
+  disableLogSending?: boolean;
+
+  /**
+   * Whether to disable the injection trace-context fields, and possibly other
+   * fields from `logHook()`, into log records for log correlation.
+   * @default false
+   */
+  disableLogCorrelation?: boolean;
+
+  /**
+   * A function that allows injecting additional fields in log records. It is
+   * called, as `logHook(span, record)`, for each log record emitted in a valid
+   * span context. It requires `disableLogCorrelation` to be false.
+   */
   logHook?: LogHookFunction;
 
-  /** Configure the names of field injected into logs when there is span context available.  */
+  /**
+   * Configure the names of field injected into logs when there is span context
+   * available.
+   */
   logKeys?: {
     traceId: string;
     spanId: string;
diff --git a/plugins/node/opentelemetry-instrumentation-pino/test/pino.test.ts b/plugins/node/opentelemetry-instrumentation-pino/test/pino.test.ts
index 4b0936452d..6f03e197cd 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/test/pino.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-pino/test/pino.test.ts
@@ -20,17 +20,28 @@ import { Writable } from 'stream';
 import * as semver from 'semver';
 import * as sinon from 'sinon';
 import { INVALID_SPAN_CONTEXT, context, trace, Span } from '@opentelemetry/api';
+import { diag, DiagLogLevel } from '@opentelemetry/api';
+import { hrTimeToMilliseconds } from '@opentelemetry/core';
+import { SEMRESATTRS_SERVICE_NAME } from '@opentelemetry/semantic-conventions';
+import { Resource } from '@opentelemetry/resources';
 import {
   InMemorySpanExporter,
   SimpleSpanProcessor,
 } from '@opentelemetry/sdk-trace-base';
 import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
+import { logs, SeverityNumber } from '@opentelemetry/api-logs';
+import {
+  LoggerProvider,
+  SimpleLogRecordProcessor,
+  InMemoryLogRecordExporter,
+} from '@opentelemetry/sdk-logs';
 import {
   runTestFixture,
   TestCollector,
 } from '@opentelemetry/contrib-test-utils';
 
 import { PinoInstrumentation, PinoInstrumentationConfig } from '../src';
+import { PACKAGE_NAME, PACKAGE_VERSION } from '../src/version';
 
 import type { pino as Pino } from 'pino';
 
@@ -41,6 +52,15 @@ tracerProvider.addSpanProcessor(
 );
 const tracer = tracerProvider.getTracer('default');
 
+// Setup LoggerProvider for "log sending" tests.
+const resource = new Resource({
+  [SEMRESATTRS_SERVICE_NAME]: 'test-instrumentation-pino',
+});
+const loggerProvider = new LoggerProvider({ resource });
+const memExporter = new InMemoryLogRecordExporter();
+loggerProvider.addLogRecordProcessor(new SimpleLogRecordProcessor(memExporter));
+logs.setGlobalLoggerProvider(loggerProvider);
+
 const instrumentation = new PinoInstrumentation();
 const pino = require('pino');
 
@@ -113,6 +133,7 @@ describe('PinoInstrumentation', () => {
 
     beforeEach(() => {
       instrumentation.setConfig({}); // reset to defaults
+      memExporter.getFinishedLogRecords().length = 0; // clear
       stream = new Writable();
       stream._write = () => {};
       writeSpy = sinon.spy(stream, 'write');
@@ -228,6 +249,27 @@ describe('PinoInstrumentation', () => {
       });
     });
 
+    it('does not inject or call logHook if disableLogCorrelation=true', () => {
+      instrumentation.setConfig({
+        disableLogCorrelation: true,
+        logHook: (_span, record) => {
+          record['resource.service.name'] = 'test-service';
+        },
+      });
+      tracer.startActiveSpan('abc', span => {
+        logger.info('foo');
+        span.end();
+
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assert.strictEqual('foo', record['msg']);
+        assert.strictEqual(record['trace_id'], undefined);
+        assert.strictEqual(record['span_id'], undefined);
+        assert.strictEqual(record['trace_flags'], undefined);
+        assert.strictEqual(record['resource.service.name'], undefined);
+      });
+    });
+
     it('instrumentation of `pino.default(...)` works', function () {
       if (!pino.default) {
         this.skip();
@@ -349,6 +391,334 @@ describe('PinoInstrumentation', () => {
     });
   });
 
+  describe('log sending', () => {
+    let logger: Pino.Logger;
+    let stream: Writable;
+    let writeSpy: sinon.SinonSpy;
+
+    before(function () {
+      if (typeof pino.multistream !== 'function') {
+        this.skip();
+      }
+    });
+
+    beforeEach(() => {
+      instrumentation.setConfig({}); // reset to defaults
+      memExporter.getFinishedLogRecords().length = 0; // clear
+      stream = new Writable();
+      stream._write = () => {};
+      writeSpy = sinon.spy(stream, 'write');
+      logger = pino(
+        {
+          name: 'test-logger-name',
+          level: 'debug',
+        },
+        stream
+      );
+    });
+
+    it('emits log records to Logs SDK', () => {
+      const logRecords = memExporter.getFinishedLogRecords();
+
+      // levels
+      logger.silent('silent');
+      logger.trace('at trace level');
+      logger.debug('at debug level');
+      logger.info('at info level');
+      logger.warn('at warn level');
+      logger.error('at error level');
+      logger.fatal('at fatal level');
+      assert.strictEqual(logRecords.length, 5);
+      assert.strictEqual(logRecords[0].severityNumber, SeverityNumber.DEBUG);
+      assert.strictEqual(logRecords[0].severityText, 'debug');
+      assert.strictEqual(logRecords[1].severityNumber, SeverityNumber.INFO);
+      assert.strictEqual(logRecords[1].severityText, 'info');
+      assert.strictEqual(logRecords[2].severityNumber, SeverityNumber.WARN);
+      assert.strictEqual(logRecords[2].severityText, 'warn');
+      assert.strictEqual(logRecords[3].severityNumber, SeverityNumber.ERROR);
+      assert.strictEqual(logRecords[3].severityText, 'error');
+      assert.strictEqual(logRecords[4].severityNumber, SeverityNumber.FATAL);
+      assert.strictEqual(logRecords[4].severityText, 'fatal');
+
+      // attributes, resource, instrumentationScope, etc.
+      logger.info({ foo: 'bar' }, 'a message');
+      const rec = logRecords[logRecords.length - 1];
+      assert.strictEqual(rec.body, 'a message');
+      assert.deepStrictEqual(rec.attributes, {
+        name: 'test-logger-name',
+        foo: 'bar',
+      });
+      assert.strictEqual(
+        rec.resource.attributes['service.name'],
+        'test-instrumentation-pino'
+      );
+      assert.strictEqual(rec.instrumentationScope.name, PACKAGE_NAME);
+      assert.strictEqual(rec.instrumentationScope.version, PACKAGE_VERSION);
+      assert.strictEqual(rec.spanContext, undefined);
+
+      // spanContext
+      tracer.startActiveSpan('abc', span => {
+        logger.info('in active span');
+        span.end();
+
+        const { traceId, spanId, traceFlags } = span.spanContext();
+        const rec = logRecords[logRecords.length - 1];
+        assert.strictEqual(rec.spanContext?.traceId, traceId);
+        assert.strictEqual(rec.spanContext?.spanId, spanId);
+        assert.strictEqual(rec.spanContext?.traceFlags, traceFlags);
+
+        // This rec should *NOT* have the `trace_id` et al attributes.
+        assert.strictEqual(rec.attributes.trace_id, undefined);
+        assert.strictEqual(rec.attributes.span_id, undefined);
+        assert.strictEqual(rec.attributes.trace_flags, undefined);
+      });
+    });
+
+    it('does not emit to the Logs SDK if disableLogSending=true', () => {
+      instrumentation.setConfig({ disableLogSending: true });
+
+      // Changing `disableLogSending` only has an impact on Loggers created
+      // *after* it is set. So we cannot test with the `logger` created in
+      // `beforeEach()` above.
+      logger = pino({ name: 'test-logger-name' }, stream);
+
+      tracer.startActiveSpan('abc', span => {
+        logger.info('foo');
+        span.end();
+
+        assert.strictEqual(memExporter.getFinishedLogRecords().length, 0);
+
+        // Test log correlation still works.
+        const { traceId, spanId } = span.spanContext();
+        sinon.assert.calledOnce(writeSpy);
+        const record = JSON.parse(writeSpy.firstCall.args[0].toString());
+        assert.strictEqual('foo', record['msg']);
+        assert.strictEqual(record['trace_id'], traceId);
+        assert.strictEqual(record['span_id'], spanId);
+      });
+    });
+
+    it('edge case: non-time "time" field is stored in attributes', () => {
+      const logRecords = memExporter.getFinishedLogRecords();
+
+      // Pino will emit a JSON object with two "time" fields, e.g.
+      //    {...,"time":1716933636063,...,"time":"miller"}
+      // JSON *parsing* rules are that the last duplicate key wins, so it
+      // would be nice to maintain that "time" attribute if possible.
+      logger.info({ time: 'miller' }, 'hi');
+      const rec = logRecords[logRecords.length - 1];
+      assert.deepEqual(
+        rec.hrTime.map(n => typeof n),
+        ['number', 'number']
+      );
+      assert.strictEqual(rec.attributes.time, 'miller');
+    });
+
+    it('edge case: custom "timestamp" option', () => {
+      let otelRec, pinoRec;
+      const logRecords = memExporter.getFinishedLogRecords();
+
+      logger = pino({ timestamp: false }, stream);
+      logger.info('using false');
+      otelRec = logRecords[logRecords.length - 1];
+      pinoRec = JSON.parse(writeSpy.lastCall.args[0].toString());
+      assert.deepEqual(
+        otelRec.hrTime.map(n => typeof n),
+        ['number', 'number']
+      );
+      assert.strictEqual(pinoRec.time, undefined);
+
+      logger = pino({ timestamp: pino.stdTimeFunctions.epochTime }, stream);
+      logger.info('using epochTime');
+      otelRec = logRecords[logRecords.length - 1];
+      pinoRec = JSON.parse(writeSpy.lastCall.args[0].toString());
+      assert.strictEqual(hrTimeToMilliseconds(otelRec.hrTime), pinoRec.time);
+
+      logger = pino({ timestamp: pino.stdTimeFunctions.unixTime }, stream);
+      logger.info('using unixTime');
+      otelRec = logRecords[logRecords.length - 1];
+      pinoRec = JSON.parse(writeSpy.lastCall.args[0].toString());
+      assert.strictEqual(
+        hrTimeToMilliseconds(otelRec.hrTime),
+        pinoRec.time * 1e3
+      );
+
+      logger = pino({ timestamp: pino.stdTimeFunctions.isoTime }, stream);
+      logger.info('using isoTime');
+      otelRec = logRecords[logRecords.length - 1];
+      pinoRec = JSON.parse(writeSpy.lastCall.args[0].toString());
+      assert.strictEqual(
+        hrTimeToMilliseconds(otelRec.hrTime),
+        new Date(pinoRec.time).getTime()
+      );
+
+      logger = pino({ timestamp: () => ',"time":"quittin"' }, stream);
+      logger.info('using custom timestamp fn');
+      otelRec = logRecords[logRecords.length - 1];
+      pinoRec = JSON.parse(writeSpy.lastCall.args[0].toString());
+      assert.deepEqual(
+        otelRec.hrTime.map(n => typeof n),
+        ['number', 'number']
+      );
+      assert.strictEqual(pinoRec.time, 'quittin');
+      assert.strictEqual(otelRec.attributes.time, 'quittin');
+    });
+
+    // A custom 'timestamp' fn that returns invalid data will result in a Pino
+    // log record line that is invalid JSON. We expect the OTel stream to
+    // gracefully handle this.
+    it('edge case: error parsing pino log line', () => {
+      const logRecords = memExporter.getFinishedLogRecords();
+
+      const diagWarns = [] as any;
+      // This messily leaves the diag logger set for other tests.
+      diag.setLogger(
+        {
+          verbose() {},
+          debug() {},
+          info() {},
+          warn(...args) {
+            diagWarns.push(args);
+          },
+          error() {},
+        },
+        DiagLogLevel.WARN
+      );
+
+      logger = pino({ timestamp: () => 'invalid JSON' }, stream);
+      logger.info('using custom timestamp fn returning bogus result');
+      assert.strictEqual(logRecords.length, 0);
+      assert.ok(writeSpy.lastCall.args[0].toString().includes('invalid JSON'));
+      assert.equal(diagWarns.length, 1);
+      assert.ok(diagWarns[0][1].includes('could not send pino log line'));
+    });
+
+    it('edge case: customLevels', () => {
+      let rec;
+      const logRecords = memExporter.getFinishedLogRecords();
+
+      logger = pino(
+        {
+          customLevels: {
+            foo: pino.levels.values.warn,
+            bar: pino.levels.values.warn - 1, // a little closer to INFO
+            baz: pino.levels.values.warn + 1, // a little above WARN
+          },
+        },
+        stream
+      );
+
+      (logger as any).foo('foomsg');
+      rec = logRecords[logRecords.length - 1];
+      assert.strictEqual(rec.severityNumber, SeverityNumber.WARN);
+      assert.strictEqual(rec.severityText, 'foo');
+
+      (logger as any).bar('barmsg');
+      rec = logRecords[logRecords.length - 1];
+      assert.strictEqual(rec.severityNumber, SeverityNumber.INFO4);
+      assert.strictEqual(rec.severityText, 'bar');
+
+      (logger as any).baz('bazmsg');
+      rec = logRecords[logRecords.length - 1];
+      assert.strictEqual(rec.severityNumber, SeverityNumber.WARN2);
+      assert.strictEqual(rec.severityText, 'baz');
+    });
+
+    it('edge case: customLevels and formatters.level', () => {
+      logger = pino(
+        {
+          customLevels: {
+            foo: pino.levels.values.warn,
+            bar: pino.levels.values.warn - 1, // a little closer to INFO
+          },
+          formatters: {
+            level(label: string, _num: number) {
+              return { level: label };
+            },
+          },
+        },
+        stream
+      );
+
+      const logRecords = memExporter.getFinishedLogRecords();
+      (logger as any).foo('foomsg');
+      const otelRec = logRecords[logRecords.length - 1];
+      assert.strictEqual(otelRec.severityNumber, SeverityNumber.WARN);
+      assert.strictEqual(otelRec.severityText, 'foo');
+
+      sinon.assert.calledOnce(writeSpy);
+      const pinoRec = JSON.parse(writeSpy.firstCall.args[0].toString());
+      assert.equal((pinoRec as any).level, 'foo');
+    });
+
+    it('edge case: customLevels and useOnlyCustomLevels', () => {
+      let rec;
+      const logRecords = memExporter.getFinishedLogRecords();
+
+      logger = pino(
+        {
+          customLevels: {
+            foo: pino.levels.values.warn,
+            bar: pino.levels.values.warn - 1, // a little closer to INFO
+          },
+          useOnlyCustomLevels: true,
+          level: 'bar',
+        },
+        stream
+      );
+
+      (logger as any).foo('foomsg');
+      rec = logRecords[logRecords.length - 1];
+      assert.strictEqual(rec.severityNumber, SeverityNumber.WARN);
+      assert.strictEqual(rec.severityText, 'foo');
+
+      (logger as any).bar('barmsg');
+      rec = logRecords[logRecords.length - 1];
+      assert.strictEqual(rec.severityNumber, SeverityNumber.INFO4);
+      assert.strictEqual(rec.severityText, 'bar');
+    });
+
+    // We use multistream internally to write to the OTel SDK. This test ensures
+    // that multistream wrapping of a multistream works.
+    it('edge case: multistream', () => {
+      const logRecords = memExporter.getFinishedLogRecords();
+
+      const stream2 = new Writable();
+      stream2._write = () => {};
+      const writeSpy2 = sinon.spy(stream2, 'write');
+
+      logger = pino(
+        {},
+        pino.multistream([{ stream: stream }, { stream: stream2 }])
+      );
+      logger.info('using multistream');
+
+      const otelRec = logRecords[logRecords.length - 1];
+      assert.equal(otelRec.body, 'using multistream');
+
+      sinon.assert.calledOnce(writeSpy);
+      const pinoRec = JSON.parse(writeSpy.firstCall.args[0].toString());
+      assert.equal((pinoRec as any).msg, 'using multistream');
+
+      sinon.assert.calledOnce(writeSpy2);
+      const pinoRec2 = JSON.parse(writeSpy2.firstCall.args[0].toString());
+      assert.equal((pinoRec2 as any).msg, 'using multistream');
+    });
+
+    it('edge case: messageKey', () => {
+      logger = pino({ messageKey: 'mymsg' }, stream);
+      logger.info('using messageKey');
+
+      const logRecords = memExporter.getFinishedLogRecords();
+      const otelRec = logRecords[logRecords.length - 1];
+      assert.equal(otelRec.body, 'using messageKey');
+
+      sinon.assert.calledOnce(writeSpy);
+      const pinoRec = JSON.parse(writeSpy.firstCall.args[0].toString());
+      assert.equal((pinoRec as any).mymsg, 'using messageKey');
+    });
+  });
+
   describe('ESM usage', () => {
     it('should work with ESM default import', async function () {
       let logRecords: any[];

From 688a92d14aa1bdb67de273205d76c2c6e21f6276 Mon Sep 17 00:00:00 2001
From: Severin Neumann <neumanns@cisco.com>
Date: Thu, 27 Jun 2024 08:19:19 +0200
Subject: [PATCH 050/123] chore: permanently deprecate
 opentelemetry-browser-extension-autoinjection (#2285)

* chore: permanently deprecate opentelemetry-browser-extension-autoinjection

Signed-off-by: svrnm <neumanns@cisco.com>

* Update README.md

---------

Signed-off-by: svrnm <neumanns@cisco.com>
Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 .../README.md                                         | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/archive/opentelemetry-browser-extension-autoinjection/README.md b/archive/opentelemetry-browser-extension-autoinjection/README.md
index 4d15bec1ce..9e3747a868 100644
--- a/archive/opentelemetry-browser-extension-autoinjection/README.md
+++ b/archive/opentelemetry-browser-extension-autoinjection/README.md
@@ -2,8 +2,15 @@
 
 ## :warning: ARCHIVED PROJECT
 
-> This project has been archived by the maintainers on August 3 2022 because it was causing a failure in the CI and does not have any maintainer.
-> Anyone who would like to maintain this project should open a PR to move it back into the lerna project and add themselves to the component owners file.
+> This project has been archived by the maintainers permanently on June 19 2024.
+> We encourage extensions to be developed and maintained outside this repository.
+> Alternatives can be found in the OpenTelemetry Registry:
+>
+> <https://opentelemetry.io/ecosystem/registry/?component=utilities&s=browserextension>
+>
+> If you are a developer of such an extension you can
+> [add it to the registry](https://opentelemetry.io/ecosystem/registry/adding/)
+> as well.
 
 This browser extension allows you to inject [OpenTelemetry](https://opentelemetry.io/) instrumentation in any web page. It uses the [Web SDK](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-web) and can export data to Zipkin or an OpenTelemetry Collector.
 

From fbf25c5e14eaa7d13fc3ff213f4648ae22c64cef Mon Sep 17 00:00:00 2001
From: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com>
Date: Wed, 26 Jun 2024 23:42:53 -0700
Subject: [PATCH 051/123] fix(@opentelemetry/instrumentation-winston): Removing
 error details when @opentelemetry/winston-transport is not available (#2301)

* Removing error details in diag warning

* Lint fix

---------

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 .../src/instrumentation.ts                                     | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/plugins/node/opentelemetry-instrumentation-winston/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-winston/src/instrumentation.ts
index dddb1c0835..b7164e2395 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-winston/src/instrumentation.ts
@@ -221,8 +221,7 @@ export class WinstonInstrumentation extends InstrumentationBase {
               args[0].transports = newTransports;
             } catch (err) {
               instrumentation._diag.warn(
-                'OpenTelemetry Winston transport is not available, log records will not be automatically sent.',
-                err
+                '@opentelemetry/winston-transport is not available, log records will not be automatically sent.'
               );
             }
           }

From 65bc979f9f04410e9a78b4d546f5e08471c1fb6d Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Thu, 27 Jun 2024 13:27:55 +0200
Subject: [PATCH 052/123] chore: update all otel deps (#2291)

* chore: update all otel deps

* chore: update missing deps
---
 package-lock.json                             | 712 +++++++++---------
 .../package.json                              |   2 +-
 2 files changed, 357 insertions(+), 357 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 5ea1ebd21b..01ffdcf014 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10517,9 +10517,9 @@
       }
     },
     "node_modules/@opentelemetry/api-logs": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.0.tgz",
-      "integrity": "sha512-HxjD7xH9iAE4OyhNaaSec65i1H6QZYBWSwWkowFfsc5YAcDvJG30/J1sRKXEQqdmUcKTXEAnA66UciqZha/4+Q==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.1.tgz",
+      "integrity": "sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==",
       "dependencies": {
         "@opentelemetry/api": "^1.0.0"
       },
@@ -10540,9 +10540,9 @@
       "link": true
     },
     "node_modules/@opentelemetry/context-async-hooks": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.0.tgz",
-      "integrity": "sha512-sBW313mnMyFg0cp/40BRzrZBWG+581s2j5gIsa5fgGadswyILk4mNFATsqrCOpAx945RDuZ2B7ThQLgor9OpfA==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.1.tgz",
+      "integrity": "sha512-UW/ge9zjvAEmRWVapOP0qyCvPulWU6cQxGxDbWEFfGOj1VBBZAuOqTo3X6yWmDTD3Xe15ysCZChHncr2xFMIfQ==",
       "engines": {
         "node": ">=14"
       },
@@ -10551,11 +10551,11 @@
       }
     },
     "node_modules/@opentelemetry/context-zone": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.25.0.tgz",
-      "integrity": "sha512-LmO64smA9SZrl8f1HRRSNA4oudwpjCMVxZz08EhkRCcTRvFB8p+6Lnu6mtT54wD/raeXoEbLGtVqMYHsZ6bpmA==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.25.1.tgz",
+      "integrity": "sha512-kHbMs95mKNJPpfd1LE1/IRxUw5D1fyTOM+0R1yDOOzffs9ZZsQqgQ1Q7q0bWZ/kVLWjL43fiALe+rPtQvRShdg==",
       "dependencies": {
-        "@opentelemetry/context-zone-peer-dep": "1.25.0",
+        "@opentelemetry/context-zone-peer-dep": "1.25.1",
         "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0"
       },
       "engines": {
@@ -10563,9 +10563,9 @@
       }
     },
     "node_modules/@opentelemetry/context-zone-peer-dep": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.25.0.tgz",
-      "integrity": "sha512-wh03u4ECYonjaxB+hzriWzHcr4GRlYSQoirDn0ldBDebz3WDZgjHCD/NPBoZaulGGwU6lvmQZXuyfz5hRrJhOw==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.25.1.tgz",
+      "integrity": "sha512-UxSY9K90xOg2eI7qZStx0HV6DZT6tcRX+IiAWTvROi6h9Td2c2vlQhBZ9F1JH7kINmNCZN1f1//O9rSioPEMlg==",
       "engines": {
         "node": ">=14"
       },
@@ -10579,11 +10579,11 @@
       "link": true
     },
     "node_modules/@opentelemetry/core": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.0.tgz",
-      "integrity": "sha512-n0B3s8rrqGrasTgNkXLKXzN0fXo+6IYP7M5b7AMsrZM33f/y6DS6kJ0Btd7SespASWq8bgL3taLo0oe0vB52IQ==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.1.tgz",
+      "integrity": "sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==",
       "dependencies": {
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/semantic-conventions": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -10593,13 +10593,13 @@
       }
     },
     "node_modules/@opentelemetry/exporter-jaeger": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.25.0.tgz",
-      "integrity": "sha512-6h2dCpdOB2W2mxdH/6w6DZeev5Zc3X2rUlCWKMCUnKko36aTfbiVxgXHffs0pc3w5JmMtKIVkHg8eamvLA+Klw==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.25.1.tgz",
+      "integrity": "sha512-6/HwzrwUx0fpkFXrouF0IJp+hpN8xkx8RqEk+BZfeoMAHydpyigyYsKyAtAZRwfJe45WWJbJUqoK8aBjiC9iLQ==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1",
         "jaeger-client": "^3.15.0"
       },
       "engines": {
@@ -10610,16 +10610,16 @@
       }
     },
     "node_modules/@opentelemetry/exporter-trace-otlp-grpc": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.52.0.tgz",
-      "integrity": "sha512-Ln3HU54/ytTeEMrDGNDj01357YV8Kk9PkGDHvBRo1n7bWhwZoTEnX/cTuXLYOiygBIJJjCCM+VMfWCnvtFl4Kw==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.52.1.tgz",
+      "integrity": "sha512-pVkSH20crBwMTqB3nIN4jpQKUEoB0Z94drIHpYyEqs7UBr+I0cpYyOR3bqjA/UasQUMROb3GX8ZX4/9cVRqGBQ==",
       "dependencies": {
         "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-grpc-exporter-base": "0.52.0",
-        "@opentelemetry/otlp-transformer": "0.52.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/otlp-grpc-exporter-base": "0.52.1",
+        "@opentelemetry/otlp-transformer": "0.52.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -10629,15 +10629,15 @@
       }
     },
     "node_modules/@opentelemetry/exporter-trace-otlp-http": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.52.0.tgz",
-      "integrity": "sha512-umj9tOSEAuUdqw2EZua1Dby3c+FZ6xWGT2OF/KGLFLtyIvxhtTOSeMfBy/9CaxHn4vF8mAynmAP5MvVKnRYunA==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.52.1.tgz",
+      "integrity": "sha512-05HcNizx0BxcFKKnS5rwOV+2GevLTVIRA0tRgWYyw4yCgR53Ic/xk83toYKts7kbzcI+dswInUg/4s8oyA+tqg==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-exporter-base": "0.52.0",
-        "@opentelemetry/otlp-transformer": "0.52.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/otlp-exporter-base": "0.52.1",
+        "@opentelemetry/otlp-transformer": "0.52.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -10647,15 +10647,15 @@
       }
     },
     "node_modules/@opentelemetry/exporter-trace-otlp-proto": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.52.0.tgz",
-      "integrity": "sha512-mpMEZFGaGnvon5pbjLieh7ffE9BuYnrG7qd4O5P3j1fk/4PCR3BcGfGhIfyZi0X8kBcjEhipiBfaHYqI7rxcXg==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.52.1.tgz",
+      "integrity": "sha512-pt6uX0noTQReHXNeEslQv7x311/F1gJzMnp1HD2qgypLRPbXDeMzzeTngRTUaUbP6hqWNtPxuLr4DEoZG+TcEQ==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-exporter-base": "0.52.0",
-        "@opentelemetry/otlp-transformer": "0.52.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/otlp-exporter-base": "0.52.1",
+        "@opentelemetry/otlp-transformer": "0.52.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -10665,14 +10665,14 @@
       }
     },
     "node_modules/@opentelemetry/exporter-zipkin": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.25.0.tgz",
-      "integrity": "sha512-nnhY0e5DHg8BfUSNCQZoGZnGeqz+zMTeEUOh1dfgtaXmF99uM0QPuTa1i2lH+eZqebP8w1WDWZlewu9FUlHqIg==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.25.1.tgz",
+      "integrity": "sha512-RmOwSvkimg7ETwJbUOPTMhJm9A9bG1U8s7Zo3ajDh4zM7eYcycQ0dM7FbLD6NXWbI2yj7UY4q8BKinKYBQksyw==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -10690,13 +10690,13 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.0.tgz",
-      "integrity": "sha512-LPwSIrw+60cheWaXsfGL8stBap/AppKQJFE+qqRvzYrgttXFH2ofoIMxWadeqPTq4BYOXM/C7Bdh/T+B60xnlQ==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz",
+      "integrity": "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==",
       "dependencies": {
-        "@opentelemetry/api-logs": "0.52.0",
+        "@opentelemetry/api-logs": "0.52.1",
         "@types/shimmer": "^1.0.2",
-        "import-in-the-middle": "1.8.0",
+        "import-in-the-middle": "^1.8.1",
         "require-in-the-middle": "^7.1.1",
         "semver": "^7.5.2",
         "shimmer": "^1.2.1"
@@ -10757,14 +10757,14 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation-fetch": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.52.0.tgz",
-      "integrity": "sha512-ay1Ot0z/586MBnhZnWJJFWXjBCQjddVVjCxLPRECnorhzmXuOsjUb7zTY88Vv9ddRtcHe0EIp9Z8sWQeLT02kA==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.52.1.tgz",
+      "integrity": "sha512-EJDQXdv1ZGyBifox+8BK+hP0tg29abNPdScE+lW77bUVrThD5vn2dOo+blAS3Z8Od+eqTUTDzXVDIFjGgTK01w==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/sdk-trace-web": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/instrumentation": "0.52.1",
+        "@opentelemetry/sdk-trace-web": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -10786,12 +10786,12 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation-grpc": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.0.tgz",
-      "integrity": "sha512-YYhA2pbhMWgF5Hp6eR7AHp1utzZQ3Y0VB8GIwd8zJoLtAuQRZa1N29DUtZ+t/pGRJF+xGPVI+vP+7ugHgeN0zQ==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.1.tgz",
+      "integrity": "sha512-EdSDiDSAO+XRXk/ZN128qQpBo1I51+Uay/LUPcPQhSRGf7fBPIEUBeOLQiItguGsug5MGOYjql2w/1wCQF3fdQ==",
       "dependencies": {
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/instrumentation": "0.52.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -10805,13 +10805,13 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation-http": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.52.0.tgz",
-      "integrity": "sha512-E6ywZuxTa4LnVXZGwL1oj3e2Eog1yIaNqa8KjKXoGkDNKte9/SjQnePXOmhQYI0A9nf0UyFbP9aKd+yHrkJXUA==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.52.1.tgz",
+      "integrity": "sha512-dG/aevWhaP+7OLv4BQQSEKMJv8GyeOp3Wxl31NHqE8xo9/fYMfEljiZphUHIfyg4gnZ9swMyWjfOQs5GUQe54Q==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/semantic-conventions": "1.25.0",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/instrumentation": "0.52.1",
+        "@opentelemetry/semantic-conventions": "1.25.1",
         "semver": "^7.5.2"
       },
       "engines": {
@@ -10922,14 +10922,14 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation-xml-http-request": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.52.0.tgz",
-      "integrity": "sha512-Q6dEFKBkVmLs6XByXNPkCZXYF1Ovs3fFCD33nA4d4dgBgv8zMPt7xBLIxfEw0QVDZhyBhKXwv7byvMDB+yYQdA==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.52.1.tgz",
+      "integrity": "sha512-4a7WpbN+prdyIxoTqCA3m+ZuqQVrksWWeOP5iEyof9yrzEY1NJgM+plrPrzb5nn7U5T7RGkkpvaTPm08qfFu7w==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/sdk-trace-web": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/instrumentation": "0.52.1",
+        "@opentelemetry/sdk-trace-web": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -10939,12 +10939,12 @@
       }
     },
     "node_modules/@opentelemetry/otlp-exporter-base": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.52.0.tgz",
-      "integrity": "sha512-rlyg5UKW9yMTNMUxYYib9XxEE/krpH7Q6mIuJNOBMbjLwmqe1WQ2MNKNzobVZTKop/FX4CvyNN3wUEl/6gnvfw==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.52.1.tgz",
+      "integrity": "sha512-z175NXOtX5ihdlshtYBe5RpGeBoTXVCKPPLiQlD6FHvpM4Ch+p2B0yWKYSrBfLH24H9zjJiBdTrtD+hLlfnXEQ==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-transformer": "0.52.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/otlp-transformer": "0.52.1"
       },
       "engines": {
         "node": ">=14"
@@ -10954,14 +10954,14 @@
       }
     },
     "node_modules/@opentelemetry/otlp-grpc-exporter-base": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.52.0.tgz",
-      "integrity": "sha512-iVq3wCElOoKUkxBOuvV8cfaELG8WO/zfLWIZil6iw/6hj6rktLodnJ7kVOneVmLki7Po1BjE1K7JOp2G3UPgYg==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.52.1.tgz",
+      "integrity": "sha512-zo/YrSDmKMjG+vPeA9aBBrsQM9Q/f2zo6N04WMB3yNldJRsgpRBeLLwvAt/Ba7dpehDLOEFBd1i2JCoaFtpCoQ==",
       "dependencies": {
         "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-exporter-base": "0.52.0",
-        "@opentelemetry/otlp-transformer": "0.52.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/otlp-exporter-base": "0.52.1",
+        "@opentelemetry/otlp-transformer": "0.52.1"
       },
       "engines": {
         "node": ">=14"
@@ -10971,16 +10971,16 @@
       }
     },
     "node_modules/@opentelemetry/otlp-transformer": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.0.tgz",
-      "integrity": "sha512-40acy3JxCAqQYcYepypF/64GVB8jerC6Oiz1HRUXxiSTVwg+ud7UtywfOkPRpc9bjHiyJouWxTjiUPQ9VBMKbg==",
-      "dependencies": {
-        "@opentelemetry/api-logs": "0.52.0",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-logs": "0.52.0",
-        "@opentelemetry/sdk-metrics": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.1.tgz",
+      "integrity": "sha512-I88uCZSZZtVa0XniRqQWKbjAUm73I8tpEy/uJYPPYw5d7BRdVk0RfTBQw8kSUl01oVWEuqxLDa802222MYyWHg==",
+      "dependencies": {
+        "@opentelemetry/api-logs": "0.52.1",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/sdk-logs": "0.52.1",
+        "@opentelemetry/sdk-metrics": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1",
         "protobufjs": "^7.3.0"
       },
       "engines": {
@@ -10999,11 +10999,11 @@
       "link": true
     },
     "node_modules/@opentelemetry/propagator-aws-xray": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.25.0.tgz",
-      "integrity": "sha512-+honT9J/Xa6Mxk7AO/VlSUGaVSSQzqHr0wZDWrSunnc3eVbS5YTuv7UrcoHTED+AYziawTlx7ICeAX2VPc1M+w==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.25.1.tgz",
+      "integrity": "sha512-soZQdO9EAROMwa9bL2C0VLadbrfRjSA9t7g6X8sL0X1B8V59pzOayYMyTW9qTECn9uuJV98A7qOnJm6KH6yk8w==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0"
+        "@opentelemetry/core": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -11013,11 +11013,11 @@
       }
     },
     "node_modules/@opentelemetry/propagator-b3": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.0.tgz",
-      "integrity": "sha512-/A+1Tbnf0uwnP51OkoaQlrb9YILdHsoqIISna1MNXpZRzf42xm6LVLb49i+m/zlJoW1e8P4ekcrditR5pfmwog==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.1.tgz",
+      "integrity": "sha512-p6HFscpjrv7//kE+7L+3Vn00VEDUJB0n6ZrjkTYHrJ58QZ8B3ajSJhRbCcY6guQ3PDjTbxWklyvIN2ojVbIb1A==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0"
+        "@opentelemetry/core": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -11031,11 +11031,11 @@
       "link": true
     },
     "node_modules/@opentelemetry/propagator-jaeger": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.0.tgz",
-      "integrity": "sha512-uwA5xqaPISXeX+YutqbjmzENnCGCvrIXlqIXP5gRoA5N6S3W28p+ExL77TugMKHN5gXklapF67jDfz7lq5ETzQ==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.1.tgz",
+      "integrity": "sha512-nBprRf0+jlgxks78G/xq72PipVK+4or9Ypntw0gVZYNTCSK8rg5SeaGV19tV920CMqBD/9UIOiFr23Li/Q8tiA==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0"
+        "@opentelemetry/core": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -11081,12 +11081,12 @@
       "link": true
     },
     "node_modules/@opentelemetry/resources": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.0.tgz",
-      "integrity": "sha512-iHjydPMYJ+Li1auveJCq2rp5U2h6Mhq8BidiyE0jfVlDTFyR1ny8AfJHfmFzJ/RAM8vT8L7T21kcmGybxZC7lQ==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.1.tgz",
+      "integrity": "sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -11096,13 +11096,13 @@
       }
     },
     "node_modules/@opentelemetry/sdk-logs": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.0.tgz",
-      "integrity": "sha512-Dp6g7w7WglrDZMn2yHBMAKRGqQy8C0PUbFovkSwcSsmL47n4FSEc3eeGblZTtueOUW+rTsPJpLHoUpEdS0Wibw==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.1.tgz",
+      "integrity": "sha512-MBYh+WcPPsN8YpRHRmK1Hsca9pVlyyKd4BxOC4SsgHACnl/bPp4Cri9hWhVm5+2tiQ9Zf4qSc1Jshw9tOLGWQA==",
       "dependencies": {
-        "@opentelemetry/api-logs": "0.52.0",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0"
+        "@opentelemetry/api-logs": "0.52.1",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/resources": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -11112,12 +11112,12 @@
       }
     },
     "node_modules/@opentelemetry/sdk-metrics": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.0.tgz",
-      "integrity": "sha512-IF+Sv4VHgBr/BPMKabl+GouJIhEqAOexCHgXVTISdz3q9P9H/uA8ScCF+22gitQ69aFtESbdYOV+Fen5+avQng==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.1.tgz",
+      "integrity": "sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/resources": "1.25.1",
         "lodash.merge": "^4.6.2"
       },
       "engines": {
@@ -11128,23 +11128,23 @@
       }
     },
     "node_modules/@opentelemetry/sdk-node": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.52.0.tgz",
-      "integrity": "sha512-3RNnsoHGutya3oVsoc2WRrk/TKlxr+R2uN6H4boNJvW7kc8yxS4QrOI6DlbQYAgEMeC1PMu95jW9LirPOWcMGw==",
-      "dependencies": {
-        "@opentelemetry/api-logs": "0.52.0",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/exporter-trace-otlp-grpc": "0.52.0",
-        "@opentelemetry/exporter-trace-otlp-http": "0.52.0",
-        "@opentelemetry/exporter-trace-otlp-proto": "0.52.0",
-        "@opentelemetry/exporter-zipkin": "1.25.0",
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-logs": "0.52.0",
-        "@opentelemetry/sdk-metrics": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "@opentelemetry/sdk-trace-node": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.52.1.tgz",
+      "integrity": "sha512-uEG+gtEr6eKd8CVWeKMhH2olcCHM9dEK68pe0qE0be32BcCRsvYURhHaD1Srngh1SQcnQzZ4TP324euxqtBOJA==",
+      "dependencies": {
+        "@opentelemetry/api-logs": "0.52.1",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/exporter-trace-otlp-grpc": "0.52.1",
+        "@opentelemetry/exporter-trace-otlp-http": "0.52.1",
+        "@opentelemetry/exporter-trace-otlp-proto": "0.52.1",
+        "@opentelemetry/exporter-zipkin": "1.25.1",
+        "@opentelemetry/instrumentation": "0.52.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/sdk-logs": "0.52.1",
+        "@opentelemetry/sdk-metrics": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1",
+        "@opentelemetry/sdk-trace-node": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -11154,13 +11154,13 @@
       }
     },
     "node_modules/@opentelemetry/sdk-trace-base": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.0.tgz",
-      "integrity": "sha512-6+g2fiRQUG39guCsKVeY8ToeuUf3YUnPkN6DXRA1qDmFLprlLvZm9cS6+chgbW70cZJ406FTtSCDnJwxDC5sGQ==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.1.tgz",
+      "integrity": "sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -11170,15 +11170,15 @@
       }
     },
     "node_modules/@opentelemetry/sdk-trace-node": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.0.tgz",
-      "integrity": "sha512-sYdZmNCkqthPpjwCxAJk5aQNLxCOQjT1u3JMGvO6rb3Ic8uFdnzXavP13Md9uYPcZBo+KxetyDhCf0x8wJGRng==",
-      "dependencies": {
-        "@opentelemetry/context-async-hooks": "1.25.0",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/propagator-b3": "1.25.0",
-        "@opentelemetry/propagator-jaeger": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.1.tgz",
+      "integrity": "sha512-nMcjFIKxnFqoez4gUmihdBrbpsEnAX/Xj16sGvZm+guceYE0NE00vLhpDVK6f3q8Q4VFI5xG8JjlXKMB/SkTTQ==",
+      "dependencies": {
+        "@opentelemetry/context-async-hooks": "1.25.1",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/propagator-b3": "1.25.1",
+        "@opentelemetry/propagator-jaeger": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1",
         "semver": "^7.5.2"
       },
       "engines": {
@@ -11189,13 +11189,13 @@
       }
     },
     "node_modules/@opentelemetry/sdk-trace-web": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.25.0.tgz",
-      "integrity": "sha512-TAWRDRiVOeliE1A99z8idWb4pwEKKY9Vj5aTpLtrF4cvPOl0mPg3ZczvOw/HnpfRsWY0Ra/J3vS5uFSpoqPwEA==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.25.1.tgz",
+      "integrity": "sha512-SS6JaSkHngcBCNdWGthzcvaKGRnDw2AeP57HyTEileLToJ7WLMeV+064iRlVyoT4+e77MRp2T2dDSrmaUyxoNg==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       },
       "engines": {
         "node": ">=14"
@@ -11205,9 +11205,9 @@
       }
     },
     "node_modules/@opentelemetry/semantic-conventions": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.0.tgz",
-      "integrity": "sha512-M+kkXKRAIAiAP6qYyesfrC5TOmDpDVtsxuGfPcqd9B/iBrac+E14jYwrgm0yZBUIbIP2OnqC3j+UgkXLm1vxUQ==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.1.tgz",
+      "integrity": "sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==",
       "engines": {
         "node": ">=14"
       }
@@ -22030,9 +22030,9 @@
       }
     },
     "node_modules/import-in-the-middle": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.8.0.tgz",
-      "integrity": "sha512-/xQjze8szLNnJ5rvHSzn+dcVXqCAU6Plbk4P24U/jwPmg1wy7IIp9OjKIO5tYue8GSPhDpPDiApQjvBUmWwhsQ==",
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.8.1.tgz",
+      "integrity": "sha512-yhRwoHtiLGvmSozNOALgjRPFI6uYsds60EoMqqnXyyv+JOIW/BrrLejuTGBt+bq0T5tLzOHrN0T7xYTm4Qt/ng==",
       "dependencies": {
         "acorn": "^8.8.2",
         "acorn-import-attributes": "^1.9.5",
@@ -40952,7 +40952,7 @@
         "@babel/core": "7.24.6",
         "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/propagator-b3": "1.25.0",
+        "@opentelemetry/propagator-b3": "1.25.1",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
         "@types/react": "17.0.67",
@@ -50369,9 +50369,9 @@
       "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="
     },
     "@opentelemetry/api-logs": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.0.tgz",
-      "integrity": "sha512-HxjD7xH9iAE4OyhNaaSec65i1H6QZYBWSwWkowFfsc5YAcDvJG30/J1sRKXEQqdmUcKTXEAnA66UciqZha/4+Q==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.1.tgz",
+      "integrity": "sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==",
       "requires": {
         "@opentelemetry/api": "^1.0.0"
       }
@@ -50911,24 +50911,24 @@
       }
     },
     "@opentelemetry/context-async-hooks": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.0.tgz",
-      "integrity": "sha512-sBW313mnMyFg0cp/40BRzrZBWG+581s2j5gIsa5fgGadswyILk4mNFATsqrCOpAx945RDuZ2B7ThQLgor9OpfA==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.1.tgz",
+      "integrity": "sha512-UW/ge9zjvAEmRWVapOP0qyCvPulWU6cQxGxDbWEFfGOj1VBBZAuOqTo3X6yWmDTD3Xe15ysCZChHncr2xFMIfQ==",
       "requires": {}
     },
     "@opentelemetry/context-zone": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.25.0.tgz",
-      "integrity": "sha512-LmO64smA9SZrl8f1HRRSNA4oudwpjCMVxZz08EhkRCcTRvFB8p+6Lnu6mtT54wD/raeXoEbLGtVqMYHsZ6bpmA==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.25.1.tgz",
+      "integrity": "sha512-kHbMs95mKNJPpfd1LE1/IRxUw5D1fyTOM+0R1yDOOzffs9ZZsQqgQ1Q7q0bWZ/kVLWjL43fiALe+rPtQvRShdg==",
       "requires": {
-        "@opentelemetry/context-zone-peer-dep": "1.25.0",
+        "@opentelemetry/context-zone-peer-dep": "1.25.1",
         "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0"
       }
     },
     "@opentelemetry/context-zone-peer-dep": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.25.0.tgz",
-      "integrity": "sha512-wh03u4ECYonjaxB+hzriWzHcr4GRlYSQoirDn0ldBDebz3WDZgjHCD/NPBoZaulGGwU6lvmQZXuyfz5hRrJhOw==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.25.1.tgz",
+      "integrity": "sha512-UxSY9K90xOg2eI7qZStx0HV6DZT6tcRX+IiAWTvROi6h9Td2c2vlQhBZ9F1JH7kINmNCZN1f1//O9rSioPEMlg==",
       "requires": {}
     },
     "@opentelemetry/contrib-test-utils": {
@@ -50948,70 +50948,70 @@
       }
     },
     "@opentelemetry/core": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.0.tgz",
-      "integrity": "sha512-n0B3s8rrqGrasTgNkXLKXzN0fXo+6IYP7M5b7AMsrZM33f/y6DS6kJ0Btd7SespASWq8bgL3taLo0oe0vB52IQ==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.1.tgz",
+      "integrity": "sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==",
       "requires": {
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/semantic-conventions": "1.25.1"
       }
     },
     "@opentelemetry/exporter-jaeger": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.25.0.tgz",
-      "integrity": "sha512-6h2dCpdOB2W2mxdH/6w6DZeev5Zc3X2rUlCWKMCUnKko36aTfbiVxgXHffs0pc3w5JmMtKIVkHg8eamvLA+Klw==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.25.1.tgz",
+      "integrity": "sha512-6/HwzrwUx0fpkFXrouF0IJp+hpN8xkx8RqEk+BZfeoMAHydpyigyYsKyAtAZRwfJe45WWJbJUqoK8aBjiC9iLQ==",
       "requires": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1",
         "jaeger-client": "^3.15.0"
       }
     },
     "@opentelemetry/exporter-trace-otlp-grpc": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.52.0.tgz",
-      "integrity": "sha512-Ln3HU54/ytTeEMrDGNDj01357YV8Kk9PkGDHvBRo1n7bWhwZoTEnX/cTuXLYOiygBIJJjCCM+VMfWCnvtFl4Kw==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.52.1.tgz",
+      "integrity": "sha512-pVkSH20crBwMTqB3nIN4jpQKUEoB0Z94drIHpYyEqs7UBr+I0cpYyOR3bqjA/UasQUMROb3GX8ZX4/9cVRqGBQ==",
       "requires": {
         "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-grpc-exporter-base": "0.52.0",
-        "@opentelemetry/otlp-transformer": "0.52.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/otlp-grpc-exporter-base": "0.52.1",
+        "@opentelemetry/otlp-transformer": "0.52.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1"
       }
     },
     "@opentelemetry/exporter-trace-otlp-http": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.52.0.tgz",
-      "integrity": "sha512-umj9tOSEAuUdqw2EZua1Dby3c+FZ6xWGT2OF/KGLFLtyIvxhtTOSeMfBy/9CaxHn4vF8mAynmAP5MvVKnRYunA==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.52.1.tgz",
+      "integrity": "sha512-05HcNizx0BxcFKKnS5rwOV+2GevLTVIRA0tRgWYyw4yCgR53Ic/xk83toYKts7kbzcI+dswInUg/4s8oyA+tqg==",
       "requires": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-exporter-base": "0.52.0",
-        "@opentelemetry/otlp-transformer": "0.52.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/otlp-exporter-base": "0.52.1",
+        "@opentelemetry/otlp-transformer": "0.52.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1"
       }
     },
     "@opentelemetry/exporter-trace-otlp-proto": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.52.0.tgz",
-      "integrity": "sha512-mpMEZFGaGnvon5pbjLieh7ffE9BuYnrG7qd4O5P3j1fk/4PCR3BcGfGhIfyZi0X8kBcjEhipiBfaHYqI7rxcXg==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.52.1.tgz",
+      "integrity": "sha512-pt6uX0noTQReHXNeEslQv7x311/F1gJzMnp1HD2qgypLRPbXDeMzzeTngRTUaUbP6hqWNtPxuLr4DEoZG+TcEQ==",
       "requires": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-exporter-base": "0.52.0",
-        "@opentelemetry/otlp-transformer": "0.52.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/otlp-exporter-base": "0.52.1",
+        "@opentelemetry/otlp-transformer": "0.52.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1"
       }
     },
     "@opentelemetry/exporter-zipkin": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.25.0.tgz",
-      "integrity": "sha512-nnhY0e5DHg8BfUSNCQZoGZnGeqz+zMTeEUOh1dfgtaXmF99uM0QPuTa1i2lH+eZqebP8w1WDWZlewu9FUlHqIg==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.25.1.tgz",
+      "integrity": "sha512-RmOwSvkimg7ETwJbUOPTMhJm9A9bG1U8s7Zo3ajDh4zM7eYcycQ0dM7FbLD6NXWbI2yj7UY4q8BKinKYBQksyw==",
       "requires": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       }
     },
     "@opentelemetry/host-metrics": {
@@ -51486,13 +51486,13 @@
       }
     },
     "@opentelemetry/instrumentation": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.0.tgz",
-      "integrity": "sha512-LPwSIrw+60cheWaXsfGL8stBap/AppKQJFE+qqRvzYrgttXFH2ofoIMxWadeqPTq4BYOXM/C7Bdh/T+B60xnlQ==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz",
+      "integrity": "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==",
       "requires": {
-        "@opentelemetry/api-logs": "0.52.0",
+        "@opentelemetry/api-logs": "0.52.1",
         "@types/shimmer": "^1.0.2",
-        "import-in-the-middle": "1.8.0",
+        "import-in-the-middle": "^1.8.1",
         "require-in-the-middle": "^7.1.1",
         "semver": "^7.5.2",
         "shimmer": "^1.2.1"
@@ -51872,14 +51872,14 @@
       }
     },
     "@opentelemetry/instrumentation-fetch": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.52.0.tgz",
-      "integrity": "sha512-ay1Ot0z/586MBnhZnWJJFWXjBCQjddVVjCxLPRECnorhzmXuOsjUb7zTY88Vv9ddRtcHe0EIp9Z8sWQeLT02kA==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.52.1.tgz",
+      "integrity": "sha512-EJDQXdv1ZGyBifox+8BK+hP0tg29abNPdScE+lW77bUVrThD5vn2dOo+blAS3Z8Od+eqTUTDzXVDIFjGgTK01w==",
       "requires": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/sdk-trace-web": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/instrumentation": "0.52.1",
+        "@opentelemetry/sdk-trace-web": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       }
     },
     "@opentelemetry/instrumentation-fs": {
@@ -51977,12 +51977,12 @@
       }
     },
     "@opentelemetry/instrumentation-grpc": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.0.tgz",
-      "integrity": "sha512-YYhA2pbhMWgF5Hp6eR7AHp1utzZQ3Y0VB8GIwd8zJoLtAuQRZa1N29DUtZ+t/pGRJF+xGPVI+vP+7ugHgeN0zQ==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.1.tgz",
+      "integrity": "sha512-EdSDiDSAO+XRXk/ZN128qQpBo1I51+Uay/LUPcPQhSRGf7fBPIEUBeOLQiItguGsug5MGOYjql2w/1wCQF3fdQ==",
       "requires": {
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/instrumentation": "0.52.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       }
     },
     "@opentelemetry/instrumentation-hapi": {
@@ -52009,13 +52009,13 @@
       }
     },
     "@opentelemetry/instrumentation-http": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.52.0.tgz",
-      "integrity": "sha512-E6ywZuxTa4LnVXZGwL1oj3e2Eog1yIaNqa8KjKXoGkDNKte9/SjQnePXOmhQYI0A9nf0UyFbP9aKd+yHrkJXUA==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.52.1.tgz",
+      "integrity": "sha512-dG/aevWhaP+7OLv4BQQSEKMJv8GyeOp3Wxl31NHqE8xo9/fYMfEljiZphUHIfyg4gnZ9swMyWjfOQs5GUQe54Q==",
       "requires": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/semantic-conventions": "1.25.0",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/instrumentation": "0.52.1",
+        "@opentelemetry/semantic-conventions": "1.25.1",
         "semver": "^7.5.2"
       }
     },
@@ -53956,47 +53956,47 @@
       }
     },
     "@opentelemetry/instrumentation-xml-http-request": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.52.0.tgz",
-      "integrity": "sha512-Q6dEFKBkVmLs6XByXNPkCZXYF1Ovs3fFCD33nA4d4dgBgv8zMPt7xBLIxfEw0QVDZhyBhKXwv7byvMDB+yYQdA==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.52.1.tgz",
+      "integrity": "sha512-4a7WpbN+prdyIxoTqCA3m+ZuqQVrksWWeOP5iEyof9yrzEY1NJgM+plrPrzb5nn7U5T7RGkkpvaTPm08qfFu7w==",
       "requires": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/sdk-trace-web": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/instrumentation": "0.52.1",
+        "@opentelemetry/sdk-trace-web": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       }
     },
     "@opentelemetry/otlp-exporter-base": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.52.0.tgz",
-      "integrity": "sha512-rlyg5UKW9yMTNMUxYYib9XxEE/krpH7Q6mIuJNOBMbjLwmqe1WQ2MNKNzobVZTKop/FX4CvyNN3wUEl/6gnvfw==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.52.1.tgz",
+      "integrity": "sha512-z175NXOtX5ihdlshtYBe5RpGeBoTXVCKPPLiQlD6FHvpM4Ch+p2B0yWKYSrBfLH24H9zjJiBdTrtD+hLlfnXEQ==",
       "requires": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-transformer": "0.52.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/otlp-transformer": "0.52.1"
       }
     },
     "@opentelemetry/otlp-grpc-exporter-base": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.52.0.tgz",
-      "integrity": "sha512-iVq3wCElOoKUkxBOuvV8cfaELG8WO/zfLWIZil6iw/6hj6rktLodnJ7kVOneVmLki7Po1BjE1K7JOp2G3UPgYg==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.52.1.tgz",
+      "integrity": "sha512-zo/YrSDmKMjG+vPeA9aBBrsQM9Q/f2zo6N04WMB3yNldJRsgpRBeLLwvAt/Ba7dpehDLOEFBd1i2JCoaFtpCoQ==",
       "requires": {
         "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/otlp-exporter-base": "0.52.0",
-        "@opentelemetry/otlp-transformer": "0.52.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/otlp-exporter-base": "0.52.1",
+        "@opentelemetry/otlp-transformer": "0.52.1"
       }
     },
     "@opentelemetry/otlp-transformer": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.0.tgz",
-      "integrity": "sha512-40acy3JxCAqQYcYepypF/64GVB8jerC6Oiz1HRUXxiSTVwg+ud7UtywfOkPRpc9bjHiyJouWxTjiUPQ9VBMKbg==",
-      "requires": {
-        "@opentelemetry/api-logs": "0.52.0",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-logs": "0.52.0",
-        "@opentelemetry/sdk-metrics": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.1.tgz",
+      "integrity": "sha512-I88uCZSZZtVa0XniRqQWKbjAUm73I8tpEy/uJYPPYw5d7BRdVk0RfTBQw8kSUl01oVWEuqxLDa802222MYyWHg==",
+      "requires": {
+        "@opentelemetry/api-logs": "0.52.1",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/sdk-logs": "0.52.1",
+        "@opentelemetry/sdk-metrics": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1",
         "protobufjs": "^7.3.0"
       }
     },
@@ -54008,7 +54008,7 @@
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/context-zone": "^1.0.0",
         "@opentelemetry/core": "^1.0.0",
-        "@opentelemetry/propagator-b3": "1.25.0",
+        "@opentelemetry/propagator-b3": "1.25.1",
         "@opentelemetry/sdk-trace-base": "^1.0.0",
         "@opentelemetry/sdk-trace-web": "^1.0.0",
         "@types/mocha": "10.0.6",
@@ -54481,19 +54481,19 @@
       }
     },
     "@opentelemetry/propagator-aws-xray": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.25.0.tgz",
-      "integrity": "sha512-+honT9J/Xa6Mxk7AO/VlSUGaVSSQzqHr0wZDWrSunnc3eVbS5YTuv7UrcoHTED+AYziawTlx7ICeAX2VPc1M+w==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.25.1.tgz",
+      "integrity": "sha512-soZQdO9EAROMwa9bL2C0VLadbrfRjSA9t7g6X8sL0X1B8V59pzOayYMyTW9qTECn9uuJV98A7qOnJm6KH6yk8w==",
       "requires": {
-        "@opentelemetry/core": "1.25.0"
+        "@opentelemetry/core": "1.25.1"
       }
     },
     "@opentelemetry/propagator-b3": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.0.tgz",
-      "integrity": "sha512-/A+1Tbnf0uwnP51OkoaQlrb9YILdHsoqIISna1MNXpZRzf42xm6LVLb49i+m/zlJoW1e8P4ekcrditR5pfmwog==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.1.tgz",
+      "integrity": "sha512-p6HFscpjrv7//kE+7L+3Vn00VEDUJB0n6ZrjkTYHrJ58QZ8B3ajSJhRbCcY6guQ3PDjTbxWklyvIN2ojVbIb1A==",
       "requires": {
-        "@opentelemetry/core": "1.25.0"
+        "@opentelemetry/core": "1.25.1"
       }
     },
     "@opentelemetry/propagator-instana": {
@@ -54918,11 +54918,11 @@
       }
     },
     "@opentelemetry/propagator-jaeger": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.0.tgz",
-      "integrity": "sha512-uwA5xqaPISXeX+YutqbjmzENnCGCvrIXlqIXP5gRoA5N6S3W28p+ExL77TugMKHN5gXklapF67jDfz7lq5ETzQ==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.1.tgz",
+      "integrity": "sha512-nBprRf0+jlgxks78G/xq72PipVK+4or9Ypntw0gVZYNTCSK8rg5SeaGV19tV920CMqBD/9UIOiFr23Li/Q8tiA==",
       "requires": {
-        "@opentelemetry/core": "1.25.0"
+        "@opentelemetry/core": "1.25.1"
       }
     },
     "@opentelemetry/propagator-ot-trace": {
@@ -55577,91 +55577,91 @@
       }
     },
     "@opentelemetry/resources": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.0.tgz",
-      "integrity": "sha512-iHjydPMYJ+Li1auveJCq2rp5U2h6Mhq8BidiyE0jfVlDTFyR1ny8AfJHfmFzJ/RAM8vT8L7T21kcmGybxZC7lQ==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.1.tgz",
+      "integrity": "sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==",
       "requires": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       }
     },
     "@opentelemetry/sdk-logs": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.0.tgz",
-      "integrity": "sha512-Dp6g7w7WglrDZMn2yHBMAKRGqQy8C0PUbFovkSwcSsmL47n4FSEc3eeGblZTtueOUW+rTsPJpLHoUpEdS0Wibw==",
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.1.tgz",
+      "integrity": "sha512-MBYh+WcPPsN8YpRHRmK1Hsca9pVlyyKd4BxOC4SsgHACnl/bPp4Cri9hWhVm5+2tiQ9Zf4qSc1Jshw9tOLGWQA==",
       "requires": {
-        "@opentelemetry/api-logs": "0.52.0",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0"
+        "@opentelemetry/api-logs": "0.52.1",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/resources": "1.25.1"
       }
     },
     "@opentelemetry/sdk-metrics": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.0.tgz",
-      "integrity": "sha512-IF+Sv4VHgBr/BPMKabl+GouJIhEqAOexCHgXVTISdz3q9P9H/uA8ScCF+22gitQ69aFtESbdYOV+Fen5+avQng==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.1.tgz",
+      "integrity": "sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q==",
       "requires": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/resources": "1.25.1",
         "lodash.merge": "^4.6.2"
       }
     },
     "@opentelemetry/sdk-node": {
-      "version": "0.52.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.52.0.tgz",
-      "integrity": "sha512-3RNnsoHGutya3oVsoc2WRrk/TKlxr+R2uN6H4boNJvW7kc8yxS4QrOI6DlbQYAgEMeC1PMu95jW9LirPOWcMGw==",
-      "requires": {
-        "@opentelemetry/api-logs": "0.52.0",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/exporter-trace-otlp-grpc": "0.52.0",
-        "@opentelemetry/exporter-trace-otlp-http": "0.52.0",
-        "@opentelemetry/exporter-trace-otlp-proto": "0.52.0",
-        "@opentelemetry/exporter-zipkin": "1.25.0",
-        "@opentelemetry/instrumentation": "0.52.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/sdk-logs": "0.52.0",
-        "@opentelemetry/sdk-metrics": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "@opentelemetry/sdk-trace-node": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.52.1.tgz",
+      "integrity": "sha512-uEG+gtEr6eKd8CVWeKMhH2olcCHM9dEK68pe0qE0be32BcCRsvYURhHaD1Srngh1SQcnQzZ4TP324euxqtBOJA==",
+      "requires": {
+        "@opentelemetry/api-logs": "0.52.1",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/exporter-trace-otlp-grpc": "0.52.1",
+        "@opentelemetry/exporter-trace-otlp-http": "0.52.1",
+        "@opentelemetry/exporter-trace-otlp-proto": "0.52.1",
+        "@opentelemetry/exporter-zipkin": "1.25.1",
+        "@opentelemetry/instrumentation": "0.52.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/sdk-logs": "0.52.1",
+        "@opentelemetry/sdk-metrics": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1",
+        "@opentelemetry/sdk-trace-node": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       }
     },
     "@opentelemetry/sdk-trace-base": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.0.tgz",
-      "integrity": "sha512-6+g2fiRQUG39guCsKVeY8ToeuUf3YUnPkN6DXRA1qDmFLprlLvZm9cS6+chgbW70cZJ406FTtSCDnJwxDC5sGQ==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.1.tgz",
+      "integrity": "sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==",
       "requires": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/resources": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/resources": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       }
     },
     "@opentelemetry/sdk-trace-node": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.0.tgz",
-      "integrity": "sha512-sYdZmNCkqthPpjwCxAJk5aQNLxCOQjT1u3JMGvO6rb3Ic8uFdnzXavP13Md9uYPcZBo+KxetyDhCf0x8wJGRng==",
-      "requires": {
-        "@opentelemetry/context-async-hooks": "1.25.0",
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/propagator-b3": "1.25.0",
-        "@opentelemetry/propagator-jaeger": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.1.tgz",
+      "integrity": "sha512-nMcjFIKxnFqoez4gUmihdBrbpsEnAX/Xj16sGvZm+guceYE0NE00vLhpDVK6f3q8Q4VFI5xG8JjlXKMB/SkTTQ==",
+      "requires": {
+        "@opentelemetry/context-async-hooks": "1.25.1",
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/propagator-b3": "1.25.1",
+        "@opentelemetry/propagator-jaeger": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1",
         "semver": "^7.5.2"
       }
     },
     "@opentelemetry/sdk-trace-web": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.25.0.tgz",
-      "integrity": "sha512-TAWRDRiVOeliE1A99z8idWb4pwEKKY9Vj5aTpLtrF4cvPOl0mPg3ZczvOw/HnpfRsWY0Ra/J3vS5uFSpoqPwEA==",
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.25.1.tgz",
+      "integrity": "sha512-SS6JaSkHngcBCNdWGthzcvaKGRnDw2AeP57HyTEileLToJ7WLMeV+064iRlVyoT4+e77MRp2T2dDSrmaUyxoNg==",
       "requires": {
-        "@opentelemetry/core": "1.25.0",
-        "@opentelemetry/sdk-trace-base": "1.25.0",
-        "@opentelemetry/semantic-conventions": "1.25.0"
+        "@opentelemetry/core": "1.25.1",
+        "@opentelemetry/sdk-trace-base": "1.25.1",
+        "@opentelemetry/semantic-conventions": "1.25.1"
       }
     },
     "@opentelemetry/semantic-conventions": {
-      "version": "1.25.0",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.0.tgz",
-      "integrity": "sha512-M+kkXKRAIAiAP6qYyesfrC5TOmDpDVtsxuGfPcqd9B/iBrac+E14jYwrgm0yZBUIbIP2OnqC3j+UgkXLm1vxUQ=="
+      "version": "1.25.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.1.tgz",
+      "integrity": "sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ=="
     },
     "@opentelemetry/sql-common": {
       "version": "file:packages/opentelemetry-sql-common",
@@ -64417,9 +64417,9 @@
       }
     },
     "import-in-the-middle": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.8.0.tgz",
-      "integrity": "sha512-/xQjze8szLNnJ5rvHSzn+dcVXqCAU6Plbk4P24U/jwPmg1wy7IIp9OjKIO5tYue8GSPhDpPDiApQjvBUmWwhsQ==",
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.8.1.tgz",
+      "integrity": "sha512-yhRwoHtiLGvmSozNOALgjRPFI6uYsds60EoMqqnXyyv+JOIW/BrrLejuTGBt+bq0T5tLzOHrN0T7xYTm4Qt/ng==",
       "requires": {
         "acorn": "^8.8.2",
         "acorn-import-attributes": "^1.9.5",
diff --git a/plugins/web/opentelemetry-plugin-react-load/package.json b/plugins/web/opentelemetry-plugin-react-load/package.json
index 2c2e616eed..c59081cd09 100644
--- a/plugins/web/opentelemetry-plugin-react-load/package.json
+++ b/plugins/web/opentelemetry-plugin-react-load/package.json
@@ -52,7 +52,7 @@
     "@babel/core": "7.24.6",
     "@babel/preset-env": "7.24.6",
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/propagator-b3": "1.25.0",
+    "@opentelemetry/propagator-b3": "1.25.1",
     "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
     "@types/react": "17.0.67",

From 626ecc5f57303394e1c80570acfbab6798b82a29 Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Fri, 28 Jun 2024 09:57:42 +0200
Subject: [PATCH 053/123] chore: mark @rauno56 components as unmaintained
 (#2305)

* chore: mark @rauno56 components as unmaintained

* chore: add newly unmaintained components to unmaintained-list
---
 .github/component-label-map.yml |  8 ++++++
 .github/component_owners.yml    | 46 ++++++++++++++++-----------------
 2 files changed, 30 insertions(+), 24 deletions(-)

diff --git a/.github/component-label-map.yml b/.github/component-label-map.yml
index 5f28de38fb..8d23fab59a 100644
--- a/.github/component-label-map.yml
+++ b/.github/component-label-map.yml
@@ -274,8 +274,16 @@ pkg-status:unmaintained:
   - changed-files:
       - any-glob-to-any-file:
           - detectors/node/opentelemetry-resource-detector-github/**
+          - plugins/node/instrumentation-fs/**
+          - plugins/node/instrumentation-tedious/**
           - plugins/node/opentelemetry-instrumentation-connect/**
           - plugins/node/opentelemetry-instrumentation-dns/**
+          - plugins/node/opentelemetry-instrumentation-generic-pool/**
           - plugins/node/opentelemetry-instrumentation-hapi/**
+          - plugins/node/opentelemetry-instrumentation-knex/**
           - plugins/node/opentelemetry-instrumentation-koa/**
+          - plugins/node/opentelemetry-instrumentation-memcached/**
+          - plugins/node/opentelemetry-instrumentation-nestjs-core/**
+          - plugins/node/opentelemetry-instrumentation-restify/**
+          - plugins/node/opentelemetry-instrumentation-router/**
           - propagators/opentelemetry-propagator-ot-trace/**
diff --git a/.github/component_owners.yml b/.github/component_owners.yml
index 065b03703b..4e24464d86 100644
--- a/.github/component_owners.yml
+++ b/.github/component_owners.yml
@@ -13,7 +13,7 @@ components:
     - aabmass
     - punya
   detectors/node/opentelemetry-resource-detector-github: []
-    # Unmaintained?
+    # Unmaintained
   detectors/node/opentelemetry-resource-detector-instana:
     - basti1302
     - kirrg001
@@ -56,8 +56,8 @@ components:
     - Ugzuzg
   plugins/node/instrumentation-dataloader:
     - henrinormak
-  plugins/node/instrumentation-fs:
-    - rauno56
+  plugins/node/instrumentation-fs: []
+    # Unmaintained
   plugins/node/instrumentation-kafkajs:
     - seemk
   plugins/node/instrumentation-lru-memoizer:
@@ -66,9 +66,8 @@ components:
     - blumamir
   plugins/node/instrumentation-socket.io:
     - mottibec
-    - rauno56
-  plugins/node/instrumentation-tedious:
-    - rauno56
+  plugins/node/instrumentation-tedious: []
+    # Unmaintained
   plugins/node/opentelemetry-instrumentation-aws-lambda:
     - carolabadeer
   plugins/node/opentelemetry-instrumentation-aws-sdk:
@@ -80,54 +79,53 @@ components:
   plugins/node/opentelemetry-instrumentation-cassandra:
     - seemk
   plugins/node/opentelemetry-instrumentation-connect: []
-    # Unmaintained?
+    # Unmaintained
   plugins/node/opentelemetry-instrumentation-dns: []
-    # Unmaintained?
+    # Unmaintained
   plugins/node/opentelemetry-instrumentation-express:
     - JamieDanielson
     - pkanal
   plugins/node/opentelemetry-instrumentation-fastify:
     - pichlermarc
-  plugins/node/opentelemetry-instrumentation-generic-pool:
-    - rauno56
+  plugins/node/opentelemetry-instrumentation-generic-pool: []
+    # Unmaintained
   plugins/node/opentelemetry-instrumentation-graphql:
     - obecny
   plugins/node/opentelemetry-instrumentation-hapi: []
-    # Unmaintained?
+    # Unmaintained
   plugins/node/opentelemetry-instrumentation-ioredis:
     - blumamir
     - naseemkullah
-  plugins/node/opentelemetry-instrumentation-knex:
-    - rauno56
+  plugins/node/opentelemetry-instrumentation-knex: []
+    # Unmaintained
   plugins/node/opentelemetry-instrumentation-koa: []
-    # Unmaintained?
-  plugins/node/opentelemetry-instrumentation-memcached:
-    - rauno56
+    # Unmaintained
+  plugins/node/opentelemetry-instrumentation-memcached: []
+    # Unmaintained
   plugins/node/opentelemetry-instrumentation-mongodb:
     - osherv
   plugins/node/opentelemetry-instrumentation-mysql:
     - haddasbronfman
   plugins/node/opentelemetry-instrumentation-mysql2:
     - haddasbronfman
-  plugins/node/opentelemetry-instrumentation-nestjs-core:
-    - rauno56
+  plugins/node/opentelemetry-instrumentation-nestjs-core: []
+    # Unmaintained
   plugins/node/opentelemetry-instrumentation-net:
     - seemk
   plugins/node/instrumentation-runtime-node:
     - d4nyll
   plugins/node/opentelemetry-instrumentation-pg:
     - maryliag
-    - rauno56
   plugins/node/opentelemetry-instrumentation-pino:
     - seemk
   plugins/node/opentelemetry-instrumentation-redis-4:
     - blumamir
   plugins/node/opentelemetry-instrumentation-redis:
     - blumamir
-  plugins/node/opentelemetry-instrumentation-restify:
-    - rauno56
-  plugins/node/opentelemetry-instrumentation-router:
-    - rauno56
+  plugins/node/opentelemetry-instrumentation-restify: []
+    # Unmaintained
+  plugins/node/opentelemetry-instrumentation-router: []
+    # Unmaintained
   plugins/node/instrumentation-undici:
     - david-luna
     - trentm
@@ -147,7 +145,7 @@ components:
     - basti1302
     - kirrg001
   propagators/opentelemetry-propagator-ot-trace: []
-    # Unmaintained?
+    # Unmaintained
 
 ignored-authors:
   - renovate-bot

From 85ca5f184640df4f5f3629b01d93ab0f392633aa Mon Sep 17 00:00:00 2001
From: Hector Hernandez <39923391+hectorhdzg@users.noreply.github.com>
Date: Fri, 28 Jun 2024 16:25:29 -0700
Subject: [PATCH 054/123] docs(@opentelemetry/instrumentation-winston): Add
 extra details about @opentelemetry/winston-transport scenarios (#2302)

---
 packages/winston-transport/README.md          |  3 ++
 .../README.md                                 | 37 +++++++++++++++++++
 2 files changed, 40 insertions(+)

diff --git a/packages/winston-transport/README.md b/packages/winston-transport/README.md
index 73b360ad95..8da57f9634 100644
--- a/packages/winston-transport/README.md
+++ b/packages/winston-transport/README.md
@@ -49,6 +49,9 @@ const logger = winston.createLogger({
 });
 ```
 
+> [!IMPORTANT]
+> Logs will be duplicated if `@opentelemetry/winston-transport` is added as a transport in `winston` and `@opentelemetry/instrumentation-winston` is configured with `disableLogSending: false`.
+
 ### Supported versions
 
 - [`winston`](https://www.npmjs.com/package/winston) versions `>=3.0.0 <4`
diff --git a/plugins/node/opentelemetry-instrumentation-winston/README.md b/plugins/node/opentelemetry-instrumentation-winston/README.md
index 4680f759e2..341226f283 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/README.md
+++ b/plugins/node/opentelemetry-instrumentation-winston/README.md
@@ -104,6 +104,43 @@ logHook: (span, record) => {
 
 Log injection can be disabled with the `disableLogCorrelation: true` option.
 
+### Using OpenTelemetryTransportV3 without instrumentation
+
+[@opentelemetry/winston-transport](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/winston-transport) package exports the Winston transport class that is used to send records to the
+OpenTelemetry Logs SDK. It can be used directly when configuring a Winston logger.
+For example:
+
+```js
+const logsAPI = require('@opentelemetry/api-logs');
+const {
+    LoggerProvider,
+    SimpleLogRecordProcessor,
+    ConsoleLogRecordExporter,
+} = require('@opentelemetry/sdk-logs');
+const { OpenTelemetryTransportV3 } = require('@opentelemetry/winston-transport');
+const winston = require('winston');
+
+
+// To start a logger, you first need to initialize the Logger provider.
+const loggerProvider = new LoggerProvider();
+// Add a processor to export log record
+loggerProvider.addLogRecordProcessor(
+    new SimpleLogRecordProcessor(new ConsoleLogRecordExporter())
+);
+logsAPI.logs.setGlobalLoggerProvider(loggerProvider);
+
+const logger = winston.createLogger({
+  level: 'info',
+  transports: [
+    new winston.transports.Console(),
+    new OpenTelemetryTransportV3()
+  ]
+});
+```
+
+> [!IMPORTANT]
+> Logs will be duplicated if `@opentelemetry/winston-transport` is added as a transport in `winston` and `@opentelemetry/instrumentation-winston` is configured with `disableLogSending: false`.
+
 ## Semantic Conventions
 
 This package does not currently generate any attributes from semantic conventions.

From 7efeb2a87f9ec0a7cf05d5b2114d869b4b02a3d9 Mon Sep 17 00:00:00 2001
From: Martin Kuba <martin@martinkuba.com>
Date: Mon, 1 Jul 2024 07:00:27 -0700
Subject: [PATCH 055/123] ci: generate npm provenance statements when
 publishing (#2308)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 .github/workflows/release-please.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml
index 6e877b65fa..12fd7ec186 100644
--- a/.github/workflows/release-please.yml
+++ b/.github/workflows/release-please.yml
@@ -7,6 +7,8 @@ name: Run Release Please
 jobs:
   release-please:
     runs-on: ubuntu-latest
+    permissions:
+      id-token: write
     steps:
       # The logic below handles the npm publication:
       - name: Checkout Repository
@@ -75,4 +77,5 @@ jobs:
         if: ${{ steps.release.outputs.releases_created }}
         env:
           NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
+          NPM_CONFIG_PROVENANCE: true
         run: npx lerna publish from-package --no-push --no-private --no-git-tag-version --no-verify-access --yes

From 0c46dfe406b22d4e83399812b421514b50a58573 Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Mon, 1 Jul 2024 16:11:46 +0200
Subject: [PATCH 056/123] chore: exempt dependencies, autorelease PR from
 unmaintained-package autoclose (#2304)

---
 .github/workflows/close-stale.yml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/close-stale.yml b/.github/workflows/close-stale.yml
index 05ceae509f..d1ed2bef19 100644
--- a/.github/workflows/close-stale.yml
+++ b/.github/workflows/close-stale.yml
@@ -28,6 +28,7 @@ jobs:
 
           Are you familiar with this package? Consider [becoming a component owner](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#becoming-a-component-owner).'
           close-issue-message: 'This issue was closed because no owner or sponsor has been found after 14 days'
+          stale-issue-label: pkg-status:unmaintained:autoclose-scheduled
           only-labels: pkg-status:unmaintained,feature-request
           exempt-issue-labels: bug,has:sponsor,type:semconv-update
       - uses: actions/stale@v9
@@ -38,5 +39,6 @@ jobs:
 
           Are you familiar with this package? Consider [becoming a component owner](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/CONTRIBUTING.md#becoming-a-component-owner).'
           close-pr-message: 'This issue was closed because no owner or sponsor has been found after 14 days'
+          stale-pr-label: pkg-status:unmaintained:autoclose-scheduled
           only-labels: pkg-status:unmaintained
-          exempt-pr-labels: bug,has:sponsor,type:semconv-update
+          exempt-pr-labels: bug,has:sponsor,type:semconv-update,dependencies,autorelease:pending

From 9dc55da3b856e6bc147d59547582f0bf056384a1 Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Wed, 3 Jul 2024 18:56:42 +0200
Subject: [PATCH 057/123] fix(instr-mongodb): fix  function patch missing one
 argument introduced in v6.8.0 (#2314)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 package-lock.json                             | 54 ++++++-------------
 .../package.json                              |  3 +-
 .../src/instrumentation.ts                    | 14 ++---
 .../src/internal-types.ts                     | 15 ++++--
 .../test/mongodb-v5-v6.test.ts                | 24 ++++++---
 5 files changed, 53 insertions(+), 57 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 01ffdcf014..b6d37ff4b4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12988,16 +12988,6 @@
       "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==",
       "dev": true
     },
-    "node_modules/@types/mongodb": {
-      "version": "3.6.20",
-      "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz",
-      "integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/bson": "*",
-        "@types/node": "*"
-      }
-    },
     "node_modules/@types/mysql": {
       "version": "2.15.22",
       "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.22.tgz",
@@ -38970,10 +38960,9 @@
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/bson": "4.0.5",
         "@types/mocha": "7.0.2",
-        "@types/mongodb": "3.6.20",
         "@types/node": "18.6.5",
         "mocha": "7.2.0",
-        "mongodb": "6.5.0",
+        "mongodb": "6.8.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
         "test-all-versions": "6.1.0",
@@ -39011,9 +39000,9 @@
       }
     },
     "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/bson": {
-      "version": "6.4.0",
-      "resolved": "https://registry.npmjs.org/bson/-/bson-6.4.0.tgz",
-      "integrity": "sha512-6/gSSEdbkuFlSb+ufj5jUSU4+wo8xQOwm2bDSqwmxiPE17JTpsP63eAwoN8iF8Oy4gJYj+PAL3zdRCTdaw5Y1g==",
+      "version": "6.8.0",
+      "resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz",
+      "integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==",
       "dev": true,
       "engines": {
         "node": ">=16.20.1"
@@ -39067,13 +39056,13 @@
       }
     },
     "plugins/node/opentelemetry-instrumentation-mongodb/node_modules/mongodb": {
-      "version": "6.5.0",
-      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.5.0.tgz",
-      "integrity": "sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA==",
+      "version": "6.8.0",
+      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.8.0.tgz",
+      "integrity": "sha512-HGQ9NWDle5WvwMnrvUxsFYPd3JEbqD3RgABHBQRuoCEND0qzhsd0iH5ypHsf1eJ+sXmvmyKpP+FLOKY8Il7jMw==",
       "dev": true,
       "dependencies": {
         "@mongodb-js/saslprep": "^1.1.5",
-        "bson": "^6.4.0",
+        "bson": "^6.7.0",
         "mongodb-connection-string-url": "^3.0.0"
       },
       "engines": {
@@ -52625,10 +52614,9 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/bson": "4.0.5",
         "@types/mocha": "7.0.2",
-        "@types/mongodb": "3.6.20",
         "@types/node": "18.6.5",
         "mocha": "7.2.0",
-        "mongodb": "6.5.0",
+        "mongodb": "6.8.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
         "test-all-versions": "6.1.0",
@@ -52657,9 +52645,9 @@
           }
         },
         "bson": {
-          "version": "6.4.0",
-          "resolved": "https://registry.npmjs.org/bson/-/bson-6.4.0.tgz",
-          "integrity": "sha512-6/gSSEdbkuFlSb+ufj5jUSU4+wo8xQOwm2bDSqwmxiPE17JTpsP63eAwoN8iF8Oy4gJYj+PAL3zdRCTdaw5Y1g==",
+          "version": "6.8.0",
+          "resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz",
+          "integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==",
           "dev": true
         },
         "gaxios": {
@@ -52701,13 +52689,13 @@
           }
         },
         "mongodb": {
-          "version": "6.5.0",
-          "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.5.0.tgz",
-          "integrity": "sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA==",
+          "version": "6.8.0",
+          "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.8.0.tgz",
+          "integrity": "sha512-HGQ9NWDle5WvwMnrvUxsFYPd3JEbqD3RgABHBQRuoCEND0qzhsd0iH5ypHsf1eJ+sXmvmyKpP+FLOKY8Il7jMw==",
           "dev": true,
           "requires": {
             "@mongodb-js/saslprep": "^1.1.5",
-            "bson": "^6.4.0",
+            "bson": "^6.7.0",
             "mongodb-connection-string-url": "^3.0.0"
           }
         },
@@ -57163,16 +57151,6 @@
       "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==",
       "dev": true
     },
-    "@types/mongodb": {
-      "version": "3.6.20",
-      "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz",
-      "integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==",
-      "dev": true,
-      "requires": {
-        "@types/bson": "*",
-        "@types/node": "*"
-      }
-    },
     "@types/mysql": {
       "version": "2.15.22",
       "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.22.tgz",
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/package.json b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
index 1621791ec9..cc844f7741 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
@@ -56,10 +56,9 @@
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/bson": "4.0.5",
     "@types/mocha": "7.0.2",
-    "@types/mongodb": "3.6.20",
     "@types/node": "18.6.5",
     "mocha": "7.2.0",
-    "mongodb": "6.5.0",
+    "mongodb": "6.8.0",
     "nyc": "15.1.0",
     "rimraf": "5.0.5",
     "test-all-versions": "6.1.0",
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
index 62086bc6bd..3408f77bb9 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
@@ -44,6 +44,7 @@ import {
   ServerSession,
   MongodbCommandType,
   MongoInternalCommand,
+  MongodbNamespace,
   MongoInternalTopology,
   WireProtocolInternal,
   V4Connection,
@@ -529,7 +530,7 @@ export class MongoDBInstrumentation extends InstrumentationBase {
     return (original: V4Connection['commandCallback']) => {
       return function patchedV4ServerCommand(
         this: any,
-        ns: any,
+        ns: MongodbNamespace,
         cmd: any,
         options: undefined | unknown,
         callback: any
@@ -577,16 +578,15 @@ export class MongoDBInstrumentation extends InstrumentationBase {
     return (original: V4Connection['commandPromise']) => {
       return function patchedV4ServerCommand(
         this: any,
-        ns: any,
-        cmd: any,
-        options: undefined | unknown
+        ...args: Parameters<V4Connection['commandPromise']>
       ) {
+        const [ns, cmd] = args;
         const currentSpan = trace.getSpan(context.active());
         const commandType = Object.keys(cmd)[0];
         const resultHandler = () => undefined;
 
         if (typeof cmd !== 'object' || cmd.ismaster || cmd.hello) {
-          return original.call(this, ns, cmd, options);
+          return original.apply(this, args);
         }
 
         let span = undefined;
@@ -610,7 +610,7 @@ export class MongoDBInstrumentation extends InstrumentationBase {
           commandType
         );
 
-        const result = original.call(this, ns, cmd, options);
+        const result = original.apply(this, args);
         result.then(
           (res: any) => patchedCallback(null, res),
           (err: any) => patchedCallback(err)
@@ -792,7 +792,7 @@ export class MongoDBInstrumentation extends InstrumentationBase {
   private _populateV4Attributes(
     span: Span,
     connectionCtx: any,
-    ns: any,
+    ns: MongodbNamespace,
     command?: any,
     operation?: string
   ) {
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/src/internal-types.ts b/plugins/node/opentelemetry-instrumentation-mongodb/src/internal-types.ts
index b660ae879c..7a281574da 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/src/internal-types.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/src/internal-types.ts
@@ -176,19 +176,28 @@ export type Document = {
   [key: string]: any;
 };
 
+// https://github.com/mongodb/node-mongodb-native/blob/v6.4.0/src/utils.ts#L281
+export interface MongodbNamespace {
+  db: string;
+  collection?: string;
+}
+
 export type V4Connection = {
   command: Function;
   // From version 6.4.0 the method does not expect a callback and returns a promise
   // https://github.com/mongodb/node-mongodb-native/blob/v6.4.2/src/cmap/connection.ts
   commandPromise(
-    ns: any,
+    ns: MongodbNamespace,
     cmd: Document,
-    options: undefined | unknown
+    options: undefined | unknown,
+    // From v6.6.0 we have this new param which is a constructor function
+    // https://github.com/mongodb/node-mongodb-native/blob/v6.6.0/src/cmap/connection.ts#L588
+    responseType: undefined | unknown
   ): Promise<any>;
   // Earlier versions expect a callback param and return void
   // https://github.com/mongodb/node-mongodb-native/blob/v4.2.2/src/cmap/connection.ts
   commandCallback(
-    ns: any,
+    ns: MongodbNamespace,
     cmd: Document,
     options: undefined | unknown,
     callback: any
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v5-v6.test.ts b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v5-v6.test.ts
index bac9b6d17e..debe84dbdc 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v5-v6.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/test/mongodb-v5-v6.test.ts
@@ -499,12 +499,23 @@ describe('MongoDBInstrumentation-Tracing-v5', () => {
   });
 
   describe('when specifying a responseHook configuration', () => {
-    const dataAttributeName = 'mongodb_data';
     describe('with a valid function', () => {
       beforeEach(() => {
         create({
-          responseHook: (span: Span, result: MongoResponseHookInformation) => {
-            span.setAttribute(dataAttributeName, JSON.stringify(result.data));
+          responseHook: (span: Span, result: any) => {
+            const { data } = result;
+            if (data.n) {
+              span.setAttribute('mongodb_insert_count', result.data.n);
+            }
+            // from v6.8.0 the cursor property is not an object but an instance of
+            // `CursorResponse`. We need to use the `toObject` method to be able to inspect the data
+            const cursorObj = data.cursor.firstBatch
+              ? data.cursor
+              : data.cursor.toObject();
+            span.setAttribute(
+              'mongodb_first_result',
+              JSON.stringify(cursorObj.firstBatch[0])
+            );
           },
         });
       });
@@ -520,8 +531,7 @@ describe('MongoDBInstrumentation-Tracing-v5', () => {
               const spans = getTestSpans();
               const insertSpan = spans[0];
               assert.deepStrictEqual(
-                JSON.parse(insertSpan.attributes[dataAttributeName] as string)
-                  .n,
+                insertSpan.attributes['mongodb_insert_count'],
                 results?.insertedCount
               );
 
@@ -544,12 +554,12 @@ describe('MongoDBInstrumentation-Tracing-v5', () => {
               const spans = getTestSpans();
               const findSpan = spans[0];
               const hookAttributeValue = JSON.parse(
-                findSpan.attributes[dataAttributeName] as string
+                findSpan.attributes['mongodb_first_result'] as string
               );
 
               if (results) {
                 assert.strictEqual(
-                  hookAttributeValue?.cursor?.firstBatch[0]._id,
+                  hookAttributeValue?._id,
                   results[0]._id.toString()
                 );
               } else {

From ad8436d6a4174f2288cb939080cd4e74da94b0d7 Mon Sep 17 00:00:00 2001
From: Daniel Dyla <dyladan@users.noreply.github.com>
Date: Thu, 4 Jul 2024 03:26:59 -0400
Subject: [PATCH 058/123] chore: release main (#2275)

* chore: release main

* chore: sync package-lock.json

---------

Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
---
 .release-please-manifest.json                 |  84 +++----
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../auto-instrumentations-node/CHANGELOG.md   |  50 ++++
 .../auto-instrumentations-node/package.json   |  76 +++---
 package-lock.json                             | 236 +++++++++---------
 .../opentelemetry-host-metrics/CHANGELOG.md   |   7 +
 .../opentelemetry-host-metrics/package.json   |   2 +-
 packages/winston-transport/CHANGELOG.md       |  11 +
 packages/winston-transport/package.json       |   2 +-
 .../node/instrumentation-amqplib/CHANGELOG.md |  11 +
 .../node/instrumentation-amqplib/package.json |   2 +-
 .../instrumentation-cucumber/CHANGELOG.md     |  11 +
 .../instrumentation-cucumber/package.json     |   2 +-
 .../instrumentation-dataloader/CHANGELOG.md   |  13 +
 .../instrumentation-dataloader/package.json   |   2 +-
 plugins/node/instrumentation-fs/CHANGELOG.md  |  13 +
 plugins/node/instrumentation-fs/package.json  |   2 +-
 .../node/instrumentation-kafkajs/CHANGELOG.md |  11 +
 .../node/instrumentation-kafkajs/package.json |   2 +-
 .../instrumentation-lru-memoizer/CHANGELOG.md |  13 +
 .../instrumentation-lru-memoizer/package.json |   2 +-
 .../instrumentation-mongoose/CHANGELOG.md     |  11 +
 .../instrumentation-mongoose/package.json     |   2 +-
 .../instrumentation-runtime-node/CHANGELOG.md |  13 +
 .../instrumentation-runtime-node/package.json |   2 +-
 .../instrumentation-socket.io/CHANGELOG.md    |  11 +
 .../instrumentation-socket.io/package.json    |   2 +-
 .../node/instrumentation-tedious/CHANGELOG.md |  13 +
 .../node/instrumentation-tedious/package.json |   2 +-
 .../node/instrumentation-undici/CHANGELOG.md  |  15 ++
 .../node/instrumentation-undici/package.json  |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  13 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  13 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  13 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  13 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  12 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  13 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  13 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  16 ++
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  11 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  13 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  13 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  19 ++
 .../package.json                              |   4 +-
 86 files changed, 777 insertions(+), 240 deletions(-)

diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 6f6e24deed..c0b2e19cd3 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,59 +1,59 @@
 {
   "detectors/node/opentelemetry-resource-detector-alibaba-cloud": "0.28.10",
-  "detectors/node/opentelemetry-resource-detector-aws": "1.5.1",
+  "detectors/node/opentelemetry-resource-detector-aws": "1.5.2",
   "detectors/node/opentelemetry-resource-detector-azure": "0.2.9",
   "detectors/node/opentelemetry-resource-detector-container": "0.3.11",
   "detectors/node/opentelemetry-resource-detector-gcp": "0.29.10",
   "detectors/node/opentelemetry-resource-detector-github": "0.28.2",
   "detectors/node/opentelemetry-resource-detector-instana": "0.10.0",
-  "metapackages/auto-instrumentations-node": "0.47.1",
+  "metapackages/auto-instrumentations-node": "0.48.0",
   "metapackages/auto-instrumentations-web": "0.40.0",
   "packages/baggage-span-processor": "0.3.1",
-  "packages/opentelemetry-host-metrics": "0.35.2",
+  "packages/opentelemetry-host-metrics": "0.35.3",
   "packages/opentelemetry-id-generator-aws-xray": "1.2.2",
   "packages/opentelemetry-propagation-utils": "0.30.10",
   "packages/opentelemetry-redis-common": "0.36.2",
   "packages/opentelemetry-sql-common": "0.40.1",
   "packages/opentelemetry-test-utils": "0.40.0",
-  "packages/winston-transport": "0.4.0",
-  "plugins/node/instrumentation-amqplib": "0.38.0",
-  "plugins/node/instrumentation-cucumber": "0.7.0",
-  "plugins/node/instrumentation-dataloader": "0.10.0",
-  "plugins/node/instrumentation-fs": "0.13.0",
-  "plugins/node/instrumentation-kafkajs": "0.1.0",
-  "plugins/node/instrumentation-lru-memoizer": "0.38.0",
-  "plugins/node/instrumentation-mongoose": "0.39.0",
-  "plugins/node/instrumentation-runtime-node": "0.5.0",
-  "plugins/node/instrumentation-socket.io": "0.40.0",
-  "plugins/node/instrumentation-tedious": "0.11.0",
-  "plugins/node/instrumentation-undici": "0.3.0",
-  "plugins/node/opentelemetry-instrumentation-aws-lambda": "0.42.0",
-  "plugins/node/opentelemetry-instrumentation-aws-sdk": "0.42.0",
-  "plugins/node/opentelemetry-instrumentation-bunyan": "0.39.0",
-  "plugins/node/opentelemetry-instrumentation-cassandra": "0.39.0",
-  "plugins/node/opentelemetry-instrumentation-connect": "0.37.0",
-  "plugins/node/opentelemetry-instrumentation-dns": "0.37.0",
-  "plugins/node/opentelemetry-instrumentation-express": "0.40.1",
-  "plugins/node/opentelemetry-instrumentation-fastify": "0.37.0",
-  "plugins/node/opentelemetry-instrumentation-generic-pool": "0.37.0",
-  "plugins/node/opentelemetry-instrumentation-graphql": "0.41.0",
-  "plugins/node/opentelemetry-instrumentation-hapi": "0.39.0",
-  "plugins/node/opentelemetry-instrumentation-ioredis": "0.41.0",
-  "plugins/node/opentelemetry-instrumentation-knex": "0.37.0",
-  "plugins/node/opentelemetry-instrumentation-koa": "0.41.0",
-  "plugins/node/opentelemetry-instrumentation-memcached": "0.37.0",
-  "plugins/node/opentelemetry-instrumentation-mongodb": "0.45.0",
-  "plugins/node/opentelemetry-instrumentation-mysql": "0.39.0",
-  "plugins/node/opentelemetry-instrumentation-mysql2": "0.39.0",
-  "plugins/node/opentelemetry-instrumentation-nestjs-core": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-net": "0.37.0",
-  "plugins/node/opentelemetry-instrumentation-pg": "0.42.0",
-  "plugins/node/opentelemetry-instrumentation-pino": "0.40.0",
-  "plugins/node/opentelemetry-instrumentation-redis": "0.40.0",
-  "plugins/node/opentelemetry-instrumentation-redis-4": "0.40.0",
-  "plugins/node/opentelemetry-instrumentation-restify": "0.39.0",
-  "plugins/node/opentelemetry-instrumentation-router": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-winston": "0.38.0",
+  "packages/winston-transport": "0.5.0",
+  "plugins/node/instrumentation-amqplib": "0.39.0",
+  "plugins/node/instrumentation-cucumber": "0.8.0",
+  "plugins/node/instrumentation-dataloader": "0.11.0",
+  "plugins/node/instrumentation-fs": "0.14.0",
+  "plugins/node/instrumentation-kafkajs": "0.2.0",
+  "plugins/node/instrumentation-lru-memoizer": "0.39.0",
+  "plugins/node/instrumentation-mongoose": "0.40.0",
+  "plugins/node/instrumentation-runtime-node": "0.6.0",
+  "plugins/node/instrumentation-socket.io": "0.41.0",
+  "plugins/node/instrumentation-tedious": "0.12.0",
+  "plugins/node/instrumentation-undici": "0.4.0",
+  "plugins/node/opentelemetry-instrumentation-aws-lambda": "0.43.0",
+  "plugins/node/opentelemetry-instrumentation-aws-sdk": "0.43.0",
+  "plugins/node/opentelemetry-instrumentation-bunyan": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-cassandra": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-connect": "0.38.0",
+  "plugins/node/opentelemetry-instrumentation-dns": "0.38.0",
+  "plugins/node/opentelemetry-instrumentation-express": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-fastify": "0.38.0",
+  "plugins/node/opentelemetry-instrumentation-generic-pool": "0.38.0",
+  "plugins/node/opentelemetry-instrumentation-graphql": "0.42.0",
+  "plugins/node/opentelemetry-instrumentation-hapi": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-ioredis": "0.42.0",
+  "plugins/node/opentelemetry-instrumentation-knex": "0.38.0",
+  "plugins/node/opentelemetry-instrumentation-koa": "0.42.0",
+  "plugins/node/opentelemetry-instrumentation-memcached": "0.38.0",
+  "plugins/node/opentelemetry-instrumentation-mongodb": "0.46.0",
+  "plugins/node/opentelemetry-instrumentation-mysql": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-mysql2": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-nestjs-core": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-net": "0.38.0",
+  "plugins/node/opentelemetry-instrumentation-pg": "0.43.0",
+  "plugins/node/opentelemetry-instrumentation-pino": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-redis": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-redis-4": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-restify": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-router": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-winston": "0.39.0",
   "plugins/web/opentelemetry-instrumentation-document-load": "0.39.0",
   "plugins/web/opentelemetry-instrumentation-long-task": "0.39.0",
   "plugins/web/opentelemetry-instrumentation-user-interaction": "0.39.0",
diff --git a/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
index 8c3b123778..f09a23a4fa 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [1.5.2](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-aws-v1.5.1...resource-detector-aws-v1.5.2) (2024-07-03)
+
+
+### Bug Fixes
+
+* fix timeout in aws resource detector ([#2186](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2186)) ([9e4726c](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9e4726cc0356dcc482fe16aa6f6698360255e93e))
+
 ## [1.5.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-aws-v1.5.0...resource-detector-aws-v1.5.1) (2024-06-06)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-aws/package.json b/detectors/node/opentelemetry-resource-detector-aws/package.json
index 951e3c8e75..552d1cac5f 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/package.json
+++ b/detectors/node/opentelemetry-resource-detector-aws/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-aws",
-  "version": "1.5.1",
+  "version": "1.5.2",
   "description": "OpenTelemetry SDK resource detector for AWS",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/metapackages/auto-instrumentations-node/CHANGELOG.md b/metapackages/auto-instrumentations-node/CHANGELOG.md
index d3da087169..620d3a20b9 100644
--- a/metapackages/auto-instrumentations-node/CHANGELOG.md
+++ b/metapackages/auto-instrumentations-node/CHANGELOG.md
@@ -1,5 +1,55 @@
 # Changelog
 
+## [0.48.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.47.1...auto-instrumentations-node-v0.48.0) (2024-07-03)
+
+
+### Features
+
+* **auto-instrumentations-node:** disabling instrumentations via env var ([#2174](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2174)) ([c3afab7](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/c3afab7ddd4e86fd32478b19f64b94b33f157520))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * dependencies
+    * @opentelemetry/instrumentation-amqplib bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-aws-lambda bumped from ^0.42.0 to ^0.43.0
+    * @opentelemetry/instrumentation-aws-sdk bumped from ^0.42.0 to ^0.43.0
+    * @opentelemetry/instrumentation-bunyan bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-cassandra-driver bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-connect bumped from ^0.37.0 to ^0.38.0
+    * @opentelemetry/instrumentation-cucumber bumped from ^0.7.0 to ^0.8.0
+    * @opentelemetry/instrumentation-dataloader bumped from ^0.10.0 to ^0.11.0
+    * @opentelemetry/instrumentation-dns bumped from ^0.37.0 to ^0.38.0
+    * @opentelemetry/instrumentation-express bumped from ^0.40.1 to ^0.41.0
+    * @opentelemetry/instrumentation-fastify bumped from ^0.37.0 to ^0.38.0
+    * @opentelemetry/instrumentation-fs bumped from ^0.13.0 to ^0.14.0
+    * @opentelemetry/instrumentation-generic-pool bumped from ^0.37.0 to ^0.38.0
+    * @opentelemetry/instrumentation-graphql bumped from ^0.41.0 to ^0.42.0
+    * @opentelemetry/instrumentation-hapi bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-ioredis bumped from ^0.41.0 to ^0.42.0
+    * @opentelemetry/instrumentation-knex bumped from ^0.37.0 to ^0.38.0
+    * @opentelemetry/instrumentation-koa bumped from ^0.41.0 to ^0.42.0
+    * @opentelemetry/instrumentation-lru-memoizer bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-memcached bumped from ^0.37.0 to ^0.38.0
+    * @opentelemetry/instrumentation-mongodb bumped from ^0.45.0 to ^0.46.0
+    * @opentelemetry/instrumentation-mongoose bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-mysql bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-mysql2 bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-nestjs-core bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-net bumped from ^0.37.0 to ^0.38.0
+    * @opentelemetry/instrumentation-pg bumped from ^0.42.0 to ^0.43.0
+    * @opentelemetry/instrumentation-pino bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-redis bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-redis-4 bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-restify bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-router bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-socket.io bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-tedious bumped from ^0.11.0 to ^0.12.0
+    * @opentelemetry/instrumentation-undici bumped from ^0.3.0 to ^0.4.0
+    * @opentelemetry/instrumentation-winston bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/resource-detector-aws bumped from ^1.5.1 to ^1.5.2
+
 ## [0.47.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.47.0...auto-instrumentations-node-v0.47.1) (2024-06-10)
 
 
diff --git a/metapackages/auto-instrumentations-node/package.json b/metapackages/auto-instrumentations-node/package.json
index 53028866b8..b8e634fc2d 100644
--- a/metapackages/auto-instrumentations-node/package.json
+++ b/metapackages/auto-instrumentations-node/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/auto-instrumentations-node",
-  "version": "0.47.1",
+  "version": "0.48.0",
   "description": "Metapackage which bundles opentelemetry node core and contrib instrumentations",
   "author": "OpenTelemetry Authors",
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-instrumentations-node#readme",
@@ -50,46 +50,46 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.52.0",
-    "@opentelemetry/instrumentation-amqplib": "^0.38.0",
-    "@opentelemetry/instrumentation-aws-lambda": "^0.42.0",
-    "@opentelemetry/instrumentation-aws-sdk": "^0.42.0",
-    "@opentelemetry/instrumentation-bunyan": "^0.39.0",
-    "@opentelemetry/instrumentation-cassandra-driver": "^0.39.0",
-    "@opentelemetry/instrumentation-connect": "^0.37.0",
-    "@opentelemetry/instrumentation-cucumber": "^0.7.0",
-    "@opentelemetry/instrumentation-dataloader": "^0.10.0",
-    "@opentelemetry/instrumentation-dns": "^0.37.0",
-    "@opentelemetry/instrumentation-express": "^0.40.1",
-    "@opentelemetry/instrumentation-fastify": "^0.37.0",
-    "@opentelemetry/instrumentation-fs": "^0.13.0",
-    "@opentelemetry/instrumentation-generic-pool": "^0.37.0",
-    "@opentelemetry/instrumentation-graphql": "^0.41.0",
+    "@opentelemetry/instrumentation-amqplib": "^0.39.0",
+    "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
+    "@opentelemetry/instrumentation-aws-sdk": "^0.43.0",
+    "@opentelemetry/instrumentation-bunyan": "^0.40.0",
+    "@opentelemetry/instrumentation-cassandra-driver": "^0.40.0",
+    "@opentelemetry/instrumentation-connect": "^0.38.0",
+    "@opentelemetry/instrumentation-cucumber": "^0.8.0",
+    "@opentelemetry/instrumentation-dataloader": "^0.11.0",
+    "@opentelemetry/instrumentation-dns": "^0.38.0",
+    "@opentelemetry/instrumentation-express": "^0.41.0",
+    "@opentelemetry/instrumentation-fastify": "^0.38.0",
+    "@opentelemetry/instrumentation-fs": "^0.14.0",
+    "@opentelemetry/instrumentation-generic-pool": "^0.38.0",
+    "@opentelemetry/instrumentation-graphql": "^0.42.0",
     "@opentelemetry/instrumentation-grpc": "^0.52.0",
-    "@opentelemetry/instrumentation-hapi": "^0.39.0",
+    "@opentelemetry/instrumentation-hapi": "^0.40.0",
     "@opentelemetry/instrumentation-http": "^0.52.0",
-    "@opentelemetry/instrumentation-ioredis": "^0.41.0",
-    "@opentelemetry/instrumentation-knex": "^0.37.0",
-    "@opentelemetry/instrumentation-koa": "^0.41.0",
-    "@opentelemetry/instrumentation-lru-memoizer": "^0.38.0",
-    "@opentelemetry/instrumentation-memcached": "^0.37.0",
-    "@opentelemetry/instrumentation-mongodb": "^0.45.0",
-    "@opentelemetry/instrumentation-mongoose": "^0.39.0",
-    "@opentelemetry/instrumentation-mysql": "^0.39.0",
-    "@opentelemetry/instrumentation-mysql2": "^0.39.0",
-    "@opentelemetry/instrumentation-nestjs-core": "^0.38.0",
-    "@opentelemetry/instrumentation-net": "^0.37.0",
-    "@opentelemetry/instrumentation-pg": "^0.42.0",
-    "@opentelemetry/instrumentation-pino": "^0.40.0",
-    "@opentelemetry/instrumentation-redis": "^0.40.0",
-    "@opentelemetry/instrumentation-redis-4": "^0.40.0",
-    "@opentelemetry/instrumentation-restify": "^0.39.0",
-    "@opentelemetry/instrumentation-router": "^0.38.0",
-    "@opentelemetry/instrumentation-socket.io": "^0.40.0",
-    "@opentelemetry/instrumentation-tedious": "^0.11.0",
-    "@opentelemetry/instrumentation-undici": "^0.3.0",
-    "@opentelemetry/instrumentation-winston": "^0.38.0",
+    "@opentelemetry/instrumentation-ioredis": "^0.42.0",
+    "@opentelemetry/instrumentation-knex": "^0.38.0",
+    "@opentelemetry/instrumentation-koa": "^0.42.0",
+    "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
+    "@opentelemetry/instrumentation-memcached": "^0.38.0",
+    "@opentelemetry/instrumentation-mongodb": "^0.46.0",
+    "@opentelemetry/instrumentation-mongoose": "^0.40.0",
+    "@opentelemetry/instrumentation-mysql": "^0.40.0",
+    "@opentelemetry/instrumentation-mysql2": "^0.40.0",
+    "@opentelemetry/instrumentation-nestjs-core": "^0.39.0",
+    "@opentelemetry/instrumentation-net": "^0.38.0",
+    "@opentelemetry/instrumentation-pg": "^0.43.0",
+    "@opentelemetry/instrumentation-pino": "^0.41.0",
+    "@opentelemetry/instrumentation-redis": "^0.41.0",
+    "@opentelemetry/instrumentation-redis-4": "^0.41.0",
+    "@opentelemetry/instrumentation-restify": "^0.40.0",
+    "@opentelemetry/instrumentation-router": "^0.39.0",
+    "@opentelemetry/instrumentation-socket.io": "^0.41.0",
+    "@opentelemetry/instrumentation-tedious": "^0.12.0",
+    "@opentelemetry/instrumentation-undici": "^0.4.0",
+    "@opentelemetry/instrumentation-winston": "^0.39.0",
     "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
-    "@opentelemetry/resource-detector-aws": "^1.5.1",
+    "@opentelemetry/resource-detector-aws": "^1.5.2",
     "@opentelemetry/resource-detector-azure": "^0.2.9",
     "@opentelemetry/resource-detector-container": "^0.3.11",
     "@opentelemetry/resource-detector-gcp": "^0.29.10",
diff --git a/package-lock.json b/package-lock.json
index b6d37ff4b4..5c23d15b67 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -74,7 +74,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-aws": {
       "name": "@opentelemetry/resource-detector-aws",
-      "version": "1.5.1",
+      "version": "1.5.2",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
@@ -283,50 +283,50 @@
     },
     "metapackages/auto-instrumentations-node": {
       "name": "@opentelemetry/auto-instrumentations-node",
-      "version": "0.47.1",
+      "version": "0.48.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-amqplib": "^0.38.0",
-        "@opentelemetry/instrumentation-aws-lambda": "^0.42.0",
-        "@opentelemetry/instrumentation-aws-sdk": "^0.42.0",
-        "@opentelemetry/instrumentation-bunyan": "^0.39.0",
-        "@opentelemetry/instrumentation-cassandra-driver": "^0.39.0",
-        "@opentelemetry/instrumentation-connect": "^0.37.0",
-        "@opentelemetry/instrumentation-cucumber": "^0.7.0",
-        "@opentelemetry/instrumentation-dataloader": "^0.10.0",
-        "@opentelemetry/instrumentation-dns": "^0.37.0",
-        "@opentelemetry/instrumentation-express": "^0.40.1",
-        "@opentelemetry/instrumentation-fastify": "^0.37.0",
-        "@opentelemetry/instrumentation-fs": "^0.13.0",
-        "@opentelemetry/instrumentation-generic-pool": "^0.37.0",
-        "@opentelemetry/instrumentation-graphql": "^0.41.0",
+        "@opentelemetry/instrumentation-amqplib": "^0.39.0",
+        "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
+        "@opentelemetry/instrumentation-aws-sdk": "^0.43.0",
+        "@opentelemetry/instrumentation-bunyan": "^0.40.0",
+        "@opentelemetry/instrumentation-cassandra-driver": "^0.40.0",
+        "@opentelemetry/instrumentation-connect": "^0.38.0",
+        "@opentelemetry/instrumentation-cucumber": "^0.8.0",
+        "@opentelemetry/instrumentation-dataloader": "^0.11.0",
+        "@opentelemetry/instrumentation-dns": "^0.38.0",
+        "@opentelemetry/instrumentation-express": "^0.41.0",
+        "@opentelemetry/instrumentation-fastify": "^0.38.0",
+        "@opentelemetry/instrumentation-fs": "^0.14.0",
+        "@opentelemetry/instrumentation-generic-pool": "^0.38.0",
+        "@opentelemetry/instrumentation-graphql": "^0.42.0",
         "@opentelemetry/instrumentation-grpc": "^0.52.0",
-        "@opentelemetry/instrumentation-hapi": "^0.39.0",
+        "@opentelemetry/instrumentation-hapi": "^0.40.0",
         "@opentelemetry/instrumentation-http": "^0.52.0",
-        "@opentelemetry/instrumentation-ioredis": "^0.41.0",
-        "@opentelemetry/instrumentation-knex": "^0.37.0",
-        "@opentelemetry/instrumentation-koa": "^0.41.0",
-        "@opentelemetry/instrumentation-lru-memoizer": "^0.38.0",
-        "@opentelemetry/instrumentation-memcached": "^0.37.0",
-        "@opentelemetry/instrumentation-mongodb": "^0.45.0",
-        "@opentelemetry/instrumentation-mongoose": "^0.39.0",
-        "@opentelemetry/instrumentation-mysql": "^0.39.0",
-        "@opentelemetry/instrumentation-mysql2": "^0.39.0",
-        "@opentelemetry/instrumentation-nestjs-core": "^0.38.0",
-        "@opentelemetry/instrumentation-net": "^0.37.0",
-        "@opentelemetry/instrumentation-pg": "^0.42.0",
-        "@opentelemetry/instrumentation-pino": "^0.40.0",
-        "@opentelemetry/instrumentation-redis": "^0.40.0",
-        "@opentelemetry/instrumentation-redis-4": "^0.40.0",
-        "@opentelemetry/instrumentation-restify": "^0.39.0",
-        "@opentelemetry/instrumentation-router": "^0.38.0",
-        "@opentelemetry/instrumentation-socket.io": "^0.40.0",
-        "@opentelemetry/instrumentation-tedious": "^0.11.0",
-        "@opentelemetry/instrumentation-undici": "^0.3.0",
-        "@opentelemetry/instrumentation-winston": "^0.38.0",
+        "@opentelemetry/instrumentation-ioredis": "^0.42.0",
+        "@opentelemetry/instrumentation-knex": "^0.38.0",
+        "@opentelemetry/instrumentation-koa": "^0.42.0",
+        "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
+        "@opentelemetry/instrumentation-memcached": "^0.38.0",
+        "@opentelemetry/instrumentation-mongodb": "^0.46.0",
+        "@opentelemetry/instrumentation-mongoose": "^0.40.0",
+        "@opentelemetry/instrumentation-mysql": "^0.40.0",
+        "@opentelemetry/instrumentation-mysql2": "^0.40.0",
+        "@opentelemetry/instrumentation-nestjs-core": "^0.39.0",
+        "@opentelemetry/instrumentation-net": "^0.38.0",
+        "@opentelemetry/instrumentation-pg": "^0.43.0",
+        "@opentelemetry/instrumentation-pino": "^0.41.0",
+        "@opentelemetry/instrumentation-redis": "^0.41.0",
+        "@opentelemetry/instrumentation-redis-4": "^0.41.0",
+        "@opentelemetry/instrumentation-restify": "^0.40.0",
+        "@opentelemetry/instrumentation-router": "^0.39.0",
+        "@opentelemetry/instrumentation-socket.io": "^0.41.0",
+        "@opentelemetry/instrumentation-tedious": "^0.12.0",
+        "@opentelemetry/instrumentation-undici": "^0.4.0",
+        "@opentelemetry/instrumentation-winston": "^0.39.0",
         "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
-        "@opentelemetry/resource-detector-aws": "^1.5.1",
+        "@opentelemetry/resource-detector-aws": "^1.5.2",
         "@opentelemetry/resource-detector-azure": "^0.2.9",
         "@opentelemetry/resource-detector-container": "^0.3.11",
         "@opentelemetry/resource-detector-gcp": "^0.29.10",
@@ -36860,7 +36860,7 @@
     },
     "packages/opentelemetry-host-metrics": {
       "name": "@opentelemetry/host-metrics",
-      "version": "0.35.2",
+      "version": "0.35.3",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/sdk-metrics": "^1.8.0",
@@ -37601,7 +37601,7 @@
     },
     "packages/winston-transport": {
       "name": "@opentelemetry/winston-transport",
-      "version": "0.4.0",
+      "version": "0.5.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.52.0",
@@ -37631,7 +37631,7 @@
     },
     "plugins/node/instrumentation-amqplib": {
       "name": "@opentelemetry/instrumentation-amqplib",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -37671,7 +37671,7 @@
     },
     "plugins/node/instrumentation-cucumber": {
       "name": "@opentelemetry/instrumentation-cucumber",
-      "version": "0.7.0",
+      "version": "0.8.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -37738,7 +37738,7 @@
     },
     "plugins/node/instrumentation-dataloader": {
       "name": "@opentelemetry/instrumentation-dataloader",
-      "version": "0.10.0",
+      "version": "0.11.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0"
@@ -37767,7 +37767,7 @@
     },
     "plugins/node/instrumentation-fs": {
       "name": "@opentelemetry/instrumentation-fs",
-      "version": "0.13.0",
+      "version": "0.14.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -37798,7 +37798,7 @@
     },
     "plugins/node/instrumentation-kafkajs": {
       "name": "@opentelemetry/instrumentation-kafkajs",
-      "version": "0.1.0",
+      "version": "0.2.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -37828,7 +37828,7 @@
     },
     "plugins/node/instrumentation-lru-memoizer": {
       "name": "@opentelemetry/instrumentation-lru-memoizer",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0"
@@ -37863,7 +37863,7 @@
     },
     "plugins/node/instrumentation-mongoose": {
       "name": "@opentelemetry/instrumentation-mongoose",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -37900,7 +37900,7 @@
     },
     "plugins/node/instrumentation-runtime-node": {
       "name": "@opentelemetry/instrumentation-runtime-node",
-      "version": "0.5.0",
+      "version": "0.6.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0"
@@ -37940,7 +37940,7 @@
     },
     "plugins/node/instrumentation-socket.io": {
       "name": "@opentelemetry/instrumentation-socket.io",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38189,7 +38189,7 @@
     },
     "plugins/node/instrumentation-tedious": {
       "name": "@opentelemetry/instrumentation-tedious",
-      "version": "0.11.0",
+      "version": "0.12.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38336,7 +38336,7 @@
     },
     "plugins/node/instrumentation-undici": {
       "name": "@opentelemetry/instrumentation-undici",
-      "version": "0.3.0",
+      "version": "0.4.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38367,7 +38367,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-aws-lambda": {
       "name": "@opentelemetry/instrumentation-aws-lambda",
-      "version": "0.42.0",
+      "version": "0.43.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38399,7 +38399,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-aws-sdk": {
       "name": "@opentelemetry/instrumentation-aws-sdk",
-      "version": "0.42.0",
+      "version": "0.43.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38447,7 +38447,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-bunyan": {
       "name": "@opentelemetry/instrumentation-bunyan",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.52.0",
@@ -38490,7 +38490,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-cassandra": {
       "name": "@opentelemetry/instrumentation-cassandra-driver",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38523,7 +38523,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-connect": {
       "name": "@opentelemetry/instrumentation-connect",
-      "version": "0.37.0",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38562,7 +38562,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-dns": {
       "name": "@opentelemetry/instrumentation-dns",
-      "version": "0.37.0",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38594,7 +38594,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-express": {
       "name": "@opentelemetry/instrumentation-express",
-      "version": "0.40.1",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38629,7 +38629,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-fastify": {
       "name": "@opentelemetry/instrumentation-fastify",
-      "version": "0.37.0",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38678,7 +38678,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-generic-pool": {
       "name": "@opentelemetry/instrumentation-generic-pool",
-      "version": "0.37.0",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0"
@@ -38742,7 +38742,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-graphql": {
       "name": "@opentelemetry/instrumentation-graphql",
-      "version": "0.41.0",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0"
@@ -38776,7 +38776,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-hapi": {
       "name": "@opentelemetry/instrumentation-hapi",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38809,7 +38809,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-ioredis": {
       "name": "@opentelemetry/instrumentation-ioredis",
-      "version": "0.41.0",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38845,7 +38845,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-knex": {
       "name": "@opentelemetry/instrumentation-knex",
-      "version": "0.37.0",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38875,7 +38875,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-koa": {
       "name": "@opentelemetry/instrumentation-koa",
-      "version": "0.41.0",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38913,7 +38913,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-memcached": {
       "name": "@opentelemetry/instrumentation-memcached",
-      "version": "0.37.0",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38945,7 +38945,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-mongodb": {
       "name": "@opentelemetry/instrumentation-mongodb",
-      "version": "0.45.0",
+      "version": "0.46.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -39138,7 +39138,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-mysql": {
       "name": "@opentelemetry/instrumentation-mysql",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -39171,7 +39171,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-mysql2": {
       "name": "@opentelemetry/instrumentation-mysql2",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -39237,7 +39237,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-nestjs-core": {
       "name": "@opentelemetry/instrumentation-nestjs-core",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -39310,7 +39310,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-net": {
       "name": "@opentelemetry/instrumentation-net",
-      "version": "0.37.0",
+      "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -39340,7 +39340,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-pg": {
       "name": "@opentelemetry/instrumentation-pg",
-      "version": "0.42.0",
+      "version": "0.43.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -39379,7 +39379,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-pino": {
       "name": "@opentelemetry/instrumentation-pino",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.52.0",
@@ -39448,7 +39448,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-redis": {
       "name": "@opentelemetry/instrumentation-redis",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -39482,7 +39482,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-redis-4": {
       "name": "@opentelemetry/instrumentation-redis-4",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -39530,7 +39530,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-restify": {
       "name": "@opentelemetry/instrumentation-restify",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -39597,7 +39597,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-router": {
       "name": "@opentelemetry/instrumentation-router",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -39626,7 +39626,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-winston": {
       "name": "@opentelemetry/instrumentation-winston",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.52.0",
@@ -39637,7 +39637,7 @@
         "@opentelemetry/context-async-hooks": "^1.21.0",
         "@opentelemetry/sdk-trace-base": "^1.21.0",
         "@opentelemetry/sdk-trace-node": "^1.21.0",
-        "@opentelemetry/winston-transport": "^0.4.0",
+        "@opentelemetry/winston-transport": "^0.5.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
@@ -50370,46 +50370,46 @@
       "requires": {
         "@opentelemetry/api": "^1.4.1",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-amqplib": "^0.38.0",
-        "@opentelemetry/instrumentation-aws-lambda": "^0.42.0",
-        "@opentelemetry/instrumentation-aws-sdk": "^0.42.0",
-        "@opentelemetry/instrumentation-bunyan": "^0.39.0",
-        "@opentelemetry/instrumentation-cassandra-driver": "^0.39.0",
-        "@opentelemetry/instrumentation-connect": "^0.37.0",
-        "@opentelemetry/instrumentation-cucumber": "^0.7.0",
-        "@opentelemetry/instrumentation-dataloader": "^0.10.0",
-        "@opentelemetry/instrumentation-dns": "^0.37.0",
-        "@opentelemetry/instrumentation-express": "^0.40.1",
-        "@opentelemetry/instrumentation-fastify": "^0.37.0",
-        "@opentelemetry/instrumentation-fs": "^0.13.0",
-        "@opentelemetry/instrumentation-generic-pool": "^0.37.0",
-        "@opentelemetry/instrumentation-graphql": "^0.41.0",
+        "@opentelemetry/instrumentation-amqplib": "^0.39.0",
+        "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
+        "@opentelemetry/instrumentation-aws-sdk": "^0.43.0",
+        "@opentelemetry/instrumentation-bunyan": "^0.40.0",
+        "@opentelemetry/instrumentation-cassandra-driver": "^0.40.0",
+        "@opentelemetry/instrumentation-connect": "^0.38.0",
+        "@opentelemetry/instrumentation-cucumber": "^0.8.0",
+        "@opentelemetry/instrumentation-dataloader": "^0.11.0",
+        "@opentelemetry/instrumentation-dns": "^0.38.0",
+        "@opentelemetry/instrumentation-express": "^0.41.0",
+        "@opentelemetry/instrumentation-fastify": "^0.38.0",
+        "@opentelemetry/instrumentation-fs": "^0.14.0",
+        "@opentelemetry/instrumentation-generic-pool": "^0.38.0",
+        "@opentelemetry/instrumentation-graphql": "^0.42.0",
         "@opentelemetry/instrumentation-grpc": "^0.52.0",
-        "@opentelemetry/instrumentation-hapi": "^0.39.0",
+        "@opentelemetry/instrumentation-hapi": "^0.40.0",
         "@opentelemetry/instrumentation-http": "^0.52.0",
-        "@opentelemetry/instrumentation-ioredis": "^0.41.0",
-        "@opentelemetry/instrumentation-knex": "^0.37.0",
-        "@opentelemetry/instrumentation-koa": "^0.41.0",
-        "@opentelemetry/instrumentation-lru-memoizer": "^0.38.0",
-        "@opentelemetry/instrumentation-memcached": "^0.37.0",
-        "@opentelemetry/instrumentation-mongodb": "^0.45.0",
-        "@opentelemetry/instrumentation-mongoose": "^0.39.0",
-        "@opentelemetry/instrumentation-mysql": "^0.39.0",
-        "@opentelemetry/instrumentation-mysql2": "^0.39.0",
-        "@opentelemetry/instrumentation-nestjs-core": "^0.38.0",
-        "@opentelemetry/instrumentation-net": "^0.37.0",
-        "@opentelemetry/instrumentation-pg": "^0.42.0",
-        "@opentelemetry/instrumentation-pino": "^0.40.0",
-        "@opentelemetry/instrumentation-redis": "^0.40.0",
-        "@opentelemetry/instrumentation-redis-4": "^0.40.0",
-        "@opentelemetry/instrumentation-restify": "^0.39.0",
-        "@opentelemetry/instrumentation-router": "^0.38.0",
-        "@opentelemetry/instrumentation-socket.io": "^0.40.0",
-        "@opentelemetry/instrumentation-tedious": "^0.11.0",
-        "@opentelemetry/instrumentation-undici": "^0.3.0",
-        "@opentelemetry/instrumentation-winston": "^0.38.0",
+        "@opentelemetry/instrumentation-ioredis": "^0.42.0",
+        "@opentelemetry/instrumentation-knex": "^0.38.0",
+        "@opentelemetry/instrumentation-koa": "^0.42.0",
+        "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
+        "@opentelemetry/instrumentation-memcached": "^0.38.0",
+        "@opentelemetry/instrumentation-mongodb": "^0.46.0",
+        "@opentelemetry/instrumentation-mongoose": "^0.40.0",
+        "@opentelemetry/instrumentation-mysql": "^0.40.0",
+        "@opentelemetry/instrumentation-mysql2": "^0.40.0",
+        "@opentelemetry/instrumentation-nestjs-core": "^0.39.0",
+        "@opentelemetry/instrumentation-net": "^0.38.0",
+        "@opentelemetry/instrumentation-pg": "^0.43.0",
+        "@opentelemetry/instrumentation-pino": "^0.41.0",
+        "@opentelemetry/instrumentation-redis": "^0.41.0",
+        "@opentelemetry/instrumentation-redis-4": "^0.41.0",
+        "@opentelemetry/instrumentation-restify": "^0.40.0",
+        "@opentelemetry/instrumentation-router": "^0.39.0",
+        "@opentelemetry/instrumentation-socket.io": "^0.41.0",
+        "@opentelemetry/instrumentation-tedious": "^0.12.0",
+        "@opentelemetry/instrumentation-undici": "^0.4.0",
+        "@opentelemetry/instrumentation-winston": "^0.39.0",
         "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
-        "@opentelemetry/resource-detector-aws": "^1.5.1",
+        "@opentelemetry/resource-detector-aws": "^1.5.2",
         "@opentelemetry/resource-detector-azure": "^0.2.9",
         "@opentelemetry/resource-detector-container": "^0.3.11",
         "@opentelemetry/resource-detector-gcp": "^0.29.10",
@@ -53927,7 +53927,7 @@
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.21.0",
         "@opentelemetry/sdk-trace-node": "^1.21.0",
-        "@opentelemetry/winston-transport": "^0.4.0",
+        "@opentelemetry/winston-transport": "^0.5.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",
diff --git a/packages/opentelemetry-host-metrics/CHANGELOG.md b/packages/opentelemetry-host-metrics/CHANGELOG.md
index 7eb4e1e938..497fc232fb 100644
--- a/packages/opentelemetry-host-metrics/CHANGELOG.md
+++ b/packages/opentelemetry-host-metrics/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.35.3](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/host-metrics-v0.35.2...host-metrics-v0.35.3) (2024-07-03)
+
+
+### Bug Fixes
+
+* **host-metrics:** make host metrics constructor options optional ([#2300](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2300)) ([16bff40](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/16bff40d1bf5d3729db235c90f560b4e3387c13c))
+
 ## [0.35.2](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/host-metrics-v0.35.1...host-metrics-v0.35.2) (2024-06-06)
 
 
diff --git a/packages/opentelemetry-host-metrics/package.json b/packages/opentelemetry-host-metrics/package.json
index 3bb3ddd307..6b7f20c8f3 100644
--- a/packages/opentelemetry-host-metrics/package.json
+++ b/packages/opentelemetry-host-metrics/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/host-metrics",
-  "version": "0.35.2",
+  "version": "0.35.3",
   "description": "OpenTelemetry Host Metrics for Node.js",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/packages/winston-transport/CHANGELOG.md b/packages/winston-transport/CHANGELOG.md
index 7ab5b34625..737c65cb55 100644
--- a/packages/winston-transport/CHANGELOG.md
+++ b/packages/winston-transport/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.5.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/winston-transport-v0.4.0...winston-transport-v0.5.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.4.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/winston-transport-v0.3.0...winston-transport-v0.4.0) (2024-06-06)
 
 
diff --git a/packages/winston-transport/package.json b/packages/winston-transport/package.json
index 59ba8105e7..b28b6f0cac 100644
--- a/packages/winston-transport/package.json
+++ b/packages/winston-transport/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/winston-transport",
-  "version": "0.4.0",
+  "version": "0.5.0",
   "description": "OpenTelemetry Transport for winston",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-amqplib/CHANGELOG.md b/plugins/node/instrumentation-amqplib/CHANGELOG.md
index a4ad8e22c5..8e61c3b364 100644
--- a/plugins/node/instrumentation-amqplib/CHANGELOG.md
+++ b/plugins/node/instrumentation-amqplib/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-amqplib-v0.38.0...instrumentation-amqplib-v0.39.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-amqplib-v0.37.0...instrumentation-amqplib-v0.38.0) (2024-06-06)
 
 
diff --git a/plugins/node/instrumentation-amqplib/package.json b/plugins/node/instrumentation-amqplib/package.json
index 689a7f2dfc..bc5de03569 100644
--- a/plugins/node/instrumentation-amqplib/package.json
+++ b/plugins/node/instrumentation-amqplib/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-amqplib",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for the `amqplib` messaging client for RabbitMQ",
   "keywords": [
     "amqplib",
diff --git a/plugins/node/instrumentation-cucumber/CHANGELOG.md b/plugins/node/instrumentation-cucumber/CHANGELOG.md
index 519cdf1710..22e477c7d1 100644
--- a/plugins/node/instrumentation-cucumber/CHANGELOG.md
+++ b/plugins/node/instrumentation-cucumber/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.8.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cucumber-v0.7.0...instrumentation-cucumber-v0.8.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.7.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cucumber-v0.6.0...instrumentation-cucumber-v0.7.0) (2024-06-06)
 
 
diff --git a/plugins/node/instrumentation-cucumber/package.json b/plugins/node/instrumentation-cucumber/package.json
index ec0afafdd6..de649f21e9 100644
--- a/plugins/node/instrumentation-cucumber/package.json
+++ b/plugins/node/instrumentation-cucumber/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-cucumber",
-  "version": "0.7.0",
+  "version": "0.8.0",
   "description": "OpenTelemetry instrumentation for `@cucumber/cucumber` automated tests runner",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-dataloader/CHANGELOG.md b/plugins/node/instrumentation-dataloader/CHANGELOG.md
index 7d7b3bc973..dfa106a1bb 100644
--- a/plugins/node/instrumentation-dataloader/CHANGELOG.md
+++ b/plugins/node/instrumentation-dataloader/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.11.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-dataloader-v0.10.0...instrumentation-dataloader-v0.11.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.10.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-dataloader-v0.9.0...instrumentation-dataloader-v0.10.0) (2024-06-06)
 
 
diff --git a/plugins/node/instrumentation-dataloader/package.json b/plugins/node/instrumentation-dataloader/package.json
index 39c1bf1e92..e4cdada6a7 100644
--- a/plugins/node/instrumentation-dataloader/package.json
+++ b/plugins/node/instrumentation-dataloader/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-dataloader",
-  "version": "0.10.0",
+  "version": "0.11.0",
   "description": "OpenTelemetry instrumentation for `dataloader` data fetching layer",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-fs/CHANGELOG.md b/plugins/node/instrumentation-fs/CHANGELOG.md
index 8077c1e627..bfe3c530a7 100644
--- a/plugins/node/instrumentation-fs/CHANGELOG.md
+++ b/plugins/node/instrumentation-fs/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.14.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-fs-v0.13.0...instrumentation-fs-v0.14.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.13.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-fs-v0.12.0...instrumentation-fs-v0.13.0) (2024-06-06)
 
 
diff --git a/plugins/node/instrumentation-fs/package.json b/plugins/node/instrumentation-fs/package.json
index 51cb8ef836..ef87fa0e5e 100644
--- a/plugins/node/instrumentation-fs/package.json
+++ b/plugins/node/instrumentation-fs/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-fs",
-  "version": "0.13.0",
+  "version": "0.14.0",
   "description": "OpenTelemetry instrumentation for `node:fs` file system interactions module",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-kafkajs/CHANGELOG.md b/plugins/node/instrumentation-kafkajs/CHANGELOG.md
index 0829a25384..33d87bea56 100644
--- a/plugins/node/instrumentation-kafkajs/CHANGELOG.md
+++ b/plugins/node/instrumentation-kafkajs/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.2.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-kafkajs-v0.1.0...instrumentation-kafkajs-v0.2.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.1.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-kafkajs-v0.0.1...instrumentation-kafkajs-v0.1.0) (2024-06-06)
 
 
diff --git a/plugins/node/instrumentation-kafkajs/package.json b/plugins/node/instrumentation-kafkajs/package.json
index 7b48870d0c..a531a0fbe2 100644
--- a/plugins/node/instrumentation-kafkajs/package.json
+++ b/plugins/node/instrumentation-kafkajs/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-kafkajs",
-  "version": "0.1.0",
+  "version": "0.2.0",
   "description": "OpenTelemetry instrumentation for `kafkajs` messaging client for Apache Kafka",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md b/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md
index a9224dad66..b04a8bcfe6 100644
--- a/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md
+++ b/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-lru-memoizer-v0.38.0...instrumentation-lru-memoizer-v0.39.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-lru-memoizer-v0.37.0...instrumentation-lru-memoizer-v0.38.0) (2024-06-06)
 
 
diff --git a/plugins/node/instrumentation-lru-memoizer/package.json b/plugins/node/instrumentation-lru-memoizer/package.json
index 464fd99fdc..e782278ab4 100644
--- a/plugins/node/instrumentation-lru-memoizer/package.json
+++ b/plugins/node/instrumentation-lru-memoizer/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-lru-memoizer",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `lru-memoizer` function memoization using lru-cache",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-mongoose/CHANGELOG.md b/plugins/node/instrumentation-mongoose/CHANGELOG.md
index c47f2e7f83..54a89fccd7 100644
--- a/plugins/node/instrumentation-mongoose/CHANGELOG.md
+++ b/plugins/node/instrumentation-mongoose/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongoose-v0.39.0...instrumentation-mongoose-v0.40.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongoose-v0.38.1...instrumentation-mongoose-v0.39.0) (2024-06-06)
 
 
diff --git a/plugins/node/instrumentation-mongoose/package.json b/plugins/node/instrumentation-mongoose/package.json
index 42c1828823..8f5bcc772e 100644
--- a/plugins/node/instrumentation-mongoose/package.json
+++ b/plugins/node/instrumentation-mongoose/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mongoose",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `mongoose` database object data modeling (ODM) library for MongoDB",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-runtime-node/CHANGELOG.md b/plugins/node/instrumentation-runtime-node/CHANGELOG.md
index b9bb7edb17..de24ffb539 100644
--- a/plugins/node/instrumentation-runtime-node/CHANGELOG.md
+++ b/plugins/node/instrumentation-runtime-node/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.6.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-runtime-node-v0.5.0...instrumentation-runtime-node-v0.6.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.5.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-runtime-node-v0.4.0...instrumentation-runtime-node-v0.5.0) (2024-06-06)
 
 
diff --git a/plugins/node/instrumentation-runtime-node/package.json b/plugins/node/instrumentation-runtime-node/package.json
index f057b9c636..c1f4b15e81 100644
--- a/plugins/node/instrumentation-runtime-node/package.json
+++ b/plugins/node/instrumentation-runtime-node/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-runtime-node",
-  "version": "0.5.0",
+  "version": "0.6.0",
   "description": "OpenTelemetry instrumentation for Node.js Performance measurement API",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-socket.io/CHANGELOG.md b/plugins/node/instrumentation-socket.io/CHANGELOG.md
index c69f15f002..2e121e1ffb 100644
--- a/plugins/node/instrumentation-socket.io/CHANGELOG.md
+++ b/plugins/node/instrumentation-socket.io/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-socket.io-v0.40.0...instrumentation-socket.io-v0.41.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-socket.io-v0.39.0...instrumentation-socket.io-v0.40.0) (2024-06-06)
 
 
diff --git a/plugins/node/instrumentation-socket.io/package.json b/plugins/node/instrumentation-socket.io/package.json
index 96aae23247..e39ce6bcce 100644
--- a/plugins/node/instrumentation-socket.io/package.json
+++ b/plugins/node/instrumentation-socket.io/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-socket.io",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `socket.io` messaging server implementation for Socket.IO communication",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-tedious/CHANGELOG.md b/plugins/node/instrumentation-tedious/CHANGELOG.md
index 0c1e2bc090..fcd7a0fa8f 100644
--- a/plugins/node/instrumentation-tedious/CHANGELOG.md
+++ b/plugins/node/instrumentation-tedious/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.12.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-tedious-v0.11.0...instrumentation-tedious-v0.12.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.11.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-tedious-v0.10.1...instrumentation-tedious-v0.11.0) (2024-06-06)
 
 
diff --git a/plugins/node/instrumentation-tedious/package.json b/plugins/node/instrumentation-tedious/package.json
index 1075dbe082..772e7b6b68 100644
--- a/plugins/node/instrumentation-tedious/package.json
+++ b/plugins/node/instrumentation-tedious/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-tedious",
-  "version": "0.11.0",
+  "version": "0.12.0",
   "description": "OpenTelemetry instrumentation for `tedious` database client for Microsoft SQL Server",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-undici/CHANGELOG.md b/plugins/node/instrumentation-undici/CHANGELOG.md
index 553e8013fc..db89015398 100644
--- a/plugins/node/instrumentation-undici/CHANGELOG.md
+++ b/plugins/node/instrumentation-undici/CHANGELOG.md
@@ -1,5 +1,20 @@
 # Changelog
 
+## [0.4.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-undici-v0.3.0...instrumentation-undici-v0.4.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* **instr-undici:** respect requireParent flag when INVALID_SPAN_CONTEXT is used ([#2273](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2273)) ([b08f01f](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/b08f01f2d4604c14334b860e411eb55c58631171))
+* **instr-undici:** wrong user agent reported if no user agent were set ([#2282](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2282)) ([72e3f66](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/72e3f66c2049189172491a166a20c1af3f547ee5))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.3.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-undici-v0.2.0...instrumentation-undici-v0.3.0) (2024-06-06)
 
 
diff --git a/plugins/node/instrumentation-undici/package.json b/plugins/node/instrumentation-undici/package.json
index a2c182c32b..bf7c2c09f9 100644
--- a/plugins/node/instrumentation-undici/package.json
+++ b/plugins/node/instrumentation-undici/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-undici",
-  "version": "0.3.0",
+  "version": "0.4.0",
   "description": "OpenTelemetry instrumentation for `undici` http client and Node.js fetch()",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-aws-lambda/CHANGELOG.md
index 18c43c1de2..263191a923 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.43.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-lambda-v0.42.0...instrumentation-aws-lambda-v0.43.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-lambda-v0.41.1...instrumentation-aws-lambda-v0.42.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
index 02b86d9a9b..42a1bc28ab 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-aws-lambda",
-  "version": "0.42.0",
+  "version": "0.43.0",
   "description": "OpenTelemetry instrumentation for AWS Lambda function invocations",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md
index b7169dba57..b10ef7f86f 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.43.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-sdk-v0.42.0...instrumentation-aws-sdk-v0.43.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-sdk-v0.41.0...instrumentation-aws-sdk-v0.42.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
index ea6d8a9fb0..30925579de 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-aws-sdk",
-  "version": "0.42.0",
+  "version": "0.43.0",
   "description": "OpenTelemetry instrumentation for `aws-sdk` and `@aws-sdk/client-*` clients for various AWS services",
   "keywords": [
     "aws",
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-bunyan/CHANGELOG.md
index a939f1ac76..02ee583a5a 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-bunyan-v0.39.0...instrumentation-bunyan-v0.40.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-bunyan-v0.38.0...instrumentation-bunyan-v0.39.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/package.json b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
index 478f32a1b3..8d65e21ba8 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/package.json
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-bunyan",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `bunyan` logger",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md
index 175e828147..dc2e4d6b26 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cassandra-driver-v0.39.0...instrumentation-cassandra-driver-v0.40.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cassandra-driver-v0.38.0...instrumentation-cassandra-driver-v0.39.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/package.json b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
index 3668eee72a..74379524c4 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/package.json
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-cassandra-driver",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `cassandra-driver` database client library for Apache Cassandra",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-connect/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-connect/CHANGELOG.md
index 70c12893dd..ad0932d705 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-connect/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-connect-v0.37.0...instrumentation-connect-v0.38.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-connect-v0.36.1...instrumentation-connect-v0.37.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-connect/package.json b/plugins/node/opentelemetry-instrumentation-connect/package.json
index 6c7acae01e..e6916d0589 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/package.json
+++ b/plugins/node/opentelemetry-instrumentation-connect/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-connect",
-  "version": "0.37.0",
+  "version": "0.38.0",
   "description": "OpenTelemetry instrumentation for `connect` http middleware framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-dns/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-dns/CHANGELOG.md
index cd60cca23d..c319a425a7 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-dns/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-dns-v0.37.0...instrumentation-dns-v0.38.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-dns-v0.36.1...instrumentation-dns-v0.37.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-dns/package.json b/plugins/node/opentelemetry-instrumentation-dns/package.json
index f0d0cdf4ef..f6be8f2dda 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/package.json
+++ b/plugins/node/opentelemetry-instrumentation-dns/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-dns",
-  "version": "0.37.0",
+  "version": "0.38.0",
   "description": "OpenTelemetry instrumentation for `node:dns` name resolution module",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
index 37c57d491d..546aa9ab0a 100644
--- a/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-express-v0.40.1...instrumentation-express-v0.41.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.40.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-express-v0.40.0...instrumentation-express-v0.40.1) (2024-06-10)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-express/package.json b/plugins/node/opentelemetry-instrumentation-express/package.json
index c969dd0520..1854452f76 100644
--- a/plugins/node/opentelemetry-instrumentation-express/package.json
+++ b/plugins/node/opentelemetry-instrumentation-express/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-express",
-  "version": "0.40.1",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `express` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-fastify/CHANGELOG.md
index 491e4fbb64..23470582e7 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-fastify/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-fastify-v0.37.0...instrumentation-fastify-v0.38.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-fastify-v0.36.1...instrumentation-fastify-v0.37.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/package.json b/plugins/node/opentelemetry-instrumentation-fastify/package.json
index 58476b30c5..463795bf6f 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-fastify/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-fastify",
-  "version": "0.37.0",
+  "version": "0.38.0",
   "description": "OpenTelemetry instrumentation for `fastify` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md
index 497b119a9f..78023b8da0 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-generic-pool-v0.37.0...instrumentation-generic-pool-v0.38.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-generic-pool-v0.36.0...instrumentation-generic-pool-v0.37.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
index b843b0e15d..685ef3d1ed 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-generic-pool",
-  "version": "0.37.0",
+  "version": "0.38.0",
   "description": "OpenTelemetry instrumentation for `generic-pool` resource pool for managing expensive resources",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-graphql/CHANGELOG.md
index 681f5f763d..4aba11968f 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-graphql/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-graphql-v0.41.0...instrumentation-graphql-v0.42.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-graphql-v0.40.0...instrumentation-graphql-v0.41.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/package.json b/plugins/node/opentelemetry-instrumentation-graphql/package.json
index 441be6b47e..09a67b120e 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-graphql/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-graphql",
-  "version": "0.41.0",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for `graphql` gql query language and runtime for GraphQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-hapi/CHANGELOG.md
index ba21f79e6b..cd9b90c5d5 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-hapi/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-hapi-v0.39.0...instrumentation-hapi-v0.40.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-hapi-v0.38.0...instrumentation-hapi-v0.39.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/package.json b/plugins/node/opentelemetry-instrumentation-hapi/package.json
index 05800e470b..a826079e4c 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/package.json
+++ b/plugins/node/opentelemetry-instrumentation-hapi/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-hapi",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `@hapi/hapi` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-ioredis/CHANGELOG.md
index a75d5802ca..7ebcbc73be 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-ioredis-v0.41.0...instrumentation-ioredis-v0.42.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-ioredis-v0.40.0...instrumentation-ioredis-v0.41.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/package.json b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
index ab66240a02..8087ab8e51 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-ioredis",
-  "version": "0.41.0",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for `ioredis` database redis client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md
index ac8c7f426d..75f4c91247 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-knex-v0.37.0...instrumentation-knex-v0.38.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-knex-v0.36.1...instrumentation-knex-v0.37.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-knex/package.json b/plugins/node/opentelemetry-instrumentation-knex/package.json
index 78ec339bd0..d4418aac22 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/package.json
+++ b/plugins/node/opentelemetry-instrumentation-knex/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-knex",
-  "version": "0.37.0",
+  "version": "0.38.0",
   "description": "OpenTelemetry instrumentation for `knex` database SQL query builder",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-koa/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-koa/CHANGELOG.md
index 6cb5e767ae..da8be1ac11 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-koa/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-koa-v0.41.0...instrumentation-koa-v0.42.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* **koa:** use generic config hook types and move dep to dev ([#2303](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2303))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* **koa:** use generic config hook types and move dep to dev ([#2303](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2303)) ([d9d558f](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/d9d558f42de006b2894f0bb8f4c5d733a9fa3b83))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-koa-v0.40.0...instrumentation-koa-v0.41.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-koa/package.json b/plugins/node/opentelemetry-instrumentation-koa/package.json
index b4a1e51658..3c4a947380 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/package.json
+++ b/plugins/node/opentelemetry-instrumentation-koa/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-koa",
-  "version": "0.41.0",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for `koa` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md
index bd26feacbb..1dd0d57bdf 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-memcached-v0.37.0...instrumentation-memcached-v0.38.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-memcached-v0.36.0...instrumentation-memcached-v0.37.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/package.json b/plugins/node/opentelemetry-instrumentation-memcached/package.json
index c6db4c96bd..1d51415f6e 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/package.json
+++ b/plugins/node/opentelemetry-instrumentation-memcached/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-memcached",
-  "version": "0.37.0",
+  "version": "0.38.0",
   "description": "OpenTelemetry instrumentation for `memcached` database client for memcached",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
index 8038c77321..692d78e222 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
@@ -1,5 +1,17 @@
 # Changelog
 
+## [0.46.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongodb-v0.45.0...instrumentation-mongodb-v0.46.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* **instr-mongodb:** fix  function patch missing one argument introduced in v6.8.0 ([#2314](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2314)) ([9dc55da](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9dc55da3b856e6bc147d59547582f0bf056384a1))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.45.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongodb-v0.44.0...instrumentation-mongodb-v0.45.0) (2024-06-10)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/package.json b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
index cc844f7741..fd1651c34a 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mongodb",
-  "version": "0.45.0",
+  "version": "0.46.0",
   "description": "OpenTelemetry instrumentation for `mongodb` database client for MongoDB",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md
index 224bcc1123..eb018260f8 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql-v0.39.0...instrumentation-mysql-v0.40.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql-v0.38.1...instrumentation-mysql-v0.39.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/package.json b/plugins/node/opentelemetry-instrumentation-mysql/package.json
index 516f0b42e2..c7b2ca8781 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mysql",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `mysql` database client for MySQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md
index b0e22415ce..357b3affc7 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql2-v0.39.0...instrumentation-mysql2-v0.40.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql2-v0.38.1...instrumentation-mysql2-v0.39.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/package.json b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
index db8c381c28..44e4717803 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mysql2",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `mysql2` database client for MySQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-nestjs-core/CHANGELOG.md
index f84b25f56a..bd8b6d3964 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-nestjs-core-v0.38.0...instrumentation-nestjs-core-v0.39.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-nestjs-core-v0.37.1...instrumentation-nestjs-core-v0.38.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
index aafbddf494..81244db2ad 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-nestjs-core",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for NestJS server side applications framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-net/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-net/CHANGELOG.md
index 93c9ce96a8..0bf24cf8e4 100644
--- a/plugins/node/opentelemetry-instrumentation-net/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-net/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-net-v0.37.0...instrumentation-net-v0.38.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.37.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-net-v0.36.0...instrumentation-net-v0.37.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-net/package.json b/plugins/node/opentelemetry-instrumentation-net/package.json
index 6f221dcf7b..9ec6194a7c 100644
--- a/plugins/node/opentelemetry-instrumentation-net/package.json
+++ b/plugins/node/opentelemetry-instrumentation-net/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-net",
-  "version": "0.37.0",
+  "version": "0.38.0",
   "description": "OpenTelemetry instrumentation for `node:net` network API module",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md
index c53a87a7fe..761026381a 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.43.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pg-v0.42.0...instrumentation-pg-v0.43.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pg-v0.41.0...instrumentation-pg-v0.42.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-pg/package.json b/plugins/node/opentelemetry-instrumentation-pg/package.json
index ec8d1f81aa..aee343bade 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pg/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-pg",
-  "version": "0.42.0",
+  "version": "0.43.0",
   "description": "OpenTelemetry instrumentation for `pg` and `pg-pool` database client for PostgreSQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-pino/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-pino/CHANGELOG.md
index 0e5355a848..72f8d5c6fd 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-pino/CHANGELOG.md
@@ -1,5 +1,21 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pino-v0.40.0...instrumentation-pino-v0.41.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Features
+
+* **instrumentation-pino:** add log sending to Logs Bridge API ([#2249](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2249)) ([055ef41](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/055ef417ade05072421c1cee9f8221ce731bdf89))
+
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pino-v0.39.0...instrumentation-pino-v0.40.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-pino/package.json b/plugins/node/opentelemetry-instrumentation-pino/package.json
index 7fefd37481..a69f6b7bff 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pino/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-pino",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `pino` logger",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
index d926bf9d23..b1d8889179 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-4-v0.40.0...instrumentation-redis-4-v0.41.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-4-v0.39.0...instrumentation-redis-4-v0.40.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/package.json b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
index 3f440ab849..194407fa27 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-redis-4",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `redis` v4 database client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md
index d1c01295fd..fe2c8ed6e5 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-v0.40.0...instrumentation-redis-v0.41.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-v0.39.1...instrumentation-redis-v0.40.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-redis/package.json b/plugins/node/opentelemetry-instrumentation-redis/package.json
index f94dc6f9cf..003436dcf7 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-redis",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `redis` v2 and v3 database client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-restify/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-restify/CHANGELOG.md
index 3b736d5a07..b723e9f0ee 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-restify/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-restify-v0.39.0...instrumentation-restify-v0.40.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-restify-v0.38.0...instrumentation-restify-v0.39.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-restify/package.json b/plugins/node/opentelemetry-instrumentation-restify/package.json
index de1487c692..bbb92a49ed 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-restify/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-restify",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `restify` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-router/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-router/CHANGELOG.md
index 675457a28f..b393d0cdf1 100644
--- a/plugins/node/opentelemetry-instrumentation-router/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-router/CHANGELOG.md
@@ -1,5 +1,18 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-router-v0.38.0...instrumentation-router-v0.39.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* export instrumentations only as named export ([#2296](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2296)) ([0ed4038](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0ed40384287a8d06549c2a9c98a26ea9b068c472))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-router-v0.37.0...instrumentation-router-v0.38.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-router/package.json b/plugins/node/opentelemetry-instrumentation-router/package.json
index ed280aa09a..f56a53010c 100644
--- a/plugins/node/opentelemetry-instrumentation-router/package.json
+++ b/plugins/node/opentelemetry-instrumentation-router/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-router",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `router` http middleware router",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-winston/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-winston/CHANGELOG.md
index be955cf560..37990c003b 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-winston/CHANGELOG.md
@@ -1,5 +1,24 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-winston-v0.38.0...instrumentation-winston-v0.39.0) (2024-07-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196))
+
+### Bug Fixes
+
+* **@opentelemetry/instrumentation-winston:** Removing error details when @opentelemetry/winston-transport is not available ([#2301](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2301)) ([fbf25c5](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/fbf25c5e14eaa7d13fc3ff213f4648ae22c64cef))
+* standardize supported versions and set upper bound limit ([#2196](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2196)) ([01c28ae](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/01c28ae016ed32f9968e52bc91e3e3700dcef82e))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/winston-transport bumped from ^0.4.0 to ^0.5.0
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-winston-v0.37.0...instrumentation-winston-v0.38.0) (2024-06-06)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-winston/package.json b/plugins/node/opentelemetry-instrumentation-winston/package.json
index b991ee2955..48d1808dbc 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/package.json
+++ b/plugins/node/opentelemetry-instrumentation-winston/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-winston",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `winston` logger",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -49,7 +49,7 @@
     "@opentelemetry/context-async-hooks": "^1.21.0",
     "@opentelemetry/sdk-trace-base": "^1.21.0",
     "@opentelemetry/sdk-trace-node": "^1.21.0",
-    "@opentelemetry/winston-transport": "^0.4.0",
+    "@opentelemetry/winston-transport": "^0.5.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.18",

From 9bfd0fc997c96b583360cc6eaf5a7c07d2f270f4 Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Fri, 5 Jul 2024 09:43:49 +0200
Subject: [PATCH 059/123] chore: do not remove unmainainted-autoclose label on
 activity (#2316)

---
 .github/workflows/close-stale.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.github/workflows/close-stale.yml b/.github/workflows/close-stale.yml
index d1ed2bef19..3af93ec81d 100644
--- a/.github/workflows/close-stale.yml
+++ b/.github/workflows/close-stale.yml
@@ -31,6 +31,7 @@ jobs:
           stale-issue-label: pkg-status:unmaintained:autoclose-scheduled
           only-labels: pkg-status:unmaintained,feature-request
           exempt-issue-labels: bug,has:sponsor,type:semconv-update
+          remove-stale-when-updated: false
       - uses: actions/stale@v9
         with:
           days-before-pr-stale: 0
@@ -42,3 +43,4 @@ jobs:
           stale-pr-label: pkg-status:unmaintained:autoclose-scheduled
           only-labels: pkg-status:unmaintained
           exempt-pr-labels: bug,has:sponsor,type:semconv-update,dependencies,autorelease:pending
+          remove-stale-when-updated: false

From 2c32e5869ef9b6d582ba4da02623a030309bcaf3 Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Wed, 10 Jul 2024 01:07:21 +0200
Subject: [PATCH 060/123] fix(instr-express): fix handler patching for already
 patched router (#2294)

* fix(instr-express): fix handler patching for already patched router

---------

Co-authored-by: Abhijeet Prasad <devabhiprasad@gmail.com>
Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>
---
 .../src/instrumentation.ts                    |  9 ++--
 .../test/express.test.ts                      | 41 +++++++++++++++++++
 2 files changed, 47 insertions(+), 3 deletions(-)

diff --git a/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
index c3f5602cac..7aeb400ab2 100644
--- a/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
@@ -315,7 +315,11 @@ export class ExpressInstrumentation extends InstrumentationBase {
       // some properties holding metadata and state so we need to proxy them
       // through through patched function
       // ref: https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1950
-      Object.keys(original).forEach(key => {
+      // Also some apps/libs do their own patching before OTEL and have these properties
+      // in the proptotype. So we use a `for...in` loop to get own properties and also
+      // any enumerable prop in the prototype chain
+      // ref: https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2271
+      for (const key in original) {
         Object.defineProperty(patched, key, {
           get() {
             return original[key];
@@ -324,8 +328,7 @@ export class ExpressInstrumentation extends InstrumentationBase {
             original[key] = value;
           },
         });
-      });
-
+      }
       return patched;
     });
   }
diff --git a/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts b/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
index e13c13a424..43b5da1324 100644
--- a/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
@@ -517,6 +517,47 @@ describe('ExpressInstrumentation', () => {
         }
       );
     });
+
+    it('should keep the handle properties even if router is patched before instrumentation does it', async () => {
+      const rootSpan = tracer.startSpan('rootSpan');
+      let routerLayer: { name: string; handle: { stack: any[] } };
+
+      const expressApp = express();
+      const router = express.Router();
+      const CustomRouter: (...p: Parameters<typeof router>) => void = (
+        req,
+        res,
+        next
+      ) => router(req, res, next);
+      router.use('/:slug', (req, res, next) => {
+        const stack = req.app._router.stack as any[];
+        routerLayer = stack.find(router => router.name === 'CustomRouter');
+        return res.status(200).end('bar');
+      });
+      // The patched router now has express router's own properties in its prototype so
+      // they are not accessible through `Object.keys(...)`
+      // https://github.com/TryGhost/Ghost/blob/fefb9ec395df8695d06442b6ecd3130dae374d94/ghost/core/core/frontend/web/site.js#L192
+      Object.setPrototypeOf(CustomRouter, router);
+      expressApp.use(CustomRouter);
+
+      const httpServer = await createServer(expressApp);
+      server = httpServer.server;
+      port = httpServer.port;
+      await context.with(
+        trace.setSpan(context.active(), rootSpan),
+        async () => {
+          const response = await httpRequest.get(
+            `http://localhost:${port}/foo`
+          );
+          assert.strictEqual(response, 'bar');
+          rootSpan.end();
+          assert.ok(
+            routerLayer.handle.stack.length === 1,
+            'router layer stack is accessible'
+          );
+        }
+      );
+    });
   });
 
   describe('Disabling plugin', () => {

From 5f2c160ac0fd4f6aa76c227537c34329c6c9dfb2 Mon Sep 17 00:00:00 2001
From: McSick <michael.c.sickles@gmail.com>
Date: Thu, 11 Jul 2024 11:56:12 -0400
Subject: [PATCH 061/123] feat: Add the ability to use span links when
 consuming a message amqp plugin (#1972)

A config option was added that when set to true, it follows the spec behavior to link to the produce context instead of continuing the context. The default behavior will be as it is today, so one has to opt-in to this change via the config setting.

* Add the ability to use span links in AMQP plugin

* add default behavior

* Add in tests for useLinks option

* Updating tests to correct Semantic attributes

---------

Co-authored-by: Jamie Danielson <jamiedanielson@honeycomb.io>
---
 .../node/instrumentation-amqplib/README.md    |  32 +-
 .../instrumentation-amqplib/src/amqplib.ts    |  28 +-
 .../node/instrumentation-amqplib/src/types.ts |   4 +
 .../test/amqplib-callbacks.test.ts            | 266 +++++++++++-
 .../test/amqplib-promise.test.ts              | 405 ++++++++++++++++++
 5 files changed, 724 insertions(+), 11 deletions(-)

diff --git a/plugins/node/instrumentation-amqplib/README.md b/plugins/node/instrumentation-amqplib/README.md
index f2c7e90bd1..eb3553ce9d 100644
--- a/plugins/node/instrumentation-amqplib/README.md
+++ b/plugins/node/instrumentation-amqplib/README.md
@@ -40,6 +40,7 @@ registerInstrumentations({
       // publishConfirmHook: (span: Span, publishConfirmedInto: PublishConfirmedInfo) => { },
       // consumeHook: (span: Span, consumeInfo: ConsumeInfo) => { },
       // consumeEndHook: (span: Span, consumeEndInfo: ConsumeEndInfo) => { },
+      // useLinksForConsume: boolean,
     }),
   ],
 })
@@ -49,13 +50,14 @@ registerInstrumentations({
 
 amqplib instrumentation has few options available to choose from. You can set the following:
 
-| Options                           | Type                                      | Description                                                                                                                |
-| --------------------------------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
-| `publishHook`                  | `AmqplibPublishCustomAttributeFunction`    | hook for adding custom attributes before publish message is sent.                                             |
-| `publishConfirmHook`                  | `AmqplibPublishConfirmCustomAttributeFunction`    | hook for adding custom attributes after publish message is confirmed by the broker.                                             |
-| `consumeHook`                  | `AmqplibConsumeCustomAttributeFunction`    | hook for adding custom attributes before consumer message is processed.                                             |
-| `consumeEndHook`                  | `AmqplibConsumeEndCustomAttributeFunction`    | hook for adding custom attributes after consumer message is acked to server.                                             |
-| `consumeTimeoutMs`                  | `number`    | read [Consume Timeout](#consume-timeout) below                                             |
+| Options              | Type                                           | Description                                                                         |
+| -------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------- |
+| `publishHook`        | `AmqplibPublishCustomAttributeFunction`        | hook for adding custom attributes before publish message is sent.                   |
+| `publishConfirmHook` | `AmqplibPublishConfirmCustomAttributeFunction` | hook for adding custom attributes after publish message is confirmed by the broker. |
+| `consumeHook`        | `AmqplibConsumeCustomAttributeFunction`        | hook for adding custom attributes before consumer message is processed.             |
+| `consumeEndHook`     | `AmqplibConsumeEndCustomAttributeFunction`     | hook for adding custom attributes after consumer message is acked to server.        |
+| `consumeTimeoutMs`   | `number`                                       | read [Consume Timeout](#consume-timeout) below                                      |
+| `useLinksForConsume` | `boolean`                                      | read [Links for Consume](#links-for-consume) below                                  |
 
 ### Consume Timeout
 
@@ -69,6 +71,22 @@ If timeout is not big enough, span might be closed with 'InstrumentationTimeout'
 
 Default is 1 minute
 
+### Links for Consume
+
+By default, consume spans continue the trace where a message was produced. However, per the [spec](https://opentelemetry.io/docs/specs/semconv/messaging/messaging-spans/#consumer-spans), consume spans should be linked to the message's creation context. Setting to true, this will enable the behavior to follow the spec.
+
+Default is false
+
+## Running Tests Locally
+
+To run the tests locally, you need to have a RabbitMQ server running.  You can use the following command to start a RabbitMQ server using Docker:
+
+```bash
+npm run test:docker:run
+```
+
+By default, the tests that connect to RabbitMQ are skipped. To make sure these tests are run, you can set the `RUN_RABBIT_TESTS` environment variable to `true`
+
 ## Semantic Conventions
 
 This package uses `@opentelemetry/semantic-conventions` version `1.22+`, which implements Semantic Convention [Version 1.7.0](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/semantic_conventions/README.md)
diff --git a/plugins/node/instrumentation-amqplib/src/amqplib.ts b/plugins/node/instrumentation-amqplib/src/amqplib.ts
index b5050f1396..54fcf43afa 100644
--- a/plugins/node/instrumentation-amqplib/src/amqplib.ts
+++ b/plugins/node/instrumentation-amqplib/src/amqplib.ts
@@ -22,6 +22,8 @@ import {
   SpanKind,
   SpanStatusCode,
   ROOT_CONTEXT,
+  Link,
+  Context,
 } from '@opentelemetry/api';
 import {
   hrTime,
@@ -414,8 +416,25 @@ export class AmqplibInstrumentation extends InstrumentationBase {
         }
 
         const headers = msg.properties.headers ?? {};
-        const parentContext = propagation.extract(ROOT_CONTEXT, headers);
+        let parentContext: Context | undefined = propagation.extract(
+          ROOT_CONTEXT,
+          headers
+        );
         const exchange = msg.fields?.exchange;
+        let links: Link[] | undefined;
+        if (self._config.useLinksForConsume) {
+          const parentSpanContext = parentContext
+            ? trace.getSpan(parentContext)?.spanContext()
+            : undefined;
+          parentContext = undefined;
+          if (parentSpanContext) {
+            links = [
+              {
+                context: parentSpanContext,
+              },
+            ];
+          }
+        }
         const span = self.tracer.startSpan(
           `${queue} process`,
           {
@@ -431,6 +450,7 @@ export class AmqplibInstrumentation extends InstrumentationBase {
               [SEMATTRS_MESSAGING_CONVERSATION_ID]:
                 msg?.properties.correlationId,
             },
+            links,
           },
           parentContext
         );
@@ -457,8 +477,10 @@ export class AmqplibInstrumentation extends InstrumentationBase {
           // store the span on the message, so we can end it when user call 'ack' on it
           msg[MESSAGE_STORED_SPAN] = span;
         }
-
-        context.with(trace.setSpan(parentContext, span), () => {
+        const setContext: Context = parentContext
+          ? parentContext
+          : ROOT_CONTEXT;
+        context.with(trace.setSpan(setContext, span), () => {
           onMessage.call(this, msg);
         });
 
diff --git a/plugins/node/instrumentation-amqplib/src/types.ts b/plugins/node/instrumentation-amqplib/src/types.ts
index 2e82b471b5..55a80fdba3 100644
--- a/plugins/node/instrumentation-amqplib/src/types.ts
+++ b/plugins/node/instrumentation-amqplib/src/types.ts
@@ -96,10 +96,14 @@ export interface AmqplibInstrumentationConfig extends InstrumentationConfig {
    * Default is 1 minute
    */
   consumeTimeoutMs?: number;
+
+  /** option to use a span link for the consume message instead of continuing a trace */
+  useLinksForConsume?: boolean;
 }
 
 export const DEFAULT_CONFIG: AmqplibInstrumentationConfig = {
   consumeTimeoutMs: 1000 * 60, // 1 minute
+  useLinksForConsume: false,
 };
 
 // The following types are vendored from `@types/amqplib@0.10.1` - commit SHA: 4205e03127692a40b4871709a7134fe4e2ed5510
diff --git a/plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts b/plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts
index 533b5d9942..a323cebee9 100644
--- a/plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts
+++ b/plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts
@@ -21,7 +21,9 @@ import {
   registerInstrumentationTesting,
 } from '@opentelemetry/contrib-test-utils';
 
-registerInstrumentationTesting(new AmqplibInstrumentation());
+const instrumentation = registerInstrumentationTesting(
+  new AmqplibInstrumentation()
+);
 
 import * as amqpCallback from 'amqplib/callback_api';
 import {
@@ -401,4 +403,266 @@ describe('amqplib instrumentation callback model', () => {
       });
     });
   });
+
+  describe('channel with links config', () => {
+    let channel: amqpCallback.Channel;
+    beforeEach(done => {
+      instrumentation.setConfig({
+        useLinksForConsume: true,
+      });
+      conn.createChannel(
+        context.bind(context.active(), (err, c) => {
+          channel = c;
+          // install an error handler, otherwise when we have tests that create error on the channel,
+          // it throws and crash process
+          channel.on('error', () => {});
+          channel.assertQueue(
+            queueName,
+            { durable: false },
+            context.bind(context.active(), (err, ok) => {
+              channel.purgeQueue(
+                queueName,
+                context.bind(context.active(), (err, ok) => {
+                  done();
+                })
+              );
+            })
+          );
+        })
+      );
+    });
+
+    afterEach(done => {
+      try {
+        channel.close(err => {
+          done();
+        });
+      } catch {}
+    });
+
+    it('simple publish and consume from queue callback', done => {
+      const hadSpaceInBuffer = channel.sendToQueue(
+        queueName,
+        Buffer.from(msgPayload)
+      );
+      expect(hadSpaceInBuffer).toBeTruthy();
+
+      asyncConsume(
+        channel,
+        queueName,
+        [msg => expect(msg.content.toString()).toEqual(msgPayload)],
+        {
+          noAck: true,
+        }
+      ).then(() => {
+        const [publishSpan, consumeSpan] = getTestSpans();
+
+        // assert publish span
+        expect(publishSpan.kind).toEqual(SpanKind.PRODUCER);
+        expect(publishSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
+          'rabbitmq'
+        );
+        expect(publishSpan.attributes[SEMATTRS_MESSAGING_DESTINATION]).toEqual(
+          ''
+        ); // according to spec: "This will be an empty string if the default exchange is used"
+        expect(
+          publishSpan.attributes[SEMATTRS_MESSAGING_DESTINATION_KIND]
+        ).toEqual(MESSAGINGDESTINATIONKINDVALUES_TOPIC);
+        expect(
+          publishSpan.attributes[SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]
+        ).toEqual(queueName);
+        expect(publishSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL]).toEqual(
+          'AMQP'
+        );
+        expect(
+          publishSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL_VERSION]
+        ).toEqual('0.9.1');
+        expect(publishSpan.attributes[SEMATTRS_MESSAGING_URL]).toEqual(
+          censoredUrl
+        );
+        expect(publishSpan.attributes[SEMATTRS_NET_PEER_NAME]).toEqual(
+          TEST_RABBITMQ_HOST
+        );
+        expect(publishSpan.attributes[SEMATTRS_NET_PEER_PORT]).toEqual(
+          TEST_RABBITMQ_PORT
+        );
+
+        // assert consume span
+        expect(consumeSpan.kind).toEqual(SpanKind.CONSUMER);
+        expect(consumeSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
+          'rabbitmq'
+        );
+        expect(consumeSpan.attributes[SEMATTRS_MESSAGING_DESTINATION]).toEqual(
+          ''
+        ); // according to spec: "This will be an empty string if the default exchange is used"
+        expect(
+          consumeSpan.attributes[SEMATTRS_MESSAGING_DESTINATION_KIND]
+        ).toEqual(MESSAGINGDESTINATIONKINDVALUES_TOPIC);
+        expect(
+          consumeSpan.attributes[SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]
+        ).toEqual(queueName);
+        expect(consumeSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL]).toEqual(
+          'AMQP'
+        );
+        expect(
+          consumeSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL_VERSION]
+        ).toEqual('0.9.1');
+        expect(consumeSpan.attributes[SEMATTRS_MESSAGING_URL]).toEqual(
+          censoredUrl
+        );
+        expect(consumeSpan.attributes[SEMATTRS_NET_PEER_NAME]).toEqual(
+          TEST_RABBITMQ_HOST
+        );
+        expect(consumeSpan.attributes[SEMATTRS_NET_PEER_PORT]).toEqual(
+          TEST_RABBITMQ_PORT
+        );
+
+        // new trace should be created
+        expect(consumeSpan.spanContext().traceId).not.toEqual(
+          publishSpan.spanContext().traceId
+        );
+        expect(consumeSpan.parentSpanId).toBeUndefined();
+
+        // link back to publish span
+        expect(consumeSpan.links.length).toBe(1);
+        expect(consumeSpan.links[0].context.traceId).toEqual(
+          publishSpan.spanContext().traceId
+        );
+        expect(consumeSpan.links[0].context.spanId).toEqual(
+          publishSpan.spanContext().spanId
+        );
+
+        done();
+      });
+    });
+  });
+
+  describe('confirm channel with links config', () => {
+    let confirmChannel: amqpCallback.ConfirmChannel;
+    beforeEach(done => {
+      instrumentation.setConfig({
+        useLinksForConsume: true,
+      });
+      conn.createConfirmChannel(
+        context.bind(context.active(), (err, c) => {
+          confirmChannel = c;
+          // install an error handler, otherwise when we have tests that create error on the channel,
+          // it throws and crash process
+          confirmChannel.on('error', () => {});
+          confirmChannel.assertQueue(
+            queueName,
+            { durable: false },
+            context.bind(context.active(), (err, ok) => {
+              confirmChannel.purgeQueue(
+                queueName,
+                context.bind(context.active(), (err, ok) => {
+                  done();
+                })
+              );
+            })
+          );
+        })
+      );
+    });
+
+    afterEach(done => {
+      try {
+        confirmChannel.close(err => {
+          done();
+        });
+      } catch {}
+    });
+
+    it('simple publish and consume from queue callback', done => {
+      asyncConfirmSend(confirmChannel, queueName, msgPayload).then(() => {
+        asyncConsume(
+          confirmChannel,
+          queueName,
+          [msg => expect(msg.content.toString()).toEqual(msgPayload)],
+          {
+            noAck: true,
+          }
+        ).then(() => {
+          const [publishSpan, consumeSpan] = getTestSpans();
+
+          // assert publish span
+          expect(publishSpan.kind).toEqual(SpanKind.PRODUCER);
+          expect(publishSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
+            'rabbitmq'
+          );
+          expect(
+            publishSpan.attributes[SEMATTRS_MESSAGING_DESTINATION]
+          ).toEqual(''); // according to spec: "This will be an empty string if the default exchange is used"
+          expect(
+            publishSpan.attributes[SEMATTRS_MESSAGING_DESTINATION_KIND]
+          ).toEqual(MESSAGINGDESTINATIONKINDVALUES_TOPIC);
+          expect(
+            publishSpan.attributes[SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]
+          ).toEqual(queueName);
+          expect(publishSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL]).toEqual(
+            'AMQP'
+          );
+          expect(
+            publishSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL_VERSION]
+          ).toEqual('0.9.1');
+          expect(publishSpan.attributes[SEMATTRS_MESSAGING_URL]).toEqual(
+            censoredUrl
+          );
+          expect(publishSpan.attributes[SEMATTRS_NET_PEER_NAME]).toEqual(
+            TEST_RABBITMQ_HOST
+          );
+          expect(publishSpan.attributes[SEMATTRS_NET_PEER_PORT]).toEqual(
+            TEST_RABBITMQ_PORT
+          );
+
+          // assert consume span
+          expect(consumeSpan.kind).toEqual(SpanKind.CONSUMER);
+          expect(consumeSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
+            'rabbitmq'
+          );
+          expect(
+            consumeSpan.attributes[SEMATTRS_MESSAGING_DESTINATION]
+          ).toEqual(''); // according to spec: "This will be an empty string if the default exchange is used"
+          expect(
+            consumeSpan.attributes[SEMATTRS_MESSAGING_DESTINATION_KIND]
+          ).toEqual(MESSAGINGDESTINATIONKINDVALUES_TOPIC);
+          expect(
+            consumeSpan.attributes[SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]
+          ).toEqual(queueName);
+          expect(consumeSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL]).toEqual(
+            'AMQP'
+          );
+          expect(
+            consumeSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL_VERSION]
+          ).toEqual('0.9.1');
+          expect(consumeSpan.attributes[SEMATTRS_MESSAGING_URL]).toEqual(
+            censoredUrl
+          );
+          expect(consumeSpan.attributes[SEMATTRS_NET_PEER_NAME]).toEqual(
+            TEST_RABBITMQ_HOST
+          );
+          expect(consumeSpan.attributes[SEMATTRS_NET_PEER_PORT]).toEqual(
+            TEST_RABBITMQ_PORT
+          );
+
+          // new trace should be created
+          expect(consumeSpan.spanContext().traceId).not.toEqual(
+            publishSpan.spanContext().traceId
+          );
+          expect(consumeSpan.parentSpanId).toBeUndefined();
+
+          // link back to publish span
+          expect(consumeSpan.links.length).toBe(1);
+          expect(consumeSpan.links[0].context.traceId).toEqual(
+            publishSpan.spanContext().traceId
+          );
+          expect(consumeSpan.links[0].context.spanId).toEqual(
+            publishSpan.spanContext().spanId
+          );
+
+          done();
+        });
+      });
+    });
+  });
 });
diff --git a/plugins/node/instrumentation-amqplib/test/amqplib-promise.test.ts b/plugins/node/instrumentation-amqplib/test/amqplib-promise.test.ts
index 2205d76a5a..6df63296a1 100644
--- a/plugins/node/instrumentation-amqplib/test/amqplib-promise.test.ts
+++ b/plugins/node/instrumentation-amqplib/test/amqplib-promise.test.ts
@@ -1246,4 +1246,409 @@ describe('amqplib instrumentation promise model', () => {
       });
     });
   });
+  describe('channel using links config', () => {
+    let channel: amqp.Channel & { [CHANNEL_CLOSED_IN_TEST]?: boolean };
+    beforeEach(async () => {
+      endHookSpy = sinon.spy();
+      instrumentation.setConfig({
+        consumeEndHook: endHookSpy,
+        useLinksForConsume: true,
+      });
+
+      channel = await conn.createChannel();
+      await channel.assertQueue(queueName, { durable: false });
+      await channel.purgeQueue(queueName);
+      // install an error handler, otherwise when we have tests that create error on the channel,
+      // it throws and crash process
+      channel.on('error', (err: Error) => {});
+    });
+    afterEach(async () => {
+      if (!channel[CHANNEL_CLOSED_IN_TEST]) {
+        try {
+          await new Promise<void>(resolve => {
+            channel.on('close', resolve);
+            channel.close();
+          });
+        } catch {}
+      }
+    });
+
+    it('simple publish and consume from queue', async () => {
+      const hadSpaceInBuffer = channel.sendToQueue(
+        queueName,
+        Buffer.from(msgPayload)
+      );
+      expect(hadSpaceInBuffer).toBeTruthy();
+
+      await asyncConsume(
+        channel,
+        queueName,
+        [msg => expect(msg.content.toString()).toEqual(msgPayload)],
+        {
+          noAck: true,
+        }
+      );
+      const [publishSpan, consumeSpan] = getTestSpans();
+
+      // assert publish span
+      expect(publishSpan.kind).toEqual(SpanKind.PRODUCER);
+      expect(publishSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
+        'rabbitmq'
+      );
+      expect(publishSpan.attributes[SEMATTRS_MESSAGING_DESTINATION]).toEqual(
+        ''
+      ); // according to spec: "This will be an empty string if the default exchange is used"
+      expect(
+        publishSpan.attributes[SEMATTRS_MESSAGING_DESTINATION_KIND]
+      ).toEqual(MESSAGINGDESTINATIONKINDVALUES_TOPIC);
+      expect(
+        publishSpan.attributes[SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]
+      ).toEqual(queueName);
+      expect(publishSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL]).toEqual(
+        'AMQP'
+      );
+      expect(
+        publishSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL_VERSION]
+      ).toEqual('0.9.1');
+      expect(publishSpan.attributes[SEMATTRS_MESSAGING_URL]).toEqual(
+        censoredUrl
+      );
+      expect(publishSpan.attributes[SEMATTRS_NET_PEER_NAME]).toEqual(
+        TEST_RABBITMQ_HOST
+      );
+      expect(publishSpan.attributes[SEMATTRS_NET_PEER_PORT]).toEqual(
+        TEST_RABBITMQ_PORT
+      );
+
+      // assert consume span
+      expect(consumeSpan.kind).toEqual(SpanKind.CONSUMER);
+      expect(consumeSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
+        'rabbitmq'
+      );
+      expect(consumeSpan.attributes[SEMATTRS_MESSAGING_DESTINATION]).toEqual(
+        ''
+      ); // according to spec: "This will be an empty string if the default exchange is used"
+      expect(
+        consumeSpan.attributes[SEMATTRS_MESSAGING_DESTINATION_KIND]
+      ).toEqual(MESSAGINGDESTINATIONKINDVALUES_TOPIC);
+      expect(
+        consumeSpan.attributes[SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]
+      ).toEqual(queueName);
+      expect(consumeSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL]).toEqual(
+        'AMQP'
+      );
+      expect(
+        consumeSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL_VERSION]
+      ).toEqual('0.9.1');
+      expect(consumeSpan.attributes[SEMATTRS_MESSAGING_URL]).toEqual(
+        censoredUrl
+      );
+      expect(consumeSpan.attributes[SEMATTRS_NET_PEER_NAME]).toEqual(
+        TEST_RABBITMQ_HOST
+      );
+      expect(consumeSpan.attributes[SEMATTRS_NET_PEER_PORT]).toEqual(
+        TEST_RABBITMQ_PORT
+      );
+
+      // new trace should be created
+      expect(consumeSpan.spanContext().traceId).not.toEqual(
+        publishSpan.spanContext().traceId
+      );
+      expect(consumeSpan.parentSpanId).toBeUndefined();
+
+      // link back to publish span
+      expect(consumeSpan.links.length).toBe(1);
+      expect(consumeSpan.links[0].context.traceId).toEqual(
+        publishSpan.spanContext().traceId
+      );
+      expect(consumeSpan.links[0].context.spanId).toEqual(
+        publishSpan.spanContext().spanId
+      );
+
+      expectConsumeEndSpyStatus([EndOperation.AutoAck]);
+    });
+
+    describe('routing and exchange', () => {
+      it('topic exchange', async () => {
+        const exchangeName = 'topic exchange';
+        const routingKey = 'topic.name.from.unittest';
+        await channel.assertExchange(exchangeName, 'topic', { durable: false });
+
+        const { queue: queueName } = await channel.assertQueue('', {
+          durable: false,
+        });
+        await channel.bindQueue(queueName, exchangeName, '#');
+
+        channel.publish(exchangeName, routingKey, Buffer.from(msgPayload));
+
+        await asyncConsume(channel, queueName, [null], {
+          noAck: true,
+        });
+
+        const [publishSpan, consumeSpan] = getTestSpans();
+
+        // assert publish span
+        expect(publishSpan.kind).toEqual(SpanKind.PRODUCER);
+        expect(publishSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
+          'rabbitmq'
+        );
+        expect(publishSpan.attributes[SEMATTRS_MESSAGING_DESTINATION]).toEqual(
+          exchangeName
+        );
+        expect(
+          publishSpan.attributes[SEMATTRS_MESSAGING_DESTINATION_KIND]
+        ).toEqual(MESSAGINGDESTINATIONKINDVALUES_TOPIC);
+        expect(
+          publishSpan.attributes[SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]
+        ).toEqual(routingKey);
+        expect(publishSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL]).toEqual(
+          'AMQP'
+        );
+        expect(
+          publishSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL_VERSION]
+        ).toEqual('0.9.1');
+
+        // assert consume span
+        expect(consumeSpan.kind).toEqual(SpanKind.CONSUMER);
+        expect(consumeSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
+          'rabbitmq'
+        );
+        expect(consumeSpan.attributes[SEMATTRS_MESSAGING_DESTINATION]).toEqual(
+          exchangeName
+        );
+        expect(
+          consumeSpan.attributes[SEMATTRS_MESSAGING_DESTINATION_KIND]
+        ).toEqual(MESSAGINGDESTINATIONKINDVALUES_TOPIC);
+        expect(
+          consumeSpan.attributes[SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]
+        ).toEqual(routingKey);
+        expect(consumeSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL]).toEqual(
+          'AMQP'
+        );
+        expect(
+          consumeSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL_VERSION]
+        ).toEqual('0.9.1');
+
+        // new trace should be created
+        expect(consumeSpan.spanContext().traceId).not.toEqual(
+          publishSpan.spanContext().traceId
+        );
+        expect(consumeSpan.parentSpanId).toBeUndefined();
+
+        // link back to publish span
+        expect(consumeSpan.links.length).toBe(1);
+        expect(consumeSpan.links[0].context.traceId).toEqual(
+          publishSpan.spanContext().traceId
+        );
+        expect(consumeSpan.links[0].context.spanId).toEqual(
+          publishSpan.spanContext().spanId
+        );
+      });
+    });
+  });
+
+  describe('confirm channel links config', () => {
+    let confirmChannel: amqp.ConfirmChannel & {
+      [CHANNEL_CLOSED_IN_TEST]?: boolean;
+    };
+    beforeEach(async () => {
+      endHookSpy = sinon.spy();
+      instrumentation.setConfig({
+        consumeEndHook: endHookSpy,
+        useLinksForConsume: true,
+      });
+
+      confirmChannel = await conn.createConfirmChannel();
+      await confirmChannel.assertQueue(queueName, { durable: false });
+      await confirmChannel.purgeQueue(queueName);
+      // install an error handler, otherwise when we have tests that create error on the channel,
+      // it throws and crash process
+      confirmChannel.on('error', (err: Error) => {});
+    });
+    afterEach(async () => {
+      if (!confirmChannel[CHANNEL_CLOSED_IN_TEST]) {
+        try {
+          await new Promise<void>(resolve => {
+            confirmChannel.on('close', resolve);
+            confirmChannel.close();
+          });
+        } catch {}
+      }
+    });
+
+    it('simple publish with confirm and consume from queue', async () => {
+      await asyncConfirmSend(confirmChannel, queueName, msgPayload);
+
+      await asyncConsume(
+        confirmChannel,
+        queueName,
+        [msg => expect(msg.content.toString()).toEqual(msgPayload)],
+        {
+          noAck: true,
+        }
+      );
+      const [publishSpan, consumeSpan] = getTestSpans();
+
+      // assert publish span
+      expect(publishSpan.kind).toEqual(SpanKind.PRODUCER);
+      expect(publishSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
+        'rabbitmq'
+      );
+      expect(publishSpan.attributes[SEMATTRS_MESSAGING_DESTINATION]).toEqual(
+        ''
+      ); // according to spec: "This will be an empty string if the default exchange is used"
+      expect(
+        publishSpan.attributes[SEMATTRS_MESSAGING_DESTINATION_KIND]
+      ).toEqual(MESSAGINGDESTINATIONKINDVALUES_TOPIC);
+      expect(
+        publishSpan.attributes[SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]
+      ).toEqual(queueName);
+      expect(publishSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL]).toEqual(
+        'AMQP'
+      );
+      expect(
+        publishSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL_VERSION]
+      ).toEqual('0.9.1');
+      expect(publishSpan.attributes[SEMATTRS_MESSAGING_URL]).toEqual(
+        censoredUrl
+      );
+      expect(publishSpan.attributes[SEMATTRS_NET_PEER_NAME]).toEqual(
+        TEST_RABBITMQ_HOST
+      );
+      expect(publishSpan.attributes[SEMATTRS_NET_PEER_PORT]).toEqual(
+        TEST_RABBITMQ_PORT
+      );
+
+      // assert consume span
+      expect(consumeSpan.kind).toEqual(SpanKind.CONSUMER);
+      expect(consumeSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
+        'rabbitmq'
+      );
+      expect(consumeSpan.attributes[SEMATTRS_MESSAGING_DESTINATION]).toEqual(
+        ''
+      ); // according to spec: "This will be an empty string if the default exchange is used"
+      expect(
+        consumeSpan.attributes[SEMATTRS_MESSAGING_DESTINATION_KIND]
+      ).toEqual(MESSAGINGDESTINATIONKINDVALUES_TOPIC);
+      expect(
+        consumeSpan.attributes[SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]
+      ).toEqual(queueName);
+      expect(consumeSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL]).toEqual(
+        'AMQP'
+      );
+      expect(
+        consumeSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL_VERSION]
+      ).toEqual('0.9.1');
+      expect(consumeSpan.attributes[SEMATTRS_MESSAGING_URL]).toEqual(
+        censoredUrl
+      );
+      expect(consumeSpan.attributes[SEMATTRS_NET_PEER_NAME]).toEqual(
+        TEST_RABBITMQ_HOST
+      );
+      expect(consumeSpan.attributes[SEMATTRS_NET_PEER_PORT]).toEqual(
+        TEST_RABBITMQ_PORT
+      );
+      // new trace should be created
+      expect(consumeSpan.spanContext().traceId).not.toEqual(
+        publishSpan.spanContext().traceId
+      );
+      expect(consumeSpan.parentSpanId).toBeUndefined();
+
+      // link back to publish span
+      expect(consumeSpan.links.length).toBe(1);
+      expect(consumeSpan.links[0].context.traceId).toEqual(
+        publishSpan.spanContext().traceId
+      );
+      expect(consumeSpan.links[0].context.spanId).toEqual(
+        publishSpan.spanContext().spanId
+      );
+
+      expectConsumeEndSpyStatus([EndOperation.AutoAck]);
+    });
+
+    describe('routing and exchange', () => {
+      it('topic exchange', async () => {
+        const exchangeName = 'topic exchange';
+        const routingKey = 'topic.name.from.unittest';
+        await confirmChannel.assertExchange(exchangeName, 'topic', {
+          durable: false,
+        });
+
+        const { queue: queueName } = await confirmChannel.assertQueue('', {
+          durable: false,
+        });
+        await confirmChannel.bindQueue(queueName, exchangeName, '#');
+
+        await asyncConfirmPublish(
+          confirmChannel,
+          exchangeName,
+          routingKey,
+          msgPayload
+        );
+
+        await asyncConsume(confirmChannel, queueName, [null], {
+          noAck: true,
+        });
+
+        const [publishSpan, consumeSpan] = getTestSpans();
+
+        // assert publish span
+        expect(publishSpan.kind).toEqual(SpanKind.PRODUCER);
+        expect(publishSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
+          'rabbitmq'
+        );
+        expect(publishSpan.attributes[SEMATTRS_MESSAGING_DESTINATION]).toEqual(
+          exchangeName
+        );
+        expect(
+          publishSpan.attributes[SEMATTRS_MESSAGING_DESTINATION_KIND]
+        ).toEqual(MESSAGINGDESTINATIONKINDVALUES_TOPIC);
+        expect(
+          publishSpan.attributes[SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]
+        ).toEqual(routingKey);
+        expect(publishSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL]).toEqual(
+          'AMQP'
+        );
+        expect(
+          publishSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL_VERSION]
+        ).toEqual('0.9.1');
+
+        // assert consume span
+        expect(consumeSpan.kind).toEqual(SpanKind.CONSUMER);
+        expect(consumeSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
+          'rabbitmq'
+        );
+        expect(consumeSpan.attributes[SEMATTRS_MESSAGING_DESTINATION]).toEqual(
+          exchangeName
+        );
+        expect(
+          consumeSpan.attributes[SEMATTRS_MESSAGING_DESTINATION_KIND]
+        ).toEqual(MESSAGINGDESTINATIONKINDVALUES_TOPIC);
+        expect(
+          consumeSpan.attributes[SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]
+        ).toEqual(routingKey);
+        expect(consumeSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL]).toEqual(
+          'AMQP'
+        );
+        expect(
+          consumeSpan.attributes[SEMATTRS_MESSAGING_PROTOCOL_VERSION]
+        ).toEqual('0.9.1');
+
+        // new trace should be created
+        expect(consumeSpan.spanContext().traceId).not.toEqual(
+          publishSpan.spanContext().traceId
+        );
+        expect(consumeSpan.parentSpanId).toBeUndefined();
+
+        // link back to publish span
+        expect(consumeSpan.links.length).toBe(1);
+        expect(consumeSpan.links[0].context.traceId).toEqual(
+          publishSpan.spanContext().traceId
+        );
+        expect(consumeSpan.links[0].context.spanId).toEqual(
+          publishSpan.spanContext().spanId
+        );
+      });
+    });
+  });
 });

From afccd0d62a0ea81afb8f5609f3ee802c038d11c6 Mon Sep 17 00:00:00 2001
From: Jamie Danielson <jamiedanielson@honeycomb.io>
Date: Mon, 15 Jul 2024 10:20:59 -0400
Subject: [PATCH 062/123] docs(test-utils): fix package name in readme (#2338)

looks like this was renamed from test-utils
to contrib-test-utils a few years back but the
readme still uses the old name.
---
 packages/opentelemetry-test-utils/README.md | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/packages/opentelemetry-test-utils/README.md b/packages/opentelemetry-test-utils/README.md
index 62219eb7c3..57dec0f383 100644
--- a/packages/opentelemetry-test-utils/README.md
+++ b/packages/opentelemetry-test-utils/README.md
@@ -28,7 +28,7 @@ Since [root hook plugin](https://mochajs.org/#root-hook-plugins) are used, this
 1. Add dev dependency on this package:
 
 ```sh
-npm install @opentelemetry/test-utils --save-dev
+npm install @opentelemetry/contrib-test-utils --save-dev
 ```
 
 1. [`require`](https://mochajs.org/#-require-module-r-module) this package in mocha invocation:
@@ -37,22 +37,22 @@ As command line argument option to mocha:
 
 ```js
     "scripts": {
-        "test": "mocha --require @opentelemetry/test-utils",
-        "test:jaeger": "OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require @opentelemetry/test-utils",
+        "test": "mocha --require @opentelemetry/contrib-test-utils",
+        "test:jaeger": "OTEL_EXPORTER_JAEGER_AGENT_HOST=localhost mocha --require @opentelemetry/contrib-test-utils",
     },
 ``
 
 Or by using config file / package.json config:
 ```js
     "mocha": {
-        "require": [ "@opentelemetry/test-utils" ]
+        "require": [ "@opentelemetry/contrib-test-utils" ]
     }
 ```
 
 1. In your `.spec` file, import `registerInstrumentationTesting` and `getTestSpans` functions and use them to create instrumentation class instance and make assertions in the test:
 
 ```js
-import { getTestSpans, registerInstrumentationTesting } from '@opentelemetry/test-utils';
+import { getTestSpans, registerInstrumentationTesting } from '@opentelemetry/contrib-test-utils';
 
 const instrumentation = registerInstrumentationTesting(new MyAwesomeInstrumentation());
 

From 4bb28c99c29b52193bcd9d0f14202beac6c5dfa6 Mon Sep 17 00:00:00 2001
From: Martin Kuba <martin@martinkuba.com>
Date: Mon, 22 Jul 2024 15:50:14 -0700
Subject: [PATCH 063/123] feat: Add package for automatic propagator
 configuration (#2299)

* feat(auto-configuration-propagators): add package for automatic propagator configuration

* updated release-please config files

* markdown lint

* minor updates

* added component owner

* updated component-label-map

* updated url in readme

* changed log to warn

* lint

* markdown lint

* redo the update to package-lock.json (gets the diff down to ~200 lines)

---------

Co-authored-by: Trent Mick <trentm@gmail.com>
---
 .github/component-label-map.yml               |   4 +
 .github/component_owners.yml                  |   2 +
 .release-please-manifest.json                 |   1 +
 .../.eslintignore                             |   2 +
 .../.eslintrc.js                              |   8 +
 .../CHANGELOG.md                              |   1 +
 .../auto-configuration-propagators/LICENSE    | 201 ++++++++++++++++++
 .../auto-configuration-propagators/README.md  |  54 +++++
 .../package.json                              |  60 ++++++
 .../src/index.ts                              |  17 ++
 .../src/utils.ts                              |  91 ++++++++
 .../test/utils.test.ts                        |  75 +++++++
 .../tsconfig.json                             |  11 +
 package-lock.json                             |  77 +++++++
 release-please-config.json                    |   1 +
 15 files changed, 605 insertions(+)
 create mode 100644 metapackages/auto-configuration-propagators/.eslintignore
 create mode 100644 metapackages/auto-configuration-propagators/.eslintrc.js
 create mode 100644 metapackages/auto-configuration-propagators/CHANGELOG.md
 create mode 100644 metapackages/auto-configuration-propagators/LICENSE
 create mode 100644 metapackages/auto-configuration-propagators/README.md
 create mode 100644 metapackages/auto-configuration-propagators/package.json
 create mode 100644 metapackages/auto-configuration-propagators/src/index.ts
 create mode 100644 metapackages/auto-configuration-propagators/src/utils.ts
 create mode 100644 metapackages/auto-configuration-propagators/test/utils.test.ts
 create mode 100644 metapackages/auto-configuration-propagators/tsconfig.json

diff --git a/.github/component-label-map.yml b/.github/component-label-map.yml
index 8d23fab59a..152ff73628 100644
--- a/.github/component-label-map.yml
+++ b/.github/component-label-map.yml
@@ -32,6 +32,10 @@ pkg:resource-detector-instana:
       - any-glob-to-any-file:
           - detectors/node/opentelemetry-resource-detector-instana/**
           - packages/opentelemetry-test-utils/**
+pkg:auto-configuration-propagators:
+  - changed-files:
+      - any-glob-to-any-file:
+          - metapackages/auto-configuration-propagators/**
 pkg:auto-instrumentations-node:
   - changed-files:
       - any-glob-to-any-file:
diff --git a/.github/component_owners.yml b/.github/component_owners.yml
index 4e24464d86..e79dce3994 100644
--- a/.github/component_owners.yml
+++ b/.github/component_owners.yml
@@ -19,6 +19,8 @@ components:
     - kirrg001
   incubator/opentelemetry-sampler-aws-xray:
     - carolabadeer
+  metapackages/auto-configuration-propagators:
+    - pichlermarc
   metapackages/auto-instrumentations-node:
     - dyladan
     - pichlermarc
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index c0b2e19cd3..f7ffa2b99f 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -6,6 +6,7 @@
   "detectors/node/opentelemetry-resource-detector-gcp": "0.29.10",
   "detectors/node/opentelemetry-resource-detector-github": "0.28.2",
   "detectors/node/opentelemetry-resource-detector-instana": "0.10.0",
+  "metapackages/auto-configuration-propagators": "0.1.0",
   "metapackages/auto-instrumentations-node": "0.48.0",
   "metapackages/auto-instrumentations-web": "0.40.0",
   "packages/baggage-span-processor": "0.3.1",
diff --git a/metapackages/auto-configuration-propagators/.eslintignore b/metapackages/auto-configuration-propagators/.eslintignore
new file mode 100644
index 0000000000..03db8f9b34
--- /dev/null
+++ b/metapackages/auto-configuration-propagators/.eslintignore
@@ -0,0 +1,2 @@
+build
+.eslintrc.js
diff --git a/metapackages/auto-configuration-propagators/.eslintrc.js b/metapackages/auto-configuration-propagators/.eslintrc.js
new file mode 100644
index 0000000000..fe91e21049
--- /dev/null
+++ b/metapackages/auto-configuration-propagators/.eslintrc.js
@@ -0,0 +1,8 @@
+module.exports = {
+    "env": {
+        "commonjs": true,
+        "node": true,
+        "mocha": true,
+    },
+    ...require('../../eslint.config.js')
+}
diff --git a/metapackages/auto-configuration-propagators/CHANGELOG.md b/metapackages/auto-configuration-propagators/CHANGELOG.md
new file mode 100644
index 0000000000..825c32f0d0
--- /dev/null
+++ b/metapackages/auto-configuration-propagators/CHANGELOG.md
@@ -0,0 +1 @@
+# Changelog
diff --git a/metapackages/auto-configuration-propagators/LICENSE b/metapackages/auto-configuration-propagators/LICENSE
new file mode 100644
index 0000000000..261eeb9e9f
--- /dev/null
+++ b/metapackages/auto-configuration-propagators/LICENSE
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/metapackages/auto-configuration-propagators/README.md b/metapackages/auto-configuration-propagators/README.md
new file mode 100644
index 0000000000..b002eebd71
--- /dev/null
+++ b/metapackages/auto-configuration-propagators/README.md
@@ -0,0 +1,54 @@
+# OpenTelemetry Meta Package for Propagators Configuration
+
+[![NPM Published Version][npm-img]][npm-url]
+[![Apache License][license-image]][license-url]
+
+## About
+
+This module provides a way to get a propagator based on the [OTEL_PROPAGATORS environment variable][env-var-url].
+
+## Installation
+
+```bash
+npm install --save @opentelemetry/auto-configuration-propagators
+```
+
+## Usage
+
+Here is an example of how to retrieve a propagator:
+
+```js
+import { getPropagator } from '@opentelemetry/auto-configuration-propagators';
+
+const propagator = getPropagator();
+```
+
+Please see the [Supported propagators](#supported-propagators) section for more information.
+
+## Supported propagators
+
+The specification defines a list of [known propagators][env-var-url] for the `OTEL_PROPAGATORS` env variable. Only these propagators are supported.
+
+- "tracecontext": [W3C Trace Context](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-core)
+- "baggage": [W3C Baggage](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-core)
+- "b3": [B3 Single](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-propagator-b3)
+- "b3multi": [B3 Multi](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-propagator-b3)
+- "jaeger": [Jaeger](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-propagator-jaeger)
+- "xray": [AWS X-Ray (third party)](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/propagator-aws-xray)
+- "xray-lambda": [AWS X-Ray Lambda (third party)](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/propagator-aws-xray-lambda)
+- "ottrace": [OT Trace (third party)](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/propagators/opentelemetry-propagator-ot-trace)
+
+## Useful links
+
+- For more information on OpenTelemetry, visit: <https://opentelemetry.io/>
+- For more about OpenTelemetry JavaScript: <https://github.com/open-telemetry/opentelemetry-js>
+
+## License
+
+APACHE 2.0 - See [LICENSE][license-url] for more information.
+
+[license-url]: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/LICENSE
+[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
+[npm-url]: https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node
+[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fauto-instrumentations-node.svg
+[env-var-url]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration
diff --git a/metapackages/auto-configuration-propagators/package.json b/metapackages/auto-configuration-propagators/package.json
new file mode 100644
index 0000000000..9984ec20fe
--- /dev/null
+++ b/metapackages/auto-configuration-propagators/package.json
@@ -0,0 +1,60 @@
+{
+  "name": "@opentelemetry/auto-configuration-propagators",
+  "version": "0.1.0",
+  "description": "Metapackage which bundles known propagators for configuration via an env variable.",
+  "author": "OpenTelemetry Authors",
+  "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-configuration-propagators#readme",
+  "license": "Apache-2.0",
+  "engines": {
+    "node": ">=14"
+  },
+  "publishConfig": {
+    "access": "public"
+  },
+  "main": "build/src/index.js",
+  "types": "build/src/index.d.ts",
+  "repository": "open-telemetry/opentelemetry-js-contrib",
+  "scripts": {
+    "clean": "rimraf build/*",
+    "compile": "tsc -p .",
+    "lint": "eslint . --ext .ts",
+    "lint:fix": "eslint . --ext .ts --fix",
+    "precompile": "tsc --version && lerna run version:update --scope @opentelemetry/auto-configuration-propagators --include-dependencies",
+    "prewatch": "npm run precompile",
+    "prepublishOnly": "npm run compile",
+    "tdd": "npm run test -- --watch-extensions ts --watch",
+    "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.ts'",
+    "watch": "tsc -w"
+  },
+  "bugs": {
+    "url": "https://github.com/open-telemetry/opentelemetry-js-contrib/issues"
+  },
+  "peerDependencies": {
+    "@opentelemetry/api": "^1.4.1"
+  },
+  "devDependencies": {
+    "@opentelemetry/api": "^1.4.1",
+    "@types/mocha": "7.0.2",
+    "@types/node": "18.6.5",
+    "@types/sinon": "10.0.18",
+    "mocha": "7.2.0",
+    "nyc": "15.1.0",
+    "rimraf": "5.0.5",
+    "sinon": "15.2.0",
+    "ts-mocha": "10.0.0",
+    "typescript": "4.4.4"
+  },
+  "dependencies": {
+    "@opentelemetry/core": "^1.25.1",
+    "@opentelemetry/propagator-b3": "^1.25.1",
+    "@opentelemetry/propagator-jaeger": "^1.25.1",
+    "@opentelemetry/propagator-aws-xray": "^1.25.1",
+    "@opentelemetry/propagator-aws-xray-lambda": "^0.52.1",
+    "@opentelemetry/propagator-ot-trace": "^0.27.2"
+  },
+  "files": [
+    "build/src/**/*.js",
+    "build/src/**/*.js.map",
+    "build/src/**/*.d.ts"
+  ]
+}
diff --git a/metapackages/auto-configuration-propagators/src/index.ts b/metapackages/auto-configuration-propagators/src/index.ts
new file mode 100644
index 0000000000..c45392688a
--- /dev/null
+++ b/metapackages/auto-configuration-propagators/src/index.ts
@@ -0,0 +1,17 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+export { getPropagator } from './utils';
diff --git a/metapackages/auto-configuration-propagators/src/utils.ts b/metapackages/auto-configuration-propagators/src/utils.ts
new file mode 100644
index 0000000000..5c8537daa3
--- /dev/null
+++ b/metapackages/auto-configuration-propagators/src/utils.ts
@@ -0,0 +1,91 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { diag, TextMapPropagator } from '@opentelemetry/api';
+import {
+  CompositePropagator,
+  W3CBaggagePropagator,
+  W3CTraceContextPropagator,
+} from '@opentelemetry/core';
+import { B3InjectEncoding, B3Propagator } from '@opentelemetry/propagator-b3';
+import { JaegerPropagator } from '@opentelemetry/propagator-jaeger';
+import { OTTracePropagator } from '@opentelemetry/propagator-ot-trace';
+import { AWSXRayPropagator } from '@opentelemetry/propagator-aws-xray';
+import { AWSXRayLambdaPropagator } from '@opentelemetry/propagator-aws-xray-lambda';
+
+type PropagatorFactoryFunction = () => TextMapPropagator;
+
+const propagatorMap = new Map<string, PropagatorFactoryFunction>([
+  ['tracecontext', () => new W3CTraceContextPropagator()],
+  ['baggage', () => new W3CTraceContextPropagator()],
+  [
+    'b3',
+    () => new B3Propagator({ injectEncoding: B3InjectEncoding.SINGLE_HEADER }),
+  ],
+  [
+    'b3multi',
+    () => new B3Propagator({ injectEncoding: B3InjectEncoding.MULTI_HEADER }),
+  ],
+  ['jaeger', () => new JaegerPropagator()],
+  ['xray', () => new AWSXRayPropagator()],
+  ['xray-lambda', () => new AWSXRayLambdaPropagator()],
+  ['ottrace', () => new OTTracePropagator()],
+]);
+
+/**
+ * Get a propagator based on the OTEL_PROPAGATORS env var.
+ */
+export function getPropagator(): TextMapPropagator {
+  if (
+    process.env.OTEL_PROPAGATORS == null ||
+    process.env.OTEL_PROPAGATORS.trim() === ''
+  ) {
+    return new CompositePropagator({
+      propagators: [
+        new W3CTraceContextPropagator(),
+        new W3CBaggagePropagator(),
+      ],
+    });
+  }
+
+  const propagatorsFromEnv = Array.from(
+    new Set(
+      process.env.OTEL_PROPAGATORS?.split(',').map(value =>
+        value.toLowerCase().trim()
+      )
+    )
+  );
+
+  const propagators = propagatorsFromEnv.flatMap(propagatorName => {
+    if (propagatorName === 'none') {
+      diag.info(
+        'Not selecting any propagator for value "none" specified in the environment variable OTEL_PROPAGATORS'
+      );
+      return [];
+    }
+
+    const propagatorFactoryFunction = propagatorMap.get(propagatorName);
+    if (propagatorFactoryFunction == null) {
+      diag.warn(
+        `Invalid propagator "${propagatorName}" specified in the environment variable OTEL_PROPAGATORS`
+      );
+      return [];
+    }
+    return propagatorFactoryFunction();
+  });
+
+  return new CompositePropagator({ propagators });
+}
diff --git a/metapackages/auto-configuration-propagators/test/utils.test.ts b/metapackages/auto-configuration-propagators/test/utils.test.ts
new file mode 100644
index 0000000000..6e2c9dedcd
--- /dev/null
+++ b/metapackages/auto-configuration-propagators/test/utils.test.ts
@@ -0,0 +1,75 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as assert from 'assert';
+import { getPropagator } from '../src/utils';
+
+describe('utils', () => {
+  describe('getPropagator', () => {
+    afterEach(() => {
+      delete process.env.OTEL_PROPAGATORS;
+    });
+
+    it('should return default when env var is unset', () => {
+      assert.deepStrictEqual(getPropagator().fields(), [
+        'traceparent',
+        'tracestate',
+        'baggage',
+      ]);
+    });
+
+    it('should return default when env var is empty', () => {
+      process.env.OTEL_PROPAGATORS = '';
+      assert.deepStrictEqual(getPropagator().fields(), [
+        'traceparent',
+        'tracestate',
+        'baggage',
+      ]);
+    });
+
+    it('should return default when env var is all spaces', () => {
+      process.env.OTEL_PROPAGATORS = '  ';
+      assert.deepStrictEqual(getPropagator().fields(), [
+        'traceparent',
+        'tracestate',
+        'baggage',
+      ]);
+    });
+
+    it('should return the selected propagator when one is in the list', () => {
+      process.env.OTEL_PROPAGATORS = 'tracecontext';
+      assert.deepStrictEqual(getPropagator().fields(), [
+        'traceparent',
+        'tracestate',
+      ]);
+    });
+
+    it('should return the selected propagators when multiple are in the list', () => {
+      process.env.OTEL_PROPAGATORS = 'b3,jaeger';
+      assert.deepStrictEqual(getPropagator().fields(), ['b3', 'uber-trace-id']);
+    });
+
+    it('should return no-op propagator if all propagators are unknown', () => {
+      process.env.OTEL_PROPAGATORS = 'my, unknown, propagators';
+      assert.deepStrictEqual(getPropagator().fields(), []);
+    });
+
+    it('should return no-op propagator if "none" is selected', () => {
+      process.env.OTEL_PROPAGATORS = 'none';
+      assert.deepStrictEqual(getPropagator().fields(), []);
+    });
+  });
+});
diff --git a/metapackages/auto-configuration-propagators/tsconfig.json b/metapackages/auto-configuration-propagators/tsconfig.json
new file mode 100644
index 0000000000..4078877ce6
--- /dev/null
+++ b/metapackages/auto-configuration-propagators/tsconfig.json
@@ -0,0 +1,11 @@
+{
+  "extends": "../../tsconfig.base",
+  "compilerOptions": {
+    "rootDir": ".",
+    "outDir": "build"
+  },
+  "include": [
+    "src/**/*.ts",
+    "test/**/*.ts"
+  ]
+}
diff --git a/package-lock.json b/package-lock.json
index 5c23d15b67..bad6cfc046 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -281,6 +281,36 @@
       "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==",
       "dev": true
     },
+    "metapackages/auto-configuration-propagators": {
+      "version": "0.1.0",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@opentelemetry/core": "^1.25.1",
+        "@opentelemetry/propagator-aws-xray": "^1.25.1",
+        "@opentelemetry/propagator-aws-xray-lambda": "^0.52.1",
+        "@opentelemetry/propagator-b3": "^1.25.1",
+        "@opentelemetry/propagator-jaeger": "^1.25.1",
+        "@opentelemetry/propagator-ot-trace": "^0.27.2"
+      },
+      "devDependencies": {
+        "@opentelemetry/api": "^1.4.1",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/sinon": "10.0.18",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.4.1"
+      }
+    },
     "metapackages/auto-instrumentations-node": {
       "name": "@opentelemetry/auto-instrumentations-node",
       "version": "0.48.0",
@@ -10527,6 +10557,10 @@
         "node": ">=14"
       }
     },
+    "node_modules/@opentelemetry/auto-configuration-propagators": {
+      "resolved": "metapackages/auto-configuration-propagators",
+      "link": true
+    },
     "node_modules/@opentelemetry/auto-instrumentations-node": {
       "resolved": "metapackages/auto-instrumentations-node",
       "link": true
@@ -11012,6 +11046,20 @@
         "@opentelemetry/api": ">=1.0.0 <1.10.0"
       }
     },
+    "node_modules/@opentelemetry/propagator-aws-xray-lambda": {
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray-lambda/-/propagator-aws-xray-lambda-0.52.1.tgz",
+      "integrity": "sha512-LBAu/1SRVuWrsWTzqUxZmzWinsS76UH/qApgYjmaN6Q8RcObXeZOmR0+FLSwkRX7OLGhLLQKiu3CQmlgXbpNCw==",
+      "dependencies": {
+        "@opentelemetry/propagator-aws-xray": "1.25.1"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": ">=1.3.0 <1.10.0"
+      }
+    },
     "node_modules/@opentelemetry/propagator-b3": {
       "version": "1.25.1",
       "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.1.tgz",
@@ -50365,6 +50413,27 @@
         "@opentelemetry/api": "^1.0.0"
       }
     },
+    "@opentelemetry/auto-configuration-propagators": {
+      "version": "file:metapackages/auto-configuration-propagators",
+      "requires": {
+        "@opentelemetry/api": "^1.4.1",
+        "@opentelemetry/core": "^1.25.1",
+        "@opentelemetry/propagator-aws-xray": "^1.25.1",
+        "@opentelemetry/propagator-aws-xray-lambda": "^0.52.1",
+        "@opentelemetry/propagator-b3": "^1.25.1",
+        "@opentelemetry/propagator-jaeger": "^1.25.1",
+        "@opentelemetry/propagator-ot-trace": "^0.27.2",
+        "@types/mocha": "7.0.2",
+        "@types/node": "18.6.5",
+        "@types/sinon": "10.0.18",
+        "mocha": "7.2.0",
+        "nyc": "15.1.0",
+        "rimraf": "5.0.5",
+        "sinon": "15.2.0",
+        "ts-mocha": "10.0.0",
+        "typescript": "4.4.4"
+      }
+    },
     "@opentelemetry/auto-instrumentations-node": {
       "version": "file:metapackages/auto-instrumentations-node",
       "requires": {
@@ -54476,6 +54545,14 @@
         "@opentelemetry/core": "1.25.1"
       }
     },
+    "@opentelemetry/propagator-aws-xray-lambda": {
+      "version": "0.52.1",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray-lambda/-/propagator-aws-xray-lambda-0.52.1.tgz",
+      "integrity": "sha512-LBAu/1SRVuWrsWTzqUxZmzWinsS76UH/qApgYjmaN6Q8RcObXeZOmR0+FLSwkRX7OLGhLLQKiu3CQmlgXbpNCw==",
+      "requires": {
+        "@opentelemetry/propagator-aws-xray": "1.25.1"
+      }
+    },
     "@opentelemetry/propagator-b3": {
       "version": "1.25.1",
       "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.1.tgz",
diff --git a/release-please-config.json b/release-please-config.json
index bb6cacc61c..b8fb45cd90 100644
--- a/release-please-config.json
+++ b/release-please-config.json
@@ -13,6 +13,7 @@
     "detectors/node/opentelemetry-resource-detector-gcp": {},
     "detectors/node/opentelemetry-resource-detector-github": {},
     "detectors/node/opentelemetry-resource-detector-instana": {},
+    "metapackages/auto-configuration-propagators": {},
     "metapackages/auto-instrumentations-node": {},
     "metapackages/auto-instrumentations-web": {},
     "packages/baggage-span-processor": {},

From 9a06381afc6a7a27bc49af4ef796a547eafbf6ff Mon Sep 17 00:00:00 2001
From: Jonathan Lee <107072447+jj22ee@users.noreply.github.com>
Date: Mon, 22 Jul 2024 23:39:07 -0700
Subject: [PATCH 064/123] fix(aws-sdk): add http status code attribute to aws
 sdk span if aws sdk v3 client exception occurs (#2344)

* add http.status.code attribute value to span after aws sdk client exception

* npm run lint:fix

---------

Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
---
 .../opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts | 9 +++++++++
 .../test/aws-sdk-v3.test.ts                              | 1 +
 2 files changed, 10 insertions(+)

diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts b/plugins/node/opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts
index cca362e293..1427ae0386 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts
@@ -538,6 +538,15 @@ export class AwsInstrumentation extends InstrumentationBase {
                   if (requestId) {
                     span.setAttribute(AttributeNames.AWS_REQUEST_ID, requestId);
                   }
+
+                  const httpStatusCode = err?.$metadata?.httpStatusCode;
+                  if (httpStatusCode) {
+                    span.setAttribute(
+                      SEMATTRS_HTTP_STATUS_CODE,
+                      httpStatusCode
+                    );
+                  }
+
                   const extendedRequestId = err?.extendedRequestId;
                   if (extendedRequestId) {
                     span.setAttribute(
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/test/aws-sdk-v3.test.ts b/plugins/node/opentelemetry-instrumentation-aws-sdk/test/aws-sdk-v3.test.ts
index 8dee305175..0e3a752c1b 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/test/aws-sdk-v3.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/test/aws-sdk-v3.test.ts
@@ -167,6 +167,7 @@ describe('instrumentation-aws-sdk-v3', () => {
         expect(span.attributes[SEMATTRS_RPC_SYSTEM]).toEqual('aws-api');
         expect(span.attributes[SEMATTRS_RPC_METHOD]).toEqual('PutObject');
         expect(span.attributes[SEMATTRS_RPC_SERVICE]).toEqual('S3');
+        expect(span.attributes[SEMATTRS_HTTP_STATUS_CODE]).toEqual(403);
         expect(span.attributes[AttributeNames.AWS_REGION]).toEqual(region);
         expect(span.attributes[AttributeNames.AWS_REQUEST_ID]).toEqual(
           'MS95GTS7KXQ34X2S'

From 830246460beed0ece9c61852675943bb86161692 Mon Sep 17 00:00:00 2001
From: Brian Phillips <28457+brianphillips@users.noreply.github.com>
Date: Tue, 23 Jul 2024 01:51:07 -0500
Subject: [PATCH 065/123] feat(auto-instrumentations-node): enable
 auto-instrumentation for KafkaJS (#2340)

Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
---
 metapackages/auto-instrumentations-node/README.md    | 1 +
 metapackages/auto-instrumentations-node/package.json | 1 +
 metapackages/auto-instrumentations-node/src/utils.ts | 2 ++
 package-lock.json                                    | 2 ++
 4 files changed, 6 insertions(+)

diff --git a/metapackages/auto-instrumentations-node/README.md b/metapackages/auto-instrumentations-node/README.md
index c32df7c437..0c71574801 100644
--- a/metapackages/auto-instrumentations-node/README.md
+++ b/metapackages/auto-instrumentations-node/README.md
@@ -173,6 +173,7 @@ registerInstrumentations({
 - [@opentelemetry/instrumentation-hapi](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-hapi)
 - [@opentelemetry/instrumentation-http](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http)
 - [@opentelemetry/instrumentation-ioredis](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-ioredis)
+- [@opentelemetry/instrumentation-kafkajs](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-kafkajs)
 - [@opentelemetry/instrumentation-knex](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-knex)
 - [@opentelemetry/instrumentation-koa](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-koa)
 - [@opentelemetry/instrumentation-lru-memoizer](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-lru-memoizer)
diff --git a/metapackages/auto-instrumentations-node/package.json b/metapackages/auto-instrumentations-node/package.json
index b8e634fc2d..c01ee442e3 100644
--- a/metapackages/auto-instrumentations-node/package.json
+++ b/metapackages/auto-instrumentations-node/package.json
@@ -68,6 +68,7 @@
     "@opentelemetry/instrumentation-hapi": "^0.40.0",
     "@opentelemetry/instrumentation-http": "^0.52.0",
     "@opentelemetry/instrumentation-ioredis": "^0.42.0",
+    "@opentelemetry/instrumentation-kafkajs": "^0.2.0",
     "@opentelemetry/instrumentation-knex": "^0.38.0",
     "@opentelemetry/instrumentation-koa": "^0.42.0",
     "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
diff --git a/metapackages/auto-instrumentations-node/src/utils.ts b/metapackages/auto-instrumentations-node/src/utils.ts
index c258dfc597..b0417115a5 100644
--- a/metapackages/auto-instrumentations-node/src/utils.ts
+++ b/metapackages/auto-instrumentations-node/src/utils.ts
@@ -35,6 +35,7 @@ import { GrpcInstrumentation } from '@opentelemetry/instrumentation-grpc';
 import { HapiInstrumentation } from '@opentelemetry/instrumentation-hapi';
 import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
 import { IORedisInstrumentation } from '@opentelemetry/instrumentation-ioredis';
+import { KafkaJsInstrumentation } from '@opentelemetry/instrumentation-kafkajs';
 import { KnexInstrumentation } from '@opentelemetry/instrumentation-knex';
 import { KoaInstrumentation } from '@opentelemetry/instrumentation-koa';
 import { LruMemoizerInstrumentation } from '@opentelemetry/instrumentation-lru-memoizer';
@@ -112,6 +113,7 @@ const InstrumentationMap = {
   '@opentelemetry/instrumentation-hapi': HapiInstrumentation,
   '@opentelemetry/instrumentation-http': HttpInstrumentation,
   '@opentelemetry/instrumentation-ioredis': IORedisInstrumentation,
+  '@opentelemetry/instrumentation-kafkajs': KafkaJsInstrumentation,
   '@opentelemetry/instrumentation-knex': KnexInstrumentation,
   '@opentelemetry/instrumentation-koa': KoaInstrumentation,
   '@opentelemetry/instrumentation-lru-memoizer': LruMemoizerInstrumentation,
diff --git a/package-lock.json b/package-lock.json
index bad6cfc046..edd02152bc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -335,6 +335,7 @@
         "@opentelemetry/instrumentation-hapi": "^0.40.0",
         "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/instrumentation-ioredis": "^0.42.0",
+        "@opentelemetry/instrumentation-kafkajs": "^0.2.0",
         "@opentelemetry/instrumentation-knex": "^0.38.0",
         "@opentelemetry/instrumentation-koa": "^0.42.0",
         "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
@@ -50457,6 +50458,7 @@
         "@opentelemetry/instrumentation-hapi": "^0.40.0",
         "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/instrumentation-ioredis": "^0.42.0",
+        "@opentelemetry/instrumentation-kafkajs": "^0.2.0",
         "@opentelemetry/instrumentation-knex": "^0.38.0",
         "@opentelemetry/instrumentation-koa": "^0.42.0",
         "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",

From 8bcb5610acceb99efbd60d030c7e9a69f4dff316 Mon Sep 17 00:00:00 2001
From: Jamie Danielson <jamiedanielson@honeycomb.io>
Date: Tue, 23 Jul 2024 03:14:17 -0400
Subject: [PATCH 066/123] test(auto-instr-node): show result of setting both
 env vars (#2325)

* test(auto-instr-node): show result of setting both env vars

OTEL_NODE_ENABLED_INSTRUMENTATIONS
and
OTEL_NODE_DISABLED_INSTRUMENTATIONS
environment variables are mutually exclusive.
All instrumentations are disabled when both are set.

* update to more reliable test and update docs

* remove unnecessary debug line

---------

Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
---
 .../auto-instrumentations-node/README.md      |  3 +++
 .../test/utils.test.ts                        | 19 +++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/metapackages/auto-instrumentations-node/README.md b/metapackages/auto-instrumentations-node/README.md
index 0c71574801..2674dfd4fe 100644
--- a/metapackages/auto-instrumentations-node/README.md
+++ b/metapackages/auto-instrumentations-node/README.md
@@ -97,6 +97,9 @@ To disable only [@opentelemetry/instrumentation-fs](https://github.com/open-tele
 export OTEL_NODE_DISABLED_INSTRUMENTATIONS="fs"
 ```
 
+If both environment variables are set, `OTEL_NODE_ENABLED_INSTRUMENTATIONS` is applied first, and then `OTEL_NODE_DISABLED_INSTRUMENTATIONS` is applied to that list.
+Therefore, if the same instrumentation is included in both lists, that instrumentation will be disabled.
+
 To enable logging for troubleshooting, set the log level by setting the `OTEL_LOG_LEVEL` environment variable to one of the following:
 
 - `none`
diff --git a/metapackages/auto-instrumentations-node/test/utils.test.ts b/metapackages/auto-instrumentations-node/test/utils.test.ts
index ceea3262a8..cc7cb24c68 100644
--- a/metapackages/auto-instrumentations-node/test/utils.test.ts
+++ b/metapackages/auto-instrumentations-node/test/utils.test.ts
@@ -114,6 +114,25 @@ describe('utils', () => {
       }
     });
 
+    it('should disable any instrumentations from OTEL_NODE_ENABLED_INSTRUMENTATIONS if set in OTEL_NODE_DISABLED_INSTRUMENTATIONS', () => {
+      process.env.OTEL_NODE_ENABLED_INSTRUMENTATIONS = 'http,express,net';
+      process.env.OTEL_NODE_DISABLED_INSTRUMENTATIONS = 'fs,net'; // fs is no-op here, already disabled
+      try {
+        const instrumentations = getNodeAutoInstrumentations();
+
+        assert.deepStrictEqual(
+          new Set(instrumentations.map(i => i.instrumentationName)),
+          new Set([
+            '@opentelemetry/instrumentation-http',
+            '@opentelemetry/instrumentation-express',
+          ])
+        );
+      } finally {
+        delete process.env.OTEL_NODE_DISABLED_INSTRUMENTATIONS;
+        delete process.env.OTEL_NODE_ENABLED_INSTRUMENTATIONS;
+      }
+    });
+
     it('should show error for none existing instrumentation', () => {
       const spy = sinon.stub(diag, 'error');
       const name = '@opentelemetry/instrumentation-http2';

From 6dfe93c01c6a5750d69045a1ae037b8712857b8f Mon Sep 17 00:00:00 2001
From: Amir Blum <amirgiraffe@gmail.com>
Date: Tue, 23 Jul 2024 14:06:08 +0300
Subject: [PATCH 067/123] chore: consistent and typed use of instrumentation
 config (#2289)

* refactor(amqplib): use generic instrumentation config type

* chore: consistent and typed use of instrumentation config

* fix(amqplib): read config on each invocation of interval

* fix(graphql): ts error

* fix(undici): tests

* chore: lint fix

* fix(graphql): remove uneeded non-null assertion operator

* fix(graphql): move public type to right file

* chore: lint fix

---------

Co-authored-by: Trent Mick <trentm@gmail.com>
---
 .../instrumentation-amqplib/src/amqplib.ts    | 47 ++++++++--------
 .../src/instrumentation.ts                    |  2 +-
 .../src/instrumentation.ts                    | 10 +---
 .../instrumentation-fs/src/instrumentation.ts |  8 +--
 .../src/instrumentation.ts                    | 14 ++---
 .../instrumentation-mongoose/src/mongoose.ts  | 56 +++++++++----------
 .../src/instrumentation.ts                    |  5 +-
 .../src/socket.io.ts                          | 24 ++++----
 .../src/instrumentation.ts                    |  2 +-
 .../node/instrumentation-undici/src/undici.ts | 22 ++++----
 .../src/instrumentation.ts                    | 27 ++++-----
 .../src/aws-sdk.ts                            | 26 ++++-----
 .../src/instrumentation.ts                    | 22 +++-----
 .../src/instrumentation.ts                    | 15 ++---
 .../src/instrumentation.ts                    | 10 ++--
 .../src/instrumentation.ts                    | 23 +++-----
 .../src/instrumentation.ts                    | 15 ++---
 .../src/instrumentation.ts                    | 52 +++++++----------
 .../src/internal-types.ts                     |  8 ---
 .../src/types.ts                              |  9 +++
 .../src/utils.ts                              | 12 ++--
 .../src/instrumentation.ts                    | 35 ++++++------
 .../src/instrumentation.ts                    | 27 +++++----
 .../src/instrumentation.ts                    | 15 ++---
 .../src/instrumentation.ts                    | 22 +++-----
 .../src/instrumentation.ts                    | 21 +++----
 .../src/instrumentation.ts                    |  7 +--
 .../src/instrumentation.ts                    | 15 ++---
 .../src/instrumentation.ts                    | 18 ++----
 .../src/instrumentation.ts                    | 16 ++----
 .../src/instrumentation.ts                    | 17 +++---
 .../src/instrumentation.ts                    | 10 ++--
 .../src/instrumentation.ts                    | 14 +----
 .../src/instrumentation.ts                    | 16 ++----
 .../src/instrumentation.ts                    | 23 +++-----
 .../src/instrumentation.ts                    | 12 ++--
 .../src/instrumentation.ts                    |  2 +-
 37 files changed, 282 insertions(+), 397 deletions(-)

diff --git a/plugins/node/instrumentation-amqplib/src/amqplib.ts b/plugins/node/instrumentation-amqplib/src/amqplib.ts
index 54fcf43afa..9b27d3d29c 100644
--- a/plugins/node/instrumentation-amqplib/src/amqplib.ts
+++ b/plugins/node/instrumentation-amqplib/src/amqplib.ts
@@ -78,19 +78,13 @@ import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 const supportedVersions = ['>=0.5.5 <1'];
 
-export class AmqplibInstrumentation extends InstrumentationBase {
-  protected override _config!: AmqplibInstrumentationConfig;
-
+export class AmqplibInstrumentation extends InstrumentationBase<AmqplibInstrumentationConfig> {
   constructor(config: AmqplibInstrumentationConfig = {}) {
-    super(
-      PACKAGE_NAME,
-      PACKAGE_VERSION,
-      Object.assign({}, DEFAULT_CONFIG, config)
-    );
+    super(PACKAGE_NAME, PACKAGE_VERSION, { ...DEFAULT_CONFIG, ...config });
   }
 
   override setConfig(config: AmqplibInstrumentationConfig = {}) {
-    this._config = Object.assign({}, DEFAULT_CONFIG, config);
+    super.setConfig({ ...DEFAULT_CONFIG, ...config });
   }
 
   protected init() {
@@ -394,10 +388,11 @@ export class AmqplibInstrumentation extends InstrumentationBase {
       if (
         !Object.prototype.hasOwnProperty.call(channel, CHANNEL_SPANS_NOT_ENDED)
       ) {
-        if (self._config.consumeTimeoutMs) {
+        const { consumeTimeoutMs } = self.getConfig();
+        if (consumeTimeoutMs) {
           const timer = setInterval(() => {
             self.checkConsumeTimeoutOnChannel(channel);
-          }, self._config.consumeTimeoutMs);
+          }, consumeTimeoutMs);
           timer.unref();
           channel[CHANNEL_CONSUME_TIMEOUT_TIMER] = timer;
         }
@@ -455,9 +450,10 @@ export class AmqplibInstrumentation extends InstrumentationBase {
           parentContext
         );
 
-        if (self._config.consumeHook) {
+        const { consumeHook } = self.getConfig();
+        if (consumeHook) {
           safeExecuteInTheMiddle(
-            () => self._config.consumeHook!(span, { moduleVersion, msg }),
+            () => consumeHook(span, { moduleVersion, msg }),
             e => {
               if (e) {
                 diag.error('amqplib instrumentation: consumerHook error', e);
@@ -516,10 +512,11 @@ export class AmqplibInstrumentation extends InstrumentationBase {
         options
       );
 
-      if (self._config.publishHook) {
+      const { publishHook } = self.getConfig();
+      if (publishHook) {
         safeExecuteInTheMiddle(
           () =>
-            self._config.publishHook!(span, {
+            publishHook(span, {
               moduleVersion,
               exchange,
               routingKey,
@@ -544,10 +541,11 @@ export class AmqplibInstrumentation extends InstrumentationBase {
         try {
           callback?.call(this, err, ok);
         } finally {
-          if (self._config.publishConfirmHook) {
+          const { publishConfirmHook } = self.getConfig();
+          if (publishConfirmHook) {
             safeExecuteInTheMiddle(
               () =>
-                self._config.publishConfirmHook!(span, {
+                publishConfirmHook(span, {
                   moduleVersion,
                   exchange,
                   routingKey,
@@ -616,10 +614,11 @@ export class AmqplibInstrumentation extends InstrumentationBase {
           options
         );
 
-        if (self._config.publishHook) {
+        const { publishHook } = self.getConfig();
+        if (publishHook) {
           safeExecuteInTheMiddle(
             () =>
-              self._config.publishHook!(span, {
+              publishHook(span, {
                 moduleVersion,
                 exchange,
                 routingKey,
@@ -731,10 +730,11 @@ export class AmqplibInstrumentation extends InstrumentationBase {
     rejected: boolean | null,
     endOperation: EndOperation
   ) {
-    if (!this._config.consumeEndHook) return;
+    const { consumeEndHook } = this.getConfig();
+    if (!consumeEndHook) return;
 
     safeExecuteInTheMiddle(
-      () => this._config.consumeEndHook!(span, { msg, rejected, endOperation }),
+      () => consumeEndHook(span, { msg, rejected, endOperation }),
       e => {
         if (e) {
           diag.error('amqplib instrumentation: consumerEndHook error', e);
@@ -748,15 +748,14 @@ export class AmqplibInstrumentation extends InstrumentationBase {
     const currentTime = hrTime();
     const spansNotEnded = channel[CHANNEL_SPANS_NOT_ENDED] ?? [];
     let i: number;
+    const { consumeTimeoutMs } = this.getConfig();
     for (i = 0; i < spansNotEnded.length; i++) {
       const currMessage = spansNotEnded[i];
       const timeFromConsume = hrTimeDuration(
         currMessage.timeOfConsume,
         currentTime
       );
-      if (
-        hrTimeToMilliseconds(timeFromConsume) < this._config.consumeTimeoutMs!
-      ) {
+      if (hrTimeToMilliseconds(timeFromConsume) < consumeTimeoutMs!) {
         break;
       }
       this.endConsumerSpan(
diff --git a/plugins/node/instrumentation-cucumber/src/instrumentation.ts b/plugins/node/instrumentation-cucumber/src/instrumentation.ts
index 564f4e9604..0f4bfd5518 100644
--- a/plugins/node/instrumentation-cucumber/src/instrumentation.ts
+++ b/plugins/node/instrumentation-cucumber/src/instrumentation.ts
@@ -48,7 +48,7 @@ type Step = (typeof steps)[number];
 
 const supportedVersions = ['>=8.0.0 <11'];
 
-export class CucumberInstrumentation extends InstrumentationBase {
+export class CucumberInstrumentation extends InstrumentationBase<CucumberInstrumentationConfig> {
   private module: Cucumber | undefined;
 
   constructor(config: CucumberInstrumentationConfig = {}) {
diff --git a/plugins/node/instrumentation-dataloader/src/instrumentation.ts b/plugins/node/instrumentation-dataloader/src/instrumentation.ts
index 617104ee7d..53bc18a6b2 100644
--- a/plugins/node/instrumentation-dataloader/src/instrumentation.ts
+++ b/plugins/node/instrumentation-dataloader/src/instrumentation.ts
@@ -43,7 +43,7 @@ type DataloaderInternal = typeof Dataloader.prototype & {
 type LoadFn = (typeof Dataloader.prototype)['load'];
 type LoadManyFn = (typeof Dataloader.prototype)['loadMany'];
 
-export class DataloaderInstrumentation extends InstrumentationBase {
+export class DataloaderInstrumentation extends InstrumentationBase<DataloaderInstrumentationConfig> {
   constructor(config: DataloaderInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
@@ -72,14 +72,6 @@ export class DataloaderInstrumentation extends InstrumentationBase {
     ];
   }
 
-  override getConfig(): DataloaderInstrumentationConfig {
-    return this._config;
-  }
-
-  override setConfig(config: DataloaderInstrumentationConfig = {}) {
-    this._config = config;
-  }
-
   private shouldCreateSpans(): boolean {
     const config = this.getConfig();
     const hasParentSpan = trace.getSpan(context.active()) !== undefined;
diff --git a/plugins/node/instrumentation-fs/src/instrumentation.ts b/plugins/node/instrumentation-fs/src/instrumentation.ts
index 281e43fc10..cd2f8306dc 100644
--- a/plugins/node/instrumentation-fs/src/instrumentation.ts
+++ b/plugins/node/instrumentation-fs/src/instrumentation.ts
@@ -51,7 +51,7 @@ function patchedFunctionWithOriginalProperties<
   return Object.assign(patchedFunction, original);
 }
 
-export class FsInstrumentation extends InstrumentationBase {
+export class FsInstrumentation extends InstrumentationBase<FsInstrumentationConfig> {
   constructor(config: FsInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
@@ -438,7 +438,7 @@ export class FsInstrumentation extends InstrumentationBase {
   protected _runCreateHook(
     ...args: Parameters<CreateHook>
   ): ReturnType<CreateHook> {
-    const { createHook } = this.getConfig() as FsInstrumentationConfig;
+    const { createHook } = this.getConfig();
     if (typeof createHook === 'function') {
       try {
         return createHook(...args);
@@ -450,7 +450,7 @@ export class FsInstrumentation extends InstrumentationBase {
   }
 
   protected _runEndHook(...args: Parameters<EndHook>): ReturnType<EndHook> {
-    const { endHook } = this.getConfig() as FsInstrumentationConfig;
+    const { endHook } = this.getConfig();
     if (typeof endHook === 'function') {
       try {
         endHook(...args);
@@ -467,7 +467,7 @@ export class FsInstrumentation extends InstrumentationBase {
       return false;
     }
 
-    const { requireParentSpan } = this.getConfig() as FsInstrumentationConfig;
+    const { requireParentSpan } = this.getConfig();
     if (requireParentSpan) {
       const parentSpan = api.trace.getSpan(context);
       if (parentSpan == null) {
diff --git a/plugins/node/instrumentation-kafkajs/src/instrumentation.ts b/plugins/node/instrumentation-kafkajs/src/instrumentation.ts
index 69a158e815..25bc9aad70 100644
--- a/plugins/node/instrumentation-kafkajs/src/instrumentation.ts
+++ b/plugins/node/instrumentation-kafkajs/src/instrumentation.ts
@@ -53,9 +53,7 @@ import {
   isWrapped,
 } from '@opentelemetry/instrumentation';
 
-export class KafkaJsInstrumentation extends InstrumentationBase {
-  protected override _config!: KafkaJsInstrumentationConfig;
-
+export class KafkaJsInstrumentation extends InstrumentationBase<KafkaJsInstrumentationConfig> {
   constructor(config: KafkaJsInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
@@ -367,9 +365,10 @@ export class KafkaJsInstrumentation extends InstrumentationBase {
       context
     );
 
-    if (this._config?.consumerHook && message) {
+    const { consumerHook } = this.getConfig();
+    if (consumerHook && message) {
       safeExecuteInTheMiddle(
-        () => this._config.consumerHook!(span, { topic, message }),
+        () => consumerHook(span, { topic, message }),
         e => {
           if (e) this._diag.error('consumerHook error', e);
         },
@@ -392,9 +391,10 @@ export class KafkaJsInstrumentation extends InstrumentationBase {
     message.headers = message.headers ?? {};
     propagation.inject(trace.setSpan(context.active(), span), message.headers);
 
-    if (this._config?.producerHook) {
+    const { producerHook } = this.getConfig();
+    if (producerHook) {
       safeExecuteInTheMiddle(
-        () => this._config.producerHook!(span, { topic, message }),
+        () => producerHook(span, { topic, message }),
         e => {
           if (e) this._diag.error('producerHook error', e);
         },
diff --git a/plugins/node/instrumentation-mongoose/src/mongoose.ts b/plugins/node/instrumentation-mongoose/src/mongoose.ts
index 827b42e7cd..18f6a41c87 100644
--- a/plugins/node/instrumentation-mongoose/src/mongoose.ts
+++ b/plugins/node/instrumentation-mongoose/src/mongoose.ts
@@ -57,17 +57,11 @@ const contextCaptureFunctions = [
 // calls. this bypass the unlinked spans issue on thenables await operations.
 export const _STORED_PARENT_SPAN: unique symbol = Symbol('stored-parent-span');
 
-export class MongooseInstrumentation extends InstrumentationBase {
-  protected override _config!: MongooseInstrumentationConfig;
-
+export class MongooseInstrumentation extends InstrumentationBase<MongooseInstrumentationConfig> {
   constructor(config: MongooseInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
-  override setConfig(config: MongooseInstrumentationConfig = {}) {
-    this._config = Object.assign({}, config);
-  }
-
   protected init(): InstrumentationModuleDefinition {
     const module = new InstrumentationNodeModuleDefinition(
       'mongoose',
@@ -140,7 +134,7 @@ export class MongooseInstrumentation extends InstrumentationBase {
     return (originalAggregate: Function) => {
       return function exec(this: any, callback?: Function) {
         if (
-          self._config.requireParentSpan &&
+          self.getConfig().requireParentSpan &&
           trace.getSpan(context.active()) === undefined
         ) {
           return originalAggregate.apply(this, arguments);
@@ -148,12 +142,15 @@ export class MongooseInstrumentation extends InstrumentationBase {
 
         const parentSpan = this[_STORED_PARENT_SPAN];
         const attributes: Attributes = {};
-        if (self._config.dbStatementSerializer) {
-          attributes[SEMATTRS_DB_STATEMENT] =
-            self._config.dbStatementSerializer('aggregate', {
+        const { dbStatementSerializer } = self.getConfig();
+        if (dbStatementSerializer) {
+          attributes[SEMATTRS_DB_STATEMENT] = dbStatementSerializer(
+            'aggregate',
+            {
               options: this.options,
               aggregatePipeline: this._pipeline,
-            });
+            }
+          );
         }
 
         const span = self._startSpan(
@@ -181,7 +178,7 @@ export class MongooseInstrumentation extends InstrumentationBase {
     return (originalExec: Function) => {
       return function exec(this: any, callback?: Function) {
         if (
-          self._config.requireParentSpan &&
+          self.getConfig().requireParentSpan &&
           trace.getSpan(context.active()) === undefined
         ) {
           return originalExec.apply(this, arguments);
@@ -189,14 +186,14 @@ export class MongooseInstrumentation extends InstrumentationBase {
 
         const parentSpan = this[_STORED_PARENT_SPAN];
         const attributes: Attributes = {};
-        if (self._config.dbStatementSerializer) {
-          attributes[SEMATTRS_DB_STATEMENT] =
-            self._config.dbStatementSerializer(this.op, {
-              condition: this._conditions,
-              updates: this._update,
-              options: this.options,
-              fields: this._fields,
-            });
+        const { dbStatementSerializer } = self.getConfig();
+        if (dbStatementSerializer) {
+          attributes[SEMATTRS_DB_STATEMENT] = dbStatementSerializer(this.op, {
+            condition: this._conditions,
+            updates: this._update,
+            options: this.options,
+            fields: this._fields,
+          });
         }
         const span = self._startSpan(
           this.mongooseCollection,
@@ -223,7 +220,7 @@ export class MongooseInstrumentation extends InstrumentationBase {
     return (originalOnModelFunction: Function) => {
       return function method(this: any, options?: any, callback?: Function) {
         if (
-          self._config.requireParentSpan &&
+          self.getConfig().requireParentSpan &&
           trace.getSpan(context.active()) === undefined
         ) {
           return originalOnModelFunction.apply(this, arguments);
@@ -234,9 +231,12 @@ export class MongooseInstrumentation extends InstrumentationBase {
           serializePayload.options = options;
         }
         const attributes: Attributes = {};
-        if (self._config.dbStatementSerializer) {
-          attributes[SEMATTRS_DB_STATEMENT] =
-            self._config.dbStatementSerializer(op, serializePayload);
+        const { dbStatementSerializer } = self.getConfig();
+        if (dbStatementSerializer) {
+          attributes[SEMATTRS_DB_STATEMENT] = dbStatementSerializer(
+            op,
+            serializePayload
+          );
         }
         const span = self._startSpan(
           this.constructor.collection,
@@ -331,7 +331,7 @@ export class MongooseInstrumentation extends InstrumentationBase {
           originalThis,
           span,
           args,
-          self._config.responseHook,
+          self.getConfig().responseHook,
           moduleVersion
         )
       );
@@ -342,14 +342,14 @@ export class MongooseInstrumentation extends InstrumentationBase {
       return handlePromiseResponse(
         response,
         span,
-        self._config.responseHook,
+        self.getConfig().responseHook,
         moduleVersion
       );
     }
   }
 
   private _callOriginalFunction<T>(originalFunction: (...args: any[]) => T): T {
-    if (this._config?.suppressInternalInstrumentation) {
+    if (this.getConfig().suppressInternalInstrumentation) {
       return context.with(suppressTracing(context.active()), originalFunction);
     } else {
       return originalFunction();
diff --git a/plugins/node/instrumentation-runtime-node/src/instrumentation.ts b/plugins/node/instrumentation-runtime-node/src/instrumentation.ts
index ba26129590..3e80ae4280 100644
--- a/plugins/node/instrumentation-runtime-node/src/instrumentation.ts
+++ b/plugins/node/instrumentation-runtime-node/src/instrumentation.ts
@@ -26,7 +26,7 @@ const DEFAULT_CONFIG: RuntimeNodeInstrumentationConfig = {
   eventLoopUtilizationMeasurementInterval: 5000,
 };
 
-export class RuntimeNodeInstrumentation extends InstrumentationBase {
+export class RuntimeNodeInstrumentation extends InstrumentationBase<RuntimeNodeInstrumentationConfig> {
   private _ELUs: EventLoopUtilization[] = [];
   private _interval: NodeJS.Timeout | undefined;
 
@@ -79,8 +79,7 @@ export class RuntimeNodeInstrumentation extends InstrumentationBase {
     clearInterval(this._interval);
     this._interval = setInterval(
       () => this._addELU(),
-      (this._config as RuntimeNodeInstrumentationConfig)
-        .eventLoopUtilizationMeasurementInterval
+      this.getConfig().eventLoopUtilizationMeasurementInterval
     );
 
     // unref so that it does not keep the process running if disable() is never called
diff --git a/plugins/node/instrumentation-socket.io/src/socket.io.ts b/plugins/node/instrumentation-socket.io/src/socket.io.ts
index 9f8de7b534..4fd9d3e4a3 100644
--- a/plugins/node/instrumentation-socket.io/src/socket.io.ts
+++ b/plugins/node/instrumentation-socket.io/src/socket.io.ts
@@ -53,9 +53,7 @@ const reservedEvents = [
   'removeListener',
 ];
 
-export class SocketIoInstrumentation extends InstrumentationBase {
-  protected override _config!: SocketIoInstrumentationConfig;
-
+export class SocketIoInstrumentation extends InstrumentationBase<SocketIoInstrumentationConfig> {
   constructor(config: SocketIoInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, normalizeConfig(config));
   }
@@ -286,10 +284,10 @@ export class SocketIoInstrumentation extends InstrumentationBase {
     const self = this;
     return (original: Function) => {
       return function (this: any, ev: any, originalListener: Function) {
-        if (!self._config.traceReserved && reservedEvents.includes(ev)) {
+        if (!self.getConfig().traceReserved && reservedEvents.includes(ev)) {
           return original.apply(this, arguments);
         }
-        if (self._config.onIgnoreEventList?.includes(ev)) {
+        if (self.getConfig().onIgnoreEventList?.includes(ev)) {
           return original.apply(this, arguments);
         }
         const wrappedListener = function (this: any, ...args: any[]) {
@@ -315,10 +313,10 @@ export class SocketIoInstrumentation extends InstrumentationBase {
             }
           );
 
-          if (self._config.onHook) {
+          const { onHook } = self.getConfig();
+          if (onHook) {
             safeExecuteInTheMiddle(
-              () =>
-                self._config?.onHook?.(span, { moduleVersion, payload: args }),
+              () => onHook(span, { moduleVersion, payload: args }),
               e => {
                 if (e) self._diag.error('onHook error', e);
               },
@@ -369,10 +367,10 @@ export class SocketIoInstrumentation extends InstrumentationBase {
     const self = this;
     return (original: Function) => {
       return function (this: any, ev: any, ...args: any[]) {
-        if (!self._config.traceReserved && reservedEvents.includes(ev)) {
+        if (!self.getConfig().traceReserved && reservedEvents.includes(ev)) {
           return original.apply(this, arguments);
         }
-        if (self._config?.emitIgnoreEventList?.includes(ev)) {
+        if (self.getConfig().emitIgnoreEventList?.includes(ev)) {
           return original.apply(this, arguments);
         }
         const messagingSystem = 'socket.io';
@@ -401,10 +399,10 @@ export class SocketIoInstrumentation extends InstrumentationBase {
           attributes,
         });
 
-        if (self._config.emitHook) {
+        const { emitHook } = self.getConfig();
+        if (emitHook) {
           safeExecuteInTheMiddle(
-            () =>
-              self._config.emitHook?.(span, { moduleVersion, payload: args }),
+            () => emitHook(span, { moduleVersion, payload: args }),
             e => {
               if (e) self._diag.error('emitHook error', e);
             },
diff --git a/plugins/node/instrumentation-tedious/src/instrumentation.ts b/plugins/node/instrumentation-tedious/src/instrumentation.ts
index f701451421..e5fd7e4113 100644
--- a/plugins/node/instrumentation-tedious/src/instrumentation.ts
+++ b/plugins/node/instrumentation-tedious/src/instrumentation.ts
@@ -67,7 +67,7 @@ function setDatabase(this: ApproxConnection, databaseName: string) {
   });
 }
 
-export class TediousInstrumentation extends InstrumentationBase {
+export class TediousInstrumentation extends InstrumentationBase<TediousInstrumentationConfig> {
   static readonly COMPONENT = 'tedious';
 
   constructor(config: TediousInstrumentationConfig = {}) {
diff --git a/plugins/node/instrumentation-undici/src/undici.ts b/plugins/node/instrumentation-undici/src/undici.ts
index e436c8aff4..59f0dfc5ca 100644
--- a/plugins/node/instrumentation-undici/src/undici.ts
+++ b/plugins/node/instrumentation-undici/src/undici.ts
@@ -59,7 +59,7 @@ interface InstrumentationRecord {
 
 // A combination of https://github.com/elastic/apm-agent-nodejs and
 // https://github.com/gadget-inc/opentelemetry-instrumentations/blob/main/packages/opentelemetry-instrumentation-undici/src/index.ts
-export class UndiciInstrumentation extends InstrumentationBase {
+export class UndiciInstrumentation extends InstrumentationBase<UndiciInstrumentationConfig> {
   // Keep ref to avoid https://github.com/nodejs/node/issues/42170 bug and for
   // unsubscribing.
   private _channelSubs!: Array<ListenerRecord>;
@@ -77,20 +77,22 @@ export class UndiciInstrumentation extends InstrumentationBase {
   }
 
   override disable(): void {
-    if (!this._config.enabled) {
+    if (!this.getConfig().enabled) {
       return;
     }
 
     this._channelSubs.forEach(sub => sub.channel.unsubscribe(sub.onMessage));
     this._channelSubs.length = 0;
-    this._config.enabled = false;
+    super.disable();
+    this.setConfig({ ...this.getConfig(), enabled: false });
   }
 
   override enable(): void {
-    if (this._config.enabled) {
+    if (this.getConfig().enabled) {
       return;
     }
-    this._config.enabled = true;
+    super.enable();
+    this.setConfig({ ...this.getConfig(), enabled: true });
 
     // This method is called by the `InstrumentationAbstract` constructor before
     // ours is called. So we need to ensure the property is initalized
@@ -138,10 +140,6 @@ export class UndiciInstrumentation extends InstrumentationBase {
     );
   }
 
-  private _getConfig(): UndiciInstrumentationConfig {
-    return this._config as UndiciInstrumentationConfig;
-  }
-
   private subscribeToChannel(
     diagnosticChannel: string,
     onMessage: ListenerRecord['onMessage']
@@ -163,7 +161,7 @@ export class UndiciInstrumentation extends InstrumentationBase {
     // - instrumentation is disabled
     // - ignored by config
     // - method is 'CONNECT'
-    const config = this._getConfig();
+    const config = this.getConfig();
     const shouldIgnoreReq = safeExecuteInTheMiddle(
       () =>
         !config.enabled ||
@@ -297,7 +295,7 @@ export class UndiciInstrumentation extends InstrumentationBase {
       return;
     }
 
-    const config = this._getConfig();
+    const config = this.getConfig();
     const { span } = record;
     const { remoteAddress, remotePort } = socket;
     const spanAttributes: Attributes = {
@@ -355,7 +353,7 @@ export class UndiciInstrumentation extends InstrumentationBase {
       [SemanticAttributes.HTTP_RESPONSE_STATUS_CODE]: response.statusCode,
     };
 
-    const config = this._getConfig();
+    const config = this.getConfig();
     const headersToAttribs = new Set();
 
     if (config.headersToSpanAttributes?.responseHeaders) {
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-aws-lambda/src/instrumentation.ts
index 0d8eb8a5e2..4aef1509ce 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/src/instrumentation.ts
@@ -73,15 +73,12 @@ const headerGetter: TextMapGetter<APIGatewayProxyEventHeaders> = {
 
 export const traceContextEnvironmentKey = '_X_AMZN_TRACE_ID';
 
-export class AwsLambdaInstrumentation extends InstrumentationBase {
+export class AwsLambdaInstrumentation extends InstrumentationBase<AwsLambdaInstrumentationConfig> {
   private _traceForceFlusher?: () => Promise<void>;
   private _metricForceFlusher?: () => Promise<void>;
 
-  protected override _config!: AwsLambdaInstrumentationConfig;
-
   constructor(config: AwsLambdaInstrumentationConfig = {}) {
-    super(PACKAGE_NAME, PACKAGE_VERSION, config);
-    if (this._config.disableAwsContextPropagation == null) {
+    if (config.disableAwsContextPropagation == null) {
       if (
         typeof env['OTEL_LAMBDA_DISABLE_AWS_CONTEXT_PROPAGATION'] ===
           'string' &&
@@ -89,18 +86,16 @@ export class AwsLambdaInstrumentation extends InstrumentationBase {
           'OTEL_LAMBDA_DISABLE_AWS_CONTEXT_PROPAGATION'
         ].toLocaleLowerCase() === 'true'
       ) {
-        this._config.disableAwsContextPropagation = true;
+        config = { ...config, disableAwsContextPropagation: true };
       }
     }
-  }
 
-  override setConfig(config: AwsLambdaInstrumentationConfig = {}) {
-    this._config = config;
+    super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
   init() {
     const taskRoot = process.env.LAMBDA_TASK_ROOT;
-    const handlerDef = this._config.lambdaHandler ?? process.env._HANDLER;
+    const handlerDef = this.getConfig().lambdaHandler ?? process.env._HANDLER;
 
     // _HANDLER and LAMBDA_TASK_ROOT are always defined in Lambda but guard bail out if in the future this changes.
     if (!taskRoot || !handlerDef) {
@@ -187,7 +182,7 @@ export class AwsLambdaInstrumentation extends InstrumentationBase {
       context: Context,
       callback: Callback
     ) {
-      const config = plugin._config;
+      const config = plugin.getConfig();
       const parent = AwsLambdaInstrumentation._determineParent(
         event,
         context,
@@ -213,9 +208,10 @@ export class AwsLambdaInstrumentation extends InstrumentationBase {
         parent
       );
 
-      if (config.requestHook) {
+      const { requestHook } = config;
+      if (requestHook) {
         safeExecuteInTheMiddle(
-          () => config.requestHook!(span, { event, context }),
+          () => requestHook(span, { event, context }),
           e => {
             if (e)
               diag.error('aws-lambda instrumentation: requestHook error', e);
@@ -362,9 +358,10 @@ export class AwsLambdaInstrumentation extends InstrumentationBase {
     err?: Error | string | null,
     res?: any
   ) {
-    if (this._config?.responseHook) {
+    const { responseHook } = this.getConfig();
+    if (responseHook) {
       safeExecuteInTheMiddle(
-        () => this._config.responseHook!(span, { err, res }),
+        () => responseHook(span, { err, res }),
         e => {
           if (e)
             diag.error('aws-lambda instrumentation: responseHook error', e);
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts b/plugins/node/opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts
index 1427ae0386..c8180d3def 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/src/aws-sdk.ts
@@ -72,19 +72,14 @@ type V2PluginRequest = AWS.Request<any, any> & {
   [REQUEST_SPAN_KEY]?: Span;
 };
 
-export class AwsInstrumentation extends InstrumentationBase {
+export class AwsInstrumentation extends InstrumentationBase<AwsSdkInstrumentationConfig> {
   static readonly component = 'aws-sdk';
-  protected override _config!: AwsSdkInstrumentationConfig;
   private servicesExtensions: ServicesExtensions = new ServicesExtensions();
 
   constructor(config: AwsSdkInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
-  override setConfig(config: AwsSdkInstrumentationConfig = {}) {
-    this._config = Object.assign({}, config);
-  }
-
   protected init(): InstrumentationModuleDefinition[] {
     const v3MiddlewareStackFileOldVersions = new InstrumentationNodeModuleFile(
       '@aws-sdk/middleware-stack/dist/cjs/MiddlewareStack.js',
@@ -274,13 +269,14 @@ export class AwsInstrumentation extends InstrumentationBase {
     request: NormalizedRequest,
     moduleVersion: string | undefined
   ) {
-    if (this._config?.preRequestHook) {
+    const { preRequestHook } = this.getConfig();
+    if (preRequestHook) {
       const requestInfo: AwsSdkRequestHookInformation = {
         moduleVersion,
         request,
       };
       safeExecuteInTheMiddle(
-        () => this._config.preRequestHook!(span, requestInfo),
+        () => preRequestHook(span, requestInfo),
         (e: Error | undefined) => {
           if (e)
             diag.error(
@@ -294,7 +290,7 @@ export class AwsInstrumentation extends InstrumentationBase {
   }
 
   private _callUserResponseHook(span: Span, response: NormalizedResponse) {
-    const responseHook = this._config?.responseHook;
+    const { responseHook } = this.getConfig();
     if (!responseHook) return;
 
     const responseInfo: AwsSdkResponseHookInformation = {
@@ -343,7 +339,7 @@ export class AwsInstrumentation extends InstrumentationBase {
             normalizedResponse,
             span,
             self.tracer,
-            self._config
+            self.getConfig()
           );
         }
 
@@ -462,7 +458,7 @@ export class AwsInstrumentation extends InstrumentationBase {
         );
         const requestMetadata = self.servicesExtensions.requestPreSpanHook(
           normalizedRequest,
-          self._config,
+          self.getConfig(),
           self._diag
         );
         const span = self._startAwsV3Span(normalizedRequest, requestMetadata);
@@ -528,7 +524,7 @@ export class AwsInstrumentation extends InstrumentationBase {
                     normalizedResponse,
                     span,
                     self.tracer,
-                    self._config
+                    self.getConfig()
                   );
                   self._callUserResponseHook(span, normalizedResponse);
                   return response;
@@ -601,7 +597,7 @@ export class AwsInstrumentation extends InstrumentationBase {
       const normalizedRequest = normalizeV2Request(this);
       const requestMetadata = self.servicesExtensions.requestPreSpanHook(
         normalizedRequest,
-        self._config,
+        self.getConfig(),
         self._diag
       );
       const span = self._startAwsV2Span(
@@ -644,7 +640,7 @@ export class AwsInstrumentation extends InstrumentationBase {
       const normalizedRequest = normalizeV2Request(this);
       const requestMetadata = self.servicesExtensions.requestPreSpanHook(
         normalizedRequest,
-        self._config,
+        self.getConfig(),
         self._diag
       );
       const span = self._startAwsV2Span(
@@ -680,7 +676,7 @@ export class AwsInstrumentation extends InstrumentationBase {
   }
 
   private _callOriginalFunction<T>(originalFunction: (...args: any[]) => T): T {
-    if (this._config?.suppressInternalInstrumentation) {
+    if (this.getConfig().suppressInternalInstrumentation) {
       return context.with(suppressTracing(context.active()), originalFunction);
     } else {
       return originalFunction();
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts
index e70fab1a00..ed32f31142 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts
@@ -32,13 +32,9 @@ const DEFAULT_CONFIG: BunyanInstrumentationConfig = {
   disableLogCorrelation: false,
 };
 
-export class BunyanInstrumentation extends InstrumentationBase {
+export class BunyanInstrumentation extends InstrumentationBase<BunyanInstrumentationConfig> {
   constructor(config: BunyanInstrumentationConfig = {}) {
-    super(
-      PACKAGE_NAME,
-      PACKAGE_VERSION,
-      Object.assign({}, DEFAULT_CONFIG, config)
-    );
+    super(PACKAGE_NAME, PACKAGE_VERSION, { ...DEFAULT_CONFIG, ...config });
   }
 
   protected init() {
@@ -99,12 +95,8 @@ export class BunyanInstrumentation extends InstrumentationBase {
     ];
   }
 
-  override getConfig(): BunyanInstrumentationConfig {
-    return this._config;
-  }
-
   override setConfig(config: BunyanInstrumentationConfig = {}) {
-    this._config = Object.assign({}, DEFAULT_CONFIG, config);
+    this._config = { ...DEFAULT_CONFIG, ...config };
   }
 
   private _getPatchedEmit() {
@@ -150,7 +142,7 @@ export class BunyanInstrumentation extends InstrumentationBase {
   }
 
   private _addStream(logger: any) {
-    const config: BunyanInstrumentationConfig = this.getConfig();
+    const config = this.getConfig();
     if (!this.isEnabled() || config.disableLogSending) {
       return;
     }
@@ -168,14 +160,14 @@ export class BunyanInstrumentation extends InstrumentationBase {
   }
 
   private _callHook(span: Span, record: Record<string, string>) {
-    const hook = this.getConfig().logHook;
+    const { logHook } = this.getConfig();
 
-    if (typeof hook !== 'function') {
+    if (typeof logHook !== 'function') {
       return;
     }
 
     safeExecuteInTheMiddle(
-      () => hook(span, record),
+      () => logHook(span, record),
       err => {
         if (err) {
           this._diag.error('error calling logHook', err);
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts
index 46949a7380..d73e3b0253 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/src/instrumentation.ts
@@ -45,9 +45,7 @@ import type * as CassandraDriver from 'cassandra-driver';
 
 const supportedVersions = ['>=4.4.0 <5'];
 
-export class CassandraDriverInstrumentation extends InstrumentationBase {
-  protected override _config!: CassandraDriverInstrumentationConfig;
-
+export class CassandraDriverInstrumentation extends InstrumentationBase<CassandraDriverInstrumentationConfig> {
   constructor(config: CassandraDriverInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
@@ -120,13 +118,11 @@ export class CassandraDriverInstrumentation extends InstrumentationBase {
   }
 
   private _getMaxQueryLength(): number {
-    const config = this.getConfig() as CassandraDriverInstrumentationConfig;
-    return config.maxQueryLength ?? 65536;
+    return this.getConfig().maxQueryLength ?? 65536;
   }
 
   private _shouldIncludeDbStatement(): boolean {
-    const config = this.getConfig() as CassandraDriverInstrumentationConfig;
-    return config.enhancedDatabaseReporting ?? false;
+    return this.getConfig().enhancedDatabaseReporting ?? false;
   }
 
   private _getPatchedExecute() {
@@ -334,12 +330,13 @@ export class CassandraDriverInstrumentation extends InstrumentationBase {
   }
 
   private _callResponseHook(span: Span, response: ResultSet) {
-    if (!this._config.responseHook) {
+    const { responseHook } = this.getConfig();
+    if (!responseHook) {
       return;
     }
 
     safeExecuteInTheMiddle(
-      () => this._config.responseHook!(span, { response: response }),
+      () => responseHook(span, { response: response }),
       e => {
         if (e) {
           this._diag.error('responseHook error', e);
diff --git a/plugins/node/opentelemetry-instrumentation-dns/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-dns/src/instrumentation.ts
index ae97438ddb..a99051a502 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-dns/src/instrumentation.ts
@@ -36,9 +36,7 @@ import {
 /**
  * Dns instrumentation for Opentelemetry
  */
-export class DnsInstrumentation extends InstrumentationBase {
-  protected override _config!: DnsInstrumentationConfig;
-
+export class DnsInstrumentation extends InstrumentationBase<DnsInstrumentationConfig> {
   constructor(config: DnsInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
@@ -112,8 +110,10 @@ export class DnsInstrumentation extends InstrumentationBase {
       ...args: unknown[]
     ) {
       if (
-        utils.isIgnored(hostname, plugin._config.ignoreHostnames, (e: Error) =>
-          diag.error('caught ignoreHostname error: ', e)
+        utils.isIgnored(
+          hostname,
+          plugin.getConfig().ignoreHostnames,
+          (e: Error) => diag.error('caught ignoreHostname error: ', e)
         )
       ) {
         return original.apply(this, [hostname, ...args]);
diff --git a/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
index 7aeb400ab2..bcff7a52e2 100644
--- a/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
@@ -50,19 +50,11 @@ import {
 } from './internal-types';
 
 /** Express instrumentation for OpenTelemetry */
-export class ExpressInstrumentation extends InstrumentationBase {
+export class ExpressInstrumentation extends InstrumentationBase<ExpressInstrumentationConfig> {
   constructor(config: ExpressInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
-  override setConfig(config: ExpressInstrumentationConfig = {}) {
-    this._config = Object.assign({}, config);
-  }
-
-  override getConfig(): ExpressInstrumentationConfig {
-    return this._config as ExpressInstrumentationConfig;
-  }
-
   init() {
     return [
       new InstrumentationNodeModuleDefinition(
@@ -199,7 +191,7 @@ export class ExpressInstrumentation extends InstrumentationBase {
         }
 
         // verify against the config if the layer should be ignored
-        if (isLayerIgnored(metadata.name, type, instrumentation._config)) {
+        if (isLayerIgnored(metadata.name, type, instrumentation.getConfig())) {
           if (type === ExpressLayerType.MIDDLEWARE) {
             (req[_LAYERS_STORE_PROPERTY] as string[]).pop();
           }
@@ -222,10 +214,11 @@ export class ExpressInstrumentation extends InstrumentationBase {
           attributes: Object.assign(attributes, metadata.attributes),
         });
 
-        if (instrumentation.getConfig().requestHook) {
+        const { requestHook } = instrumentation.getConfig();
+        if (requestHook) {
           safeExecuteInTheMiddle(
             () =>
-              instrumentation.getConfig().requestHook!(span, {
+              requestHook(span, {
                 request: req,
                 layerType: type,
                 route,
@@ -334,14 +327,14 @@ export class ExpressInstrumentation extends InstrumentationBase {
   }
 
   _getSpanName(info: ExpressRequestInfo, defaultName: string) {
-    const hook = this.getConfig().spanNameHook;
+    const { spanNameHook } = this.getConfig();
 
-    if (!(hook instanceof Function)) {
+    if (!(spanNameHook instanceof Function)) {
       return defaultName;
     }
 
     try {
-      return hook(info, defaultName) ?? defaultName;
+      return spanNameHook(info, defaultName) ?? defaultName;
     } catch (err) {
       diag.error(
         'express instrumentation: error calling span name rewrite hook',
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts
index 641bfc86e4..e7014c5365 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts
@@ -46,19 +46,11 @@ import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 export const ANONYMOUS_NAME = 'anonymous';
 
 /** Fastify instrumentation for OpenTelemetry */
-export class FastifyInstrumentation extends InstrumentationBase {
+export class FastifyInstrumentation extends InstrumentationBase<FastifyInstrumentationConfig> {
   constructor(config: FastifyInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
-  override setConfig(config: FastifyInstrumentationConfig = {}) {
-    this._config = Object.assign({}, config);
-  }
-
-  override getConfig(): FastifyInstrumentationConfig {
-    return this._config as FastifyInstrumentationConfig;
-  }
-
   init() {
     return [
       new InstrumentationNodeModuleDefinition(
@@ -281,9 +273,10 @@ export class FastifyInstrumentation extends InstrumentationBase {
         spanAttributes
       );
 
-      if (instrumentation.getConfig().requestHook) {
+      const { requestHook } = instrumentation.getConfig();
+      if (requestHook) {
         safeExecuteInTheMiddle(
-          () => instrumentation.getConfig().requestHook!(span, { request }),
+          () => requestHook(span, { request }),
           e => {
             if (e) {
               instrumentation._diag.error('request hook failed', e);
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-graphql/src/instrumentation.ts
index 88cb3afec9..1fc1bdf429 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-graphql/src/instrumentation.ts
@@ -33,7 +33,6 @@ import {
   executeType,
   parseType,
   validateType,
-  GraphQLInstrumentationParsedConfig,
   OtelExecutionArgs,
   ObjectWithGraphQLData,
   OPERATION_NOT_SUPPORTED,
@@ -52,9 +51,12 @@ import {
 import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import * as api from '@opentelemetry/api';
 import type { PromiseOrValue } from 'graphql/jsutils/PromiseOrValue';
-import { GraphQLInstrumentationConfig } from './types';
+import {
+  GraphQLInstrumentationConfig,
+  GraphQLInstrumentationParsedConfig,
+} from './types';
 
-const DEFAULT_CONFIG: GraphQLInstrumentationConfig = {
+const DEFAULT_CONFIG: GraphQLInstrumentationParsedConfig = {
   mergeItems: false,
   depth: -1,
   allowValues: false,
@@ -63,21 +65,13 @@ const DEFAULT_CONFIG: GraphQLInstrumentationConfig = {
 
 const supportedVersions = ['>=14.0.0 <17'];
 
-export class GraphQLInstrumentation extends InstrumentationBase {
+export class GraphQLInstrumentation extends InstrumentationBase<GraphQLInstrumentationParsedConfig> {
   constructor(config: GraphQLInstrumentationConfig = {}) {
-    super(
-      PACKAGE_NAME,
-      PACKAGE_VERSION,
-      Object.assign({}, DEFAULT_CONFIG, config)
-    );
-  }
-
-  private _getConfig(): GraphQLInstrumentationParsedConfig {
-    return this._config as GraphQLInstrumentationParsedConfig;
+    super(PACKAGE_NAME, PACKAGE_VERSION, { ...DEFAULT_CONFIG, ...config });
   }
 
   override setConfig(config: GraphQLInstrumentationConfig = {}) {
-    this._config = Object.assign({}, DEFAULT_CONFIG, config);
+    super.setConfig({ ...DEFAULT_CONFIG, ...config });
   }
 
   protected init() {
@@ -238,7 +232,7 @@ export class GraphQLInstrumentation extends InstrumentationBase {
     err?: Error,
     result?: PromiseOrValue<graphqlTypes.ExecutionResult>
   ) {
-    const config = this._getConfig();
+    const config = this.getConfig();
     if (result === undefined || err) {
       endSpan(span, err);
       return;
@@ -270,10 +264,14 @@ export class GraphQLInstrumentation extends InstrumentationBase {
     span: api.Span,
     result: graphqlTypes.ExecutionResult
   ) {
-    const config = this._getConfig();
+    const { responseHook } = this.getConfig();
+    if (!responseHook) {
+      return;
+    }
+
     safeExecuteInTheMiddle(
       () => {
-        config.responseHook(span, result);
+        responseHook(span, result);
       },
       err => {
         if (err) {
@@ -329,7 +327,7 @@ export class GraphQLInstrumentation extends InstrumentationBase {
     source: string | graphqlTypes.Source,
     options?: graphqlTypes.ParseOptions
   ): graphqlTypes.DocumentNode {
-    const config = this._getConfig();
+    const config = this.getConfig();
     const span = this.tracer.startSpan(SpanNames.PARSE);
 
     return context.with(trace.setSpan(context.active(), span), () => {
@@ -397,7 +395,7 @@ export class GraphQLInstrumentation extends InstrumentationBase {
     operation: graphqlTypes.DefinitionNode | undefined,
     processedArgs: graphqlTypes.ExecutionArgs
   ): api.Span {
-    const config = this._getConfig();
+    const config = this.getConfig();
 
     const span = this.tracer.startSpan(SpanNames.EXECUTE, {});
     if (operation) {
@@ -457,7 +455,7 @@ export class GraphQLInstrumentation extends InstrumentationBase {
 
     if (
       contextValue[OTEL_GRAPHQL_DATA_SYMBOL] ||
-      this._getConfig().ignoreResolveSpans
+      this.getConfig().ignoreResolveSpans
     ) {
       return {
         schema,
@@ -477,22 +475,14 @@ export class GraphQLInstrumentation extends InstrumentationBase {
     const fieldResolverForExecute = fieldResolver ?? defaultFieldResolved;
     fieldResolver = wrapFieldResolver(
       this.tracer,
-      this._getConfig.bind(this),
+      () => this.getConfig(),
       fieldResolverForExecute,
       isUsingDefaultResolver
     );
 
     if (schema) {
-      wrapFields(
-        schema.getQueryType(),
-        this.tracer,
-        this._getConfig.bind(this)
-      );
-      wrapFields(
-        schema.getMutationType(),
-        this.tracer,
-        this._getConfig.bind(this)
-      );
+      wrapFields(schema.getQueryType(), this.tracer, () => this.getConfig());
+      wrapFields(schema.getMutationType(), this.tracer, () => this.getConfig());
     }
 
     return {
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/src/internal-types.ts b/plugins/node/opentelemetry-instrumentation-graphql/src/internal-types.ts
index 3242ea94e4..59cd1b5b31 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/src/internal-types.ts
+++ b/plugins/node/opentelemetry-instrumentation-graphql/src/internal-types.ts
@@ -14,7 +14,6 @@
  * limitations under the License.
  */
 
-import { InstrumentationConfig } from '@opentelemetry/instrumentation';
 import type * as graphqlTypes from 'graphql';
 import type * as api from '@opentelemetry/api';
 import type { PromiseOrValue } from 'graphql/jsutils/PromiseOrValue';
@@ -24,17 +23,10 @@ import type {
   GraphQLTypeResolver,
 } from 'graphql/type/definition';
 import { OTEL_GRAPHQL_DATA_SYMBOL, OTEL_PATCHED_SYMBOL } from './symbols';
-import { GraphQLInstrumentationConfig } from './types';
 
 export const OPERATION_NOT_SUPPORTED =
   'Operation$operationName$not' + ' supported';
 
-/**
- * Merged and parsed config of default instrumentation config and GraphQL
- */
-export type GraphQLInstrumentationParsedConfig =
-  Required<GraphQLInstrumentationConfig> & InstrumentationConfig;
-
 export type executeFunctionWithObj = (
   args: graphqlTypes.ExecutionArgs
 ) => PromiseOrValue<graphqlTypes.ExecutionResult>;
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/src/types.ts b/plugins/node/opentelemetry-instrumentation-graphql/src/types.ts
index 7cedff14a8..0ec82003aa 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/src/types.ts
+++ b/plugins/node/opentelemetry-instrumentation-graphql/src/types.ts
@@ -80,3 +80,12 @@ export interface GraphQLInstrumentationConfig extends InstrumentationConfig {
    */
   responseHook?: GraphQLInstrumentationExecutionResponseHook;
 }
+
+// Utility type to make specific properties required
+type RequireSpecificKeys<T, K extends keyof T> = T & { [P in K]-?: T[P] };
+
+// Merged and parsed config of default instrumentation config and GraphQL
+export type GraphQLInstrumentationParsedConfig = RequireSpecificKeys<
+  GraphQLInstrumentationConfig,
+  'mergeItems' | 'depth' | 'allowValues' | 'ignoreResolveSpans'
+>;
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/src/utils.ts b/plugins/node/opentelemetry-instrumentation-graphql/src/utils.ts
index de7a555975..9bb98ed975 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/src/utils.ts
+++ b/plugins/node/opentelemetry-instrumentation-graphql/src/utils.ts
@@ -22,12 +22,11 @@ import { OTEL_GRAPHQL_DATA_SYMBOL, OTEL_PATCHED_SYMBOL } from './symbols';
 import {
   GraphQLField,
   GraphQLPath,
-  GraphQLInstrumentationParsedConfig,
   ObjectWithGraphQLData,
   OtelPatched,
   Maybe,
 } from './internal-types';
-import { GraphQLInstrumentationConfig } from './types';
+import { GraphQLInstrumentationParsedConfig } from './types';
 
 const OPERATION_VALUES = Object.values(AllowedOperationTypes);
 
@@ -367,12 +366,17 @@ const handleResolveSpanSuccess = (
 
 export function wrapFieldResolver<TSource = any, TContext = any, TArgs = any>(
   tracer: api.Tracer,
-  getConfig: () => Required<GraphQLInstrumentationConfig>,
+  getConfig: () => GraphQLInstrumentationParsedConfig,
   fieldResolver: Maybe<
     graphqlTypes.GraphQLFieldResolver<TSource, TContext, TArgs> & OtelPatched
   >,
   isDefaultResolver = false
-): graphqlTypes.GraphQLFieldResolver<TSource, TContext, TArgs> & OtelPatched {
+): graphqlTypes.GraphQLFieldResolver<
+  TSource,
+  TContext & ObjectWithGraphQLData,
+  TArgs
+> &
+  OtelPatched {
   if (
     (wrappedFieldResolver as OtelPatched)[OTEL_PATCHED_SYMBOL] ||
     typeof fieldResolver !== 'function'
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-ioredis/src/instrumentation.ts
index 346eed7165..232d5d9952 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/src/instrumentation.ts
@@ -39,15 +39,13 @@ const DEFAULT_CONFIG: IORedisInstrumentationConfig = {
   requireParentSpan: true,
 };
 
-export class IORedisInstrumentation extends InstrumentationBase {
-  protected override _config!: IORedisInstrumentationConfig;
-
+export class IORedisInstrumentation extends InstrumentationBase<IORedisInstrumentationConfig> {
   constructor(config: IORedisInstrumentationConfig = {}) {
-    super(
-      PACKAGE_NAME,
-      PACKAGE_VERSION,
-      Object.assign({}, DEFAULT_CONFIG, config)
-    );
+    super(PACKAGE_NAME, PACKAGE_VERSION, { ...DEFAULT_CONFIG, ...config });
+  }
+
+  override setConfig(config: IORedisInstrumentationConfig = {}) {
+    super.setConfig({ ...DEFAULT_CONFIG, ...config });
   }
 
   init(): InstrumentationNodeModuleDefinition[] {
@@ -112,13 +110,12 @@ export class IORedisInstrumentation extends InstrumentationBase {
       if (arguments.length < 1 || typeof cmd !== 'object') {
         return original.apply(this, arguments);
       }
-      const config =
-        instrumentation.getConfig() as IORedisInstrumentationConfig;
+      const config = instrumentation.getConfig();
       const dbStatementSerializer =
-        config?.dbStatementSerializer || defaultDbStatementSerializer;
+        config.dbStatementSerializer || defaultDbStatementSerializer;
 
       const hasNoParentSpan = trace.getSpan(context.active()) === undefined;
-      if (config?.requireParentSpan === true && hasNoParentSpan) {
+      if (config.requireParentSpan === true && hasNoParentSpan) {
         return original.apply(this, arguments);
       }
 
@@ -130,10 +127,11 @@ export class IORedisInstrumentation extends InstrumentationBase {
         },
       });
 
-      if (config?.requestHook) {
+      const { requestHook } = config;
+      if (requestHook) {
         safeExecuteInTheMiddle(
           () =>
-            config?.requestHook!(span, {
+            requestHook(span, {
               moduleVersion,
               cmdName: cmd.name,
               cmdArgs: cmd.args,
@@ -162,7 +160,7 @@ export class IORedisInstrumentation extends InstrumentationBase {
         /* eslint-disable @typescript-eslint/no-explicit-any */
         cmd.resolve = function (result: any) {
           safeExecuteInTheMiddle(
-            () => config?.responseHook?.(span, cmd.name, cmd.args, result),
+            () => config.responseHook?.(span, cmd.name, cmd.args, result),
             e => {
               if (e) {
                 diag.error('ioredis instrumentation: response hook failed', e);
@@ -192,10 +190,11 @@ export class IORedisInstrumentation extends InstrumentationBase {
   private _traceConnection(original: Function) {
     const instrumentation = this;
     return function (this: RedisInterface) {
-      const config =
-        instrumentation.getConfig() as IORedisInstrumentationConfig;
       const hasNoParentSpan = trace.getSpan(context.active()) === undefined;
-      if (config?.requireParentSpan === true && hasNoParentSpan) {
+      if (
+        instrumentation.getConfig().requireParentSpan === true &&
+        hasNoParentSpan
+      ) {
         return original.apply(this, arguments);
       }
 
diff --git a/plugins/node/opentelemetry-instrumentation-knex/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-knex/src/instrumentation.ts
index c80ebbe55c..5dbe4d3035 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-knex/src/instrumentation.ts
@@ -35,20 +35,20 @@ import {
   SEMATTRS_NET_TRANSPORT,
 } from '@opentelemetry/semantic-conventions';
 import * as utils from './utils';
-import * as types from './types';
+import { KnexInstrumentationConfig } from './types';
 
 const contextSymbol = Symbol('opentelemetry.instrumentation-knex.context');
-const DEFAULT_CONFIG: types.KnexInstrumentationConfig = {
+const DEFAULT_CONFIG: KnexInstrumentationConfig = {
   maxQueryLength: 1022,
 };
 
-export class KnexInstrumentation extends InstrumentationBase {
-  constructor(config: types.KnexInstrumentationConfig = {}) {
-    super(
-      PACKAGE_NAME,
-      PACKAGE_VERSION,
-      Object.assign({}, DEFAULT_CONFIG, config)
-    );
+export class KnexInstrumentation extends InstrumentationBase<KnexInstrumentationConfig> {
+  constructor(config: KnexInstrumentationConfig = {}) {
+    super(PACKAGE_NAME, PACKAGE_VERSION, { ...DEFAULT_CONFIG, ...config });
+  }
+
+  override setConfig(config: KnexInstrumentationConfig = {}) {
+    super.setConfig({ ...DEFAULT_CONFIG, ...config });
   }
 
   init() {
@@ -130,9 +130,7 @@ export class KnexInstrumentation extends InstrumentationBase {
         const operation = query?.method;
         const name =
           config?.connection?.filename || config?.connection?.database;
-        const maxLen = (
-          instrumentation._config as types.KnexInstrumentationConfig
-        ).maxQueryLength!;
+        const { maxQueryLength } = instrumentation.getConfig();
 
         const attributes: api.SpanAttributes = {
           'knex.version': moduleVersion,
@@ -146,10 +144,11 @@ export class KnexInstrumentation extends InstrumentationBase {
           [SEMATTRS_NET_TRANSPORT]:
             config?.connection?.filename === ':memory:' ? 'inproc' : undefined,
         };
-        if (maxLen !== 0) {
+        if (maxQueryLength) {
+          // filters both undefined and 0
           attributes[SEMATTRS_DB_STATEMENT] = utils.limitLength(
             query?.sql,
-            maxLen
+            maxQueryLength
           );
         }
 
diff --git a/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts
index 538916b922..6dd6c86021 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-koa/src/instrumentation.ts
@@ -35,19 +35,11 @@ import {
 } from './internal-types';
 
 /** Koa instrumentation for OpenTelemetry */
-export class KoaInstrumentation extends InstrumentationBase {
+export class KoaInstrumentation extends InstrumentationBase<KoaInstrumentationConfig> {
   constructor(config: KoaInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
-  override setConfig(config: KoaInstrumentationConfig = {}) {
-    this._config = Object.assign({}, config);
-  }
-
-  override getConfig(): KoaInstrumentationConfig {
-    return this._config as KoaInstrumentationConfig;
-  }
-
   protected init() {
     return new InstrumentationNodeModuleDefinition(
       'koa',
@@ -179,10 +171,11 @@ export class KoaInstrumentation extends InstrumentationBase {
         rpcMetadata.route = context._matchedRoute.toString();
       }
 
-      if (this.getConfig().requestHook) {
+      const { requestHook } = this.getConfig();
+      if (requestHook) {
         safeExecuteInTheMiddle(
           () =>
-            this.getConfig().requestHook!(span, {
+            requestHook(span, {
               context,
               middlewareLayer,
               layerType,
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts
index 53676b7468..bb54a99626 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-memcached/src/instrumentation.ts
@@ -31,7 +31,7 @@ import * as utils from './utils';
 import { InstrumentationConfig } from './types';
 import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
-export class MemcachedInstrumentation extends InstrumentationBase {
+export class MemcachedInstrumentation extends InstrumentationBase<InstrumentationConfig> {
   static readonly COMPONENT = 'memcached';
   static readonly COMMON_ATTRIBUTES = {
     [SEMATTRS_DB_SYSTEM]: DBSYSTEMVALUES_MEMCACHED,
@@ -41,19 +41,14 @@ export class MemcachedInstrumentation extends InstrumentationBase {
   };
 
   constructor(config: InstrumentationConfig = {}) {
-    super(
-      PACKAGE_NAME,
-      PACKAGE_VERSION,
-      Object.assign({}, MemcachedInstrumentation.DEFAULT_CONFIG, config)
-    );
+    super(PACKAGE_NAME, PACKAGE_VERSION, {
+      ...MemcachedInstrumentation.DEFAULT_CONFIG,
+      ...config,
+    });
   }
 
   override setConfig(config: InstrumentationConfig = {}) {
-    this._config = Object.assign(
-      {},
-      MemcachedInstrumentation.DEFAULT_CONFIG,
-      config
-    );
+    super.setConfig({ ...MemcachedInstrumentation.DEFAULT_CONFIG, ...config });
   }
 
   init() {
@@ -142,9 +137,8 @@ export class MemcachedInstrumentation extends InstrumentationBase {
         'db.memcached.key': query.key,
         'db.memcached.lifetime': query.lifetime,
         [SEMATTRS_DB_OPERATION]: query.type,
-        [SEMATTRS_DB_STATEMENT]: (
-          instrumentation._config as InstrumentationConfig
-        ).enhancedDatabaseReporting
+        [SEMATTRS_DB_STATEMENT]: instrumentation.getConfig()
+          .enhancedDatabaseReporting
           ? query.command
           : undefined,
         ...utils.getPeerAttributes(client, server, query),
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
index 3408f77bb9..b257b24621 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/src/instrumentation.ts
@@ -55,12 +55,10 @@ import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { UpDownCounter } from '@opentelemetry/api';
 
 /** mongodb instrumentation plugin for OpenTelemetry */
-export class MongoDBInstrumentation extends InstrumentationBase {
+export class MongoDBInstrumentation extends InstrumentationBase<MongoDBInstrumentationConfig> {
   private _connectionsUsage!: UpDownCounter;
   private _poolName!: string;
 
-  protected override _config!: MongoDBInstrumentationConfig;
-
   constructor(config: MongoDBInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
@@ -903,9 +901,12 @@ export class MongoDBInstrumentation extends InstrumentationBase {
       }
     }
     if (!commandObj) return;
+
+    const { dbStatementSerializer: configDbStatementSerializer } =
+      this.getConfig();
     const dbStatementSerializer =
-      typeof this._config.dbStatementSerializer === 'function'
-        ? this._config.dbStatementSerializer
+      typeof configDbStatementSerializer === 'function'
+        ? configDbStatementSerializer
         : this._defaultDbStatementSerializer.bind(this);
 
     safeExecuteInTheMiddle(
@@ -923,8 +924,8 @@ export class MongoDBInstrumentation extends InstrumentationBase {
   }
 
   private _defaultDbStatementSerializer(commandObj: Record<string, unknown>) {
-    const enhancedDbReporting = !!this._config?.enhancedDatabaseReporting;
-    const resultObj = enhancedDbReporting
+    const { enhancedDatabaseReporting } = this.getConfig();
+    const resultObj = enhancedDatabaseReporting
       ? commandObj
       : this._scrubStatement(commandObj);
     return JSON.stringify(resultObj);
@@ -954,11 +955,11 @@ export class MongoDBInstrumentation extends InstrumentationBase {
    * @param result The command result
    */
   private _handleExecutionResult(span: Span, result: CommandResult) {
-    const config: MongoDBInstrumentationConfig = this.getConfig();
-    if (typeof config.responseHook === 'function') {
+    const { responseHook } = this.getConfig();
+    if (typeof responseHook === 'function') {
       safeExecuteInTheMiddle(
         () => {
-          config.responseHook!(span, { data: result });
+          responseHook(span, { data: result });
         },
         err => {
           if (err) {
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-mysql/src/instrumentation.ts
index 5ce35c594f..bb7139b57e 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-mysql/src/instrumentation.ts
@@ -50,7 +50,7 @@ type getConnectionCallbackType = (
   connection: mysqlTypes.PoolConnection
 ) => void;
 
-export class MySQLInstrumentation extends InstrumentationBase {
+export class MySQLInstrumentation extends InstrumentationBase<MySQLInstrumentationConfig> {
   static readonly COMMON_ATTRIBUTES = {
     [SEMATTRS_DB_SYSTEM]: DBSYSTEMVALUES_MYSQL,
   };
@@ -317,10 +317,7 @@ export class MySQLInstrumentation extends InstrumentationBase {
 
         span.setAttribute(SEMATTRS_DB_STATEMENT, getDbStatement(query));
 
-        const instrumentationConfig: MySQLInstrumentationConfig =
-          thisPlugin.getConfig();
-
-        if (instrumentationConfig.enhancedDatabaseReporting) {
+        if (thisPlugin.getConfig().enhancedDatabaseReporting) {
           let values;
 
           if (Array.isArray(_valuesOrCallback)) {
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-mysql2/src/instrumentation.ts
index ee8ebfc6f5..0c60c0f452 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/src/instrumentation.ts
@@ -39,7 +39,7 @@ import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 
 type formatType = typeof mysqlTypes.format;
 
-export class MySQL2Instrumentation extends InstrumentationBase {
+export class MySQL2Instrumentation extends InstrumentationBase<MySQL2InstrumentationConfig> {
   static readonly COMMON_ATTRIBUTES = {
     [SEMATTRS_DB_SYSTEM]: DBSYSTEMVALUES_MYSQL,
   };
@@ -96,9 +96,6 @@ export class MySQL2Instrumentation extends InstrumentationBase {
         _valuesOrCallback?: unknown[] | Function,
         _callback?: Function
       ) {
-        const thisPluginConfig: MySQL2InstrumentationConfig =
-          thisPlugin._config;
-
         let values;
         if (Array.isArray(_valuesOrCallback)) {
           values = _valuesOrCallback;
@@ -115,7 +112,10 @@ export class MySQL2Instrumentation extends InstrumentationBase {
           },
         });
 
-        if (!isPrepared && thisPluginConfig.addSqlCommenterCommentToQueries) {
+        if (
+          !isPrepared &&
+          thisPlugin.getConfig().addSqlCommenterCommentToQueries
+        ) {
           arguments[0] = query =
             typeof query === 'string'
               ? addSqlCommenterComment(span, query)
@@ -131,10 +131,11 @@ export class MySQL2Instrumentation extends InstrumentationBase {
               message: err.message,
             });
           } else {
-            if (typeof thisPluginConfig.responseHook === 'function') {
+            const { responseHook } = thisPlugin.getConfig();
+            if (typeof responseHook === 'function') {
               safeExecuteInTheMiddle(
                 () => {
-                  thisPluginConfig.responseHook!(span, {
+                  responseHook(span, {
                     queryResults: results,
                   });
                 },
diff --git a/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
index 5d472a94b7..2df376d29f 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
@@ -42,7 +42,7 @@ import { addSqlCommenterComment } from '@opentelemetry/sql-common';
 import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { SpanNames } from './enums/SpanNames';
 
-export class PgInstrumentation extends InstrumentationBase {
+export class PgInstrumentation extends InstrumentationBase<PgInstrumentationConfig> {
   constructor(config: PgInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
@@ -113,14 +113,6 @@ export class PgInstrumentation extends InstrumentationBase {
     return [modulePG, modulePGPool];
   }
 
-  override setConfig(config: PgInstrumentationConfig = {}) {
-    this._config = Object.assign({}, config);
-  }
-
-  override getConfig(): PgInstrumentationConfig {
-    return this._config as PgInstrumentationConfig;
-  }
-
   private _getClientConnectPatch() {
     const plugin = this;
     return (original: PgClientConnect) => {
@@ -244,10 +236,8 @@ export class PgInstrumentation extends InstrumentationBase {
           }
         }
 
-        if (
-          typeof instrumentationConfig.requestHook === 'function' &&
-          queryConfig
-        ) {
+        const { requestHook } = instrumentationConfig;
+        if (typeof requestHook === 'function' && queryConfig) {
           safeExecuteInTheMiddle(
             () => {
               // pick keys to expose explicitly, so we're not leaking pg package
@@ -255,7 +245,7 @@ export class PgInstrumentation extends InstrumentationBase {
               const { database, host, port, user } = this.connectionParameters;
               const connection = { database, host, port, user };
 
-              instrumentationConfig.requestHook!(span, {
+              requestHook(span, {
                 connection,
                 query: {
                   text: queryConfig.text,
diff --git a/plugins/node/opentelemetry-instrumentation-pino/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-pino/src/instrumentation.ts
index 7a6edf907d..8a33b69df3 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-pino/src/instrumentation.ts
@@ -38,7 +38,7 @@ const DEFAULT_LOG_KEYS = {
   traceFlags: 'trace_flags',
 };
 
-export class PinoInstrumentation extends InstrumentationBase {
+export class PinoInstrumentation extends InstrumentationBase<PinoInstrumentationConfig> {
   constructor(config: PinoInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
@@ -138,23 +138,15 @@ export class PinoInstrumentation extends InstrumentationBase {
     ];
   }
 
-  override getConfig(): PinoInstrumentationConfig {
-    return this._config;
-  }
-
-  override setConfig(config: PinoInstrumentationConfig = {}) {
-    this._config = config;
-  }
-
   private _callHook(span: Span, record: Record<string, string>, level: number) {
-    const hook = this.getConfig().logHook;
+    const { logHook } = this.getConfig();
 
-    if (!hook) {
+    if (!logHook) {
       return;
     }
 
     safeExecuteInTheMiddle(
-      () => hook(span, record, level),
+      () => logHook(span, record, level),
       err => {
         if (err) {
           diag.error('pino instrumentation: error calling logHook', err);
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-redis-4/src/instrumentation.ts
index d62eceaa2c..d1459da8ff 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/src/instrumentation.ts
@@ -51,17 +51,15 @@ const DEFAULT_CONFIG: RedisInstrumentationConfig = {
   requireParentSpan: false,
 };
 
-export class RedisInstrumentation extends InstrumentationBase {
+export class RedisInstrumentation extends InstrumentationBase<RedisInstrumentationConfig> {
   static readonly COMPONENT = 'redis';
 
-  protected override _config!: RedisInstrumentationConfig;
-
   constructor(config: RedisInstrumentationConfig = {}) {
-    super(PACKAGE_NAME, PACKAGE_VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, { ...DEFAULT_CONFIG, ...config });
   }
 
   override setConfig(config: RedisInstrumentationConfig = {}) {
-    this._config = Object.assign({}, DEFAULT_CONFIG, config);
+    super.setConfig({ ...DEFAULT_CONFIG, ...config });
   }
 
   protected init() {
@@ -376,7 +374,7 @@ export class RedisInstrumentation extends InstrumentationBase {
     redisCommandArguments: Array<string | Buffer>
   ) {
     const hasNoParentSpan = trace.getSpan(context.active()) === undefined;
-    if (hasNoParentSpan && this._config?.requireParentSpan) {
+    if (hasNoParentSpan && this.getConfig().requireParentSpan) {
       return origFunction.apply(origThis, origArguments);
     }
 
@@ -386,7 +384,7 @@ export class RedisInstrumentation extends InstrumentationBase {
     const commandArgs = redisCommandArguments.slice(1);
 
     const dbStatementSerializer =
-      this._config?.dbStatementSerializer || defaultDbStatementSerializer;
+      this.getConfig().dbStatementSerializer || defaultDbStatementSerializer;
 
     const attributes = getClientAttributes(this._diag, clientOptions);
 
@@ -474,9 +472,10 @@ export class RedisInstrumentation extends InstrumentationBase {
     response: unknown,
     error: Error | undefined
   ) {
-    if (!error && this._config.responseHook) {
+    const { responseHook } = this.getConfig();
+    if (!error && responseHook) {
       try {
-        this._config.responseHook(span, commandName, commandArgs, response);
+        responseHook(span, commandName, commandArgs, response);
       } catch (err) {
         this._diag.error('responseHook throw an exception', err);
       }
diff --git a/plugins/node/opentelemetry-instrumentation-redis/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-redis/src/instrumentation.ts
index 93928cc29f..1911af1cdd 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-redis/src/instrumentation.ts
@@ -31,17 +31,15 @@ const DEFAULT_CONFIG: RedisInstrumentationConfig = {
   requireParentSpan: false,
 };
 
-export class RedisInstrumentation extends InstrumentationBase {
+export class RedisInstrumentation extends InstrumentationBase<RedisInstrumentationConfig> {
   static readonly COMPONENT = 'redis';
 
-  protected override _config!: RedisInstrumentationConfig;
-
   constructor(config: RedisInstrumentationConfig = {}) {
-    super(PACKAGE_NAME, PACKAGE_VERSION, config);
+    super(PACKAGE_NAME, PACKAGE_VERSION, { ...DEFAULT_CONFIG, ...config });
   }
 
   override setConfig(config: RedisInstrumentationConfig = {}) {
-    this._config = Object.assign({}, DEFAULT_CONFIG, config);
+    super.setConfig({ ...DEFAULT_CONFIG, ...config });
   }
 
   protected init() {
@@ -102,7 +100,7 @@ export class RedisInstrumentation extends InstrumentationBase {
    */
   private _getPatchInternalSendCommand() {
     const tracer = this.tracer;
-    const config = this._config;
+    const config = this.getConfig();
     return function internal_send_command(original: Function) {
       return getTracedInternalSendCommand(tracer, original, config);
     };
diff --git a/plugins/node/opentelemetry-instrumentation-restify/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-restify/src/instrumentation.ts
index ea682f74de..372b90d3ae 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-restify/src/instrumentation.ts
@@ -37,7 +37,7 @@ import type { RestifyInstrumentationConfig } from './types';
 
 const supportedVersions = ['>=4.0.0 <12'];
 
-export class RestifyInstrumentation extends InstrumentationBase {
+export class RestifyInstrumentation extends InstrumentationBase<RestifyInstrumentationConfig> {
   constructor(config: RestifyInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
@@ -45,14 +45,6 @@ export class RestifyInstrumentation extends InstrumentationBase {
   private _moduleVersion?: string;
   private _isDisabled = false;
 
-  override setConfig(config: RestifyInstrumentationConfig = {}) {
-    this._config = Object.assign({}, config);
-  }
-
-  override getConfig(): RestifyInstrumentationConfig {
-    return this._config as RestifyInstrumentationConfig;
-  }
-
   init() {
     const module = new InstrumentationNodeModuleDefinition(
       constants.MODULE_NAME,
@@ -190,11 +182,11 @@ export class RestifyInstrumentation extends InstrumentationBase {
         );
 
         const instrumentation = this;
-        const requestHook = instrumentation.getConfig().requestHook;
+        const { requestHook } = instrumentation.getConfig();
         if (requestHook) {
           safeExecuteInTheMiddle(
             () => {
-              return requestHook!(span, {
+              return requestHook(span, {
                 request: req,
                 layerType: metadata.type,
               });
diff --git a/plugins/node/opentelemetry-instrumentation-winston/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-winston/src/instrumentation.ts
index b7164e2395..96c83e245a 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-winston/src/instrumentation.ts
@@ -36,7 +36,7 @@ import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 const winston3Versions = ['>=3 <4'];
 const winstonPre3Versions = ['>=1 <3'];
 
-export class WinstonInstrumentation extends InstrumentationBase {
+export class WinstonInstrumentation extends InstrumentationBase<WinstonInstrumentationConfig> {
   constructor(config: WinstonInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
@@ -112,23 +112,15 @@ export class WinstonInstrumentation extends InstrumentationBase {
     ];
   }
 
-  override getConfig(): WinstonInstrumentationConfig {
-    return this._config;
-  }
-
-  override setConfig(config: WinstonInstrumentationConfig = {}) {
-    this._config = config;
-  }
-
   private _callHook(span: Span, record: Record<string, string>) {
-    const hook = this.getConfig().logHook;
+    const { logHook } = this.getConfig();
 
-    if (!hook) {
+    if (!logHook) {
       return;
     }
 
     safeExecuteInTheMiddle(
-      () => hook(span, record),
+      () => logHook(span, record),
       err => {
         if (err) {
           this._diag.error('error calling logHook', err);
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/src/instrumentation.ts b/plugins/web/opentelemetry-instrumentation-document-load/src/instrumentation.ts
index 5849be561d..7bdd78df0c 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/src/instrumentation.ts
+++ b/plugins/web/opentelemetry-instrumentation-document-load/src/instrumentation.ts
@@ -52,15 +52,11 @@ import {
 /**
  * This class represents a document load plugin
  */
-export class DocumentLoadInstrumentation extends InstrumentationBase {
+export class DocumentLoadInstrumentation extends InstrumentationBase<DocumentLoadInstrumentationConfig> {
   readonly component: string = 'document-load';
   readonly version: string = '1';
   moduleName = this.component;
 
-  /**
-   *
-   * @param config
-   */
   constructor(config: DocumentLoadInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
@@ -120,12 +116,12 @@ export class DocumentLoadInstrumentation extends InstrumentationBase {
         if (fetchSpan) {
           fetchSpan.setAttribute(SEMATTRS_HTTP_URL, location.href);
           context.with(trace.setSpan(context.active(), fetchSpan), () => {
-            if (!this._getConfig().ignoreNetworkEvents) {
+            if (!this.getConfig().ignoreNetworkEvents) {
               addSpanNetworkEvents(fetchSpan, entries);
             }
             this._addCustomAttributesOnSpan(
               fetchSpan,
-              this._getConfig().applyCustomAttributesOnSpan?.documentFetch
+              this.getConfig().applyCustomAttributesOnSpan?.documentFetch
             );
             this._endSpan(fetchSpan, PTN.RESPONSE_END, entries);
           });
@@ -137,7 +133,7 @@ export class DocumentLoadInstrumentation extends InstrumentationBase {
 
       this._addResourcesSpans(rootSpan);
 
-      if (!this._getConfig().ignoreNetworkEvents) {
+      if (!this.getConfig().ignoreNetworkEvents) {
         addSpanNetworkEvent(rootSpan, PTN.FETCH_START, entries);
         addSpanNetworkEvent(rootSpan, PTN.UNLOAD_EVENT_START, entries);
         addSpanNetworkEvent(rootSpan, PTN.UNLOAD_EVENT_END, entries);
@@ -157,13 +153,13 @@ export class DocumentLoadInstrumentation extends InstrumentationBase {
         addSpanNetworkEvent(rootSpan, PTN.LOAD_EVENT_END, entries);
       }
 
-      if (!this._getConfig().ignorePerformancePaintEvents) {
+      if (!this.getConfig().ignorePerformancePaintEvents) {
         addSpanPerformancePaintEvents(rootSpan);
       }
 
       this._addCustomAttributesOnSpan(
         rootSpan,
-        this._getConfig().applyCustomAttributesOnSpan?.documentLoad
+        this.getConfig().applyCustomAttributesOnSpan?.documentLoad
       );
       this._endSpan(rootSpan, PTN.LOAD_EVENT_END, entries);
     });
@@ -208,13 +204,13 @@ export class DocumentLoadInstrumentation extends InstrumentationBase {
     );
     if (span) {
       span.setAttribute(SEMATTRS_HTTP_URL, resource.name);
-      if (!this._getConfig().ignoreNetworkEvents) {
+      if (!this.getConfig().ignoreNetworkEvents) {
         addSpanNetworkEvents(span, resource);
       }
       this._addCustomAttributesOnResourceSpan(
         span,
         resource,
-        this._getConfig().applyCustomAttributesOnSpan?.resourceFetch
+        this.getConfig().applyCustomAttributesOnSpan?.resourceFetch
       );
       this._endSpan(span, PTN.RESPONSE_END, resource);
     }
@@ -261,9 +257,6 @@ export class DocumentLoadInstrumentation extends InstrumentationBase {
     }
   }
 
-  private _getConfig(): DocumentLoadInstrumentationConfig {
-    return this._config;
-  }
   /**
    * adds custom attributes to root span if configured
    */
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/src/instrumentation.ts b/plugins/web/opentelemetry-instrumentation-long-task/src/instrumentation.ts
index b77bae7a65..1dc990eb5e 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/src/instrumentation.ts
+++ b/plugins/web/opentelemetry-instrumentation-long-task/src/instrumentation.ts
@@ -24,16 +24,11 @@ import type {
 
 const LONGTASK_PERFORMANCE_TYPE = 'longtask';
 
-export class LongTaskInstrumentation extends InstrumentationBase {
+export class LongTaskInstrumentation extends InstrumentationBase<LongtaskInstrumentationConfig> {
   readonly version: string = PACKAGE_VERSION;
 
   private _observer?: PerformanceObserver;
-  override _config!: LongtaskInstrumentationConfig;
 
-  /**
-   *
-   * @param config
-   */
   constructor(config: LongtaskInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
@@ -57,9 +52,10 @@ export class LongTaskInstrumentation extends InstrumentationBase {
     const span = this.tracer.startSpan(LONGTASK_PERFORMANCE_TYPE, {
       startTime: hrTime(entry.startTime),
     });
-    if (this._config.observerCallback) {
+    const { observerCallback } = this.getConfig();
+    if (observerCallback) {
       try {
-        this._config.observerCallback(span, { longtaskEntry: entry });
+        observerCallback(span, { longtaskEntry: entry });
       } catch (err) {
         diag.error('longtask instrumentation: observer callback failed', err);
       }
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/src/instrumentation.ts b/plugins/web/opentelemetry-instrumentation-user-interaction/src/instrumentation.ts
index 4a502b7051..4bd38efbe7 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/src/instrumentation.ts
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/src/instrumentation.ts
@@ -49,7 +49,7 @@ function defaultShouldPreventSpanCreation() {
  * If zone.js is available then it patches the zone otherwise it patches
  * addEventListener of HTMLElement
  */
-export class UserInteractionInstrumentation extends InstrumentationBase {
+export class UserInteractionInstrumentation extends InstrumentationBase<UserInteractionInstrumentationConfig> {
   readonly version = PACKAGE_VERSION;
   readonly moduleName: string = 'user-interaction';
   private _spansData = new WeakMap<api.Span, SpanData>();

From 6e8989de4d60c32bc9b3e3ef760e92c68ae7f491 Mon Sep 17 00:00:00 2001
From: Ryan Eberhardt <reberhardt7@gmail.com>
Date: Tue, 23 Jul 2024 07:25:58 -0700
Subject: [PATCH 068/123] feat(instr-knex): implement requireParentSpan config
 flag (#2288)

Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
---
 .../README.md                                 |  1 +
 .../src/instrumentation.ts                    | 15 +++-
 .../src/types.ts                              |  2 +
 .../test/index.test.ts                        | 74 ++++++++++++++++++-
 4 files changed, 88 insertions(+), 4 deletions(-)

diff --git a/plugins/node/opentelemetry-instrumentation-knex/README.md b/plugins/node/opentelemetry-instrumentation-knex/README.md
index 61404aa594..e467172648 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/README.md
+++ b/plugins/node/opentelemetry-instrumentation-knex/README.md
@@ -47,6 +47,7 @@ registerInstrumentations({
 | Options | Type | Example | Description |
 | ------- | ---- | ------- | ----------- |
 | `maxQueryLength` | `number` | `100` | Truncate `db.statement` attribute to a maximum length. If the statement is truncated `'..'` is added to it's end. Default `1022`. `-1` leaves `db.statement` untouched. |
+| `requireParentSpan` | `boolean` | `false` | Don't create spans unless they are part of an existing trace. Default is `false`. |
 
 ## Semantic Conventions
 
diff --git a/plugins/node/opentelemetry-instrumentation-knex/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-knex/src/instrumentation.ts
index 5dbe4d3035..191bf1522d 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-knex/src/instrumentation.ts
@@ -40,6 +40,7 @@ import { KnexInstrumentationConfig } from './types';
 const contextSymbol = Symbol('opentelemetry.instrumentation-knex.context');
 const DEFAULT_CONFIG: KnexInstrumentationConfig = {
   maxQueryLength: 1022,
+  requireParentSpan: false,
 };
 
 export class KnexInstrumentation extends InstrumentationBase<KnexInstrumentationConfig> {
@@ -120,7 +121,7 @@ export class KnexInstrumentation extends InstrumentationBase<KnexInstrumentation
 
   private createQueryWrapper(moduleVersion?: string) {
     const instrumentation = this;
-    return function wrapQuery(original: () => any) {
+    return function wrapQuery(original: (...args: any[]) => any) {
       return function wrapped_logging_method(this: any, query: any) {
         const config = this.client.config;
 
@@ -152,14 +153,22 @@ export class KnexInstrumentation extends InstrumentationBase<KnexInstrumentation
           );
         }
 
-        const parent = this.builder[contextSymbol];
+        const parentContext =
+          this.builder[contextSymbol] || api.context.active();
+        const parentSpan = api.trace.getSpan(parentContext);
+        const hasActiveParent =
+          parentSpan && api.trace.isSpanContextValid(parentSpan.spanContext());
+        if (instrumentation._config.requireParentSpan && !hasActiveParent) {
+          return original.bind(this)(...arguments);
+        }
+
         const span = instrumentation.tracer.startSpan(
           utils.getName(name, operation, table),
           {
             kind: api.SpanKind.CLIENT,
             attributes,
           },
-          parent
+          parentContext
         );
         const spanContext = api.trace.setSpan(api.context.active(), span);
 
diff --git a/plugins/node/opentelemetry-instrumentation-knex/src/types.ts b/plugins/node/opentelemetry-instrumentation-knex/src/types.ts
index a952a66e3d..4d0e8495f7 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/src/types.ts
+++ b/plugins/node/opentelemetry-instrumentation-knex/src/types.ts
@@ -18,4 +18,6 @@ import { InstrumentationConfig } from '@opentelemetry/instrumentation';
 export interface KnexInstrumentationConfig extends InstrumentationConfig {
   /** max query length in db.statement attribute ".." is added to the end when query is truncated  */
   maxQueryLength?: number;
+  /** only create spans if part of an existing trace */
+  requireParentSpan?: boolean;
 }
diff --git a/plugins/node/opentelemetry-instrumentation-knex/test/index.test.ts b/plugins/node/opentelemetry-instrumentation-knex/test/index.test.ts
index 344fb94400..e84dcbc398 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/test/index.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-knex/test/index.test.ts
@@ -14,7 +14,12 @@
  * limitations under the License.
  */
 
-import { SpanKind, context, trace } from '@opentelemetry/api';
+import {
+  INVALID_SPAN_CONTEXT,
+  SpanKind,
+  context,
+  trace,
+} from '@opentelemetry/api';
 import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
 import { AsyncHooksContextManager } from '@opentelemetry/context-async-hooks';
 import {
@@ -452,6 +457,73 @@ describe('Knex instrumentation', () => {
       );
     });
   });
+
+  describe('Setting requireParentSpan=true', () => {
+    beforeEach(() => {
+      plugin.disable();
+      plugin.setConfig({ requireParentSpan: true });
+      plugin.enable();
+    });
+
+    it('should not create new spans when there is no parent', async () => {
+      await client.schema.createTable('testTable1', (table: any) => {
+        table.string('title');
+      });
+      assert.deepEqual(await client('testTable1').select('*'), []);
+      assert.deepEqual(await client.raw('select 1 as result'), [{ result: 1 }]);
+      assert.strictEqual(memoryExporter.getFinishedSpans().length, 0);
+    });
+
+    it('should not create new spans when there is an INVALID_SPAN_CONTEXT parent', async () => {
+      const parentSpan = trace.wrapSpanContext(INVALID_SPAN_CONTEXT);
+      await context.with(
+        trace.setSpan(context.active(), parentSpan),
+        async () => {
+          await client.schema.createTable('testTable1', (table: any) => {
+            table.string('title');
+          });
+          assert.deepEqual(await client('testTable1').select('*'), []);
+          assert.deepEqual(await client.raw('select 1 as result'), [
+            { result: 1 },
+          ]);
+        }
+      );
+      assert.strictEqual(memoryExporter.getFinishedSpans().length, 0);
+    });
+
+    it('should create new spans when there is a parent', async () => {
+      await tracer.startActiveSpan('parentSpan', async parentSpan => {
+        await client.schema.createTable('testTable1', (table: any) => {
+          table.string('title');
+        });
+        assert.deepEqual(await client('testTable1').select('*'), []);
+        assert.deepEqual(await client.raw('select 1 as result'), [
+          { result: 1 },
+        ]);
+        parentSpan.end();
+      });
+      assert.strictEqual(memoryExporter.getFinishedSpans().length, 4);
+      const instrumentationSpans = memoryExporter.getFinishedSpans();
+      const last = instrumentationSpans.pop() as any;
+      assertSpans(instrumentationSpans, [
+        {
+          statement: 'create table `testTable1` (`title` varchar(255))',
+          parentSpan: last,
+        },
+        {
+          op: 'select',
+          table: 'testTable1',
+          statement: 'select * from `testTable1`',
+          parentSpan: last,
+        },
+        {
+          op: 'raw',
+          statement: 'select 1 as result',
+          parentSpan: last,
+        },
+      ]);
+    });
+  });
 });
 
 const assertSpans = (actualSpans: any[], expectedSpans: any[]) => {

From c1d67f8befb716c57bb5083a9d24f154128963df Mon Sep 17 00:00:00 2001
From: Daniel Dyla <dyladan@users.noreply.github.com>
Date: Mon, 29 Jul 2024 10:28:10 -0400
Subject: [PATCH 069/123] chore: release main (#2323)

* chore: release main

* chore: sync package-lock.json

---------

Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
---
 .release-please-manifest.json                 | 12 ++++----
 .../CHANGELOG.md                              |  9 ++++++
 .../package.json                              |  2 +-
 .../auto-instrumentations-node/CHANGELOG.md   | 17 +++++++++++
 .../auto-instrumentations-node/package.json   | 10 +++----
 package-lock.json                             | 29 ++++++++++---------
 .../node/instrumentation-amqplib/CHANGELOG.md |  7 +++++
 .../node/instrumentation-amqplib/package.json |  2 +-
 .../CHANGELOG.md                              |  7 +++++
 .../package.json                              |  2 +-
 .../CHANGELOG.md                              |  7 +++++
 .../package.json                              |  2 +-
 .../CHANGELOG.md                              |  7 +++++
 .../package.json                              |  2 +-
 14 files changed, 85 insertions(+), 30 deletions(-)

diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index f7ffa2b99f..26fa623ec4 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -6,8 +6,8 @@
   "detectors/node/opentelemetry-resource-detector-gcp": "0.29.10",
   "detectors/node/opentelemetry-resource-detector-github": "0.28.2",
   "detectors/node/opentelemetry-resource-detector-instana": "0.10.0",
-  "metapackages/auto-configuration-propagators": "0.1.0",
-  "metapackages/auto-instrumentations-node": "0.48.0",
+  "metapackages/auto-configuration-propagators": "0.2.0",
+  "metapackages/auto-instrumentations-node": "0.49.0",
   "metapackages/auto-instrumentations-web": "0.40.0",
   "packages/baggage-span-processor": "0.3.1",
   "packages/opentelemetry-host-metrics": "0.35.3",
@@ -17,7 +17,7 @@
   "packages/opentelemetry-sql-common": "0.40.1",
   "packages/opentelemetry-test-utils": "0.40.0",
   "packages/winston-transport": "0.5.0",
-  "plugins/node/instrumentation-amqplib": "0.39.0",
+  "plugins/node/instrumentation-amqplib": "0.40.0",
   "plugins/node/instrumentation-cucumber": "0.8.0",
   "plugins/node/instrumentation-dataloader": "0.11.0",
   "plugins/node/instrumentation-fs": "0.14.0",
@@ -29,18 +29,18 @@
   "plugins/node/instrumentation-tedious": "0.12.0",
   "plugins/node/instrumentation-undici": "0.4.0",
   "plugins/node/opentelemetry-instrumentation-aws-lambda": "0.43.0",
-  "plugins/node/opentelemetry-instrumentation-aws-sdk": "0.43.0",
+  "plugins/node/opentelemetry-instrumentation-aws-sdk": "0.43.1",
   "plugins/node/opentelemetry-instrumentation-bunyan": "0.40.0",
   "plugins/node/opentelemetry-instrumentation-cassandra": "0.40.0",
   "plugins/node/opentelemetry-instrumentation-connect": "0.38.0",
   "plugins/node/opentelemetry-instrumentation-dns": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-express": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-express": "0.41.1",
   "plugins/node/opentelemetry-instrumentation-fastify": "0.38.0",
   "plugins/node/opentelemetry-instrumentation-generic-pool": "0.38.0",
   "plugins/node/opentelemetry-instrumentation-graphql": "0.42.0",
   "plugins/node/opentelemetry-instrumentation-hapi": "0.40.0",
   "plugins/node/opentelemetry-instrumentation-ioredis": "0.42.0",
-  "plugins/node/opentelemetry-instrumentation-knex": "0.38.0",
+  "plugins/node/opentelemetry-instrumentation-knex": "0.39.0",
   "plugins/node/opentelemetry-instrumentation-koa": "0.42.0",
   "plugins/node/opentelemetry-instrumentation-memcached": "0.38.0",
   "plugins/node/opentelemetry-instrumentation-mongodb": "0.46.0",
diff --git a/metapackages/auto-configuration-propagators/CHANGELOG.md b/metapackages/auto-configuration-propagators/CHANGELOG.md
index 825c32f0d0..7c00bb5f2b 100644
--- a/metapackages/auto-configuration-propagators/CHANGELOG.md
+++ b/metapackages/auto-configuration-propagators/CHANGELOG.md
@@ -1 +1,10 @@
 # Changelog
+
+## [0.2.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-configuration-propagators-v0.1.0...auto-configuration-propagators-v0.2.0) (2024-07-23)
+
+
+### Features
+
+* Add package for automatic propagator configuration ([#2299](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2299)) ([4bb28c9](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/4bb28c99c29b52193bcd9d0f14202beac6c5dfa6))
+
+## Changelog
diff --git a/metapackages/auto-configuration-propagators/package.json b/metapackages/auto-configuration-propagators/package.json
index 9984ec20fe..22462c5a3a 100644
--- a/metapackages/auto-configuration-propagators/package.json
+++ b/metapackages/auto-configuration-propagators/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/auto-configuration-propagators",
-  "version": "0.1.0",
+  "version": "0.2.0",
   "description": "Metapackage which bundles known propagators for configuration via an env variable.",
   "author": "OpenTelemetry Authors",
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-configuration-propagators#readme",
diff --git a/metapackages/auto-instrumentations-node/CHANGELOG.md b/metapackages/auto-instrumentations-node/CHANGELOG.md
index 620d3a20b9..6b7fadcb4a 100644
--- a/metapackages/auto-instrumentations-node/CHANGELOG.md
+++ b/metapackages/auto-instrumentations-node/CHANGELOG.md
@@ -1,5 +1,22 @@
 # Changelog
 
+## [0.49.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.48.0...auto-instrumentations-node-v0.49.0) (2024-07-23)
+
+
+### Features
+
+* **auto-instrumentations-node:** enable auto-instrumentation for KafkaJS ([#2340](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2340)) ([8302464](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/830246460beed0ece9c61852675943bb86161692))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * dependencies
+    * @opentelemetry/instrumentation-amqplib bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-aws-sdk bumped from ^0.43.0 to ^0.43.1
+    * @opentelemetry/instrumentation-express bumped from ^0.41.0 to ^0.41.1
+    * @opentelemetry/instrumentation-knex bumped from ^0.38.0 to ^0.39.0
+
 ## [0.48.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.47.1...auto-instrumentations-node-v0.48.0) (2024-07-03)
 
 
diff --git a/metapackages/auto-instrumentations-node/package.json b/metapackages/auto-instrumentations-node/package.json
index c01ee442e3..a3821acb5f 100644
--- a/metapackages/auto-instrumentations-node/package.json
+++ b/metapackages/auto-instrumentations-node/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/auto-instrumentations-node",
-  "version": "0.48.0",
+  "version": "0.49.0",
   "description": "Metapackage which bundles opentelemetry node core and contrib instrumentations",
   "author": "OpenTelemetry Authors",
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-instrumentations-node#readme",
@@ -50,16 +50,16 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.52.0",
-    "@opentelemetry/instrumentation-amqplib": "^0.39.0",
+    "@opentelemetry/instrumentation-amqplib": "^0.40.0",
     "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
-    "@opentelemetry/instrumentation-aws-sdk": "^0.43.0",
+    "@opentelemetry/instrumentation-aws-sdk": "^0.43.1",
     "@opentelemetry/instrumentation-bunyan": "^0.40.0",
     "@opentelemetry/instrumentation-cassandra-driver": "^0.40.0",
     "@opentelemetry/instrumentation-connect": "^0.38.0",
     "@opentelemetry/instrumentation-cucumber": "^0.8.0",
     "@opentelemetry/instrumentation-dataloader": "^0.11.0",
     "@opentelemetry/instrumentation-dns": "^0.38.0",
-    "@opentelemetry/instrumentation-express": "^0.41.0",
+    "@opentelemetry/instrumentation-express": "^0.41.1",
     "@opentelemetry/instrumentation-fastify": "^0.38.0",
     "@opentelemetry/instrumentation-fs": "^0.14.0",
     "@opentelemetry/instrumentation-generic-pool": "^0.38.0",
@@ -69,7 +69,7 @@
     "@opentelemetry/instrumentation-http": "^0.52.0",
     "@opentelemetry/instrumentation-ioredis": "^0.42.0",
     "@opentelemetry/instrumentation-kafkajs": "^0.2.0",
-    "@opentelemetry/instrumentation-knex": "^0.38.0",
+    "@opentelemetry/instrumentation-knex": "^0.39.0",
     "@opentelemetry/instrumentation-koa": "^0.42.0",
     "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
     "@opentelemetry/instrumentation-memcached": "^0.38.0",
diff --git a/package-lock.json b/package-lock.json
index edd02152bc..29c9747eef 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -282,7 +282,8 @@
       "dev": true
     },
     "metapackages/auto-configuration-propagators": {
-      "version": "0.1.0",
+      "name": "@opentelemetry/auto-configuration-propagators",
+      "version": "0.2.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.25.1",
@@ -313,20 +314,20 @@
     },
     "metapackages/auto-instrumentations-node": {
       "name": "@opentelemetry/auto-instrumentations-node",
-      "version": "0.48.0",
+      "version": "0.49.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-amqplib": "^0.39.0",
+        "@opentelemetry/instrumentation-amqplib": "^0.40.0",
         "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
-        "@opentelemetry/instrumentation-aws-sdk": "^0.43.0",
+        "@opentelemetry/instrumentation-aws-sdk": "^0.43.1",
         "@opentelemetry/instrumentation-bunyan": "^0.40.0",
         "@opentelemetry/instrumentation-cassandra-driver": "^0.40.0",
         "@opentelemetry/instrumentation-connect": "^0.38.0",
         "@opentelemetry/instrumentation-cucumber": "^0.8.0",
         "@opentelemetry/instrumentation-dataloader": "^0.11.0",
         "@opentelemetry/instrumentation-dns": "^0.38.0",
-        "@opentelemetry/instrumentation-express": "^0.41.0",
+        "@opentelemetry/instrumentation-express": "^0.41.1",
         "@opentelemetry/instrumentation-fastify": "^0.38.0",
         "@opentelemetry/instrumentation-fs": "^0.14.0",
         "@opentelemetry/instrumentation-generic-pool": "^0.38.0",
@@ -336,7 +337,7 @@
         "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/instrumentation-ioredis": "^0.42.0",
         "@opentelemetry/instrumentation-kafkajs": "^0.2.0",
-        "@opentelemetry/instrumentation-knex": "^0.38.0",
+        "@opentelemetry/instrumentation-knex": "^0.39.0",
         "@opentelemetry/instrumentation-koa": "^0.42.0",
         "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
         "@opentelemetry/instrumentation-memcached": "^0.38.0",
@@ -37680,7 +37681,7 @@
     },
     "plugins/node/instrumentation-amqplib": {
       "name": "@opentelemetry/instrumentation-amqplib",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38448,7 +38449,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-aws-sdk": {
       "name": "@opentelemetry/instrumentation-aws-sdk",
-      "version": "0.43.0",
+      "version": "0.43.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38643,7 +38644,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-express": {
       "name": "@opentelemetry/instrumentation-express",
-      "version": "0.41.0",
+      "version": "0.41.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38894,7 +38895,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-knex": {
       "name": "@opentelemetry/instrumentation-knex",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -50440,16 +50441,16 @@
       "requires": {
         "@opentelemetry/api": "^1.4.1",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-amqplib": "^0.39.0",
+        "@opentelemetry/instrumentation-amqplib": "^0.40.0",
         "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
-        "@opentelemetry/instrumentation-aws-sdk": "^0.43.0",
+        "@opentelemetry/instrumentation-aws-sdk": "^0.43.1",
         "@opentelemetry/instrumentation-bunyan": "^0.40.0",
         "@opentelemetry/instrumentation-cassandra-driver": "^0.40.0",
         "@opentelemetry/instrumentation-connect": "^0.38.0",
         "@opentelemetry/instrumentation-cucumber": "^0.8.0",
         "@opentelemetry/instrumentation-dataloader": "^0.11.0",
         "@opentelemetry/instrumentation-dns": "^0.38.0",
-        "@opentelemetry/instrumentation-express": "^0.41.0",
+        "@opentelemetry/instrumentation-express": "^0.41.1",
         "@opentelemetry/instrumentation-fastify": "^0.38.0",
         "@opentelemetry/instrumentation-fs": "^0.14.0",
         "@opentelemetry/instrumentation-generic-pool": "^0.38.0",
@@ -50459,7 +50460,7 @@
         "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/instrumentation-ioredis": "^0.42.0",
         "@opentelemetry/instrumentation-kafkajs": "^0.2.0",
-        "@opentelemetry/instrumentation-knex": "^0.38.0",
+        "@opentelemetry/instrumentation-knex": "^0.39.0",
         "@opentelemetry/instrumentation-koa": "^0.42.0",
         "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
         "@opentelemetry/instrumentation-memcached": "^0.38.0",
diff --git a/plugins/node/instrumentation-amqplib/CHANGELOG.md b/plugins/node/instrumentation-amqplib/CHANGELOG.md
index 8e61c3b364..6fe5df2ed4 100644
--- a/plugins/node/instrumentation-amqplib/CHANGELOG.md
+++ b/plugins/node/instrumentation-amqplib/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-amqplib-v0.39.0...instrumentation-amqplib-v0.40.0) (2024-07-23)
+
+
+### Features
+
+* Add the ability to use span links when consuming a message amqp plugin ([#1972](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1972)) ([5f2c160](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/5f2c160ac0fd4f6aa76c227537c34329c6c9dfb2))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-amqplib-v0.38.0...instrumentation-amqplib-v0.39.0) (2024-07-03)
 
 
diff --git a/plugins/node/instrumentation-amqplib/package.json b/plugins/node/instrumentation-amqplib/package.json
index bc5de03569..eed572e9a6 100644
--- a/plugins/node/instrumentation-amqplib/package.json
+++ b/plugins/node/instrumentation-amqplib/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-amqplib",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for the `amqplib` messaging client for RabbitMQ",
   "keywords": [
     "amqplib",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md
index b10ef7f86f..ef8adb1119 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.43.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-sdk-v0.43.0...instrumentation-aws-sdk-v0.43.1) (2024-07-23)
+
+
+### Bug Fixes
+
+* **aws-sdk:** add http status code attribute to aws sdk span if aws sdk v3 client exception occurs ([#2344](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2344)) ([9a06381](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9a06381afc6a7a27bc49af4ef796a547eafbf6ff))
+
 ## [0.43.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-sdk-v0.42.0...instrumentation-aws-sdk-v0.43.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
index 30925579de..18898a47a3 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-aws-sdk",
-  "version": "0.43.0",
+  "version": "0.43.1",
   "description": "OpenTelemetry instrumentation for `aws-sdk` and `@aws-sdk/client-*` clients for various AWS services",
   "keywords": [
     "aws",
diff --git a/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
index 546aa9ab0a..37743347b3 100644
--- a/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.41.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-express-v0.41.0...instrumentation-express-v0.41.1) (2024-07-23)
+
+
+### Bug Fixes
+
+* **instr-express:** fix handler patching for already patched router ([#2294](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2294)) ([2c32e58](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/2c32e5869ef9b6d582ba4da02623a030309bcaf3))
+
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-express-v0.40.1...instrumentation-express-v0.41.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-express/package.json b/plugins/node/opentelemetry-instrumentation-express/package.json
index 1854452f76..b0df85153e 100644
--- a/plugins/node/opentelemetry-instrumentation-express/package.json
+++ b/plugins/node/opentelemetry-instrumentation-express/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-express",
-  "version": "0.41.0",
+  "version": "0.41.1",
   "description": "OpenTelemetry instrumentation for `express` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md
index 75f4c91247..336e40d1d6 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-knex-v0.38.0...instrumentation-knex-v0.39.0) (2024-07-23)
+
+
+### Features
+
+* **instr-knex:** implement requireParentSpan config flag ([#2288](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2288)) ([6e8989d](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/6e8989de4d60c32bc9b3e3ef760e92c68ae7f491))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-knex-v0.37.0...instrumentation-knex-v0.38.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-knex/package.json b/plugins/node/opentelemetry-instrumentation-knex/package.json
index d4418aac22..88329406fe 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/package.json
+++ b/plugins/node/opentelemetry-instrumentation-knex/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-knex",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `knex` database SQL query builder",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",

From 80304bcd1bb4654499fb4f67e804d142f0284d21 Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Tue, 30 Jul 2024 17:11:45 -0700
Subject: [PATCH 070/123] test: test with Node.js 22 (#2350)

Also:
- Fix a flaky test failure with socket.io@4.7.4 and node 18, 20, and 22.
  With those Node.js versions the 'traceReserved:true on is instrumented' test
  case in "socket.io.test.ts" would sometimes hang with node 18 and
  (almost?) always hang with node 20 and 22.
- test fix for socket.io@2.x and Node.js 22.
  This is a fix/workaround based on a hunch from the other socket.io.test.ts fix.
---
 .github/workflows/test-all-versions.yml              |  2 +-
 .github/workflows/unit-test.yml                      |  2 +-
 .../instrumentation-socket.io/test/socket.io.test.ts | 12 ++++++------
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/.github/workflows/test-all-versions.yml b/.github/workflows/test-all-versions.yml
index ecf86e37d3..3010d00341 100644
--- a/.github/workflows/test-all-versions.yml
+++ b/.github/workflows/test-all-versions.yml
@@ -18,7 +18,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        node: ["14", "16", "18", "20"]
+        node: ["14", "16", "18", "20", "22"]
     runs-on: ubuntu-latest
     services:
       mongo:
diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml
index e10f27b183..eb86cdbae3 100644
--- a/.github/workflows/unit-test.yml
+++ b/.github/workflows/unit-test.yml
@@ -9,7 +9,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        node: ["14", "16", "18", "20"]
+        node: ["14", "16", "18", "20", "22"]
         include:
             - node: 18
               code-coverage: true
diff --git a/plugins/node/instrumentation-socket.io/test/socket.io.test.ts b/plugins/node/instrumentation-socket.io/test/socket.io.test.ts
index 0b733a438c..83e13ab356 100644
--- a/plugins/node/instrumentation-socket.io/test/socket.io.test.ts
+++ b/plugins/node/instrumentation-socket.io/test/socket.io.test.ts
@@ -205,8 +205,6 @@ describe('SocketIoInstrumentation', () => {
       createServer((sio, port) => {
         const client = io(`http://localhost:${port}`);
         sio.on('connection', () => {
-          client.close();
-          sio.close();
           //trace is created after the listener method is completed
           setTimeout(() => {
             expectSpan('connection receive', span => {
@@ -214,9 +212,11 @@ describe('SocketIoInstrumentation', () => {
               expect(span.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
                 'socket.io'
               );
+              client.close();
+              sio.close();
               done();
             });
-          });
+          }, 10);
         });
       });
     });
@@ -417,9 +417,9 @@ describe('SocketIoInstrumentation', () => {
         });
         sio.on('connection', (socket: Socket) => {
           socket.emit('test');
-          client.close();
-          sio.close();
           setTimeout(() => {
+            client.close();
+            sio.close();
             expectSpan(
               `/[${socket.id}] send`,
               span => {
@@ -435,7 +435,7 @@ describe('SocketIoInstrumentation', () => {
               },
               2
             );
-          });
+          }, 10);
         });
       });
     });

From d52d4218235528dcecc706867425b86bac49b1f0 Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Thu, 1 Aug 2024 12:14:27 +0200
Subject: [PATCH 071/123] feat(detector-github)!: change implementation to
 DetectorSync interface (#2336)

---
 .../package.json                                    |  2 +-
 .../src/detectors/GitHubDetector.ts                 | 13 ++++++-------
 package-lock.json                                   |  4 ++--
 3 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/detectors/node/opentelemetry-resource-detector-github/package.json b/detectors/node/opentelemetry-resource-detector-github/package.json
index b4c45dbba2..5f4b3f493a 100644
--- a/detectors/node/opentelemetry-resource-detector-github/package.json
+++ b/detectors/node/opentelemetry-resource-detector-github/package.json
@@ -54,7 +54,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/resources": "^1.0.0"
+    "@opentelemetry/resources": "^1.10.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-github#readme"
 }
diff --git a/detectors/node/opentelemetry-resource-detector-github/src/detectors/GitHubDetector.ts b/detectors/node/opentelemetry-resource-detector-github/src/detectors/GitHubDetector.ts
index bc828be92c..8ee6404a6c 100644
--- a/detectors/node/opentelemetry-resource-detector-github/src/detectors/GitHubDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-github/src/detectors/GitHubDetector.ts
@@ -15,7 +15,8 @@
  */
 
 import {
-  Detector,
+  DetectorSync,
+  IResource,
   Resource,
   ResourceAttributes,
 } from '@opentelemetry/resources';
@@ -30,7 +31,7 @@ import {
  *
  * Returns an empty Resource if detection fails.
  */
-class GitHubDetector implements Detector {
+class GitHubDetector implements DetectorSync {
   private _attributes: ResourceAttributes = {};
 
   /**
@@ -49,12 +50,10 @@ class GitHubDetector implements Detector {
    * environment variables:
    * https://docs.github.com/en/free-pro-team@latest/actions/reference/environment-variables
    *
-   * If successful it returns a promise containing a {@link Resource}
-   * populated with GitHub metadata. Returns a promise containing an
-   * empty {@link Resource} if the connection fails.
-   *
+   * If successful it returns a {@link Resource} populated with GitHub metadata.
+   * Returns an empty {@link Resource} if the env vars are not present.
    */
-  async detect(): Promise<Resource> {
+  detect(): IResource {
     this._attributes = {};
     this.addAttributeIfExists('github.workflow', process.env.GITHUB_WORKFLOW);
     this.addAttributeIfExists('github.run_id', process.env.GITHUB_RUN_ID);
diff --git a/package-lock.json b/package-lock.json
index 29c9747eef..63775108ae 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -219,7 +219,7 @@
       "version": "0.28.2",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/resources": "^1.0.0"
+        "@opentelemetry/resources": "^1.10.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
@@ -55597,7 +55597,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-github",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/resources": "^1.0.0",
+        "@opentelemetry/resources": "^1.10.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.18",

From 25e85c7b128f7424b51987e9f4c067e0b538fe2f Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Fri, 2 Aug 2024 09:25:19 +0200
Subject: [PATCH 072/123] feat(detector-alibaba)!: change implementation to
 DetectorSync interface (#2328)

---
 .../src/detectors/AlibabaCloudEcsDetector.ts  | 20 ++++++--
 .../src/detectors/index.ts                    |  2 +-
 .../src/index.ts                              |  2 +-
 .../detectors/AlibabaCloudEcsDetector.test.ts | 46 ++++++++-----------
 .../package.json                              |  2 +-
 package-lock.json                             |  4 +-
 6 files changed, 39 insertions(+), 37 deletions(-)

diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/detectors/AlibabaCloudEcsDetector.ts b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/detectors/AlibabaCloudEcsDetector.ts
index 776e5dbccd..bfcf29e3a2 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/detectors/AlibabaCloudEcsDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/detectors/AlibabaCloudEcsDetector.ts
@@ -15,8 +15,10 @@
  */
 
 import {
-  Detector,
+  DetectorSync,
+  IResource,
   Resource,
+  ResourceAttributes,
   ResourceDetectionConfig,
 } from '@opentelemetry/resources';
 import {
@@ -31,6 +33,7 @@ import {
   SEMRESATTRS_HOST_NAME,
   SEMRESATTRS_HOST_TYPE,
 } from '@opentelemetry/semantic-conventions';
+
 import * as http from 'http';
 
 /**
@@ -38,7 +41,7 @@ import * as http from 'http';
  * AlibabaCloud ECS and return a {@link Resource} populated with metadata about
  * the ECS instance. Returns an empty Resource if detection fails.
  */
-class AlibabaCloudEcsDetector implements Detector {
+class AlibabaCloudEcsDetector implements DetectorSync {
   /**
    * See https://www.alibabacloud.com/help/doc-detail/67254.htm for
    * documentation about the AlibabaCloud instance identity document.
@@ -57,7 +60,14 @@ class AlibabaCloudEcsDetector implements Detector {
    *
    * @param config (unused) The resource detection config
    */
-  async detect(_config?: ResourceDetectionConfig): Promise<Resource> {
+  detect(_config?: ResourceDetectionConfig): IResource {
+    return new Resource({}, this._getAttributes());
+  }
+
+  /** Gets identity and host info and returns them as attribs. Empty object if fails */
+  async _getAttributes(
+    _config?: ResourceDetectionConfig
+  ): Promise<ResourceAttributes> {
     const {
       'owner-account-id': accountId,
       'instance-id': instanceId,
@@ -67,7 +77,7 @@ class AlibabaCloudEcsDetector implements Detector {
     } = await this._fetchIdentity();
     const hostname = await this._fetchHost();
 
-    return new Resource({
+    return {
       [SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_ALIBABA_CLOUD,
       [SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS,
       [SEMRESATTRS_CLOUD_ACCOUNT_ID]: accountId,
@@ -76,7 +86,7 @@ class AlibabaCloudEcsDetector implements Detector {
       [SEMRESATTRS_HOST_ID]: instanceId,
       [SEMRESATTRS_HOST_TYPE]: instanceType,
       [SEMRESATTRS_HOST_NAME]: hostname,
-    });
+    };
   }
 
   /**
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/detectors/index.ts b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/detectors/index.ts
index 362ed6ecb7..1f43069640 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/detectors/index.ts
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/detectors/index.ts
@@ -14,4 +14,4 @@
  * limitations under the License.
  */
 
-export * from './AlibabaCloudEcsDetector';
+export { alibabaCloudEcsDetector } from './AlibabaCloudEcsDetector';
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/index.ts b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/index.ts
index 0acba8788c..b14741ba21 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/index.ts
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/index.ts
@@ -14,4 +14,4 @@
  * limitations under the License.
  */
 
-export * from './detectors';
+export { alibabaCloudEcsDetector } from './detectors';
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/test/detectors/AlibabaCloudEcsDetector.test.ts b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/test/detectors/AlibabaCloudEcsDetector.test.ts
index c4a2c41d36..15cd13dd99 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/test/detectors/AlibabaCloudEcsDetector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/test/detectors/AlibabaCloudEcsDetector.test.ts
@@ -18,11 +18,11 @@ import * as nock from 'nock';
 import * as assert from 'assert';
 import { Resource } from '@opentelemetry/resources';
 import { CLOUDPROVIDERVALUES_ALIBABA_CLOUD } from '@opentelemetry/semantic-conventions';
-import { alibabaCloudEcsDetector } from '../../src';
 import {
   assertCloudResource,
   assertHostResource,
 } from '@opentelemetry/contrib-test-utils';
+import { alibabaCloudEcsDetector } from '../../src';
 
 const ALIYUN_HOST =
   'http://' + alibabaCloudEcsDetector.ALIBABA_CLOUD_IDMS_ENDPOINT;
@@ -64,6 +64,7 @@ describe('alibabaCloudEcsDetector', () => {
         .reply(200, () => mockedHostResponse);
 
       const resource: Resource = await alibabaCloudEcsDetector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       scope.done();
 
@@ -84,8 +85,7 @@ describe('alibabaCloudEcsDetector', () => {
   });
 
   describe('with unsuccessful request', () => {
-    it('should throw when receiving error response code', async () => {
-      const expectedError = new Error('Failed to load page, status code: 404');
+    it('should return empty resource when receiving error response code', async () => {
       const scope = nock(ALIYUN_HOST)
         .persist()
         .get(ALIYUN_IDENTITY_PATH)
@@ -93,18 +93,15 @@ describe('alibabaCloudEcsDetector', () => {
         .get(ALIYUN_HOST_PATH)
         .reply(404, () => new Error());
 
-      try {
-        await alibabaCloudEcsDetector.detect();
-        assert.ok(false, 'Expected to throw');
-      } catch (err) {
-        assert.deepStrictEqual(err, expectedError);
-      }
+      const resource = await alibabaCloudEcsDetector.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      assert.deepStrictEqual(resource.attributes, {});
 
       scope.done();
     });
 
-    it('should throw when timed out', async () => {
-      const expectedError = new Error('ECS metadata api request timed out.');
+    it('should return empty resource when timed out', async () => {
       const scope = nock(ALIYUN_HOST)
         .get(ALIYUN_IDENTITY_PATH)
         .reply(200, () => mockedIdentityResponse)
@@ -112,28 +109,23 @@ describe('alibabaCloudEcsDetector', () => {
         .delayConnection(2000)
         .reply(200, () => mockedHostResponse);
 
-      try {
-        await alibabaCloudEcsDetector.detect();
-        assert.ok(false, 'Expected to throw');
-      } catch (err) {
-        assert.deepStrictEqual(err, expectedError);
-      }
+      const resource = await alibabaCloudEcsDetector.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      assert.deepStrictEqual(resource.attributes, {});
 
       scope.done();
     });
 
-    it('should throw when replied with an Error', async () => {
-      const expectedError = new Error('NOT FOUND');
+    it('should return empty resource when replied with an Error', async () => {
       const scope = nock(ALIYUN_HOST)
         .get(ALIYUN_IDENTITY_PATH)
-        .replyWithError(expectedError.message);
-
-      try {
-        await alibabaCloudEcsDetector.detect();
-        assert.ok(false, 'Expected to throw');
-      } catch (err) {
-        assert.deepStrictEqual(err, expectedError);
-      }
+        .replyWithError('NOT FOUND');
+
+      const resource = await alibabaCloudEcsDetector.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      assert.deepStrictEqual(resource.attributes, {});
 
       scope.done();
     });
diff --git a/detectors/node/opentelemetry-resource-detector-instana/package.json b/detectors/node/opentelemetry-resource-detector-instana/package.json
index 93d915730e..5ed0ce5dd5 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/package.json
+++ b/detectors/node/opentelemetry-resource-detector-instana/package.json
@@ -51,7 +51,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/resources": "^1.0.0",
+    "@opentelemetry/resources": "^1.10.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "peerDependencies": {
diff --git a/package-lock.json b/package-lock.json
index 63775108ae..ffc20fc4fa 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -251,7 +251,7 @@
       "version": "0.10.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/resources": "^1.0.0",
+        "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -55622,7 +55622,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/resources": "^1.0.0",
+        "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/sdk-node": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",

From 184b19f191635fa8d433eddcc6ed3f7d94a35d8a Mon Sep 17 00:00:00 2001
From: Cedric Ziel <cedric@cedric-ziel.com>
Date: Mon, 5 Aug 2024 13:04:24 +0200
Subject: [PATCH 073/123] fix(amqplib)!: instrumentation produced high
 cardinality span names (#2366)

* fix: amqplib instrumentation produced high cardinality span names

This change amends the amqplib instrumentation so it adheres to span name conventions mentioned here https://opentelemetry.io/docs/specs/semconv/messaging/messaging-spans/#span-name

* remove wrong import

* fix: add test to assert that operation is publish

* add test for span name

* use correct queue name

* fix: lint

* Update plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts

* Update plugins/node/instrumentation-amqplib/src/amqplib.ts

Co-authored-by: Amir Blum <amirgiraffe@gmail.com>

* Update plugins/node/instrumentation-amqplib/src/amqplib.ts

* Update plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts

* Update amqplib-callbacks.test.ts

---------

Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
---
 .../instrumentation-amqplib/src/amqplib.ts    | 27 +++++++++----------
 .../test/amqplib-callbacks.test.ts            |  1 +
 2 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/plugins/node/instrumentation-amqplib/src/amqplib.ts b/plugins/node/instrumentation-amqplib/src/amqplib.ts
index 9b27d3d29c..519bf056f1 100644
--- a/plugins/node/instrumentation-amqplib/src/amqplib.ts
+++ b/plugins/node/instrumentation-amqplib/src/amqplib.ts
@@ -655,21 +655,18 @@ export class AmqplibInstrumentation extends InstrumentationBase<AmqplibInstrumen
   ) {
     const normalizedExchange = normalizeExchange(exchange);
 
-    const span = self.tracer.startSpan(
-      `${normalizedExchange} -> ${routingKey} send`,
-      {
-        kind: SpanKind.PRODUCER,
-        attributes: {
-          ...channel.connection[CONNECTION_ATTRIBUTES],
-          [SEMATTRS_MESSAGING_DESTINATION]: exchange,
-          [SEMATTRS_MESSAGING_DESTINATION_KIND]:
-            MESSAGINGDESTINATIONKINDVALUES_TOPIC,
-          [SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]: routingKey,
-          [SEMATTRS_MESSAGING_MESSAGE_ID]: options?.messageId,
-          [SEMATTRS_MESSAGING_CONVERSATION_ID]: options?.correlationId,
-        },
-      }
-    );
+    const span = self.tracer.startSpan(`publish ${normalizedExchange}`, {
+      kind: SpanKind.PRODUCER,
+      attributes: {
+        ...channel.connection[CONNECTION_ATTRIBUTES],
+        [SEMATTRS_MESSAGING_DESTINATION]: exchange,
+        [SEMATTRS_MESSAGING_DESTINATION_KIND]:
+          MESSAGINGDESTINATIONKINDVALUES_TOPIC,
+        [SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY]: routingKey,
+        [SEMATTRS_MESSAGING_MESSAGE_ID]: options?.messageId,
+        [SEMATTRS_MESSAGING_CONVERSATION_ID]: options?.correlationId,
+      },
+    });
     const modifiedOptions = options ?? {};
     modifiedOptions.headers = modifiedOptions.headers ?? {};
 
diff --git a/plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts b/plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts
index a323cebee9..1e415cb084 100644
--- a/plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts
+++ b/plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts
@@ -136,6 +136,7 @@ describe('amqplib instrumentation callback model', () => {
         const [publishSpan, consumeSpan] = getTestSpans();
 
         // assert publish span
+        expect(publishSpan.name).toMatch('publish <default>');
         expect(publishSpan.kind).toEqual(SpanKind.PRODUCER);
         expect(publishSpan.attributes[SEMATTRS_MESSAGING_SYSTEM]).toEqual(
           'rabbitmq'

From 0e96b2acdb553b17db7fcae0638443c38b04e968 Mon Sep 17 00:00:00 2001
From: Daniel Dyla <dyladan@users.noreply.github.com>
Date: Mon, 5 Aug 2024 07:56:59 -0400
Subject: [PATCH 074/123] chore: release main (#2362)

* chore: release main

* chore: sync package-lock.json

---------

Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
---
 .release-please-manifest.json                  | 10 +++++-----
 .../CHANGELOG.md                               | 11 +++++++++++
 .../package.json                               |  2 +-
 .../CHANGELOG.md                               | 11 +++++++++++
 .../package.json                               |  2 +-
 .../CHANGELOG.md                               | 11 +++++++++++
 .../package.json                               |  2 +-
 .../auto-instrumentations-node/CHANGELOG.md    | 10 ++++++++++
 .../auto-instrumentations-node/package.json    |  6 +++---
 package-lock.json                              | 18 +++++++++---------
 .../node/instrumentation-amqplib/CHANGELOG.md  | 11 +++++++++++
 .../node/instrumentation-amqplib/package.json  |  2 +-
 12 files changed, 75 insertions(+), 21 deletions(-)

diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 26fa623ec4..d17d841f61 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,13 +1,13 @@
 {
-  "detectors/node/opentelemetry-resource-detector-alibaba-cloud": "0.28.10",
+  "detectors/node/opentelemetry-resource-detector-alibaba-cloud": "0.29.0",
   "detectors/node/opentelemetry-resource-detector-aws": "1.5.2",
   "detectors/node/opentelemetry-resource-detector-azure": "0.2.9",
   "detectors/node/opentelemetry-resource-detector-container": "0.3.11",
   "detectors/node/opentelemetry-resource-detector-gcp": "0.29.10",
-  "detectors/node/opentelemetry-resource-detector-github": "0.28.2",
-  "detectors/node/opentelemetry-resource-detector-instana": "0.10.0",
+  "detectors/node/opentelemetry-resource-detector-github": "0.29.0",
+  "detectors/node/opentelemetry-resource-detector-instana": "0.11.0",
   "metapackages/auto-configuration-propagators": "0.2.0",
-  "metapackages/auto-instrumentations-node": "0.49.0",
+  "metapackages/auto-instrumentations-node": "0.49.1",
   "metapackages/auto-instrumentations-web": "0.40.0",
   "packages/baggage-span-processor": "0.3.1",
   "packages/opentelemetry-host-metrics": "0.35.3",
@@ -17,7 +17,7 @@
   "packages/opentelemetry-sql-common": "0.40.1",
   "packages/opentelemetry-test-utils": "0.40.0",
   "packages/winston-transport": "0.5.0",
-  "plugins/node/instrumentation-amqplib": "0.40.0",
+  "plugins/node/instrumentation-amqplib": "0.41.0",
   "plugins/node/instrumentation-cucumber": "0.8.0",
   "plugins/node/instrumentation-dataloader": "0.11.0",
   "plugins/node/instrumentation-fs": "0.14.0",
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md
index b5465ad164..29295a2944 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.29.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-alibaba-cloud-v0.28.10...resource-detector-alibaba-cloud-v0.29.0) (2024-08-05)
+
+
+### ⚠ BREAKING CHANGES
+
+* **detector-alibaba:** change implementation to DetectorSync interface ([#2328](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2328))
+
+### Features
+
+* **detector-alibaba:** change implementation to DetectorSync interface ([#2328](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2328)) ([25e85c7](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/25e85c7b128f7424b51987e9f4c067e0b538fe2f))
+
 ## [0.28.10](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-alibaba-cloud-v0.28.9...resource-detector-alibaba-cloud-v0.28.10) (2024-06-06)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
index 604db0575f..86e0bd9077 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-alibaba-cloud",
-  "version": "0.28.10",
+  "version": "0.29.0",
   "description": "OpenTelemetry resource detector for Alibaba Cloud",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/detectors/node/opentelemetry-resource-detector-github/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-github/CHANGELOG.md
index 02e132ad53..0e0a9866d2 100644
--- a/detectors/node/opentelemetry-resource-detector-github/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-github/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.29.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-github-v0.28.2...resource-detector-github-v0.29.0) (2024-08-05)
+
+
+### ⚠ BREAKING CHANGES
+
+* **detector-github:** change implementation to DetectorSync interface ([#2336](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2336))
+
+### Features
+
+* **detector-github:** change implementation to DetectorSync interface ([#2336](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2336)) ([d52d421](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/d52d4218235528dcecc706867425b86bac49b1f0))
+
 ## [0.28.2](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-github-v0.28.1...resource-detector-github-v0.28.2) (2024-04-25)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-github/package.json b/detectors/node/opentelemetry-resource-detector-github/package.json
index 5f4b3f493a..0655e7af2c 100644
--- a/detectors/node/opentelemetry-resource-detector-github/package.json
+++ b/detectors/node/opentelemetry-resource-detector-github/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-github",
-  "version": "0.28.2",
+  "version": "0.29.0",
   "description": "OpenTelemetry SDK resource detector for GitHub",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md
index 856279dc56..7e8afbad5e 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.11.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-instana-v0.10.0...resource-detector-instana-v0.11.0) (2024-08-05)
+
+
+### ⚠ BREAKING CHANGES
+
+* **detector-alibaba:** change implementation to DetectorSync interface ([#2328](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2328))
+
+### Features
+
+* **detector-alibaba:** change implementation to DetectorSync interface ([#2328](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2328)) ([25e85c7](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/25e85c7b128f7424b51987e9f4c067e0b538fe2f))
+
 ## [0.10.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-instana-v0.9.0...resource-detector-instana-v0.10.0) (2024-06-06)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-instana/package.json b/detectors/node/opentelemetry-resource-detector-instana/package.json
index 5ed0ce5dd5..920966c654 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/package.json
+++ b/detectors/node/opentelemetry-resource-detector-instana/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-instana",
-  "version": "0.10.0",
+  "version": "0.11.0",
   "description": "OpenTelemetry SDK resource detector for Instana",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/metapackages/auto-instrumentations-node/CHANGELOG.md b/metapackages/auto-instrumentations-node/CHANGELOG.md
index 6b7fadcb4a..80199825b3 100644
--- a/metapackages/auto-instrumentations-node/CHANGELOG.md
+++ b/metapackages/auto-instrumentations-node/CHANGELOG.md
@@ -1,5 +1,15 @@
 # Changelog
 
+## [0.49.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.49.0...auto-instrumentations-node-v0.49.1) (2024-08-05)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * dependencies
+    * @opentelemetry/instrumentation-amqplib bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/resource-detector-alibaba-cloud bumped from ^0.28.10 to ^0.29.0
+
 ## [0.49.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.48.0...auto-instrumentations-node-v0.49.0) (2024-07-23)
 
 
diff --git a/metapackages/auto-instrumentations-node/package.json b/metapackages/auto-instrumentations-node/package.json
index a3821acb5f..2c19262383 100644
--- a/metapackages/auto-instrumentations-node/package.json
+++ b/metapackages/auto-instrumentations-node/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/auto-instrumentations-node",
-  "version": "0.49.0",
+  "version": "0.49.1",
   "description": "Metapackage which bundles opentelemetry node core and contrib instrumentations",
   "author": "OpenTelemetry Authors",
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-instrumentations-node#readme",
@@ -50,7 +50,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.52.0",
-    "@opentelemetry/instrumentation-amqplib": "^0.40.0",
+    "@opentelemetry/instrumentation-amqplib": "^0.41.0",
     "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
     "@opentelemetry/instrumentation-aws-sdk": "^0.43.1",
     "@opentelemetry/instrumentation-bunyan": "^0.40.0",
@@ -89,7 +89,7 @@
     "@opentelemetry/instrumentation-tedious": "^0.12.0",
     "@opentelemetry/instrumentation-undici": "^0.4.0",
     "@opentelemetry/instrumentation-winston": "^0.39.0",
-    "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
+    "@opentelemetry/resource-detector-alibaba-cloud": "^0.29.0",
     "@opentelemetry/resource-detector-aws": "^1.5.2",
     "@opentelemetry/resource-detector-azure": "^0.2.9",
     "@opentelemetry/resource-detector-container": "^0.3.11",
diff --git a/package-lock.json b/package-lock.json
index ffc20fc4fa..b5a4633aa3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -39,7 +39,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-alibaba-cloud": {
       "name": "@opentelemetry/resource-detector-alibaba-cloud",
-      "version": "0.28.10",
+      "version": "0.29.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.0.0",
@@ -216,7 +216,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-github": {
       "name": "@opentelemetry/resource-detector-github",
-      "version": "0.28.2",
+      "version": "0.29.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.10.0"
@@ -248,7 +248,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-instana": {
       "name": "@opentelemetry/resource-detector-instana",
-      "version": "0.10.0",
+      "version": "0.11.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.10.0",
@@ -314,11 +314,11 @@
     },
     "metapackages/auto-instrumentations-node": {
       "name": "@opentelemetry/auto-instrumentations-node",
-      "version": "0.49.0",
+      "version": "0.49.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-amqplib": "^0.40.0",
+        "@opentelemetry/instrumentation-amqplib": "^0.41.0",
         "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
         "@opentelemetry/instrumentation-aws-sdk": "^0.43.1",
         "@opentelemetry/instrumentation-bunyan": "^0.40.0",
@@ -357,7 +357,7 @@
         "@opentelemetry/instrumentation-tedious": "^0.12.0",
         "@opentelemetry/instrumentation-undici": "^0.4.0",
         "@opentelemetry/instrumentation-winston": "^0.39.0",
-        "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
+        "@opentelemetry/resource-detector-alibaba-cloud": "^0.29.0",
         "@opentelemetry/resource-detector-aws": "^1.5.2",
         "@opentelemetry/resource-detector-azure": "^0.2.9",
         "@opentelemetry/resource-detector-container": "^0.3.11",
@@ -37681,7 +37681,7 @@
     },
     "plugins/node/instrumentation-amqplib": {
       "name": "@opentelemetry/instrumentation-amqplib",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -50441,7 +50441,7 @@
       "requires": {
         "@opentelemetry/api": "^1.4.1",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-amqplib": "^0.40.0",
+        "@opentelemetry/instrumentation-amqplib": "^0.41.0",
         "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
         "@opentelemetry/instrumentation-aws-sdk": "^0.43.1",
         "@opentelemetry/instrumentation-bunyan": "^0.40.0",
@@ -50480,7 +50480,7 @@
         "@opentelemetry/instrumentation-tedious": "^0.12.0",
         "@opentelemetry/instrumentation-undici": "^0.4.0",
         "@opentelemetry/instrumentation-winston": "^0.39.0",
-        "@opentelemetry/resource-detector-alibaba-cloud": "^0.28.10",
+        "@opentelemetry/resource-detector-alibaba-cloud": "^0.29.0",
         "@opentelemetry/resource-detector-aws": "^1.5.2",
         "@opentelemetry/resource-detector-azure": "^0.2.9",
         "@opentelemetry/resource-detector-container": "^0.3.11",
diff --git a/plugins/node/instrumentation-amqplib/CHANGELOG.md b/plugins/node/instrumentation-amqplib/CHANGELOG.md
index 6fe5df2ed4..4e16078ba0 100644
--- a/plugins/node/instrumentation-amqplib/CHANGELOG.md
+++ b/plugins/node/instrumentation-amqplib/CHANGELOG.md
@@ -1,5 +1,16 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-amqplib-v0.40.0...instrumentation-amqplib-v0.41.0) (2024-08-05)
+
+
+### ⚠ BREAKING CHANGES
+
+* **amqplib:** instrumentation produced high cardinality span names ([#2366](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2366))
+
+### Bug Fixes
+
+* **amqplib:** instrumentation produced high cardinality span names ([#2366](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2366)) ([184b19f](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/184b19f191635fa8d433eddcc6ed3f7d94a35d8a))
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-amqplib-v0.39.0...instrumentation-amqplib-v0.40.0) (2024-07-23)
 
 
diff --git a/plugins/node/instrumentation-amqplib/package.json b/plugins/node/instrumentation-amqplib/package.json
index eed572e9a6..7e7b0822c4 100644
--- a/plugins/node/instrumentation-amqplib/package.json
+++ b/plugins/node/instrumentation-amqplib/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-amqplib",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for the `amqplib` messaging client for RabbitMQ",
   "keywords": [
     "amqplib",

From efe3c920c5f1a3d93bc5ad4a2af95f9385d83d51 Mon Sep 17 00:00:00 2001
From: Bastian Krol <bastian.krol@dash0.com>
Date: Wed, 7 Aug 2024 11:16:22 +0200
Subject: [PATCH 075/123] chore(opentelemetry-propagator-instana): update
 component owners (#2363)

* chore(opentelemetry-propagator-instana): update component owners

Reason: I do no longer work for or on Instana.

* chore: remove component owner from yaml

---------

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
---
 .github/component_owners.yml                           | 2 --
 propagators/opentelemetry-propagator-instana/README.md | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/.github/component_owners.yml b/.github/component_owners.yml
index e79dce3994..f13d45b523 100644
--- a/.github/component_owners.yml
+++ b/.github/component_owners.yml
@@ -15,7 +15,6 @@ components:
   detectors/node/opentelemetry-resource-detector-github: []
     # Unmaintained
   detectors/node/opentelemetry-resource-detector-instana:
-    - basti1302
     - kirrg001
   incubator/opentelemetry-sampler-aws-xray:
     - carolabadeer
@@ -144,7 +143,6 @@ components:
   plugins/web/opentelemetry-plugin-react-load:
     - martinkuba
   propagators/opentelemetry-propagator-instana:
-    - basti1302
     - kirrg001
   propagators/opentelemetry-propagator-ot-trace: []
     # Unmaintained
diff --git a/propagators/opentelemetry-propagator-instana/README.md b/propagators/opentelemetry-propagator-instana/README.md
index 13b1635335..87605247d6 100644
--- a/propagators/opentelemetry-propagator-instana/README.md
+++ b/propagators/opentelemetry-propagator-instana/README.md
@@ -3,7 +3,7 @@
 [![NPM Published Version][npm-img]][npm-url]
 [![Apache License][license-image]][license-image]
 
-[component owners](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/.github/component_owners.yml): @basti1302, @kirrg001
+[component owners](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/.github/component_owners.yml): @kirrg001
 
 The OpenTelemetry Propagator for Instana provides HTTP header propagation for systems that are using IBM Observability by Instana.
 This propagator translates the Instana trace correlation headers (`X-INSTANA-T/X-INSTANA-S/X-INSTANA-L`) into the OpenTelemetry `SpanContext`, and vice versa.

From 1991aed1e23a8def91d067e0ffaf75c2eee8c1b8 Mon Sep 17 00:00:00 2001
From: Abhinav Mathur <abhinama@cisco.com>
Date: Wed, 7 Aug 2024 06:59:42 -0400
Subject: [PATCH 076/123] feat: added prefix to look for containerid (#2341)

* feature: added prefix to look for containerid

* fix:added seperate utils file and new test file and more tests

* fix:test refactor

---------

Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
---
 .../src/detectors/ContainerDetector.ts        | 64 ++++++-------
 .../src/detectors/utils.ts                    | 64 +++++++++++++
 .../test/ContainerDetector.test.ts            |  8 +-
 .../test/utils.test.ts                        | 91 +++++++++++++++++++
 4 files changed, 192 insertions(+), 35 deletions(-)
 create mode 100644 detectors/node/opentelemetry-resource-detector-container/src/detectors/utils.ts
 create mode 100644 detectors/node/opentelemetry-resource-detector-container/test/utils.test.ts

diff --git a/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts b/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
index 78bffb7572..ff204d8087 100644
--- a/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
@@ -24,6 +24,7 @@ import { SEMRESATTRS_CONTAINER_ID } from '@opentelemetry/semantic-conventions';
 import * as fs from 'fs';
 import * as util from 'util';
 import { diag } from '@opentelemetry/api';
+import { extractContainerIdFromLine } from './utils';
 
 export class ContainerDetector implements Detector {
   readonly CONTAINER_ID_LENGTH = 64;
@@ -31,6 +32,11 @@ export class ContainerDetector implements Detector {
   readonly DEFAULT_CGROUP_V2_PATH = '/proc/self/mountinfo';
   readonly UTF8_UNICODE = 'utf8';
   readonly HOSTNAME = 'hostname';
+  readonly MARKING_PREFIX = 'containers';
+  readonly CRIO = 'crio-';
+  readonly CRI_CONTAINERD = 'cri-containerd-';
+  readonly DOCKER = 'docker-';
+  readonly HEX_STRING_REGEX: RegExp = /^[a-f0-9]+$/i;
 
   private static readFileAsync = util.promisify(fs.readFile);
 
@@ -51,35 +57,17 @@ export class ContainerDetector implements Detector {
     }
   }
 
-  private async _getContainerIdV1() {
+  private async _getContainerIdV1(): Promise<string | undefined> {
     const rawData = await ContainerDetector.readFileAsync(
       this.DEFAULT_CGROUP_V1_PATH,
       this.UTF8_UNICODE
     );
     const splitData = rawData.trim().split('\n');
-    for (const line of splitData) {
-      const lastSlashIdx = line.lastIndexOf('/');
-      if (lastSlashIdx === -1) {
-        continue;
-      }
-      const lastSection = line.substring(lastSlashIdx + 1);
-      const colonIdx = lastSection.lastIndexOf(':');
-      if (colonIdx !== -1) {
-        // since containerd v1.5.0+, containerId is divided by the last colon when the cgroupDriver is systemd:
-        // https://github.com/containerd/containerd/blob/release/1.5/pkg/cri/server/helpers_linux.go#L64
-        return lastSection.substring(colonIdx + 1);
-      } else {
-        let startIdx = lastSection.lastIndexOf('-');
-        let endIdx = lastSection.lastIndexOf('.');
 
-        startIdx = startIdx === -1 ? 0 : startIdx + 1;
-        if (endIdx === -1) {
-          endIdx = lastSection.length;
-        }
-        if (startIdx > endIdx) {
-          continue;
-        }
-        return lastSection.substring(startIdx, endIdx);
+    for (const line of splitData) {
+      const containerID = extractContainerIdFromLine(line);
+      if (containerID) {
+        return containerID;
       }
     }
     return undefined;
@@ -94,10 +82,19 @@ export class ContainerDetector implements Detector {
       .trim()
       .split('\n')
       .find(s => s.includes(this.HOSTNAME));
-    const containerIdStr = str
-      ?.split('/')
-      .find(s => s.length === this.CONTAINER_ID_LENGTH);
-    return containerIdStr || '';
+
+    if (!str) return '';
+
+    const strArray = str?.split('/') ?? [];
+    for (let i = 0; i < strArray.length - 1; i++) {
+      if (
+        strArray[i] === this.MARKING_PREFIX &&
+        strArray[i + 1]?.length === this.CONTAINER_ID_LENGTH
+      ) {
+        return strArray[i + 1];
+      }
+    }
+    return '';
   }
 
   /*
@@ -107,9 +104,14 @@ export class ContainerDetector implements Detector {
   */
   private async _getContainerId(): Promise<string | undefined> {
     try {
-      return (
-        (await this._getContainerIdV1()) || (await this._getContainerIdV2())
-      );
+      const containerIdV1 = await this._getContainerIdV1();
+      if (containerIdV1) {
+        return containerIdV1; // If containerIdV1 is a non-empty string, return it.
+      }
+      const containerIdV2 = await this._getContainerIdV2();
+      if (containerIdV2) {
+        return containerIdV2; // If containerIdV2 is a non-empty string, return it.
+      }
     } catch (e) {
       if (e instanceof Error) {
         const errorMessage = e.message;
@@ -119,7 +121,7 @@ export class ContainerDetector implements Detector {
         );
       }
     }
-    return undefined;
+    return undefined; // Explicitly return undefined if neither ID is found.
   }
 }
 
diff --git a/detectors/node/opentelemetry-resource-detector-container/src/detectors/utils.ts b/detectors/node/opentelemetry-resource-detector-container/src/detectors/utils.ts
new file mode 100644
index 0000000000..96bae1fe80
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-container/src/detectors/utils.ts
@@ -0,0 +1,64 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export const CONTAINER_ID_LENGTH = 64;
+export const DEFAULT_CGROUP_V1_PATH = '/proc/self/cgroup';
+export const DEFAULT_CGROUP_V2_PATH = '/proc/self/mountinfo';
+export const UTF8_UNICODE = 'utf8';
+export const HOSTNAME = 'hostname';
+export const MARKING_PREFIX = 'containers';
+export const CRIO = 'crio-';
+export const CRI_CONTAINERD = 'cri-containerd-';
+export const DOCKER = 'docker-';
+export const HEX_STRING_REGEX = /^[a-f0-9]+$/i;
+
+export function truncatePrefix(lastSection: string, prefix: string): string {
+  return lastSection.substring(prefix.length);
+}
+
+export function extractContainerIdFromLine(line: string): string | undefined {
+  if (!line) {
+    return undefined;
+  }
+  const sections = line.split('/');
+  if (sections.length <= 1) {
+    return undefined;
+  }
+  let lastSection = sections[sections.length - 1];
+
+  // Handle containerd v1.5.0+ format with systemd cgroup driver
+  const colonIndex = lastSection.lastIndexOf(':');
+  if (colonIndex !== -1) {
+    lastSection = lastSection.substring(colonIndex + 1);
+  }
+
+  // Truncate known prefixes from the last section
+  if (lastSection.startsWith(CRIO)) {
+    lastSection = truncatePrefix(lastSection, CRIO);
+  } else if (lastSection.startsWith(DOCKER)) {
+    lastSection = truncatePrefix(lastSection, DOCKER);
+  } else if (lastSection.startsWith(CRI_CONTAINERD)) {
+    lastSection = truncatePrefix(lastSection, CRI_CONTAINERD);
+  }
+  // Remove anything after the first period
+  if (lastSection.includes('.')) {
+    lastSection = lastSection.split('.')[0];
+  }
+  // Check if the remaining string is a valid hex string
+  if (HEX_STRING_REGEX.test(lastSection)) {
+    return lastSection;
+  }
+  return undefined;
+}
diff --git a/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetector.test.ts b/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetector.test.ts
index 71fbf1c5de..e39748f994 100644
--- a/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetector.test.ts
@@ -26,10 +26,10 @@ import {
 import { ContainerDetector } from '../src';
 
 describe('ContainerDetector', () => {
-  let readStub;
+  let readStub: sinon.SinonStub;
   const correctCgroupV1Data =
-    '12:pids:/kubepods.slice/bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm';
-  const correctCgroupV2Data = `tmhdefghijklmnopqrstuvwxyzafgrefghiugkmnopqrstuvwxyzabcdefghijkl/hostname
+    '12:pids:/kubepods.slice/4e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e20746f20636f6d6520746f2074686520616964';
+  const correctCgroupV2Data = `containers/tmhdefghijklmnopqrstuvwxyzafgrefghiugkmnopqrstuvwxyzabcdefghijkl/hostname
     fhkjdshgfhsdfjhdsfkjhfkdshkjhfd/host
     sahfhfjkhjhfhjdhfjkdhfkjdhfjkhhdsjfhdfhjdhfkj/somethingelse`;
 
@@ -63,7 +63,7 @@ describe('ContainerDetector', () => {
 
       assert.ok(resource);
       assertContainerResource(resource, {
-        id: 'bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm',
+        id: '4e6f77206973207468652074696d6520666f7220616c6c20676f6f64206d656e20746f20636f6d6520746f2074686520616964',
       });
     });
 
diff --git a/detectors/node/opentelemetry-resource-detector-container/test/utils.test.ts b/detectors/node/opentelemetry-resource-detector-container/test/utils.test.ts
new file mode 100644
index 0000000000..193feb6fa3
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-container/test/utils.test.ts
@@ -0,0 +1,91 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as assert from 'assert';
+import { extractContainerIdFromLine } from '../src/detectors/utils';
+
+describe(' extractContainerId from line tests', () => {
+  it('should extract container ID from crio-prefixed line', () => {
+    const line =
+      '11:devices:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-pod5c5979ec_6b2b_11e9_a923_42010a800002.slice/crio-1234567890abcdef.scope';
+    const expected = '1234567890abcdef';
+    assert.strictEqual(extractContainerIdFromLine(line), expected);
+  });
+
+  it('should extract container ID from docker-prefixed line', () => {
+    const line =
+      '11:devices:/docker/1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef';
+    const expected =
+      '1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef';
+    assert.strictEqual(extractContainerIdFromLine(line), expected);
+  });
+
+  it('should extract container ID from cri-containerd-prefixed line', () => {
+    const line =
+      '11:devices:/kubepods/burstable/pod2c4b2241-5c01-11e9-8e4e-42010a800002/cri-containerd-1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef';
+    const expected =
+      '1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef';
+    assert.strictEqual(extractContainerIdFromLine(line), expected);
+  });
+
+  it('should handle containerd v1.5.0+ format with systemd cgroup driver', () => {
+    const line =
+      '0::/system.slice/containerd.service/kubepods-burstable-pod2c4b2241-5c01-11e9-8e4e-42010a800002.slice:cri-containerd:1234567890abcdef';
+    const expected = '1234567890abcdef';
+    assert.strictEqual(extractContainerIdFromLine(line), expected);
+  });
+
+  it('should return undefined for invalid container ID', () => {
+    const line =
+      '11:devices:/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-pod5c5979ec_6b2b_11e9_a923_42010a800002.slice/invalid-id.scope';
+    assert.strictEqual(extractContainerIdFromLine(line), undefined);
+  });
+
+  it('should return undefined for empty line', () => {
+    const line = '';
+    assert.strictEqual(extractContainerIdFromLine(line), undefined);
+  });
+
+  it('should return undefined for line without container ID', () => {
+    const line = '11:devices:/';
+    assert.strictEqual(extractContainerIdFromLine(line), undefined);
+  });
+
+  // Additional test cases
+  it('should handle line with multiple colons', () => {
+    const line =
+      '0::/system.slice/containerd.service/kubepods-burstable-pod2c4b2241-5c01-11e9-8e4e-42010a800002.slice:cri-containerd-1234567890abcdef.extra';
+    const expected = '1234567890abcdef';
+    assert.strictEqual(extractContainerIdFromLine(line), expected);
+  });
+
+  it('should return containerid for valid hex string with any length', () => {
+    const line =
+      '11:devices:/docker/1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcde';
+    assert.strictEqual(
+      extractContainerIdFromLine(line),
+      '1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcde'
+    );
+  });
+
+  it('should extract container ID with additional suffix', () => {
+    const line =
+      '11:devices:/docker/1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef.suffix';
+    const expected =
+      '1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef';
+    assert.strictEqual(extractContainerIdFromLine(line), expected);
+  });
+});

From 595212739068c16c7ab9e407340983a0784efde6 Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Wed, 7 Aug 2024 15:45:07 +0200
Subject: [PATCH 077/123] fix(detector-azure): suppress tracing for
 AzureVmDetector (#2371)

---
 .../package.json                              |  1 +
 .../src/detectors/AzureVmDetector.ts          |  8 ++-
 .../src/detectors/index.ts                    |  6 +-
 .../src/index.ts                              |  6 +-
 .../test/detectors/AzureVmDetector.test.ts    |  2 +-
 .../AzureVmDetectorIntegration.test.ts        | 60 +++++++++++++++++++
 package-lock.json                             |  2 +
 7 files changed, 79 insertions(+), 6 deletions(-)
 create mode 100644 detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureVmDetectorIntegration.test.ts

diff --git a/detectors/node/opentelemetry-resource-detector-azure/package.json b/detectors/node/opentelemetry-resource-detector-azure/package.json
index 6d3a7df76c..cc3e677c96 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/package.json
+++ b/detectors/node/opentelemetry-resource-detector-azure/package.json
@@ -47,6 +47,7 @@
     "@opentelemetry/api": "^1.0.0"
   },
   "dependencies": {
+    "@opentelemetry/core": "^1.25.1",
     "@opentelemetry/resources": "^1.10.1",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
diff --git a/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureVmDetector.ts b/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureVmDetector.ts
index 1dfc6da705..c644e7a4b4 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureVmDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-azure/src/detectors/AzureVmDetector.ts
@@ -15,6 +15,9 @@
  */
 
 import * as http from 'http';
+
+import { context } from '@opentelemetry/api';
+import { suppressTracing } from '@opentelemetry/core';
 import {
   DetectorSync,
   IResource,
@@ -47,7 +50,10 @@ import {
  */
 class AzureVmResourceDetector implements DetectorSync {
   detect(): IResource {
-    return new Resource({}, this.getAzureVmMetadata());
+    const attributes = context.with(suppressTracing(context.active()), () =>
+      this.getAzureVmMetadata()
+    );
+    return new Resource({}, attributes);
   }
 
   async getAzureVmMetadata(): Promise<ResourceAttributes> {
diff --git a/detectors/node/opentelemetry-resource-detector-azure/src/detectors/index.ts b/detectors/node/opentelemetry-resource-detector-azure/src/detectors/index.ts
index 6c54b185fb..0470e61782 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/src/detectors/index.ts
+++ b/detectors/node/opentelemetry-resource-detector-azure/src/detectors/index.ts
@@ -14,6 +14,6 @@
  * limitations under the License.
  */
 
-export * from './AzureAppServiceDetector';
-export * from './AzureFunctionsDetector';
-export * from './AzureVmDetector';
+export { azureAppServiceDetector } from './AzureAppServiceDetector';
+export { azureFunctionsDetector } from './AzureFunctionsDetector';
+export { azureVmDetector } from './AzureVmDetector';
diff --git a/detectors/node/opentelemetry-resource-detector-azure/src/index.ts b/detectors/node/opentelemetry-resource-detector-azure/src/index.ts
index 0acba8788c..c81d93e0a2 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/src/index.ts
+++ b/detectors/node/opentelemetry-resource-detector-azure/src/index.ts
@@ -14,4 +14,8 @@
  * limitations under the License.
  */
 
-export * from './detectors';
+export {
+  azureAppServiceDetector,
+  azureFunctionsDetector,
+  azureVmDetector,
+} from './detectors';
diff --git a/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureVmDetector.test.ts b/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureVmDetector.test.ts
index a795adb27f..edf413faa3 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureVmDetector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureVmDetector.test.ts
@@ -372,7 +372,7 @@ const AZURE_VM_METADATA_HOST = 'http://169.254.169.254';
 const AZURE_VM_METADATA_PATH =
   '/metadata/instance/compute?api-version=2021-12-13&format=json';
 
-describe('AzureAppServiceDetector', () => {
+describe('AzureVmServiceDetector', () => {
   beforeEach(() => {
     nock.disableNetConnect();
     nock.cleanAll();
diff --git a/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureVmDetectorIntegration.test.ts b/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureVmDetectorIntegration.test.ts
new file mode 100644
index 0000000000..2cdf2cafc1
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-azure/test/detectors/AzureVmDetectorIntegration.test.ts
@@ -0,0 +1,60 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as assert from 'assert';
+
+import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
+import {
+  InMemorySpanExporter,
+  SimpleSpanProcessor,
+} from '@opentelemetry/sdk-trace-base';
+import { NodeSDK } from '@opentelemetry/sdk-node';
+
+describe('[Integration] AzureVmServiceDetector', () => {
+  it('should not start spans for detector requests', async () => {
+    const memoryExporter = new InMemorySpanExporter();
+    const sdk = new NodeSDK({
+      instrumentations: [new HttpInstrumentation()],
+      spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
+    });
+
+    sdk.start();
+
+    // NOTE: detectors implementing the `DetectorSync` interface and starting
+    // HTTP requests within the `detect` method will produce Noop Spans since
+    // the SDK resolves the trace provider after resource detectors are triggered.
+    // Ref: https://github.com/open-telemetry/opentelemetry-js/blob/38f6689480d28dcbdafcb7b5ba4b14025328ffda/experimental/packages/opentelemetry-sdk-node/src/sdk.ts#L210-L240
+    //
+    // So having the detector in the config would result in no spans for Azure requests
+    // being exported which is what we want. Although we may think we're safe of sending
+    // internal tracing any change that delays these request will result in internal
+    // tracing being exported. We do the detection outside the SDK constructor to have such
+    // scenario.
+    const {
+      azureVmDetector,
+    } = require('../../build/src/detectors/AzureVmDetector');
+    const resource = azureVmDetector.detect();
+    await resource.waitForAsyncAttributes?.();
+
+    // Wait for the next loop to let the span close properly
+    await new Promise(r => setTimeout(r, 0));
+    const spans = memoryExporter.getFinishedSpans();
+
+    assert.equal(spans.length, 0, 'no spans exported for AzureVmDetector');
+
+    await sdk.shutdown();
+  });
+});
diff --git a/package-lock.json b/package-lock.json
index b5a4633aa3..c950b263c2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -113,6 +113,7 @@
       "version": "0.2.9",
       "license": "Apache-2.0",
       "dependencies": {
+        "@opentelemetry/core": "^1.25.1",
         "@opentelemetry/resources": "^1.10.1",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
@@ -55516,6 +55517,7 @@
       "requires": {
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/core": "^1.25.1",
         "@opentelemetry/resources": "^1.10.1",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",

From 18a5731a409551103bd8c9ed7bd02f2f59fe5536 Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Wed, 7 Aug 2024 15:57:08 +0200
Subject: [PATCH 078/123] feat(detector-container)!: change implementation to
 DetectorSync interface (#2334)

---
 .../package.json                              |  2 +-
 .../src/detectors/ContainerDetector.ts        | 27 ++++++++++++++-----
 .../test/ContainerDetector.test.ts            | 23 ++++++++++------
 package-lock.json                             |  4 +--
 4 files changed, 38 insertions(+), 18 deletions(-)

diff --git a/detectors/node/opentelemetry-resource-detector-container/package.json b/detectors/node/opentelemetry-resource-detector-container/package.json
index 06fb2824bb..dd7c0a9295 100644
--- a/detectors/node/opentelemetry-resource-detector-container/package.json
+++ b/detectors/node/opentelemetry-resource-detector-container/package.json
@@ -51,7 +51,7 @@
     "@opentelemetry/api": "^1.0.0"
   },
   "dependencies": {
-    "@opentelemetry/resources": "^1.0.0",
+    "@opentelemetry/resources": "^1.10.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-container#readme"
diff --git a/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts b/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
index ff204d8087..8d92feda6c 100644
--- a/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
@@ -14,8 +14,10 @@
  * limitations under the License.
  */
 import {
-  Detector,
+  DetectorSync,
+  IResource,
   Resource,
+  ResourceAttributes,
   ResourceDetectionConfig,
 } from '@opentelemetry/resources';
 
@@ -26,7 +28,7 @@ import * as util from 'util';
 import { diag } from '@opentelemetry/api';
 import { extractContainerIdFromLine } from './utils';
 
-export class ContainerDetector implements Detector {
+export class ContainerDetector implements DetectorSync {
   readonly CONTAINER_ID_LENGTH = 64;
   readonly DEFAULT_CGROUP_V1_PATH = '/proc/self/cgroup';
   readonly DEFAULT_CGROUP_V2_PATH = '/proc/self/mountinfo';
@@ -40,20 +42,31 @@ export class ContainerDetector implements Detector {
 
   private static readFileAsync = util.promisify(fs.readFile);
 
-  async detect(_config?: ResourceDetectionConfig): Promise<Resource> {
+  detect(_config?: ResourceDetectionConfig): IResource {
+    return new Resource({}, this._getAttributes());
+  }
+
+  /**
+   * Attempts to obtain the container ID from the file system. If the
+   * file read is successful it returns a promise containing a {@link ResourceAttributes}
+   * object with the container ID. Returns a promise containing an
+   * empty {@link ResourceAttributes} if the paths do not exist or fail
+   * to read.
+   */
+  async _getAttributes(): Promise<ResourceAttributes> {
     try {
       const containerId = await this._getContainerId();
       return !containerId
-        ? Resource.empty()
-        : new Resource({
+        ? {}
+        : {
             [SEMRESATTRS_CONTAINER_ID]: containerId,
-          });
+          };
     } catch (e) {
       diag.info(
         'Container Detector did not identify running inside a supported container, no container attributes will be added to resource: ',
         e
       );
-      return Resource.empty();
+      return {};
     }
   }
 
diff --git a/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetector.test.ts b/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetector.test.ts
index e39748f994..51b3c41120 100644
--- a/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetector.test.ts
@@ -16,7 +16,7 @@
 
 import * as sinon from 'sinon';
 import * as assert from 'assert';
-import { Resource } from '@opentelemetry/resources';
+
 import { containerDetector } from '../src';
 import {
   assertContainerResource,
@@ -46,7 +46,8 @@ describe('ContainerDetector', () => {
         .stub(ContainerDetector, 'readFileAsync' as any)
         .resolves(undefined);
 
-      const resource: Resource = await containerDetector.detect();
+      const resource = containerDetector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       assert.deepStrictEqual(resource.attributes, {});
       assert.ok(resource);
@@ -57,7 +58,8 @@ describe('ContainerDetector', () => {
         .stub(ContainerDetector, 'readFileAsync' as any)
         .resolves(correctCgroupV1Data);
 
-      const resource: Resource = await containerDetector.detect();
+      const resource = containerDetector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       sinon.assert.calledOnce(readStub);
 
@@ -73,7 +75,8 @@ describe('ContainerDetector', () => {
       readStub.onFirstCall().resolves('');
       readStub.onSecondCall().resolves(correctCgroupV2Data);
 
-      const resource: Resource = await containerDetector.detect();
+      const resource = containerDetector.detect();
+      await resource.waitForAsyncAttributes?.();
       sinon.assert.calledTwice(readStub);
 
       assert.ok(resource);
@@ -88,7 +91,8 @@ describe('ContainerDetector', () => {
       readStub.onFirstCall().resolves('');
       readStub.onSecondCall().resolves(wrongCgroupV2Data);
 
-      const resource: Resource = await containerDetector.detect();
+      const resource = containerDetector.detect();
+      await resource.waitForAsyncAttributes?.();
       sinon.assert.calledTwice(readStub);
 
       assert.ok(resource);
@@ -109,7 +113,8 @@ describe('ContainerDetector', () => {
         .stub(ContainerDetector, 'readFileAsync' as any)
         .resolves('');
 
-      const resource: Resource = await containerDetector.detect();
+      const resource = containerDetector.detect();
+      await resource.waitForAsyncAttributes?.();
       assert.deepStrictEqual(resource.attributes, {});
 
       sinon.assert.calledTwice(readStub);
@@ -125,7 +130,8 @@ describe('ContainerDetector', () => {
         .stub(ContainerDetector, 'readFileAsync' as any)
         .rejects(errorMsg.fileNotFoundError);
 
-      const resource: Resource = await containerDetector.detect();
+      const resource = containerDetector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       sinon.assert.calledOnce(readStub);
       assertEmptyResource(resource);
@@ -142,7 +148,8 @@ describe('ContainerDetector', () => {
         .stub(ContainerDetector, 'readFileAsync' as any)
         .rejects(errorMsg.fileNotFoundError);
 
-      const resource: Resource = await containerDetector.detect();
+      const resource = containerDetector.detect();
+      await resource.waitForAsyncAttributes?.();
       sinon.assert.calledOnce(readStub);
       assertEmptyResource(resource);
     });
diff --git a/package-lock.json b/package-lock.json
index c950b263c2..776dffa5eb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -148,7 +148,7 @@
       "version": "0.3.11",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/resources": "^1.0.0",
+        "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -55544,7 +55544,7 @@
       "requires": {
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/resources": "^1.0.0",
+        "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",

From 8b32219b1cd1d3c9a212de3fca52d7ce45b04bc5 Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Wed, 7 Aug 2024 15:59:33 +0200
Subject: [PATCH 079/123] refactor(detector-gcp): change implementation to
 DetectorSync interface (#2335)

---
 .../src/detectors/GcpDetector.ts              | 23 +++++++++++--------
 .../test/detectors/GcpDetector.test.ts        | 19 +++++++++++----
 2 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/detectors/node/opentelemetry-resource-detector-gcp/src/detectors/GcpDetector.ts b/detectors/node/opentelemetry-resource-detector-gcp/src/detectors/GcpDetector.ts
index 142885eaa6..f31e5b4c52 100644
--- a/detectors/node/opentelemetry-resource-detector-gcp/src/detectors/GcpDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-gcp/src/detectors/GcpDetector.ts
@@ -17,10 +17,11 @@
 import * as gcpMetadata from 'gcp-metadata';
 import { diag } from '@opentelemetry/api';
 import {
-  Detector,
+  DetectorSync,
   ResourceDetectionConfig,
   Resource,
   ResourceAttributes,
+  IResource,
 } from '@opentelemetry/resources';
 import { getEnv } from '@opentelemetry/core';
 import {
@@ -41,19 +42,21 @@ import {
  * Cloud Platform and return a {@link Resource} populated with metadata about
  * the instance. Returns an empty Resource if detection fails.
  */
-class GcpDetector implements Detector {
+class GcpDetector implements DetectorSync {
+  detect(_config?: ResourceDetectionConfig): IResource {
+    return new Resource({}, this._getAttribures());
+  }
+
   /**
    * Attempts to connect and obtain instance configuration data from the GCP metadata service.
-   * If the connection is successful it returns a promise containing a {@link Resource}
-   * populated with instance metadata. Returns a promise containing an
-   * empty {@link Resource} if the connection or parsing of the metadata fails.
-   *
-   * @param config The resource detection config
+   * If the connection is successful it returns a promise containing a {@link ResourceAttributes}
+   * object with instance metadata. Returns a promise containing an
+   * empty {@link ResourceAttributes} if the connection or parsing of the metadata fails.
    */
-  async detect(_config?: ResourceDetectionConfig): Promise<Resource> {
+  private async _getAttribures(): Promise<ResourceAttributes> {
     if (!(await gcpMetadata.isAvailable())) {
       diag.debug('GcpDetector failed: GCP Metadata unavailable.');
-      return Resource.empty();
+      return {};
     }
 
     const [projectId, instanceId, zoneId, clusterName, hostname] =
@@ -75,7 +78,7 @@ class GcpDetector implements Detector {
     if (getEnv().KUBERNETES_SERVICE_HOST)
       this._addK8sAttributes(attributes, clusterName);
 
-    return new Resource(attributes);
+    return attributes;
   }
 
   /** Add resource attributes for K8s */
diff --git a/detectors/node/opentelemetry-resource-detector-gcp/test/detectors/GcpDetector.test.ts b/detectors/node/opentelemetry-resource-detector-gcp/test/detectors/GcpDetector.test.ts
index 85f40e413f..4d2bc6ea48 100644
--- a/detectors/node/opentelemetry-resource-detector-gcp/test/detectors/GcpDetector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-gcp/test/detectors/GcpDetector.test.ts
@@ -31,7 +31,6 @@ import {
   assertContainerResource,
   assertEmptyResource,
 } from '@opentelemetry/contrib-test-utils';
-import { Resource } from '@opentelemetry/resources';
 
 const HEADERS = {
   [HEADER_NAME.toLowerCase()]: HEADER_VALUE,
@@ -85,7 +84,10 @@ describe('gcpDetector', () => {
       const secondaryScope = nock(SECONDARY_HOST_ADDRESS)
         .get(INSTANCE_PATH)
         .reply(200, {}, HEADERS);
-      const resource: Resource = await gcpDetector.detect();
+
+      const resource = gcpDetector.detect();
+      await resource.waitForAsyncAttributes?.();
+
       secondaryScope.done();
       scope.done();
 
@@ -121,7 +123,10 @@ describe('gcpDetector', () => {
       const secondaryScope = nock(SECONDARY_HOST_ADDRESS)
         .get(INSTANCE_PATH)
         .reply(200, {}, HEADERS);
-      const resource = await gcpDetector.detect();
+
+      const resource = gcpDetector.detect();
+      await resource.waitForAsyncAttributes?.();
+
       secondaryScope.done();
       scope.done();
 
@@ -155,7 +160,10 @@ describe('gcpDetector', () => {
       const secondaryScope = nock(SECONDARY_HOST_ADDRESS)
         .get(INSTANCE_PATH)
         .reply(200, {}, HEADERS);
-      const resource = await gcpDetector.detect();
+
+      const resource = gcpDetector.detect();
+      await resource.waitForAsyncAttributes?.();
+
       secondaryScope.done();
       scope.done();
 
@@ -167,7 +175,8 @@ describe('gcpDetector', () => {
     });
 
     it('returns empty resource if not detected', async () => {
-      const resource = await gcpDetector.detect();
+      const resource = gcpDetector.detect();
+      await resource.waitForAsyncAttributes?.();
       assertEmptyResource(resource);
     });
   });

From 167dced09de0d2104561542b4f83047fa656505f Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Thu, 8 Aug 2024 11:50:55 +0200
Subject: [PATCH 080/123] feat(detector-aws): add sync version for all
 detectors (#2376)

---
 .../package.json                              |   2 +-
 .../src/detectors/AwsBeanstalkDetector.ts     |  63 +--
 .../src/detectors/AwsBeanstalkDetectorSync.ts | 107 +++++
 .../src/detectors/AwsEc2Detector.ts           | 143 +-----
 .../src/detectors/AwsEc2DetectorSync.ts       | 173 +++++++
 .../src/detectors/AwsEcsDetector.ts           | 248 +---------
 .../src/detectors/AwsEcsDetectorSync.ts       | 278 ++++++++++++
 .../src/detectors/AwsEksDetector.ts           | 199 +-------
 .../src/detectors/AwsEksDetectorSync.ts       | 239 ++++++++++
 .../src/detectors/AwsLambdaDetector.ts        |  43 +-
 .../src/detectors/AwsLambdaDetectorSync.ts    |  68 +++
 .../src/detectors/index.ts                    |  24 +-
 .../detectors/AwsBeanstalkDetector.test.ts    |  22 +-
 .../AwsBeanstalkDetectorSync.test.ts          | 125 ++++++
 .../test/detectors/AwsEc2Detector.test.ts     |  66 ++-
 .../test/detectors/AwsEc2DetectorSync.test.ts | 152 +++++++
 .../test/detectors/AwsEcsDetector.test.ts     |  43 +-
 .../test/detectors/AwsEcsDetectorSync.test.ts | 425 ++++++++++++++++++
 .../test/detectors/AwsEksDetector.test.ts     |  82 ++--
 .../test/detectors/AwsEksDetectorSync.test.ts | 307 +++++++++++++
 .../detectors/AwsLambdaDetectorSync.test.ts   |  64 +++
 package-lock.json                             |   4 +-
 22 files changed, 2108 insertions(+), 769 deletions(-)
 create mode 100644 detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsBeanstalkDetectorSync.ts
 create mode 100644 detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2DetectorSync.ts
 create mode 100644 detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetectorSync.ts
 create mode 100644 detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetectorSync.ts
 create mode 100644 detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsLambdaDetectorSync.ts
 create mode 100644 detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsBeanstalkDetectorSync.test.ts
 create mode 100644 detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEc2DetectorSync.test.ts
 create mode 100644 detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEcsDetectorSync.test.ts
 create mode 100644 detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEksDetectorSync.test.ts
 create mode 100644 detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsLambdaDetectorSync.test.ts

diff --git a/detectors/node/opentelemetry-resource-detector-aws/package.json b/detectors/node/opentelemetry-resource-detector-aws/package.json
index 552d1cac5f..22b7678655 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/package.json
+++ b/detectors/node/opentelemetry-resource-detector-aws/package.json
@@ -56,7 +56,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.0.0",
-    "@opentelemetry/resources": "^1.0.0",
+    "@opentelemetry/resources": "^1.10.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-aws#readme"
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsBeanstalkDetector.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsBeanstalkDetector.ts
index a89178c30f..02b044d0d9 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsBeanstalkDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsBeanstalkDetector.ts
@@ -14,24 +14,13 @@
  * limitations under the License.
  */
 
-import { diag } from '@opentelemetry/api';
 import {
   Detector,
-  Resource,
+  IResource,
   ResourceDetectionConfig,
 } from '@opentelemetry/resources';
-import {
-  SEMRESATTRS_CLOUD_PROVIDER,
-  SEMRESATTRS_CLOUD_PLATFORM,
-  SEMRESATTRS_SERVICE_NAME,
-  SEMRESATTRS_SERVICE_NAMESPACE,
-  SEMRESATTRS_SERVICE_VERSION,
-  SEMRESATTRS_SERVICE_INSTANCE_ID,
-  CLOUDPROVIDERVALUES_AWS,
-  CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
-} from '@opentelemetry/semantic-conventions';
-import * as fs from 'fs';
-import * as util from 'util';
+
+import { awsBeanstalkDetectorSync } from './AwsBeanstalkDetectorSync';
 
 /**
  * The AwsBeanstalkDetector can be used to detect if a process is running in AWS Elastic
@@ -40,51 +29,13 @@ import * as util from 'util';
  *
  * See https://docs.amazonaws.cn/en_us/xray/latest/devguide/xray-guide.pdf
  * for more details about detecting information of Elastic Beanstalk plugins
+ *
+ * @deprecated Use {@link AwsBeanstalkDetectorSync} class instead.
  */
 
-const DEFAULT_BEANSTALK_CONF_PATH =
-  '/var/elasticbeanstalk/xray/environment.conf';
-const WIN_OS_BEANSTALK_CONF_PATH =
-  'C:\\Program Files\\Amazon\\XRay\\environment.conf';
-
 export class AwsBeanstalkDetector implements Detector {
-  BEANSTALK_CONF_PATH: string;
-  private static readFileAsync = util.promisify(fs.readFile);
-  private static fileAccessAsync = util.promisify(fs.access);
-
-  constructor() {
-    if (process.platform === 'win32') {
-      this.BEANSTALK_CONF_PATH = WIN_OS_BEANSTALK_CONF_PATH;
-    } else {
-      this.BEANSTALK_CONF_PATH = DEFAULT_BEANSTALK_CONF_PATH;
-    }
-  }
-
-  async detect(_config?: ResourceDetectionConfig): Promise<Resource> {
-    try {
-      await AwsBeanstalkDetector.fileAccessAsync(
-        this.BEANSTALK_CONF_PATH,
-        fs.constants.R_OK
-      );
-
-      const rawData = await AwsBeanstalkDetector.readFileAsync(
-        this.BEANSTALK_CONF_PATH,
-        'utf8'
-      );
-      const parsedData = JSON.parse(rawData);
-
-      return new Resource({
-        [SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AWS,
-        [SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
-        [SEMRESATTRS_SERVICE_NAME]: CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
-        [SEMRESATTRS_SERVICE_NAMESPACE]: parsedData.environment_name,
-        [SEMRESATTRS_SERVICE_VERSION]: parsedData.version_label,
-        [SEMRESATTRS_SERVICE_INSTANCE_ID]: parsedData.deployment_id,
-      });
-    } catch (e: any) {
-      diag.debug(`AwsBeanstalkDetector failed: ${e.message}`);
-      return Resource.empty();
-    }
+  detect(config?: ResourceDetectionConfig): Promise<IResource> {
+    return Promise.resolve(awsBeanstalkDetectorSync.detect(config));
   }
 }
 
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsBeanstalkDetectorSync.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsBeanstalkDetectorSync.ts
new file mode 100644
index 0000000000..0feae00db4
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsBeanstalkDetectorSync.ts
@@ -0,0 +1,107 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { diag } from '@opentelemetry/api';
+import {
+  DetectorSync,
+  IResource,
+  Resource,
+  ResourceAttributes,
+  ResourceDetectionConfig,
+} from '@opentelemetry/resources';
+import {
+  SEMRESATTRS_CLOUD_PROVIDER,
+  SEMRESATTRS_CLOUD_PLATFORM,
+  SEMRESATTRS_SERVICE_NAME,
+  SEMRESATTRS_SERVICE_NAMESPACE,
+  SEMRESATTRS_SERVICE_VERSION,
+  SEMRESATTRS_SERVICE_INSTANCE_ID,
+  CLOUDPROVIDERVALUES_AWS,
+  CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
+} from '@opentelemetry/semantic-conventions';
+import * as fs from 'fs';
+import * as util from 'util';
+
+/**
+ * The AwsBeanstalkDetector can be used to detect if a process is running in AWS Elastic
+ * Beanstalk and return a {@link Resource} populated with data about the beanstalk
+ * plugins of AWS X-Ray. Returns an empty Resource if detection fails.
+ *
+ * See https://docs.amazonaws.cn/en_us/xray/latest/devguide/xray-guide.pdf
+ * for more details about detecting information of Elastic Beanstalk plugins
+ */
+
+const DEFAULT_BEANSTALK_CONF_PATH =
+  '/var/elasticbeanstalk/xray/environment.conf';
+const WIN_OS_BEANSTALK_CONF_PATH =
+  'C:\\Program Files\\Amazon\\XRay\\environment.conf';
+
+export class AwsBeanstalkDetectorSync implements DetectorSync {
+  BEANSTALK_CONF_PATH: string;
+  private static readFileAsync = util.promisify(fs.readFile);
+  private static fileAccessAsync = util.promisify(fs.access);
+
+  constructor() {
+    if (process.platform === 'win32') {
+      this.BEANSTALK_CONF_PATH = WIN_OS_BEANSTALK_CONF_PATH;
+    } else {
+      this.BEANSTALK_CONF_PATH = DEFAULT_BEANSTALK_CONF_PATH;
+    }
+  }
+
+  detect(config?: ResourceDetectionConfig): IResource {
+    return new Resource({}, this._getAttributes());
+  }
+
+  /**
+   * Attempts to obtain AWS Beanstalk configuration from the file
+   * system. If file is accesible and read succesfully it returns
+   * a promise containing a {@link ResourceAttributes}
+   * object with instance metadata. Returns a promise containing an
+   * empty {@link ResourceAttributes} if the file is not accesible or
+   * fails in the reading process.
+   */
+  async _getAttributes(
+    _config?: ResourceDetectionConfig
+  ): Promise<ResourceAttributes> {
+    try {
+      await AwsBeanstalkDetectorSync.fileAccessAsync(
+        this.BEANSTALK_CONF_PATH,
+        fs.constants.R_OK
+      );
+
+      const rawData = await AwsBeanstalkDetectorSync.readFileAsync(
+        this.BEANSTALK_CONF_PATH,
+        'utf8'
+      );
+      const parsedData = JSON.parse(rawData);
+
+      return {
+        [SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AWS,
+        [SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
+        [SEMRESATTRS_SERVICE_NAME]: CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
+        [SEMRESATTRS_SERVICE_NAMESPACE]: parsedData.environment_name,
+        [SEMRESATTRS_SERVICE_VERSION]: parsedData.version_label,
+        [SEMRESATTRS_SERVICE_INSTANCE_ID]: parsedData.deployment_id,
+      };
+    } catch (e: any) {
+      diag.debug(`AwsBeanstalkDetectorSync failed: ${e.message}`);
+      return {};
+    }
+  }
+}
+
+export const awsBeanstalkDetectorSync = new AwsBeanstalkDetectorSync();
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2Detector.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2Detector.ts
index 5afec499d2..3014fa5844 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2Detector.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2Detector.ts
@@ -16,149 +16,22 @@
 
 import {
   Detector,
-  Resource,
+  IResource,
   ResourceDetectionConfig,
 } from '@opentelemetry/resources';
-import {
-  SEMRESATTRS_CLOUD_PROVIDER,
-  SEMRESATTRS_CLOUD_PLATFORM,
-  SEMRESATTRS_CLOUD_REGION,
-  SEMRESATTRS_CLOUD_ACCOUNT_ID,
-  SEMRESATTRS_CLOUD_AVAILABILITY_ZONE,
-  SEMRESATTRS_HOST_ID,
-  SEMRESATTRS_HOST_TYPE,
-  SEMRESATTRS_HOST_NAME,
-  CLOUDPROVIDERVALUES_AWS,
-  CLOUDPLATFORMVALUES_AWS_EC2,
-} from '@opentelemetry/semantic-conventions';
-import * as http from 'http';
+
+import { awsEc2DetectorSync } from './AwsEc2DetectorSync';
 
 /**
  * The AwsEc2Detector can be used to detect if a process is running in AWS EC2
  * and return a {@link Resource} populated with metadata about the EC2
- * instance. Returns an empty Resource if detection fails.
+ * instance.
+ *
+ * @deprecated Use {@link AwsEc2DetectorSync} class instead.
  */
 class AwsEc2Detector implements Detector {
-  /**
-   * See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html
-   * for documentation about the AWS instance identity document
-   * and standard of IMDSv2.
-   */
-  readonly AWS_IDMS_ENDPOINT = '169.254.169.254';
-  readonly AWS_INSTANCE_TOKEN_DOCUMENT_PATH = '/latest/api/token';
-  readonly AWS_INSTANCE_IDENTITY_DOCUMENT_PATH =
-    '/latest/dynamic/instance-identity/document';
-  readonly AWS_INSTANCE_HOST_DOCUMENT_PATH = '/latest/meta-data/hostname';
-  readonly AWS_METADATA_TTL_HEADER = 'X-aws-ec2-metadata-token-ttl-seconds';
-  readonly AWS_METADATA_TOKEN_HEADER = 'X-aws-ec2-metadata-token';
-  readonly MILLISECOND_TIME_OUT = 5000;
-
-  /**
-   * Attempts to connect and obtain an AWS instance Identity document. If the
-   * connection is successful it returns a promise containing a {@link Resource}
-   * populated with instance metadata. Returns a promise containing an
-   * empty {@link Resource} if the connection or parsing of the identity
-   * document fails.
-   *
-   * @param config (unused) The resource detection config
-   */
-  async detect(_config?: ResourceDetectionConfig): Promise<Resource> {
-    const token = await this._fetchToken();
-    const { accountId, instanceId, instanceType, region, availabilityZone } =
-      await this._fetchIdentity(token);
-    const hostname = await this._fetchHost(token);
-
-    return new Resource({
-      [SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AWS,
-      [SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AWS_EC2,
-      [SEMRESATTRS_CLOUD_ACCOUNT_ID]: accountId,
-      [SEMRESATTRS_CLOUD_REGION]: region,
-      [SEMRESATTRS_CLOUD_AVAILABILITY_ZONE]: availabilityZone,
-      [SEMRESATTRS_HOST_ID]: instanceId,
-      [SEMRESATTRS_HOST_TYPE]: instanceType,
-      [SEMRESATTRS_HOST_NAME]: hostname,
-    });
-  }
-
-  private async _fetchToken(): Promise<string> {
-    const options = {
-      host: this.AWS_IDMS_ENDPOINT,
-      path: this.AWS_INSTANCE_TOKEN_DOCUMENT_PATH,
-      method: 'PUT',
-      timeout: this.MILLISECOND_TIME_OUT,
-      headers: {
-        [this.AWS_METADATA_TTL_HEADER]: '60',
-      },
-    };
-    return await this._fetchString(options);
-  }
-
-  private async _fetchIdentity(token: string): Promise<any> {
-    const options = {
-      host: this.AWS_IDMS_ENDPOINT,
-      path: this.AWS_INSTANCE_IDENTITY_DOCUMENT_PATH,
-      method: 'GET',
-      timeout: this.MILLISECOND_TIME_OUT,
-      headers: {
-        [this.AWS_METADATA_TOKEN_HEADER]: token,
-      },
-    };
-    const identity = await this._fetchString(options);
-    return JSON.parse(identity);
-  }
-
-  private async _fetchHost(token: string): Promise<string> {
-    const options = {
-      host: this.AWS_IDMS_ENDPOINT,
-      path: this.AWS_INSTANCE_HOST_DOCUMENT_PATH,
-      method: 'GET',
-      timeout: this.MILLISECOND_TIME_OUT,
-      headers: {
-        [this.AWS_METADATA_TOKEN_HEADER]: token,
-      },
-    };
-    return await this._fetchString(options);
-  }
-
-  /**
-   * Establishes an HTTP connection to AWS instance document url.
-   * If the application is running on an EC2 instance, we should be able
-   * to get back a valid JSON document. Parses that document and stores
-   * the identity properties in a local map.
-   */
-  private async _fetchString(options: http.RequestOptions): Promise<string> {
-    return new Promise((resolve, reject) => {
-      const timeoutId = setTimeout(() => {
-        req.abort();
-        reject(new Error('EC2 metadata api request timed out.'));
-      }, this.MILLISECOND_TIME_OUT);
-
-      const req = http.request(options, res => {
-        clearTimeout(timeoutId);
-        const { statusCode } = res;
-        res.setEncoding('utf8');
-        let rawData = '';
-        res.on('data', chunk => (rawData += chunk));
-        res.on('end', () => {
-          if (statusCode && statusCode >= 200 && statusCode < 300) {
-            try {
-              resolve(rawData);
-            } catch (e) {
-              reject(e);
-            }
-          } else {
-            reject(
-              new Error('Failed to load page, status code: ' + statusCode)
-            );
-          }
-        });
-      });
-      req.on('error', err => {
-        clearTimeout(timeoutId);
-        reject(err);
-      });
-      req.end();
-    });
+  detect(_config?: ResourceDetectionConfig): Promise<IResource> {
+    return Promise.resolve(awsEc2DetectorSync.detect(_config));
   }
 }
 
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2DetectorSync.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2DetectorSync.ts
new file mode 100644
index 0000000000..b553a7ecf8
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2DetectorSync.ts
@@ -0,0 +1,173 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {
+  DetectorSync,
+  IResource,
+  Resource,
+  ResourceAttributes,
+  ResourceDetectionConfig,
+} from '@opentelemetry/resources';
+import {
+  SEMRESATTRS_CLOUD_PROVIDER,
+  SEMRESATTRS_CLOUD_PLATFORM,
+  SEMRESATTRS_CLOUD_REGION,
+  SEMRESATTRS_CLOUD_ACCOUNT_ID,
+  SEMRESATTRS_CLOUD_AVAILABILITY_ZONE,
+  SEMRESATTRS_HOST_ID,
+  SEMRESATTRS_HOST_TYPE,
+  SEMRESATTRS_HOST_NAME,
+  CLOUDPROVIDERVALUES_AWS,
+  CLOUDPLATFORMVALUES_AWS_EC2,
+} from '@opentelemetry/semantic-conventions';
+import * as http from 'http';
+
+/**
+ * The AwsEc2DetectorSync can be used to detect if a process is running in AWS EC2
+ * and return a {@link Resource} populated with metadata about the EC2
+ * instance. Returns an empty Resource if detection fails.
+ */
+class AwsEc2DetectorSync implements DetectorSync {
+  /**
+   * See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html
+   * for documentation about the AWS instance identity document
+   * and standard of IMDSv2.
+   */
+  readonly AWS_IDMS_ENDPOINT = '169.254.169.254';
+  readonly AWS_INSTANCE_TOKEN_DOCUMENT_PATH = '/latest/api/token';
+  readonly AWS_INSTANCE_IDENTITY_DOCUMENT_PATH =
+    '/latest/dynamic/instance-identity/document';
+  readonly AWS_INSTANCE_HOST_DOCUMENT_PATH = '/latest/meta-data/hostname';
+  readonly AWS_METADATA_TTL_HEADER = 'X-aws-ec2-metadata-token-ttl-seconds';
+  readonly AWS_METADATA_TOKEN_HEADER = 'X-aws-ec2-metadata-token';
+  readonly MILLISECOND_TIME_OUT = 5000;
+
+  detect(_config?: ResourceDetectionConfig): IResource {
+    return new Resource({}, this._getAttributes());
+  }
+
+  /**
+   * Attempts to connect and obtain an AWS instance Identity document. If the
+   * connection is successful it returns a promise containing a {@link ResourceAttributes}
+   * object with instance metadata. Returns a promise containing an
+   * empty {@link ResourceAttributes} if the connection or parsing of the identity
+   * document fails.
+   */
+  async _getAttributes(): Promise<ResourceAttributes> {
+    try {
+      const token = await this._fetchToken();
+      const { accountId, instanceId, instanceType, region, availabilityZone } =
+        await this._fetchIdentity(token);
+      const hostname = await this._fetchHost(token);
+
+      return {
+        [SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AWS,
+        [SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AWS_EC2,
+        [SEMRESATTRS_CLOUD_ACCOUNT_ID]: accountId,
+        [SEMRESATTRS_CLOUD_REGION]: region,
+        [SEMRESATTRS_CLOUD_AVAILABILITY_ZONE]: availabilityZone,
+        [SEMRESATTRS_HOST_ID]: instanceId,
+        [SEMRESATTRS_HOST_TYPE]: instanceType,
+        [SEMRESATTRS_HOST_NAME]: hostname,
+      };
+    } catch {
+      return {};
+    }
+  }
+
+  private async _fetchToken(): Promise<string> {
+    const options = {
+      host: this.AWS_IDMS_ENDPOINT,
+      path: this.AWS_INSTANCE_TOKEN_DOCUMENT_PATH,
+      method: 'PUT',
+      timeout: this.MILLISECOND_TIME_OUT,
+      headers: {
+        [this.AWS_METADATA_TTL_HEADER]: '60',
+      },
+    };
+    return await this._fetchString(options);
+  }
+
+  private async _fetchIdentity(token: string): Promise<any> {
+    const options = {
+      host: this.AWS_IDMS_ENDPOINT,
+      path: this.AWS_INSTANCE_IDENTITY_DOCUMENT_PATH,
+      method: 'GET',
+      timeout: this.MILLISECOND_TIME_OUT,
+      headers: {
+        [this.AWS_METADATA_TOKEN_HEADER]: token,
+      },
+    };
+    const identity = await this._fetchString(options);
+    return JSON.parse(identity);
+  }
+
+  private async _fetchHost(token: string): Promise<string> {
+    const options = {
+      host: this.AWS_IDMS_ENDPOINT,
+      path: this.AWS_INSTANCE_HOST_DOCUMENT_PATH,
+      method: 'GET',
+      timeout: this.MILLISECOND_TIME_OUT,
+      headers: {
+        [this.AWS_METADATA_TOKEN_HEADER]: token,
+      },
+    };
+    return await this._fetchString(options);
+  }
+
+  /**
+   * Establishes an HTTP connection to AWS instance document url.
+   * If the application is running on an EC2 instance, we should be able
+   * to get back a valid JSON document. Parses that document and stores
+   * the identity properties in a local map.
+   */
+  private async _fetchString(options: http.RequestOptions): Promise<string> {
+    return new Promise((resolve, reject) => {
+      const timeoutId = setTimeout(() => {
+        req.abort();
+        reject(new Error('EC2 metadata api request timed out.'));
+      }, this.MILLISECOND_TIME_OUT);
+
+      const req = http.request(options, res => {
+        clearTimeout(timeoutId);
+        const { statusCode } = res;
+        res.setEncoding('utf8');
+        let rawData = '';
+        res.on('data', chunk => (rawData += chunk));
+        res.on('end', () => {
+          if (statusCode && statusCode >= 200 && statusCode < 300) {
+            try {
+              resolve(rawData);
+            } catch (e) {
+              reject(e);
+            }
+          } else {
+            reject(
+              new Error('Failed to load page, status code: ' + statusCode)
+            );
+          }
+        });
+      });
+      req.on('error', err => {
+        clearTimeout(timeoutId);
+        reject(err);
+      });
+      req.end();
+    });
+  }
+}
+
+export const awsEc2DetectorSync = new AwsEc2DetectorSync();
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetector.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetector.ts
index 0c5a9f0624..ff1ab162cf 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetector.ts
@@ -14,254 +14,20 @@
  * limitations under the License.
  */
 
-import { diag } from '@opentelemetry/api';
-import {
-  Detector,
-  Resource,
-  ResourceAttributes,
-} from '@opentelemetry/resources';
-import {
-  SEMRESATTRS_CLOUD_PROVIDER,
-  SEMRESATTRS_CLOUD_PLATFORM,
-  SEMRESATTRS_CONTAINER_ID,
-  SEMRESATTRS_CONTAINER_NAME,
-  SEMRESATTRS_AWS_ECS_CONTAINER_ARN,
-  SEMRESATTRS_AWS_ECS_CLUSTER_ARN,
-  SEMRESATTRS_AWS_ECS_LAUNCHTYPE,
-  SEMRESATTRS_AWS_ECS_TASK_ARN,
-  SEMRESATTRS_AWS_ECS_TASK_FAMILY,
-  SEMRESATTRS_AWS_ECS_TASK_REVISION,
-  SEMRESATTRS_CLOUD_ACCOUNT_ID,
-  SEMRESATTRS_CLOUD_REGION,
-  SEMRESATTRS_CLOUD_AVAILABILITY_ZONE,
-  SEMRESATTRS_AWS_LOG_GROUP_NAMES,
-  SEMRESATTRS_AWS_LOG_GROUP_ARNS,
-  SEMRESATTRS_AWS_LOG_STREAM_NAMES,
-  SEMRESATTRS_AWS_LOG_STREAM_ARNS,
-  CLOUDPROVIDERVALUES_AWS,
-  CLOUDPLATFORMVALUES_AWS_ECS,
-} from '@opentelemetry/semantic-conventions';
-// Patch until the OpenTelemetry SDK is updated to ship this attribute
-import { SemanticResourceAttributes as AdditionalSemanticResourceAttributes } from './SemanticResourceAttributes';
-import * as http from 'http';
-import * as util from 'util';
-import * as fs from 'fs';
-import * as os from 'os';
-import { getEnv } from '@opentelemetry/core';
+import { Detector, IResource } from '@opentelemetry/resources';
 
-const HTTP_TIMEOUT_IN_MS = 1000;
-
-interface AwsLogOptions {
-  readonly 'awslogs-region'?: string;
-  readonly 'awslogs-group'?: string;
-  readonly 'awslogs-stream'?: string;
-}
+import { awsEcsDetectorSync } from './AwsEcsDetectorSync';
 
 /**
  * The AwsEcsDetector can be used to detect if a process is running in AWS
  * ECS and return a {@link Resource} populated with data about the ECS
- * plugins of AWS X-Ray. Returns an empty Resource if detection fails.
+ * plugins of AWS X-Ray.
+ *
+ * @deprecated Use {@link AwsEcsDetectorSync} class instead.
  */
 export class AwsEcsDetector implements Detector {
-  static readonly CONTAINER_ID_LENGTH = 64;
-  static readonly DEFAULT_CGROUP_PATH = '/proc/self/cgroup';
-
-  private static readFileAsync = util.promisify(fs.readFile);
-
-  async detect(): Promise<Resource> {
-    const env = getEnv();
-    if (!env.ECS_CONTAINER_METADATA_URI_V4 && !env.ECS_CONTAINER_METADATA_URI) {
-      diag.debug('AwsEcsDetector failed: Process is not on ECS');
-      return Resource.empty();
-    }
-
-    let resource = new Resource({
-      [SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AWS,
-      [SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AWS_ECS,
-    }).merge(await AwsEcsDetector._getContainerIdAndHostnameResource());
-
-    const metadataUrl = getEnv().ECS_CONTAINER_METADATA_URI_V4;
-    if (metadataUrl) {
-      const [containerMetadata, taskMetadata] = await Promise.all([
-        AwsEcsDetector._getUrlAsJson(metadataUrl),
-        AwsEcsDetector._getUrlAsJson(`${metadataUrl}/task`),
-      ]);
-
-      const metadatav4Resource = await AwsEcsDetector._getMetadataV4Resource(
-        containerMetadata,
-        taskMetadata
-      );
-      const logsResource = await AwsEcsDetector._getLogResource(
-        containerMetadata
-      );
-
-      resource = resource.merge(metadatav4Resource).merge(logsResource);
-    }
-
-    return resource;
-  }
-
-  /**
-   * Read container ID from cgroup file
-   * In ECS, even if we fail to find target file
-   * or target file does not contain container ID
-   * we do not throw an error but throw warning message
-   * and then return null string
-   */
-  private static async _getContainerIdAndHostnameResource(): Promise<Resource> {
-    const hostName = os.hostname();
-
-    let containerId = '';
-    try {
-      const rawData = await AwsEcsDetector.readFileAsync(
-        AwsEcsDetector.DEFAULT_CGROUP_PATH,
-        'utf8'
-      );
-      const splitData = rawData.trim().split('\n');
-      for (const str of splitData) {
-        if (str.length > AwsEcsDetector.CONTAINER_ID_LENGTH) {
-          containerId = str.substring(
-            str.length - AwsEcsDetector.CONTAINER_ID_LENGTH
-          );
-          break;
-        }
-      }
-    } catch (e) {
-      diag.warn('AwsEcsDetector failed to read container ID', e);
-    }
-
-    if (hostName || containerId) {
-      return new Resource({
-        [SEMRESATTRS_CONTAINER_NAME]: hostName || '',
-        [SEMRESATTRS_CONTAINER_ID]: containerId || '',
-      });
-    }
-
-    return Resource.empty();
-  }
-
-  private static async _getMetadataV4Resource(
-    containerMetadata: any,
-    taskMetadata: any
-  ): Promise<Resource> {
-    const launchType: string = taskMetadata['LaunchType'];
-    const taskArn: string = taskMetadata['TaskARN'];
-
-    const baseArn: string = taskArn.substring(0, taskArn.lastIndexOf(':'));
-    const cluster: string = taskMetadata['Cluster'];
-
-    const accountId: string = AwsEcsDetector._getAccountFromArn(taskArn);
-    const region: string = AwsEcsDetector._getRegionFromArn(taskArn);
-    const availabilityZone: string | undefined =
-      taskMetadata?.['AvailabilityZone'];
-
-    const clusterArn = cluster.startsWith('arn:')
-      ? cluster
-      : `${baseArn}:cluster/${cluster}`;
-
-    const containerArn: string = containerMetadata['ContainerARN'];
-
-    // https://github.com/open-telemetry/semantic-conventions/blob/main/semantic_conventions/resource/cloud_provider/aws/ecs.yaml
-    const attributes: ResourceAttributes = {
-      [SEMRESATTRS_AWS_ECS_CONTAINER_ARN]: containerArn,
-      [SEMRESATTRS_AWS_ECS_CLUSTER_ARN]: clusterArn,
-      [SEMRESATTRS_AWS_ECS_LAUNCHTYPE]: launchType?.toLowerCase(),
-      [SEMRESATTRS_AWS_ECS_TASK_ARN]: taskArn,
-      [SEMRESATTRS_AWS_ECS_TASK_FAMILY]: taskMetadata['Family'],
-      [SEMRESATTRS_AWS_ECS_TASK_REVISION]: taskMetadata['Revision'],
-
-      [SEMRESATTRS_CLOUD_ACCOUNT_ID]: accountId,
-      [SEMRESATTRS_CLOUD_REGION]: region,
-      [AdditionalSemanticResourceAttributes.CLOUD_RESOURCE_ID]: containerArn,
-    };
-
-    // The availability zone is not available in all Fargate runtimes
-    if (availabilityZone) {
-      attributes[SEMRESATTRS_CLOUD_AVAILABILITY_ZONE] = availabilityZone;
-    }
-
-    return new Resource(attributes);
-  }
-
-  private static async _getLogResource(
-    containerMetadata: any
-  ): Promise<Resource> {
-    if (
-      containerMetadata['LogDriver'] !== 'awslogs' ||
-      !containerMetadata['LogOptions']
-    ) {
-      return Resource.EMPTY;
-    }
-
-    const containerArn = containerMetadata['ContainerARN']!;
-    const logOptions = containerMetadata['LogOptions'] as AwsLogOptions;
-
-    const logsRegion =
-      logOptions['awslogs-region'] ||
-      AwsEcsDetector._getRegionFromArn(containerArn);
-
-    const awsAccount = AwsEcsDetector._getAccountFromArn(containerArn);
-
-    const logsGroupName = logOptions['awslogs-group']!;
-    const logsGroupArn = `arn:aws:logs:${logsRegion}:${awsAccount}:log-group:${logsGroupName}`;
-    const logsStreamName = logOptions['awslogs-stream']!;
-    const logsStreamArn = `arn:aws:logs:${logsRegion}:${awsAccount}:log-group:${logsGroupName}:log-stream:${logsStreamName}`;
-
-    return new Resource({
-      [SEMRESATTRS_AWS_LOG_GROUP_NAMES]: [logsGroupName],
-      [SEMRESATTRS_AWS_LOG_GROUP_ARNS]: [logsGroupArn],
-      [SEMRESATTRS_AWS_LOG_STREAM_NAMES]: [logsStreamName],
-      [SEMRESATTRS_AWS_LOG_STREAM_ARNS]: [logsStreamArn],
-    });
-  }
-
-  private static _getAccountFromArn(containerArn: string): string {
-    const match = /arn:aws:ecs:[^:]+:([^:]+):.*/.exec(containerArn);
-    return match![1];
-  }
-
-  private static _getRegionFromArn(containerArn: string): string {
-    const match = /arn:aws:ecs:([^:]+):.*/.exec(containerArn);
-    return match![1];
-  }
-
-  private static _getUrlAsJson(url: string): Promise<any> {
-    return new Promise<string>((resolve, reject) => {
-      const request = http.get(url, (response: http.IncomingMessage) => {
-        if (response.statusCode && response.statusCode >= 400) {
-          reject(
-            new Error(
-              `Request to '${url}' failed with status ${response.statusCode}`
-            )
-          );
-        }
-        /*
-         * Concatenate the response out of chunks:
-         * https://nodejs.org/api/stream.html#stream_event_data
-         */
-        let responseBody = '';
-        response.on(
-          'data',
-          (chunk: Buffer) => (responseBody += chunk.toString())
-        );
-        // All the data has been read, resolve the Promise
-        response.on('end', () => resolve(responseBody));
-        /*
-         * https://nodejs.org/api/http.html#httprequesturl-options-callback, see the
-         * 'In the case of a premature connection close after the response is received'
-         * case
-         */
-        request.on('error', reject);
-      });
-
-      // Set an aggressive timeout to prevent lock-ups
-      request.setTimeout(HTTP_TIMEOUT_IN_MS, () => {
-        request.destroy();
-      });
-      // Connection error, disconnection, etc.
-      request.on('error', reject);
-      request.end();
-    }).then(responseBodyRaw => JSON.parse(responseBodyRaw));
+  detect(): Promise<IResource> {
+    return Promise.resolve(awsEcsDetectorSync.detect());
   }
 }
 
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetectorSync.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetectorSync.ts
new file mode 100644
index 0000000000..a89d46cb19
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetectorSync.ts
@@ -0,0 +1,278 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { diag } from '@opentelemetry/api';
+import {
+  DetectorSync,
+  IResource,
+  Resource,
+  ResourceAttributes,
+} from '@opentelemetry/resources';
+import {
+  SEMRESATTRS_CLOUD_PROVIDER,
+  SEMRESATTRS_CLOUD_PLATFORM,
+  SEMRESATTRS_CONTAINER_ID,
+  SEMRESATTRS_CONTAINER_NAME,
+  SEMRESATTRS_AWS_ECS_CONTAINER_ARN,
+  SEMRESATTRS_AWS_ECS_CLUSTER_ARN,
+  SEMRESATTRS_AWS_ECS_LAUNCHTYPE,
+  SEMRESATTRS_AWS_ECS_TASK_ARN,
+  SEMRESATTRS_AWS_ECS_TASK_FAMILY,
+  SEMRESATTRS_AWS_ECS_TASK_REVISION,
+  SEMRESATTRS_CLOUD_ACCOUNT_ID,
+  SEMRESATTRS_CLOUD_REGION,
+  SEMRESATTRS_CLOUD_AVAILABILITY_ZONE,
+  SEMRESATTRS_AWS_LOG_GROUP_NAMES,
+  SEMRESATTRS_AWS_LOG_GROUP_ARNS,
+  SEMRESATTRS_AWS_LOG_STREAM_NAMES,
+  SEMRESATTRS_AWS_LOG_STREAM_ARNS,
+  CLOUDPROVIDERVALUES_AWS,
+  CLOUDPLATFORMVALUES_AWS_ECS,
+} from '@opentelemetry/semantic-conventions';
+// Patch until the OpenTelemetry SDK is updated to ship this attribute
+import { SemanticResourceAttributes as AdditionalSemanticResourceAttributes } from './SemanticResourceAttributes';
+import * as http from 'http';
+import * as util from 'util';
+import * as fs from 'fs';
+import * as os from 'os';
+import { getEnv } from '@opentelemetry/core';
+
+const HTTP_TIMEOUT_IN_MS = 1000;
+
+interface AwsLogOptions {
+  readonly 'awslogs-region'?: string;
+  readonly 'awslogs-group'?: string;
+  readonly 'awslogs-stream'?: string;
+}
+
+/**
+ * The AwsEcsDetector can be used to detect if a process is running in AWS
+ * ECS and return a {@link Resource} populated with data about the ECS
+ * plugins of AWS X-Ray. Returns an empty Resource if detection fails.
+ */
+export class AwsEcsDetectorSync implements DetectorSync {
+  static readonly CONTAINER_ID_LENGTH = 64;
+  static readonly DEFAULT_CGROUP_PATH = '/proc/self/cgroup';
+
+  private static readFileAsync = util.promisify(fs.readFile);
+
+  detect(): IResource {
+    return new Resource({}, this._getAttributes());
+  }
+
+  private async _getAttributes(): Promise<ResourceAttributes> {
+    const env = getEnv();
+    if (!env.ECS_CONTAINER_METADATA_URI_V4 && !env.ECS_CONTAINER_METADATA_URI) {
+      diag.debug('AwsEcsDetector failed: Process is not on ECS');
+      return {};
+    }
+
+    try {
+      let resource = new Resource({
+        [SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AWS,
+        [SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AWS_ECS,
+      }).merge(await AwsEcsDetectorSync._getContainerIdAndHostnameResource());
+
+      const metadataUrl = getEnv().ECS_CONTAINER_METADATA_URI_V4;
+      if (metadataUrl) {
+        const [containerMetadata, taskMetadata] = await Promise.all([
+          AwsEcsDetectorSync._getUrlAsJson(metadataUrl),
+          AwsEcsDetectorSync._getUrlAsJson(`${metadataUrl}/task`),
+        ]);
+
+        const metadatav4Resource =
+          await AwsEcsDetectorSync._getMetadataV4Resource(
+            containerMetadata,
+            taskMetadata
+          );
+        const logsResource = await AwsEcsDetectorSync._getLogResource(
+          containerMetadata
+        );
+
+        resource = resource.merge(metadatav4Resource).merge(logsResource);
+      }
+
+      return resource.attributes;
+    } catch {
+      return {};
+    }
+  }
+
+  /**
+   * Read container ID from cgroup file
+   * In ECS, even if we fail to find target file
+   * or target file does not contain container ID
+   * we do not throw an error but throw warning message
+   * and then return null string
+   */
+  private static async _getContainerIdAndHostnameResource(): Promise<Resource> {
+    const hostName = os.hostname();
+
+    let containerId = '';
+    try {
+      const rawData = await AwsEcsDetectorSync.readFileAsync(
+        AwsEcsDetectorSync.DEFAULT_CGROUP_PATH,
+        'utf8'
+      );
+      const splitData = rawData.trim().split('\n');
+      for (const str of splitData) {
+        if (str.length > AwsEcsDetectorSync.CONTAINER_ID_LENGTH) {
+          containerId = str.substring(
+            str.length - AwsEcsDetectorSync.CONTAINER_ID_LENGTH
+          );
+          break;
+        }
+      }
+    } catch (e) {
+      diag.warn('AwsEcsDetector failed to read container ID', e);
+    }
+
+    if (hostName || containerId) {
+      return new Resource({
+        [SEMRESATTRS_CONTAINER_NAME]: hostName || '',
+        [SEMRESATTRS_CONTAINER_ID]: containerId || '',
+      });
+    }
+
+    return Resource.empty();
+  }
+
+  private static async _getMetadataV4Resource(
+    containerMetadata: any,
+    taskMetadata: any
+  ): Promise<Resource> {
+    const launchType: string = taskMetadata['LaunchType'];
+    const taskArn: string = taskMetadata['TaskARN'];
+
+    const baseArn: string = taskArn.substring(0, taskArn.lastIndexOf(':'));
+    const cluster: string = taskMetadata['Cluster'];
+
+    const accountId: string = AwsEcsDetectorSync._getAccountFromArn(taskArn);
+    const region: string = AwsEcsDetectorSync._getRegionFromArn(taskArn);
+    const availabilityZone: string | undefined =
+      taskMetadata?.['AvailabilityZone'];
+
+    const clusterArn = cluster.startsWith('arn:')
+      ? cluster
+      : `${baseArn}:cluster/${cluster}`;
+
+    const containerArn: string = containerMetadata['ContainerARN'];
+
+    // https://github.com/open-telemetry/semantic-conventions/blob/main/semantic_conventions/resource/cloud_provider/aws/ecs.yaml
+    const attributes: ResourceAttributes = {
+      [SEMRESATTRS_AWS_ECS_CONTAINER_ARN]: containerArn,
+      [SEMRESATTRS_AWS_ECS_CLUSTER_ARN]: clusterArn,
+      [SEMRESATTRS_AWS_ECS_LAUNCHTYPE]: launchType?.toLowerCase(),
+      [SEMRESATTRS_AWS_ECS_TASK_ARN]: taskArn,
+      [SEMRESATTRS_AWS_ECS_TASK_FAMILY]: taskMetadata['Family'],
+      [SEMRESATTRS_AWS_ECS_TASK_REVISION]: taskMetadata['Revision'],
+
+      [SEMRESATTRS_CLOUD_ACCOUNT_ID]: accountId,
+      [SEMRESATTRS_CLOUD_REGION]: region,
+      [AdditionalSemanticResourceAttributes.CLOUD_RESOURCE_ID]: containerArn,
+    };
+
+    // The availability zone is not available in all Fargate runtimes
+    if (availabilityZone) {
+      attributes[SEMRESATTRS_CLOUD_AVAILABILITY_ZONE] = availabilityZone;
+    }
+
+    return new Resource(attributes);
+  }
+
+  private static async _getLogResource(
+    containerMetadata: any
+  ): Promise<Resource> {
+    if (
+      containerMetadata['LogDriver'] !== 'awslogs' ||
+      !containerMetadata['LogOptions']
+    ) {
+      return Resource.EMPTY;
+    }
+
+    const containerArn = containerMetadata['ContainerARN']!;
+    const logOptions = containerMetadata['LogOptions'] as AwsLogOptions;
+
+    const logsRegion =
+      logOptions['awslogs-region'] ||
+      AwsEcsDetectorSync._getRegionFromArn(containerArn);
+
+    const awsAccount = AwsEcsDetectorSync._getAccountFromArn(containerArn);
+
+    const logsGroupName = logOptions['awslogs-group']!;
+    const logsGroupArn = `arn:aws:logs:${logsRegion}:${awsAccount}:log-group:${logsGroupName}`;
+    const logsStreamName = logOptions['awslogs-stream']!;
+    const logsStreamArn = `arn:aws:logs:${logsRegion}:${awsAccount}:log-group:${logsGroupName}:log-stream:${logsStreamName}`;
+
+    return new Resource({
+      [SEMRESATTRS_AWS_LOG_GROUP_NAMES]: [logsGroupName],
+      [SEMRESATTRS_AWS_LOG_GROUP_ARNS]: [logsGroupArn],
+      [SEMRESATTRS_AWS_LOG_STREAM_NAMES]: [logsStreamName],
+      [SEMRESATTRS_AWS_LOG_STREAM_ARNS]: [logsStreamArn],
+    });
+  }
+
+  private static _getAccountFromArn(containerArn: string): string {
+    const match = /arn:aws:ecs:[^:]+:([^:]+):.*/.exec(containerArn);
+    return match![1];
+  }
+
+  private static _getRegionFromArn(containerArn: string): string {
+    const match = /arn:aws:ecs:([^:]+):.*/.exec(containerArn);
+    return match![1];
+  }
+
+  private static _getUrlAsJson(url: string): Promise<any> {
+    return new Promise<string>((resolve, reject) => {
+      const request = http.get(url, (response: http.IncomingMessage) => {
+        if (response.statusCode && response.statusCode >= 400) {
+          reject(
+            new Error(
+              `Request to '${url}' failed with status ${response.statusCode}`
+            )
+          );
+        }
+        /*
+         * Concatenate the response out of chunks:
+         * https://nodejs.org/api/stream.html#stream_event_data
+         */
+        let responseBody = '';
+        response.on(
+          'data',
+          (chunk: Buffer) => (responseBody += chunk.toString())
+        );
+        // All the data has been read, resolve the Promise
+        response.on('end', () => resolve(responseBody));
+        /*
+         * https://nodejs.org/api/http.html#httprequesturl-options-callback, see the
+         * 'In the case of a premature connection close after the response is received'
+         * case
+         */
+        request.on('error', reject);
+      });
+
+      // Set an aggressive timeout to prevent lock-ups
+      request.setTimeout(HTTP_TIMEOUT_IN_MS, () => {
+        request.destroy();
+      });
+      // Connection error, disconnection, etc.
+      request.on('error', reject);
+      request.end();
+    }).then(responseBodyRaw => JSON.parse(responseBodyRaw));
+  }
+}
+
+export const awsEcsDetectorSync = new AwsEcsDetectorSync();
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetector.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetector.ts
index a0369f9d71..fdf7d626db 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetector.ts
@@ -16,21 +16,11 @@
 
 import {
   Detector,
-  Resource,
+  IResource,
   ResourceDetectionConfig,
 } from '@opentelemetry/resources';
-import {
-  SEMRESATTRS_CLOUD_PROVIDER,
-  SEMRESATTRS_CLOUD_PLATFORM,
-  SEMRESATTRS_K8S_CLUSTER_NAME,
-  SEMRESATTRS_CONTAINER_ID,
-  CLOUDPROVIDERVALUES_AWS,
-  CLOUDPLATFORMVALUES_AWS_EKS,
-} from '@opentelemetry/semantic-conventions';
-import * as https from 'https';
-import * as fs from 'fs';
-import * as util from 'util';
-import { diag } from '@opentelemetry/api';
+
+import { awsEksDetectorSync } from './AwsEksDetectorSync';
 
 /**
  * The AwsEksDetector can be used to detect if a process is running in AWS Elastic
@@ -39,193 +29,20 @@ import { diag } from '@opentelemetry/api';
  *
  * See https://docs.amazonaws.cn/en_us/xray/latest/devguide/xray-guide.pdf
  * for more details about detecting information for Elastic Kubernetes plugins
+ *
+ * @deprecated Use the new {@link AwsEksDetectorSync} class instead.
  */
-
 export class AwsEksDetector implements Detector {
+  // NOTE: these readonly props are kept for testing purposes
   readonly K8S_SVC_URL = 'kubernetes.default.svc';
-  readonly K8S_TOKEN_PATH =
-    '/var/run/secrets/kubernetes.io/serviceaccount/token';
-  readonly K8S_CERT_PATH =
-    '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt';
   readonly AUTH_CONFIGMAP_PATH =
     '/api/v1/namespaces/kube-system/configmaps/aws-auth';
   readonly CW_CONFIGMAP_PATH =
     '/api/v1/namespaces/amazon-cloudwatch/configmaps/cluster-info';
-  readonly CONTAINER_ID_LENGTH = 64;
-  readonly DEFAULT_CGROUP_PATH = '/proc/self/cgroup';
   readonly TIMEOUT_MS = 2000;
-  readonly UTF8_UNICODE = 'utf8';
-
-  private static readFileAsync = util.promisify(fs.readFile);
-  private static fileAccessAsync = util.promisify(fs.access);
-
-  /**
-   * The AwsEksDetector can be used to detect if a process is running on Amazon
-   * Elastic Kubernetes and returns a promise containing a {@link Resource}
-   * populated with instance metadata. Returns a promise containing an
-   * empty {@link Resource} if the connection to kubernetes process
-   * or aws config maps fails
-   * @param config The resource detection config
-   */
-  async detect(_config?: ResourceDetectionConfig): Promise<Resource> {
-    try {
-      await AwsEksDetector.fileAccessAsync(this.K8S_TOKEN_PATH);
-      const k8scert = await AwsEksDetector.readFileAsync(this.K8S_CERT_PATH);
-
-      if (!(await this._isEks(k8scert))) {
-        return Resource.empty();
-      }
-
-      const containerId = await this._getContainerId();
-      const clusterName = await this._getClusterName(k8scert);
-
-      return !containerId && !clusterName
-        ? Resource.empty()
-        : new Resource({
-            [SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AWS,
-            [SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AWS_EKS,
-            [SEMRESATTRS_K8S_CLUSTER_NAME]: clusterName || '',
-            [SEMRESATTRS_CONTAINER_ID]: containerId || '',
-          });
-    } catch (e) {
-      diag.warn('Process is not running on K8S', e);
-      return Resource.empty();
-    }
-  }
-
-  /**
-   * Attempts to make a connection to AWS Config map which will
-   * determine whether the process is running on an EKS
-   * process if the config map is empty or not
-   */
-  private async _isEks(cert: Buffer): Promise<boolean> {
-    const options = {
-      ca: cert,
-      headers: {
-        Authorization: await this._getK8sCredHeader(),
-      },
-      hostname: this.K8S_SVC_URL,
-      method: 'GET',
-      path: this.AUTH_CONFIGMAP_PATH,
-      timeout: this.TIMEOUT_MS,
-    };
-    return !!(await this._fetchString(options));
-  }
-
-  /**
-   * Attempts to make a connection to Amazon Cloudwatch
-   * Config Maps to grab cluster name
-   */
-  private async _getClusterName(cert: Buffer): Promise<string | undefined> {
-    const options = {
-      ca: cert,
-      headers: {
-        Authorization: await this._getK8sCredHeader(),
-      },
-      host: this.K8S_SVC_URL,
-      method: 'GET',
-      path: this.CW_CONFIGMAP_PATH,
-      timeout: this.TIMEOUT_MS,
-    };
-    const response = await this._fetchString(options);
-    try {
-      return JSON.parse(response).data['cluster.name'];
-    } catch (e) {
-      diag.warn('Cannot get cluster name on EKS', e);
-    }
-    return '';
-  }
-  /**
-   * Reads the Kubernetes token path and returns kubernetes
-   * credential header
-   */
-  private async _getK8sCredHeader(): Promise<string> {
-    try {
-      const content = await AwsEksDetector.readFileAsync(
-        this.K8S_TOKEN_PATH,
-        this.UTF8_UNICODE
-      );
-      return 'Bearer ' + content;
-    } catch (e) {
-      diag.warn('Unable to read Kubernetes client token.', e);
-    }
-    return '';
-  }
-
-  /**
-   * Read container ID from cgroup file generated from docker which lists the full
-   * untruncated docker container ID at the end of each line.
-   *
-   * The predefined structure of calling /proc/self/cgroup when in a docker container has the structure:
-   *
-   * #:xxxxxx:/
-   *
-   * or
-   *
-   * #:xxxxxx:/docker/64characterID
-   *
-   * This function takes advantage of that fact by just reading the 64-character ID from the end of the
-   * first line. In EKS, even if we fail to find target file or target file does
-   * not contain container ID we do not throw an error but throw warning message
-   * and then return null string
-   */
-  private async _getContainerId(): Promise<string | undefined> {
-    try {
-      const rawData = await AwsEksDetector.readFileAsync(
-        this.DEFAULT_CGROUP_PATH,
-        this.UTF8_UNICODE
-      );
-      const splitData = rawData.trim().split('\n');
-      for (const str of splitData) {
-        if (str.length > this.CONTAINER_ID_LENGTH) {
-          return str.substring(str.length - this.CONTAINER_ID_LENGTH);
-        }
-      }
-    } catch (e: any) {
-      diag.warn(`AwsEksDetector failed to read container ID: ${e.message}`);
-    }
-    return undefined;
-  }
-
-  /**
-   * Establishes an HTTP connection to AWS instance document url.
-   * If the application is running on an EKS instance, we should be able
-   * to get back a valid JSON document. Parses that document and stores
-   * the identity properties in a local map.
-   */
-  private async _fetchString(options: https.RequestOptions): Promise<string> {
-    return await new Promise((resolve, reject) => {
-      const timeoutId = setTimeout(() => {
-        req.abort();
-        reject(new Error('EKS metadata api request timed out.'));
-      }, 2000);
 
-      const req = https.request(options, res => {
-        clearTimeout(timeoutId);
-        const { statusCode } = res;
-        res.setEncoding(this.UTF8_UNICODE);
-        let rawData = '';
-        res.on('data', chunk => (rawData += chunk));
-        res.on('end', () => {
-          if (statusCode && statusCode >= 200 && statusCode < 300) {
-            try {
-              resolve(rawData);
-            } catch (e) {
-              reject(e);
-            }
-          } else {
-            reject(
-              new Error('Failed to load page, status code: ' + statusCode)
-            );
-          }
-        });
-      });
-      req.on('error', err => {
-        clearTimeout(timeoutId);
-        reject(err);
-      });
-      req.end();
-    });
+  detect(_config?: ResourceDetectionConfig): Promise<IResource> {
+    return Promise.resolve(awsEksDetectorSync.detect());
   }
 }
 
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetectorSync.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetectorSync.ts
new file mode 100644
index 0000000000..9ac2b4345c
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetectorSync.ts
@@ -0,0 +1,239 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {
+  DetectorSync,
+  IResource,
+  Resource,
+  ResourceAttributes,
+  ResourceDetectionConfig,
+} from '@opentelemetry/resources';
+import {
+  SEMRESATTRS_CLOUD_PROVIDER,
+  SEMRESATTRS_CLOUD_PLATFORM,
+  SEMRESATTRS_K8S_CLUSTER_NAME,
+  SEMRESATTRS_CONTAINER_ID,
+  CLOUDPROVIDERVALUES_AWS,
+  CLOUDPLATFORMVALUES_AWS_EKS,
+} from '@opentelemetry/semantic-conventions';
+import * as https from 'https';
+import * as fs from 'fs';
+import * as util from 'util';
+import { diag } from '@opentelemetry/api';
+
+/**
+ * The AwsEksDetectorSync can be used to detect if a process is running in AWS Elastic
+ * Kubernetes and return a {@link Resource} populated with data about the Kubernetes
+ * plugins of AWS X-Ray. Returns an empty Resource if detection fails.
+ *
+ * See https://docs.amazonaws.cn/en_us/xray/latest/devguide/xray-guide.pdf
+ * for more details about detecting information for Elastic Kubernetes plugins
+ */
+
+export class AwsEksDetectorSync implements DetectorSync {
+  readonly K8S_SVC_URL = 'kubernetes.default.svc';
+  readonly K8S_TOKEN_PATH =
+    '/var/run/secrets/kubernetes.io/serviceaccount/token';
+  readonly K8S_CERT_PATH =
+    '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt';
+  readonly AUTH_CONFIGMAP_PATH =
+    '/api/v1/namespaces/kube-system/configmaps/aws-auth';
+  readonly CW_CONFIGMAP_PATH =
+    '/api/v1/namespaces/amazon-cloudwatch/configmaps/cluster-info';
+  readonly CONTAINER_ID_LENGTH = 64;
+  readonly DEFAULT_CGROUP_PATH = '/proc/self/cgroup';
+  readonly TIMEOUT_MS = 2000;
+  readonly UTF8_UNICODE = 'utf8';
+
+  private static readFileAsync = util.promisify(fs.readFile);
+  private static fileAccessAsync = util.promisify(fs.access);
+
+  detect(_config?: ResourceDetectionConfig): IResource {
+    return new Resource({}, this._getAttributes());
+  }
+
+  /**
+   * The AwsEksDetector can be used to detect if a process is running on Amazon
+   * Elastic Kubernetes and returns a promise containing a {@link ResourceAttributes}
+   * object with instance metadata. Returns a promise containing an
+   * empty {@link ResourceAttributes} if the connection to kubernetes process
+   * or aws config maps fails
+   */
+  private async _getAttributes(): Promise<ResourceAttributes> {
+    try {
+      await AwsEksDetectorSync.fileAccessAsync(this.K8S_TOKEN_PATH);
+      const k8scert = await AwsEksDetectorSync.readFileAsync(
+        this.K8S_CERT_PATH
+      );
+
+      if (!(await this._isEks(k8scert))) {
+        return {};
+      }
+
+      const containerId = await this._getContainerId();
+      const clusterName = await this._getClusterName(k8scert);
+
+      return !containerId && !clusterName
+        ? {}
+        : {
+            [SEMRESATTRS_CLOUD_PROVIDER]: CLOUDPROVIDERVALUES_AWS,
+            [SEMRESATTRS_CLOUD_PLATFORM]: CLOUDPLATFORMVALUES_AWS_EKS,
+            [SEMRESATTRS_K8S_CLUSTER_NAME]: clusterName || '',
+            [SEMRESATTRS_CONTAINER_ID]: containerId || '',
+          };
+    } catch (e) {
+      diag.warn('Process is not running on K8S', e);
+      return {};
+    }
+  }
+
+  /**
+   * Attempts to make a connection to AWS Config map which will
+   * determine whether the process is running on an EKS
+   * process if the config map is empty or not
+   */
+  private async _isEks(cert: Buffer): Promise<boolean> {
+    const options = {
+      ca: cert,
+      headers: {
+        Authorization: await this._getK8sCredHeader(),
+      },
+      hostname: this.K8S_SVC_URL,
+      method: 'GET',
+      path: this.AUTH_CONFIGMAP_PATH,
+      timeout: this.TIMEOUT_MS,
+    };
+    return !!(await this._fetchString(options));
+  }
+
+  /**
+   * Attempts to make a connection to Amazon Cloudwatch
+   * Config Maps to grab cluster name
+   */
+  private async _getClusterName(cert: Buffer): Promise<string | undefined> {
+    const options = {
+      ca: cert,
+      headers: {
+        Authorization: await this._getK8sCredHeader(),
+      },
+      host: this.K8S_SVC_URL,
+      method: 'GET',
+      path: this.CW_CONFIGMAP_PATH,
+      timeout: this.TIMEOUT_MS,
+    };
+    const response = await this._fetchString(options);
+    try {
+      return JSON.parse(response).data['cluster.name'];
+    } catch (e) {
+      diag.warn('Cannot get cluster name on EKS', e);
+    }
+    return '';
+  }
+  /**
+   * Reads the Kubernetes token path and returns kubernetes
+   * credential header
+   */
+  private async _getK8sCredHeader(): Promise<string> {
+    try {
+      const content = await AwsEksDetectorSync.readFileAsync(
+        this.K8S_TOKEN_PATH,
+        this.UTF8_UNICODE
+      );
+      return 'Bearer ' + content;
+    } catch (e) {
+      diag.warn('Unable to read Kubernetes client token.', e);
+    }
+    return '';
+  }
+
+  /**
+   * Read container ID from cgroup file generated from docker which lists the full
+   * untruncated docker container ID at the end of each line.
+   *
+   * The predefined structure of calling /proc/self/cgroup when in a docker container has the structure:
+   *
+   * #:xxxxxx:/
+   *
+   * or
+   *
+   * #:xxxxxx:/docker/64characterID
+   *
+   * This function takes advantage of that fact by just reading the 64-character ID from the end of the
+   * first line. In EKS, even if we fail to find target file or target file does
+   * not contain container ID we do not throw an error but throw warning message
+   * and then return null string
+   */
+  private async _getContainerId(): Promise<string | undefined> {
+    try {
+      const rawData = await AwsEksDetectorSync.readFileAsync(
+        this.DEFAULT_CGROUP_PATH,
+        this.UTF8_UNICODE
+      );
+      const splitData = rawData.trim().split('\n');
+      for (const str of splitData) {
+        if (str.length > this.CONTAINER_ID_LENGTH) {
+          return str.substring(str.length - this.CONTAINER_ID_LENGTH);
+        }
+      }
+    } catch (e: any) {
+      diag.warn(`AwsEksDetector failed to read container ID: ${e.message}`);
+    }
+    return undefined;
+  }
+
+  /**
+   * Establishes an HTTP connection to AWS instance document url.
+   * If the application is running on an EKS instance, we should be able
+   * to get back a valid JSON document. Parses that document and stores
+   * the identity properties in a local map.
+   */
+  private async _fetchString(options: https.RequestOptions): Promise<string> {
+    return await new Promise((resolve, reject) => {
+      const timeoutId = setTimeout(() => {
+        req.abort();
+        reject(new Error('EKS metadata api request timed out.'));
+      }, 2000);
+
+      const req = https.request(options, res => {
+        clearTimeout(timeoutId);
+        const { statusCode } = res;
+        res.setEncoding(this.UTF8_UNICODE);
+        let rawData = '';
+        res.on('data', chunk => (rawData += chunk));
+        res.on('end', () => {
+          if (statusCode && statusCode >= 200 && statusCode < 300) {
+            try {
+              resolve(rawData);
+            } catch (e) {
+              reject(e);
+            }
+          } else {
+            reject(
+              new Error('Failed to load page, status code: ' + statusCode)
+            );
+          }
+        });
+      });
+      req.on('error', err => {
+        clearTimeout(timeoutId);
+        reject(err);
+      });
+      req.end();
+    });
+  }
+}
+
+export const awsEksDetectorSync = new AwsEksDetectorSync();
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsLambdaDetector.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsLambdaDetector.ts
index 389b030709..529ebeff61 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsLambdaDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsLambdaDetector.ts
@@ -16,51 +16,20 @@
 
 import {
   Detector,
-  Resource,
-  ResourceAttributes,
+  IResource,
   ResourceDetectionConfig,
 } from '@opentelemetry/resources';
-import {
-  SEMRESATTRS_CLOUD_PROVIDER,
-  SEMRESATTRS_CLOUD_PLATFORM,
-  SEMRESATTRS_CLOUD_REGION,
-  SEMRESATTRS_FAAS_VERSION,
-  SEMRESATTRS_FAAS_NAME,
-  CLOUDPROVIDERVALUES_AWS,
-  CLOUDPLATFORMVALUES_AWS_LAMBDA,
-} from '@opentelemetry/semantic-conventions';
+import { awsLambdaDetectorSync } from './AwsLambdaDetectorSync';
 
 /**
  * The AwsLambdaDetector can be used to detect if a process is running in AWS Lambda
  * and return a {@link Resource} populated with data about the environment.
- * Returns an empty Resource if detection fails.
+ *
+ * @deprecated Use {@link AwsLambdaDetectorSync} class instead
  */
 export class AwsLambdaDetector implements Detector {
-  async detect(_config?: ResourceDetectionConfig): Promise<Resource> {
-    const functionName = process.env.AWS_LAMBDA_FUNCTION_NAME;
-    if (!functionName) {
-      return Resource.empty();
-    }
-
-    const functionVersion = process.env.AWS_LAMBDA_FUNCTION_VERSION;
-    const region = process.env.AWS_REGION;
-
-    const attributes: ResourceAttributes = {
-      [SEMRESATTRS_CLOUD_PROVIDER]: String(CLOUDPROVIDERVALUES_AWS),
-      [SEMRESATTRS_CLOUD_PLATFORM]: String(CLOUDPLATFORMVALUES_AWS_LAMBDA),
-    };
-    if (region) {
-      attributes[SEMRESATTRS_CLOUD_REGION] = region;
-    }
-
-    if (functionName) {
-      attributes[SEMRESATTRS_FAAS_NAME] = functionName;
-    }
-    if (functionVersion) {
-      attributes[SEMRESATTRS_FAAS_VERSION] = functionVersion;
-    }
-
-    return new Resource(attributes);
+  detect(_config?: ResourceDetectionConfig): Promise<IResource> {
+    return Promise.resolve(awsLambdaDetectorSync.detect(_config));
   }
 }
 
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsLambdaDetectorSync.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsLambdaDetectorSync.ts
new file mode 100644
index 0000000000..4b85f44bdc
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsLambdaDetectorSync.ts
@@ -0,0 +1,68 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {
+  DetectorSync,
+  IResource,
+  Resource,
+  ResourceAttributes,
+  ResourceDetectionConfig,
+} from '@opentelemetry/resources';
+import {
+  SEMRESATTRS_CLOUD_PROVIDER,
+  SEMRESATTRS_CLOUD_PLATFORM,
+  SEMRESATTRS_CLOUD_REGION,
+  SEMRESATTRS_FAAS_VERSION,
+  SEMRESATTRS_FAAS_NAME,
+  CLOUDPROVIDERVALUES_AWS,
+  CLOUDPLATFORMVALUES_AWS_LAMBDA,
+} from '@opentelemetry/semantic-conventions';
+
+/**
+ * The AwsLambdaDetector can be used to detect if a process is running in AWS Lambda
+ * and return a {@link Resource} populated with data about the environment.
+ * Returns an empty Resource if detection fails.
+ */
+export class AwsLambdaDetectorSync implements DetectorSync {
+  detect(_config?: ResourceDetectionConfig): IResource {
+    const functionName = process.env.AWS_LAMBDA_FUNCTION_NAME;
+    if (!functionName) {
+      return Resource.empty();
+    }
+
+    const functionVersion = process.env.AWS_LAMBDA_FUNCTION_VERSION;
+    const region = process.env.AWS_REGION;
+
+    const attributes: ResourceAttributes = {
+      [SEMRESATTRS_CLOUD_PROVIDER]: String(CLOUDPROVIDERVALUES_AWS),
+      [SEMRESATTRS_CLOUD_PLATFORM]: String(CLOUDPLATFORMVALUES_AWS_LAMBDA),
+    };
+    if (region) {
+      attributes[SEMRESATTRS_CLOUD_REGION] = region;
+    }
+
+    if (functionName) {
+      attributes[SEMRESATTRS_FAAS_NAME] = functionName;
+    }
+    if (functionVersion) {
+      attributes[SEMRESATTRS_FAAS_VERSION] = functionVersion;
+    }
+
+    return new Resource(attributes);
+  }
+}
+
+export const awsLambdaDetectorSync = new AwsLambdaDetectorSync();
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/index.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/index.ts
index b475e4a208..08a7f232bf 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/index.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/index.ts
@@ -14,8 +14,22 @@
  * limitations under the License.
  */
 
-export * from './AwsEc2Detector';
-export * from './AwsBeanstalkDetector';
-export * from './AwsEcsDetector';
-export * from './AwsEksDetector';
-export * from './AwsLambdaDetector';
+export {
+  AwsBeanstalkDetector,
+  awsBeanstalkDetector,
+} from './AwsBeanstalkDetector';
+export {
+  AwsBeanstalkDetectorSync,
+  awsBeanstalkDetectorSync,
+} from './AwsBeanstalkDetectorSync';
+export { awsEc2Detector } from './AwsEc2Detector';
+export { awsEc2DetectorSync } from './AwsEc2DetectorSync';
+export { AwsEcsDetector, awsEcsDetector } from './AwsEcsDetector';
+export { AwsEcsDetectorSync, awsEcsDetectorSync } from './AwsEcsDetectorSync';
+export { AwsEksDetector, awsEksDetector } from './AwsEksDetector';
+export { AwsEksDetectorSync, awsEksDetectorSync } from './AwsEksDetectorSync';
+export { AwsLambdaDetector, awsLambdaDetector } from './AwsLambdaDetector';
+export {
+  AwsLambdaDetectorSync,
+  awsLambdaDetectorSync,
+} from './AwsLambdaDetectorSync';
diff --git a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsBeanstalkDetector.test.ts b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsBeanstalkDetector.test.ts
index 92822e392b..9b00ed3548 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsBeanstalkDetector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsBeanstalkDetector.test.ts
@@ -16,7 +16,7 @@
 
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import { awsBeanstalkDetector, AwsBeanstalkDetector } from '../../src';
+import { awsBeanstalkDetector, AwsBeanstalkDetectorSync } from '../../src';
 import {
   assertEmptyResource,
   assertServiceResource,
@@ -45,14 +45,15 @@ describe('BeanstalkResourceDetector', () => {
 
   it('should successfully return resource data', async () => {
     fileStub = sinon
-      .stub(AwsBeanstalkDetector, 'fileAccessAsync' as any)
+      .stub(AwsBeanstalkDetectorSync, 'fileAccessAsync' as any)
       .resolves();
     readStub = sinon
-      .stub(AwsBeanstalkDetector, 'readFileAsync' as any)
+      .stub(AwsBeanstalkDetectorSync, 'readFileAsync' as any)
       .resolves(JSON.stringify(data));
     sinon.stub(JSON, 'parse').returns(data);
 
     const resource = await awsBeanstalkDetector.detect();
+    await resource.waitForAsyncAttributes?.();
 
     sinon.assert.calledOnce(fileStub);
     sinon.assert.calledOnce(readStub);
@@ -67,14 +68,15 @@ describe('BeanstalkResourceDetector', () => {
 
   it('should successfully return resource data with noise', async () => {
     fileStub = sinon
-      .stub(AwsBeanstalkDetector, 'fileAccessAsync' as any)
+      .stub(AwsBeanstalkDetectorSync, 'fileAccessAsync' as any)
       .resolves();
     readStub = sinon
-      .stub(AwsBeanstalkDetector, 'readFileAsync' as any)
+      .stub(AwsBeanstalkDetectorSync, 'readFileAsync' as any)
       .resolves(JSON.stringify(noisyData));
     sinon.stub(JSON, 'parse').returns(noisyData);
 
     const resource = await awsBeanstalkDetector.detect();
+    await resource.waitForAsyncAttributes?.();
 
     sinon.assert.calledOnce(fileStub);
     sinon.assert.calledOnce(readStub);
@@ -89,13 +91,14 @@ describe('BeanstalkResourceDetector', () => {
 
   it('should return empty resource when failing to read file', async () => {
     fileStub = sinon
-      .stub(AwsBeanstalkDetector, 'fileAccessAsync' as any)
+      .stub(AwsBeanstalkDetectorSync, 'fileAccessAsync' as any)
       .resolves();
     readStub = sinon
-      .stub(AwsBeanstalkDetector, 'readFileAsync' as any)
+      .stub(AwsBeanstalkDetectorSync, 'readFileAsync' as any)
       .rejects(err);
 
     const resource = await awsBeanstalkDetector.detect();
+    await resource.waitForAsyncAttributes?.();
 
     sinon.assert.calledOnce(fileStub);
     sinon.assert.calledOnce(readStub);
@@ -105,13 +108,14 @@ describe('BeanstalkResourceDetector', () => {
 
   it('should return empty resource when config file does not exist', async () => {
     fileStub = sinon
-      .stub(AwsBeanstalkDetector, 'fileAccessAsync' as any)
+      .stub(AwsBeanstalkDetectorSync, 'fileAccessAsync' as any)
       .rejects(err);
     readStub = sinon
-      .stub(AwsBeanstalkDetector, 'readFileAsync' as any)
+      .stub(AwsBeanstalkDetectorSync, 'readFileAsync' as any)
       .resolves(JSON.stringify(data));
 
     const resource = await awsBeanstalkDetector.detect();
+    await resource.waitForAsyncAttributes?.();
 
     sinon.assert.calledOnce(fileStub);
     sinon.assert.notCalled(readStub);
diff --git a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsBeanstalkDetectorSync.test.ts b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsBeanstalkDetectorSync.test.ts
new file mode 100644
index 0000000000..76096c4bee
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsBeanstalkDetectorSync.test.ts
@@ -0,0 +1,125 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as assert from 'assert';
+import * as sinon from 'sinon';
+import { awsBeanstalkDetectorSync, AwsBeanstalkDetectorSync } from '../../src';
+import {
+  assertEmptyResource,
+  assertServiceResource,
+} from '@opentelemetry/contrib-test-utils';
+import { CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK } from '@opentelemetry/semantic-conventions';
+
+describe('BeanstalkResourceDetectorSync', () => {
+  const err = new Error('failed to read config file');
+  const data = {
+    version_label: 'app-5a56-170119_190650-stage-170119_190650',
+    deployment_id: '32',
+    environment_name: 'scorekeep',
+  };
+  const noisyData = {
+    noise: 'noise',
+    version_label: 'app-5a56-170119_190650-stage-170119_190650',
+    deployment_id: '32',
+    environment_name: 'scorekeep',
+  };
+
+  let readStub, fileStub;
+
+  afterEach(() => {
+    sinon.restore();
+  });
+
+  it('should successfully return resource data', async () => {
+    fileStub = sinon
+      .stub(AwsBeanstalkDetectorSync, 'fileAccessAsync' as any)
+      .resolves();
+    readStub = sinon
+      .stub(AwsBeanstalkDetectorSync, 'readFileAsync' as any)
+      .resolves(JSON.stringify(data));
+    sinon.stub(JSON, 'parse').returns(data);
+
+    const resource = awsBeanstalkDetectorSync.detect();
+    await resource.waitForAsyncAttributes?.();
+
+    sinon.assert.calledOnce(fileStub);
+    sinon.assert.calledOnce(readStub);
+    assert.ok(resource);
+    assertServiceResource(resource, {
+      name: CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
+      namespace: 'scorekeep',
+      version: 'app-5a56-170119_190650-stage-170119_190650',
+      instanceId: '32',
+    });
+  });
+
+  it('should successfully return resource data with noise', async () => {
+    fileStub = sinon
+      .stub(AwsBeanstalkDetectorSync, 'fileAccessAsync' as any)
+      .resolves();
+    readStub = sinon
+      .stub(AwsBeanstalkDetectorSync, 'readFileAsync' as any)
+      .resolves(JSON.stringify(noisyData));
+    sinon.stub(JSON, 'parse').returns(noisyData);
+
+    const resource = awsBeanstalkDetectorSync.detect();
+    await resource.waitForAsyncAttributes?.();
+
+    sinon.assert.calledOnce(fileStub);
+    sinon.assert.calledOnce(readStub);
+    assert.ok(resource);
+    assertServiceResource(resource, {
+      name: CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
+      namespace: 'scorekeep',
+      version: 'app-5a56-170119_190650-stage-170119_190650',
+      instanceId: '32',
+    });
+  });
+
+  it('should return empty resource when failing to read file', async () => {
+    fileStub = sinon
+      .stub(AwsBeanstalkDetectorSync, 'fileAccessAsync' as any)
+      .resolves();
+    readStub = sinon
+      .stub(AwsBeanstalkDetectorSync, 'readFileAsync' as any)
+      .rejects(err);
+
+    const resource = awsBeanstalkDetectorSync.detect();
+    await resource.waitForAsyncAttributes?.();
+
+    sinon.assert.calledOnce(fileStub);
+    sinon.assert.calledOnce(readStub);
+    assert.ok(resource);
+    assertEmptyResource(resource);
+  });
+
+  it('should return empty resource when config file does not exist', async () => {
+    fileStub = sinon
+      .stub(AwsBeanstalkDetectorSync, 'fileAccessAsync' as any)
+      .rejects(err);
+    readStub = sinon
+      .stub(AwsBeanstalkDetectorSync, 'readFileAsync' as any)
+      .resolves(JSON.stringify(data));
+
+    const resource = awsBeanstalkDetectorSync.detect();
+    await resource.waitForAsyncAttributes?.();
+
+    sinon.assert.calledOnce(fileStub);
+    sinon.assert.notCalled(readStub);
+    assert.ok(resource);
+    assertEmptyResource(resource);
+  });
+});
diff --git a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEc2Detector.test.ts b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEc2Detector.test.ts
index 501d019b59..c837f4c6ed 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEc2Detector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEc2Detector.test.ts
@@ -16,19 +16,20 @@
 
 import * as nock from 'nock';
 import * as assert from 'assert';
-import { Resource } from '@opentelemetry/resources';
-import { awsEc2Detector } from '../../src';
+
+import { awsEc2Detector, awsEc2DetectorSync } from '../../src';
 import {
   assertCloudResource,
   assertHostResource,
 } from '@opentelemetry/contrib-test-utils';
 
-const AWS_HOST = 'http://' + awsEc2Detector.AWS_IDMS_ENDPOINT;
-const AWS_TOKEN_PATH = awsEc2Detector.AWS_INSTANCE_TOKEN_DOCUMENT_PATH;
-const AWS_IDENTITY_PATH = awsEc2Detector.AWS_INSTANCE_IDENTITY_DOCUMENT_PATH;
-const AWS_HOST_PATH = awsEc2Detector.AWS_INSTANCE_HOST_DOCUMENT_PATH;
-const AWS_METADATA_TTL_HEADER = awsEc2Detector.AWS_METADATA_TTL_HEADER;
-const AWS_METADATA_TOKEN_HEADER = awsEc2Detector.AWS_METADATA_TOKEN_HEADER;
+const AWS_HOST = 'http://' + awsEc2DetectorSync.AWS_IDMS_ENDPOINT;
+const AWS_TOKEN_PATH = awsEc2DetectorSync.AWS_INSTANCE_TOKEN_DOCUMENT_PATH;
+const AWS_IDENTITY_PATH =
+  awsEc2DetectorSync.AWS_INSTANCE_IDENTITY_DOCUMENT_PATH;
+const AWS_HOST_PATH = awsEc2DetectorSync.AWS_INSTANCE_HOST_DOCUMENT_PATH;
+const AWS_METADATA_TTL_HEADER = awsEc2DetectorSync.AWS_METADATA_TTL_HEADER;
+const AWS_METADATA_TOKEN_HEADER = awsEc2DetectorSync.AWS_METADATA_TOKEN_HEADER;
 
 const mockedTokenResponse = 'my-token';
 const mockedIdentityResponse = {
@@ -64,7 +65,8 @@ describe('awsEc2Detector', () => {
         .matchHeader(AWS_METADATA_TOKEN_HEADER, mockedTokenResponse)
         .reply(200, () => mockedHostResponse);
 
-      const resource: Resource = await awsEc2Detector.detect();
+      const resource = await awsEc2Detector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       scope.done();
 
@@ -85,8 +87,7 @@ describe('awsEc2Detector', () => {
   });
 
   describe('with unsuccessful request', () => {
-    it('should throw when receiving error response code', async () => {
-      const expectedError = new Error('Failed to load page, status code: 404');
+    it('should return empty resource when receiving error response code', async () => {
       const scope = nock(AWS_HOST)
         .persist()
         .put(AWS_TOKEN_PATH)
@@ -99,19 +100,16 @@ describe('awsEc2Detector', () => {
         .matchHeader(AWS_METADATA_TOKEN_HEADER, mockedTokenResponse)
         .reply(404, () => new Error());
 
-      try {
-        await awsEc2Detector.detect();
-        assert.ok(false, 'Expected to throw');
-      } catch (err) {
-        assert.deepStrictEqual(err, expectedError);
-      }
+      const resource = await awsEc2Detector.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      assert.deepStrictEqual(resource.attributes, {});
 
       scope.done();
     });
 
-    it('should throw when timed out', function (done) {
+    it('should return empty resource when timed out', async function () {
       this.timeout(6000);
-      const expectedError = new Error('EC2 metadata api request timed out.');
       const scope = nock(AWS_HOST)
         .put(AWS_TOKEN_PATH)
         .matchHeader(AWS_METADATA_TTL_HEADER, '60')
@@ -124,21 +122,15 @@ describe('awsEc2Detector', () => {
         .delayConnection(5000)
         .reply(200, () => mockedHostResponse);
 
-      awsEc2Detector
-        .detect()
-        .then(() => {
-          assert.ok(false, 'Expected to throw');
-        })
-        .catch(err => {
-          assert.deepStrictEqual(err, expectedError);
-        })
-        .finally(() => {
-          scope.done();
-          done();
-        });
+      const resource = await awsEc2Detector.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      assert.deepStrictEqual(resource.attributes, {});
+
+      scope.done();
     });
 
-    it('should throw when replied with an Error', async () => {
+    it('should return empty resource when replied with an Error', async () => {
       const expectedError = new Error('NOT FOUND');
       const scope = nock(AWS_HOST)
         .put(AWS_TOKEN_PATH)
@@ -148,12 +140,10 @@ describe('awsEc2Detector', () => {
         .matchHeader(AWS_METADATA_TOKEN_HEADER, mockedTokenResponse)
         .replyWithError(expectedError.message);
 
-      try {
-        await awsEc2Detector.detect();
-        assert.ok(false, 'Expected to throw');
-      } catch (err) {
-        assert.deepStrictEqual(err, expectedError);
-      }
+      const resource = await awsEc2Detector.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      assert.deepStrictEqual(resource.attributes, {});
 
       scope.done();
     });
diff --git a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEc2DetectorSync.test.ts b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEc2DetectorSync.test.ts
new file mode 100644
index 0000000000..4f309d5ec5
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEc2DetectorSync.test.ts
@@ -0,0 +1,152 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as nock from 'nock';
+import * as assert from 'assert';
+
+import {
+  assertCloudResource,
+  assertHostResource,
+} from '@opentelemetry/contrib-test-utils';
+
+import { awsEc2DetectorSync } from '../../src';
+
+const AWS_HOST = 'http://' + awsEc2DetectorSync.AWS_IDMS_ENDPOINT;
+const AWS_TOKEN_PATH = awsEc2DetectorSync.AWS_INSTANCE_TOKEN_DOCUMENT_PATH;
+const AWS_IDENTITY_PATH =
+  awsEc2DetectorSync.AWS_INSTANCE_IDENTITY_DOCUMENT_PATH;
+const AWS_HOST_PATH = awsEc2DetectorSync.AWS_INSTANCE_HOST_DOCUMENT_PATH;
+const AWS_METADATA_TTL_HEADER = awsEc2DetectorSync.AWS_METADATA_TTL_HEADER;
+const AWS_METADATA_TOKEN_HEADER = awsEc2DetectorSync.AWS_METADATA_TOKEN_HEADER;
+
+const mockedTokenResponse = 'my-token';
+const mockedIdentityResponse = {
+  instanceId: 'my-instance-id',
+  instanceType: 'my-instance-type',
+  accountId: 'my-account-id',
+  region: 'my-region',
+  availabilityZone: 'my-zone',
+};
+const mockedHostResponse = 'my-hostname';
+
+describe('awsEc2DetectorSync', () => {
+  beforeEach(() => {
+    nock.disableNetConnect();
+    nock.cleanAll();
+  });
+
+  afterEach(() => {
+    nock.enableNetConnect();
+  });
+
+  describe('with successful request', () => {
+    it('should return aws_ec2_instance resource', async () => {
+      const scope = nock(AWS_HOST)
+        .persist()
+        .put(AWS_TOKEN_PATH)
+        .matchHeader(AWS_METADATA_TTL_HEADER, '60')
+        .reply(200, () => mockedTokenResponse)
+        .get(AWS_IDENTITY_PATH)
+        .matchHeader(AWS_METADATA_TOKEN_HEADER, mockedTokenResponse)
+        .reply(200, () => mockedIdentityResponse)
+        .get(AWS_HOST_PATH)
+        .matchHeader(AWS_METADATA_TOKEN_HEADER, mockedTokenResponse)
+        .reply(200, () => mockedHostResponse);
+
+      const resource = awsEc2DetectorSync.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      scope.done();
+
+      assert.ok(resource);
+
+      assertCloudResource(resource, {
+        provider: 'aws',
+        accountId: 'my-account-id',
+        region: 'my-region',
+        zone: 'my-zone',
+      });
+      assertHostResource(resource, {
+        id: 'my-instance-id',
+        hostType: 'my-instance-type',
+        name: 'my-hostname',
+      });
+    });
+  });
+
+  describe('with unsuccessful request', () => {
+    it('should return empty resource when receiving error response code', async () => {
+      const scope = nock(AWS_HOST)
+        .persist()
+        .put(AWS_TOKEN_PATH)
+        .matchHeader(AWS_METADATA_TTL_HEADER, '60')
+        .reply(200, () => mockedTokenResponse)
+        .get(AWS_IDENTITY_PATH)
+        .matchHeader(AWS_METADATA_TOKEN_HEADER, mockedTokenResponse)
+        .reply(200, () => mockedIdentityResponse)
+        .get(AWS_HOST_PATH)
+        .matchHeader(AWS_METADATA_TOKEN_HEADER, mockedTokenResponse)
+        .reply(404, () => new Error());
+
+      const resource = awsEc2DetectorSync.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      assert.deepStrictEqual(resource.attributes, {});
+
+      scope.done();
+    });
+
+    it('should return empty resource when timed out', async function () {
+      this.timeout(6000);
+      const scope = nock(AWS_HOST)
+        .put(AWS_TOKEN_PATH)
+        .matchHeader(AWS_METADATA_TTL_HEADER, '60')
+        .reply(200, () => mockedTokenResponse)
+        .get(AWS_IDENTITY_PATH)
+        .matchHeader(AWS_METADATA_TOKEN_HEADER, mockedTokenResponse)
+        .reply(200, () => mockedIdentityResponse)
+        .get(AWS_HOST_PATH)
+        .matchHeader(AWS_METADATA_TOKEN_HEADER, mockedTokenResponse)
+        .delayConnection(5000)
+        .reply(200, () => mockedHostResponse);
+
+      const resource = awsEc2DetectorSync.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      assert.deepStrictEqual(resource.attributes, {});
+
+      scope.done();
+    });
+
+    it('should return empty resource when replied with an Error', async () => {
+      const expectedError = new Error('NOT FOUND');
+      const scope = nock(AWS_HOST)
+        .put(AWS_TOKEN_PATH)
+        .matchHeader(AWS_METADATA_TTL_HEADER, '60')
+        .reply(200, () => mockedTokenResponse)
+        .get(AWS_IDENTITY_PATH)
+        .matchHeader(AWS_METADATA_TOKEN_HEADER, mockedTokenResponse)
+        .replyWithError(expectedError.message);
+
+      const resource = awsEc2DetectorSync.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      assert.deepStrictEqual(resource.attributes, {});
+
+      scope.done();
+    });
+  });
+});
diff --git a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEcsDetector.test.ts b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEcsDetector.test.ts
index 659b3afaab..6a019fc82f 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEcsDetector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEcsDetector.test.ts
@@ -17,10 +17,7 @@
 import * as assert from 'assert';
 import * as nock from 'nock';
 import * as sinon from 'sinon';
-import {
-  awsEcsDetector,
-  AwsEcsDetector,
-} from '../../src/detectors/AwsEcsDetector';
+import { awsEcsDetector, AwsEcsDetectorSync } from '../../src';
 import {
   assertEmptyResource,
   assertCloudResource,
@@ -162,10 +159,11 @@ describe('AwsEcsResourceDetector', () => {
     process.env.ECS_CONTAINER_METADATA_URI = 'ecs_metadata_v3_uri';
     sinon.stub(os, 'hostname').returns(hostNameData);
     readStub = sinon
-      .stub(AwsEcsDetector, 'readFileAsync' as any)
+      .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
       .resolves(noisyCgroupData);
 
     const resource = await awsEcsDetector.detect();
+    await resource.waitForAsyncAttributes?.();
 
     sinon.assert.calledOnce(readStub);
     assert.ok(resource);
@@ -180,10 +178,11 @@ describe('AwsEcsResourceDetector', () => {
     process.env.ECS_CONTAINER_METADATA_URI = 'ecs_metadata_v3_uri';
     sinon.stub(os, 'hostname').returns(hostNameData);
     readStub = sinon
-      .stub(AwsEcsDetector, 'readFileAsync' as any)
+      .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
       .resolves(multiValidCgroupData);
 
     const resource = await awsEcsDetector.detect();
+    await resource.waitForAsyncAttributes?.();
 
     sinon.assert.calledOnce(readStub);
     assert.ok(resource);
@@ -197,10 +196,11 @@ describe('AwsEcsResourceDetector', () => {
   it('should empty resource without accessing files', async () => {
     sinon.stub(os, 'hostname').returns(hostNameData);
     readStub = sinon
-      .stub(AwsEcsDetector, 'readFileAsync' as any)
+      .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
       .resolves(correctCgroupData);
 
     const resource = await awsEcsDetector.detect();
+    await resource.waitForAsyncAttributes?.();
 
     sinon.assert.notCalled(readStub);
     assert.ok(resource);
@@ -256,10 +256,11 @@ describe('AwsEcsResourceDetector', () => {
         it('should successfully return resource data', async () => {
           sinon.stub(os, 'hostname').returns(hostNameData);
           readStub = sinon
-            .stub(AwsEcsDetector, 'readFileAsync' as any)
+            .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
             .resolves(correctCgroupData);
 
           const resource = await awsEcsDetector.detect();
+          await resource.waitForAsyncAttributes?.();
 
           sinon.assert.calledOnce(readStub);
           assert.ok(resource);
@@ -273,10 +274,11 @@ describe('AwsEcsResourceDetector', () => {
         it('should return resource only with hostname attribute without cgroup file', async () => {
           sinon.stub(os, 'hostname').returns(hostNameData);
           readStub = sinon
-            .stub(AwsEcsDetector, 'readFileAsync' as any)
+            .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
             .rejects(errorMsg.fileNotFoundError);
 
           const resource = await awsEcsDetector.detect();
+          await resource.waitForAsyncAttributes?.();
 
           sinon.assert.calledOnce(readStub);
           assert.ok(resource);
@@ -289,10 +291,11 @@ describe('AwsEcsResourceDetector', () => {
         it('should return resource only with hostname attribute when cgroup file does not contain valid container ID', async () => {
           sinon.stub(os, 'hostname').returns(hostNameData);
           readStub = sinon
-            .stub(AwsEcsDetector, 'readFileAsync' as any)
+            .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
             .resolves('');
 
           const resource = await awsEcsDetector.detect();
+          await resource.waitForAsyncAttributes?.();
 
           sinon.assert.calledOnce(readStub);
           assert.ok(resource);
@@ -305,10 +308,11 @@ describe('AwsEcsResourceDetector', () => {
         it('should return resource only with container ID attribute without hostname', async () => {
           sinon.stub(os, 'hostname').returns('');
           readStub = sinon
-            .stub(AwsEcsDetector, 'readFileAsync' as any)
+            .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
             .resolves(correctCgroupData);
 
           const resource = await awsEcsDetector.detect();
+          await resource.waitForAsyncAttributes?.();
 
           sinon.assert.calledOnce(readStub);
           assert.ok(resource);
@@ -321,10 +325,11 @@ describe('AwsEcsResourceDetector', () => {
         it('should return metadata v4 resource attributes when both hostname and container ID are invalid', async () => {
           sinon.stub(os, 'hostname').returns('');
           readStub = sinon
-            .stub(AwsEcsDetector, 'readFileAsync' as any)
+            .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
             .rejects(errorMsg.fileNotFoundError);
 
           const resource = await awsEcsDetector.detect();
+          await resource.waitForAsyncAttributes?.();
 
           sinon.assert.calledOnce(readStub);
           assert.ok(resource);
@@ -406,16 +411,14 @@ describe('AwsEcsResourceDetector', () => {
       const error = new Error('ERROR');
 
       beforeEach(() => {
-        sinon.stub(AwsEcsDetector, '_getUrlAsJson' as any).rejects(error);
+        sinon.stub(AwsEcsDetectorSync, '_getUrlAsJson' as any).rejects(error);
       });
 
-      it('should reject with an error', async () => {
-        try {
-          await awsEcsDetector.detect();
-          throw new Error('Should not have reached here');
-        } catch (err) {
-          assert.strictEqual(err, error);
-        }
+      it('should return empty resource if when there is an error', async () => {
+        const resource = await awsEcsDetector.detect();
+        await resource.waitForAsyncAttributes?.();
+
+        assert.deepStrictEqual(resource.attributes, {});
       });
     });
   });
diff --git a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEcsDetectorSync.test.ts b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEcsDetectorSync.test.ts
new file mode 100644
index 0000000000..171804bf1b
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEcsDetectorSync.test.ts
@@ -0,0 +1,425 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as assert from 'assert';
+import * as nock from 'nock';
+import * as sinon from 'sinon';
+import { awsEcsDetectorSync, AwsEcsDetectorSync } from '../../src';
+import {
+  assertEmptyResource,
+  assertCloudResource,
+  assertContainerResource,
+} from '@opentelemetry/contrib-test-utils';
+import { Resource } from '@opentelemetry/resources';
+import {
+  SEMRESATTRS_CLOUD_PLATFORM,
+  SEMRESATTRS_AWS_ECS_CONTAINER_ARN,
+  SEMRESATTRS_AWS_ECS_CLUSTER_ARN,
+  SEMRESATTRS_AWS_ECS_LAUNCHTYPE,
+  SEMRESATTRS_AWS_ECS_TASK_ARN,
+  SEMRESATTRS_AWS_ECS_TASK_REVISION,
+  SEMRESATTRS_AWS_ECS_TASK_FAMILY,
+  SEMRESATTRS_AWS_LOG_GROUP_NAMES,
+  SEMRESATTRS_AWS_LOG_GROUP_ARNS,
+  SEMRESATTRS_AWS_LOG_STREAM_NAMES,
+  SEMRESATTRS_AWS_LOG_STREAM_ARNS,
+  CLOUDPROVIDERVALUES_AWS,
+  CLOUDPLATFORMVALUES_AWS_ECS,
+} from '@opentelemetry/semantic-conventions';
+// Patch until the OpenTelemetry SDK is updated to ship this attribute
+import { SemanticResourceAttributes as AdditionalSemanticResourceAttributes } from '../../src/detectors/SemanticResourceAttributes';
+import { readFileSync } from 'fs';
+import * as os from 'os';
+import { join } from 'path';
+
+interface EcsResourceAttributes {
+  readonly accountId?: string;
+  readonly region?: string;
+  readonly zone?: string;
+  readonly clusterArn?: string;
+  readonly containerArn?: string;
+  readonly launchType?: 'ec2' | 'fargate';
+  readonly taskArn?: string;
+  readonly taskFamily?: string;
+  readonly taskRevision?: string;
+  readonly logGroupNames?: Array<string>;
+  readonly logGroupArns?: Array<string>;
+  readonly logStreamNames?: Array<string>;
+  readonly logStreamArns?: Array<string>;
+}
+
+const assertEcsResource = (
+  resource: Resource,
+  validations: EcsResourceAttributes
+) => {
+  assertCloudResource(resource, {
+    provider: CLOUDPROVIDERVALUES_AWS,
+    accountId: validations.accountId,
+    region: validations.region,
+    zone: validations.zone,
+  });
+  assert.strictEqual(
+    resource.attributes[SEMRESATTRS_CLOUD_PLATFORM],
+    CLOUDPLATFORMVALUES_AWS_ECS
+  );
+  if (validations.containerArn)
+    assert.strictEqual(
+      resource.attributes[SEMRESATTRS_AWS_ECS_CONTAINER_ARN],
+      validations.containerArn
+    );
+  assert.strictEqual(
+    resource.attributes[AdditionalSemanticResourceAttributes.CLOUD_RESOURCE_ID],
+    validations.containerArn
+  );
+  if (validations.clusterArn)
+    assert.strictEqual(
+      resource.attributes[SEMRESATTRS_AWS_ECS_CLUSTER_ARN],
+      validations.clusterArn
+    );
+  if (validations.launchType)
+    assert.strictEqual(
+      resource.attributes[SEMRESATTRS_AWS_ECS_LAUNCHTYPE],
+      validations.launchType
+    );
+  if (validations.taskArn)
+    assert.strictEqual(
+      resource.attributes[SEMRESATTRS_AWS_ECS_TASK_ARN],
+      validations.taskArn
+    );
+  if (validations.taskFamily)
+    assert.strictEqual(
+      resource.attributes[SEMRESATTRS_AWS_ECS_TASK_FAMILY],
+      validations.taskFamily
+    );
+  if (validations.taskRevision)
+    assert.strictEqual(
+      resource.attributes[SEMRESATTRS_AWS_ECS_TASK_REVISION],
+      validations.taskRevision
+    );
+  if (validations.logGroupNames)
+    assert.deepEqual(
+      resource.attributes[SEMRESATTRS_AWS_LOG_GROUP_NAMES],
+      validations.logGroupNames
+    );
+  if (validations.logGroupArns)
+    assert.deepEqual(
+      resource.attributes[SEMRESATTRS_AWS_LOG_GROUP_ARNS],
+      validations.logGroupArns
+    );
+  if (validations.logStreamNames)
+    assert.deepEqual(
+      resource.attributes[SEMRESATTRS_AWS_LOG_STREAM_NAMES],
+      validations.logStreamNames
+    );
+  if (validations.logStreamArns)
+    assert.deepEqual(
+      resource.attributes[SEMRESATTRS_AWS_LOG_STREAM_ARNS],
+      validations.logStreamArns
+    );
+};
+
+describe('AwsEcsResourceDetectorSync', () => {
+  const errorMsg = {
+    fileNotFoundError: new Error('cannot find cgroup file'),
+  };
+
+  const correctCgroupData =
+    'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm';
+  const unexpectedCgroupdata =
+    'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';
+  const noisyCgroupData = `\n\n\n abcdefghijklmnopqrstuvwxyz \n ${correctCgroupData}`;
+  const multiValidCgroupData = `${unexpectedCgroupdata}\n${correctCgroupData}\nbcd${unexpectedCgroupdata}`;
+  const hostNameData = 'abcd.test.testing.com';
+
+  let readStub;
+
+  beforeEach(() => {
+    process.env.ECS_CONTAINER_METADATA_URI_V4 = '';
+    process.env.ECS_CONTAINER_METADATA_URI = '';
+  });
+
+  afterEach(() => {
+    sinon.restore();
+  });
+
+  it('should successfully return resource data with noisy cgroup file', async () => {
+    process.env.ECS_CONTAINER_METADATA_URI = 'ecs_metadata_v3_uri';
+    sinon.stub(os, 'hostname').returns(hostNameData);
+    readStub = sinon
+      .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
+      .resolves(noisyCgroupData);
+
+    const resource = awsEcsDetectorSync.detect();
+    await resource.waitForAsyncAttributes?.();
+
+    sinon.assert.calledOnce(readStub);
+    assert.ok(resource);
+    assertEcsResource(resource, {});
+    assertContainerResource(resource, {
+      name: 'abcd.test.testing.com',
+      id: 'bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm',
+    });
+  });
+
+  it('should always return first valid line of data', async () => {
+    process.env.ECS_CONTAINER_METADATA_URI = 'ecs_metadata_v3_uri';
+    sinon.stub(os, 'hostname').returns(hostNameData);
+    readStub = sinon
+      .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
+      .resolves(multiValidCgroupData);
+
+    const resource = awsEcsDetectorSync.detect();
+    await resource.waitForAsyncAttributes?.();
+
+    sinon.assert.calledOnce(readStub);
+    assert.ok(resource);
+    assertEcsResource(resource, {});
+    assertContainerResource(resource, {
+      name: 'abcd.test.testing.com',
+      id: 'bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm',
+    });
+  });
+
+  it('should empty resource without accessing files', async () => {
+    sinon.stub(os, 'hostname').returns(hostNameData);
+    readStub = sinon
+      .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
+      .resolves(correctCgroupData);
+
+    const resource = awsEcsDetectorSync.detect();
+    await resource.waitForAsyncAttributes?.();
+
+    sinon.assert.notCalled(readStub);
+    assert.ok(resource);
+    assertEmptyResource(resource);
+  });
+
+  describe('with Metadata URI v4 available', () => {
+    const ECS_CONTAINER_METADATA_URI_V4 =
+      'http://169.254.170.2/v4/96d36db6cf2942269b2c2c0c9540c444-4190541037';
+
+    beforeEach(() => {
+      process.env.ECS_CONTAINER_METADATA_URI_V4 = ECS_CONTAINER_METADATA_URI_V4;
+    });
+
+    describe('when successfully retrieving the data', () => {
+      function generateLaunchTypeTests(
+        resourceAttributes: EcsResourceAttributes,
+        suffix = ''
+      ) {
+        let nockScope: nock.Scope;
+
+        beforeEach(() => {
+          function readTestFileName(testFileName: string) {
+            const testResource = join(
+              __dirname,
+              `test-resources/${testFileName}`
+            );
+
+            return readFileSync(testResource, 'utf-8');
+          }
+
+          const containerResponseBody = readTestFileName(
+            `metadatav4-response-container-${resourceAttributes.launchType!}${suffix}.json`
+          );
+          const taskResponseBody = readTestFileName(
+            `metadatav4-response-task-${resourceAttributes.launchType!}${suffix}.json`
+          );
+
+          nockScope = nock('http://169.254.170.2:80')
+            .persist(false)
+            .get('/v4/96d36db6cf2942269b2c2c0c9540c444-4190541037')
+            .reply(200, () => containerResponseBody)
+            .get('/v4/96d36db6cf2942269b2c2c0c9540c444-4190541037/task')
+            .reply(200, () => taskResponseBody);
+        });
+
+        afterEach(() => {
+          if (nockScope) {
+            nockScope.done();
+          }
+        });
+
+        it('should successfully return resource data', async () => {
+          sinon.stub(os, 'hostname').returns(hostNameData);
+          readStub = sinon
+            .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
+            .resolves(correctCgroupData);
+
+          const resource = awsEcsDetectorSync.detect();
+          await resource.waitForAsyncAttributes?.();
+
+          sinon.assert.calledOnce(readStub);
+          assert.ok(resource);
+          assertEcsResource(resource, resourceAttributes);
+          assertContainerResource(resource, {
+            name: 'abcd.test.testing.com',
+            id: 'bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm',
+          });
+        });
+
+        it('should return resource only with hostname attribute without cgroup file', async () => {
+          sinon.stub(os, 'hostname').returns(hostNameData);
+          readStub = sinon
+            .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
+            .rejects(errorMsg.fileNotFoundError);
+
+          const resource = awsEcsDetectorSync.detect();
+          await resource.waitForAsyncAttributes?.();
+
+          sinon.assert.calledOnce(readStub);
+          assert.ok(resource);
+          assertEcsResource(resource, resourceAttributes);
+          assertContainerResource(resource, {
+            name: 'abcd.test.testing.com',
+          });
+        });
+
+        it('should return resource only with hostname attribute when cgroup file does not contain valid container ID', async () => {
+          sinon.stub(os, 'hostname').returns(hostNameData);
+          readStub = sinon
+            .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
+            .resolves('');
+
+          const resource = awsEcsDetectorSync.detect();
+          await resource.waitForAsyncAttributes?.();
+
+          sinon.assert.calledOnce(readStub);
+          assert.ok(resource);
+          assertEcsResource(resource, resourceAttributes);
+          assertContainerResource(resource, {
+            name: 'abcd.test.testing.com',
+          });
+        });
+
+        it('should return resource only with container ID attribute without hostname', async () => {
+          sinon.stub(os, 'hostname').returns('');
+          readStub = sinon
+            .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
+            .resolves(correctCgroupData);
+
+          const resource = awsEcsDetectorSync.detect();
+          await resource.waitForAsyncAttributes?.();
+
+          sinon.assert.calledOnce(readStub);
+          assert.ok(resource);
+          assertEcsResource(resource, resourceAttributes);
+          assertContainerResource(resource, {
+            id: 'bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm',
+          });
+        });
+
+        it('should return metadata v4 resource attributes when both hostname and container ID are invalid', async () => {
+          sinon.stub(os, 'hostname').returns('');
+          readStub = sinon
+            .stub(AwsEcsDetectorSync, 'readFileAsync' as any)
+            .rejects(errorMsg.fileNotFoundError);
+
+          const resource = awsEcsDetectorSync.detect();
+          await resource.waitForAsyncAttributes?.();
+
+          sinon.assert.calledOnce(readStub);
+          assert.ok(resource);
+          assertEcsResource(resource, resourceAttributes);
+        });
+      }
+
+      describe('on Ec2', () => {
+        describe('with AWS CloudWatch as log driver', () => {
+          generateLaunchTypeTests({
+            clusterArn: 'arn:aws:ecs:us-west-2:111122223333:cluster/default',
+            containerArn:
+              'arn:aws:ecs:us-west-2:111122223333:container/0206b271-b33f-47ab-86c6-a0ba208a70a9',
+            launchType: 'ec2',
+            taskArn:
+              'arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c',
+            taskFamily: 'curltest',
+            taskRevision: '26',
+            logGroupNames: ['/ecs/metadata'],
+            logGroupArns: [
+              'arn:aws:logs:us-west-2:111122223333:log-group:/ecs/metadata',
+            ],
+            logStreamNames: ['ecs/curl/8f03e41243824aea923aca126495f665'],
+            logStreamArns: [
+              'arn:aws:logs:us-west-2:111122223333:log-group:/ecs/metadata:log-stream:ecs/curl/8f03e41243824aea923aca126495f665',
+            ],
+          });
+        });
+      });
+
+      describe('on Fargate', () => {
+        describe('with AWS CloudWatch as log driver', () => {
+          generateLaunchTypeTests({
+            accountId: '111122223333',
+            region: 'us-west-2',
+            zone: 'us-west-2a',
+            clusterArn: 'arn:aws:ecs:us-west-2:111122223333:cluster/default',
+            containerArn:
+              'arn:aws:ecs:us-west-2:111122223333:container/05966557-f16c-49cb-9352-24b3a0dcd0e1',
+            launchType: 'fargate',
+            taskArn:
+              'arn:aws:ecs:us-west-2:111122223333:task/default/e9028f8d5d8e4f258373e7b93ce9a3c3',
+            taskFamily: 'curltest',
+            taskRevision: '3',
+            logGroupNames: ['/ecs/containerlogs'],
+            logGroupArns: [
+              'arn:aws:logs:us-west-2:111122223333:log-group:/ecs/containerlogs',
+            ],
+            logStreamNames: ['ecs/curl/cd189a933e5849daa93386466019ab50'],
+            logStreamArns: [
+              'arn:aws:logs:us-west-2:111122223333:log-group:/ecs/containerlogs:log-stream:ecs/curl/cd189a933e5849daa93386466019ab50',
+            ],
+          });
+        });
+
+        describe('with AWS Firelens as log driver', () => {
+          generateLaunchTypeTests(
+            {
+              clusterArn: 'arn:aws:ecs:us-west-2:111122223333:cluster/default',
+              containerArn:
+                'arn:aws:ecs:us-west-2:111122223333:container/05966557-f16c-49cb-9352-24b3a0dcd0e1',
+              launchType: 'fargate',
+              taskArn:
+                'arn:aws:ecs:us-west-2:111122223333:task/default/e9028f8d5d8e4f258373e7b93ce9a3c3',
+              taskFamily: 'curltest',
+              taskRevision: '3',
+              logGroupNames: undefined,
+              logGroupArns: undefined,
+              logStreamNames: undefined,
+              logStreamArns: undefined,
+            },
+            '-logsfirelens'
+          );
+        });
+      });
+    });
+
+    describe('when failing to fetch metadata', async () => {
+      const error = new Error('ERROR');
+
+      beforeEach(() => {
+        sinon.stub(AwsEcsDetectorSync, '_getUrlAsJson' as any).rejects(error);
+      });
+
+      it('should return empty resource if when there is an error', async () => {
+        const resource = awsEcsDetectorSync.detect();
+        await resource.waitForAsyncAttributes?.();
+
+        assert.deepStrictEqual(resource.attributes, {});
+      });
+    });
+  });
+});
diff --git a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEksDetector.test.ts b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEksDetector.test.ts
index db9cab4276..ab743dc3b5 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEksDetector.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEksDetector.test.ts
@@ -18,7 +18,11 @@ import * as nock from 'nock';
 import * as sinon from 'sinon';
 import * as assert from 'assert';
 import { Resource } from '@opentelemetry/resources';
-import { awsEksDetector, AwsEksDetector } from '../../src';
+import {
+  awsEksDetector,
+  awsEksDetectorSync,
+  AwsEksDetectorSync,
+} from '../../src';
 import {
   assertK8sResource,
   assertContainerResource,
@@ -54,13 +58,13 @@ describe('awsEksDetector', () => {
   describe('on successful request', () => {
     it('should return an aws_eks_instance_resource', async () => {
       fileStub = sinon
-        .stub(AwsEksDetector, 'fileAccessAsync' as any)
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
         .resolves();
       readStub = sinon
-        .stub(AwsEksDetector, 'readFileAsync' as any)
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
         .resolves(correctCgroupData);
       getCredStub = sinon
-        .stub(awsEksDetector, '_getK8sCredHeader' as any)
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
         .resolves(k8s_token);
       const scope = nock('https://' + K8S_SVC_URL)
         .persist()
@@ -71,7 +75,8 @@ describe('awsEksDetector', () => {
         .matchHeader('Authorization', k8s_token)
         .reply(200, () => mockedClusterResponse);
 
-      const resource: Resource = await awsEksDetector.detect();
+      const resource = await awsEksDetector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       scope.done();
 
@@ -90,14 +95,14 @@ describe('awsEksDetector', () => {
 
     it('should return a resource with clusterName attribute without cgroup file', async () => {
       fileStub = sinon
-        .stub(AwsEksDetector, 'fileAccessAsync' as any)
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
         .resolves();
       readStub = sinon
-        .stub(AwsEksDetector, 'readFileAsync' as any)
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
         .onSecondCall()
         .rejects(errorMsg.fileNotFoundError);
       getCredStub = sinon
-        .stub(awsEksDetector, '_getK8sCredHeader' as any)
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
         .resolves(k8s_token);
       const scope = nock('https://' + K8S_SVC_URL)
         .persist()
@@ -108,7 +113,8 @@ describe('awsEksDetector', () => {
         .matchHeader('Authorization', k8s_token)
         .reply(200, () => mockedClusterResponse);
 
-      const resource: Resource = await awsEksDetector.detect();
+      const resource = await awsEksDetector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       scope.done();
 
@@ -120,13 +126,13 @@ describe('awsEksDetector', () => {
 
     it('should return a resource with container ID attribute without a clusterName', async () => {
       fileStub = sinon
-        .stub(AwsEksDetector, 'fileAccessAsync' as any)
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
         .resolves();
       readStub = sinon
-        .stub(AwsEksDetector, 'readFileAsync' as any)
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
         .resolves(correctCgroupData);
       getCredStub = sinon
-        .stub(awsEksDetector, '_getK8sCredHeader' as any)
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
         .resolves(k8s_token);
       const scope = nock('https://' + K8S_SVC_URL)
         .persist()
@@ -137,7 +143,8 @@ describe('awsEksDetector', () => {
         .matchHeader('Authorization', k8s_token)
         .reply(200, () => '');
 
-      const resource: Resource = await awsEksDetector.detect();
+      const resource = await awsEksDetector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       scope.done();
 
@@ -149,14 +156,14 @@ describe('awsEksDetector', () => {
 
     it('should return a resource with clusterName attribute when cgroup file does not contain valid Container ID', async () => {
       fileStub = sinon
-        .stub(AwsEksDetector, 'fileAccessAsync' as any)
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
         .resolves();
       readStub = sinon
-        .stub(AwsEksDetector, 'readFileAsync' as any)
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
         .onSecondCall()
         .resolves('');
       getCredStub = sinon
-        .stub(awsEksDetector, '_getK8sCredHeader' as any)
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
         .resolves(k8s_token);
       const scope = nock('https://' + K8S_SVC_URL)
         .persist()
@@ -167,7 +174,8 @@ describe('awsEksDetector', () => {
         .matchHeader('Authorization', k8s_token)
         .reply(200, () => mockedClusterResponse);
 
-      const resource: Resource = await awsEksDetector.detect();
+      const resource = await awsEksDetector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       scope.done();
 
@@ -180,13 +188,13 @@ describe('awsEksDetector', () => {
 
     it('should return an empty resource when not running on Eks', async () => {
       fileStub = sinon
-        .stub(AwsEksDetector, 'fileAccessAsync' as any)
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
         .resolves('');
       readStub = sinon
-        .stub(AwsEksDetector, 'readFileAsync' as any)
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
         .resolves(correctCgroupData);
       getCredStub = sinon
-        .stub(awsEksDetector, '_getK8sCredHeader' as any)
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
         .resolves(k8s_token);
       const scope = nock('https://' + K8S_SVC_URL)
         .persist()
@@ -194,7 +202,8 @@ describe('awsEksDetector', () => {
         .matchHeader('Authorization', k8s_token)
         .reply(200, () => '');
 
-      const resource: Resource = await awsEksDetector.detect();
+      const resource = await awsEksDetector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       scope.done();
 
@@ -207,7 +216,7 @@ describe('awsEksDetector', () => {
         fileNotFoundError: new Error('cannot file k8s token file'),
       };
       fileStub = sinon
-        .stub(AwsEksDetector, 'fileAccessAsync' as any)
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
         .rejects(errorMsg.fileNotFoundError);
 
       const resource: Resource = await awsEksDetector.detect();
@@ -218,15 +227,15 @@ describe('awsEksDetector', () => {
 
     it('should return an empty resource when containerId and clusterName are invalid', async () => {
       fileStub = sinon
-        .stub(AwsEksDetector, 'fileAccessAsync' as any)
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
         .resolves('');
       readStub = sinon
-        .stub(AwsEksDetector, 'readFileAsync' as any)
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
         .onSecondCall()
         .rejects(errorMsg.fileNotFoundError);
 
       getCredStub = sinon
-        .stub(awsEksDetector, '_getK8sCredHeader' as any)
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
         .resolves(k8s_token);
       const scope = nock('https://' + K8S_SVC_URL)
         .persist()
@@ -237,7 +246,8 @@ describe('awsEksDetector', () => {
         .matchHeader('Authorization', k8s_token)
         .reply(200, () => '');
 
-      const resource: Resource = await awsEksDetector.detect();
+      const resource = await awsEksDetector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       scope.isDone();
 
@@ -249,13 +259,13 @@ describe('awsEksDetector', () => {
   describe('on unsuccessful request', () => {
     it('should return an empty resource when timed out', async () => {
       fileStub = sinon
-        .stub(AwsEksDetector, 'fileAccessAsync' as any)
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
         .resolves();
       readStub = sinon
-        .stub(AwsEksDetector, 'readFileAsync' as any)
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
         .resolves(correctCgroupData);
       getCredStub = sinon
-        .stub(awsEksDetector, '_getK8sCredHeader' as any)
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
         .resolves(k8s_token);
       const scope = nock('https://' + K8S_SVC_URL)
         .persist()
@@ -264,7 +274,9 @@ describe('awsEksDetector', () => {
         .delayConnection(2500)
         .reply(200, () => mockedAwsAuth);
 
-      const resource: Resource = await awsEksDetector.detect();
+      const resource = await awsEksDetector.detect();
+      await resource.waitForAsyncAttributes?.();
+
       scope.done();
 
       assert.ok(resource);
@@ -273,13 +285,13 @@ describe('awsEksDetector', () => {
 
     it('should return an empty resource when receiving error response code', async () => {
       fileStub = sinon
-        .stub(AwsEksDetector, 'fileAccessAsync' as any)
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
         .resolves();
       readStub = sinon
-        .stub(AwsEksDetector, 'readFileAsync' as any)
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
         .resolves(correctCgroupData);
       getCredStub = sinon
-        .stub(awsEksDetector, '_getK8sCredHeader' as any)
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
         .resolves(k8s_token);
       const scope = nock('https://' + K8S_SVC_URL)
         .persist()
@@ -287,7 +299,9 @@ describe('awsEksDetector', () => {
         .matchHeader('Authorization', k8s_token)
         .reply(404, () => new Error());
 
-      const resource: Resource = await awsEksDetector.detect();
+      const resource = await awsEksDetector.detect();
+      await resource.waitForAsyncAttributes?.();
+
       scope.done();
 
       assert.ok(resource);
diff --git a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEksDetectorSync.test.ts b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEksDetectorSync.test.ts
new file mode 100644
index 0000000000..432e113464
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsEksDetectorSync.test.ts
@@ -0,0 +1,307 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as nock from 'nock';
+import * as sinon from 'sinon';
+import * as assert from 'assert';
+import { Resource } from '@opentelemetry/resources';
+import { awsEksDetectorSync, AwsEksDetectorSync } from '../../src';
+import {
+  assertK8sResource,
+  assertContainerResource,
+  assertEmptyResource,
+} from '@opentelemetry/contrib-test-utils';
+
+const K8S_SVC_URL = awsEksDetectorSync.K8S_SVC_URL;
+const AUTH_CONFIGMAP_PATH = awsEksDetectorSync.AUTH_CONFIGMAP_PATH;
+const CW_CONFIGMAP_PATH = awsEksDetectorSync.CW_CONFIGMAP_PATH;
+
+describe('awsEksDetectorSync', () => {
+  const errorMsg = {
+    fileNotFoundError: new Error('cannot find cgroup file'),
+  };
+
+  const correctCgroupData =
+    'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm';
+  const mockedClusterResponse = '{"data":{"cluster.name":"my-cluster"}}';
+  const mockedAwsAuth = 'my-auth';
+  const k8s_token = 'Bearer 31ada4fd-adec-460c-809a-9e56ceb75269';
+  let readStub, fileStub, getCredStub;
+
+  beforeEach(() => {
+    nock.disableNetConnect();
+    nock.cleanAll();
+  });
+
+  afterEach(() => {
+    sinon.restore();
+    nock.enableNetConnect();
+  });
+
+  describe('on successful request', () => {
+    it('should return an aws_eks_instance_resource', async () => {
+      fileStub = sinon
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
+        .resolves();
+      readStub = sinon
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
+        .resolves(correctCgroupData);
+      getCredStub = sinon
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
+        .resolves(k8s_token);
+      const scope = nock('https://' + K8S_SVC_URL)
+        .persist()
+        .get(AUTH_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .reply(200, () => mockedAwsAuth)
+        .get(CW_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .reply(200, () => mockedClusterResponse);
+
+      const resource = awsEksDetectorSync.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      scope.done();
+
+      sinon.assert.calledOnce(fileStub);
+      sinon.assert.calledTwice(readStub);
+      sinon.assert.calledTwice(getCredStub);
+
+      assert.ok(resource);
+      assertK8sResource(resource, {
+        clusterName: 'my-cluster',
+      });
+      assertContainerResource(resource, {
+        id: 'bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm',
+      });
+    });
+
+    it('should return a resource with clusterName attribute without cgroup file', async () => {
+      fileStub = sinon
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
+        .resolves();
+      readStub = sinon
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
+        .onSecondCall()
+        .rejects(errorMsg.fileNotFoundError);
+      getCredStub = sinon
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
+        .resolves(k8s_token);
+      const scope = nock('https://' + K8S_SVC_URL)
+        .persist()
+        .get(AUTH_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .reply(200, () => mockedAwsAuth)
+        .get(CW_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .reply(200, () => mockedClusterResponse);
+
+      const resource = awsEksDetectorSync.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      scope.done();
+
+      assert.ok(resource);
+      assertK8sResource(resource, {
+        clusterName: 'my-cluster',
+      });
+    });
+
+    it('should return a resource with container ID attribute without a clusterName', async () => {
+      fileStub = sinon
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
+        .resolves();
+      readStub = sinon
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
+        .resolves(correctCgroupData);
+      getCredStub = sinon
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
+        .resolves(k8s_token);
+      const scope = nock('https://' + K8S_SVC_URL)
+        .persist()
+        .get(AUTH_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .reply(200, () => mockedAwsAuth)
+        .get(CW_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .reply(200, () => '');
+
+      const resource = awsEksDetectorSync.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      scope.done();
+
+      assert.ok(resource);
+      assertContainerResource(resource, {
+        id: 'bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm',
+      });
+    });
+
+    it('should return a resource with clusterName attribute when cgroup file does not contain valid Container ID', async () => {
+      fileStub = sinon
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
+        .resolves();
+      readStub = sinon
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
+        .onSecondCall()
+        .resolves('');
+      getCredStub = sinon
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
+        .resolves(k8s_token);
+      const scope = nock('https://' + K8S_SVC_URL)
+        .persist()
+        .get(AUTH_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .reply(200, () => mockedAwsAuth)
+        .get(CW_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .reply(200, () => mockedClusterResponse);
+
+      const resource = awsEksDetectorSync.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      scope.done();
+
+      assert.ok(resource);
+      assert.ok(resource);
+      assertK8sResource(resource, {
+        clusterName: 'my-cluster',
+      });
+    });
+
+    it('should return an empty resource when not running on Eks', async () => {
+      fileStub = sinon
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
+        .resolves('');
+      readStub = sinon
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
+        .resolves(correctCgroupData);
+      getCredStub = sinon
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
+        .resolves(k8s_token);
+      const scope = nock('https://' + K8S_SVC_URL)
+        .persist()
+        .get(AUTH_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .reply(200, () => '');
+
+      const resource = awsEksDetectorSync.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      scope.done();
+
+      assert.ok(resource);
+      assertEmptyResource(resource);
+    });
+
+    it('should return an empty resource when k8s token file does not exist', async () => {
+      const errorMsg = {
+        fileNotFoundError: new Error('cannot file k8s token file'),
+      };
+      fileStub = sinon
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
+        .rejects(errorMsg.fileNotFoundError);
+
+      const resource: Resource = await awsEksDetectorSync.detect();
+
+      assert.ok(resource);
+      assertEmptyResource(resource);
+    });
+
+    it('should return an empty resource when containerId and clusterName are invalid', async () => {
+      fileStub = sinon
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
+        .resolves('');
+      readStub = sinon
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
+        .onSecondCall()
+        .rejects(errorMsg.fileNotFoundError);
+
+      getCredStub = sinon
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
+        .resolves(k8s_token);
+      const scope = nock('https://' + K8S_SVC_URL)
+        .persist()
+        .get(AUTH_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .reply(200, () => mockedAwsAuth)
+        .get(CW_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .reply(200, () => '');
+
+      const resource = awsEksDetectorSync.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      scope.isDone();
+
+      assert.ok(resource);
+      assertEmptyResource(resource);
+    });
+  });
+
+  describe('on unsuccessful request', () => {
+    it('should return an empty resource when timed out', async () => {
+      fileStub = sinon
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
+        .resolves();
+      readStub = sinon
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
+        .resolves(correctCgroupData);
+      getCredStub = sinon
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
+        .resolves(k8s_token);
+      const scope = nock('https://' + K8S_SVC_URL)
+        .persist()
+        .get(AUTH_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .delayConnection(2500)
+        .reply(200, () => mockedAwsAuth);
+
+      const resource = awsEksDetectorSync.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      scope.done();
+
+      assert.ok(resource);
+      assertEmptyResource(resource);
+    }).timeout(awsEksDetectorSync.TIMEOUT_MS + 100);
+
+    it('should return an empty resource when receiving error response code', async () => {
+      fileStub = sinon
+        .stub(AwsEksDetectorSync, 'fileAccessAsync' as any)
+        .resolves();
+      readStub = sinon
+        .stub(AwsEksDetectorSync, 'readFileAsync' as any)
+        .resolves(correctCgroupData);
+      getCredStub = sinon
+        .stub(awsEksDetectorSync, '_getK8sCredHeader' as any)
+        .resolves(k8s_token);
+      const scope = nock('https://' + K8S_SVC_URL)
+        .persist()
+        .get(AUTH_CONFIGMAP_PATH)
+        .matchHeader('Authorization', k8s_token)
+        .reply(404, () => new Error());
+
+      const resource = awsEksDetectorSync.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      scope.done();
+
+      assert.ok(resource);
+      assertEmptyResource(resource);
+    });
+  });
+});
diff --git a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsLambdaDetectorSync.test.ts b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsLambdaDetectorSync.test.ts
new file mode 100644
index 0000000000..e849dc436f
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsLambdaDetectorSync.test.ts
@@ -0,0 +1,64 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as assert from 'assert';
+import {
+  assertCloudResource,
+  assertEmptyResource,
+} from '@opentelemetry/contrib-test-utils';
+
+import { awsLambdaDetectorSync } from '../../src';
+
+describe('awsLambdaDetectorSync', () => {
+  let oldEnv: NodeJS.ProcessEnv;
+
+  beforeEach(() => {
+    oldEnv = { ...process.env };
+  });
+
+  afterEach(() => {
+    process.env = oldEnv;
+  });
+
+  describe('on lambda', () => {
+    it('fills resource', async () => {
+      process.env.AWS_LAMBDA_FUNCTION_NAME = 'name';
+      process.env.AWS_LAMBDA_FUNCTION_VERSION = 'v1';
+      process.env.AWS_REGION = 'us-east-1';
+
+      const resource = awsLambdaDetectorSync.detect();
+
+      assertCloudResource(resource, {
+        provider: 'aws',
+        region: 'us-east-1',
+      });
+
+      assert.strictEqual(resource.attributes['faas.name'], 'name');
+      assert.strictEqual(resource.attributes['faas.version'], 'v1');
+    });
+  });
+
+  describe('not on lambda', () => {
+    it('returns empty resource', async () => {
+      process.env.AWS_LAMBDA_FUNCTION_VERSION = 'v1';
+      process.env.AWS_REGION = 'us-east-1';
+
+      const resource = awsLambdaDetectorSync.detect();
+
+      assertEmptyResource(resource);
+    });
+  });
+});
diff --git a/package-lock.json b/package-lock.json
index 776dffa5eb..b9ae6a95de 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -78,7 +78,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
-        "@opentelemetry/resources": "^1.0.0",
+        "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -55490,7 +55490,7 @@
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.0.0",
-        "@opentelemetry/resources": "^1.0.0",
+        "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",

From 60a99c98fd3a5594c7c2234184f06166b375e707 Mon Sep 17 00:00:00 2001
From: Tim Fish <tim@timfish.uk>
Date: Fri, 9 Aug 2024 01:10:36 +0100
Subject: [PATCH 081/123] feat(instrumentation-undici): Add `responseHook`
 (#2356)

---
 plugins/node/instrumentation-undici/README.md | 11 +++----
 .../node/instrumentation-undici/src/types.ts  | 16 ++++++++--
 .../node/instrumentation-undici/src/undici.ts |  8 +++++
 .../instrumentation-undici/test/fetch.test.ts | 14 +++++++++
 .../test/undici.test.ts                       | 29 +++++++++++++++++++
 5 files changed, 71 insertions(+), 7 deletions(-)

diff --git a/plugins/node/instrumentation-undici/README.md b/plugins/node/instrumentation-undici/README.md
index 7d78fbd647..e0d9f8d158 100644
--- a/plugins/node/instrumentation-undici/README.md
+++ b/plugins/node/instrumentation-undici/README.md
@@ -51,11 +51,12 @@ Undici instrumentation has few options available to choose from. You can set the
 
 | Options                                                                                                                                                | Type                    | Description                                                                                                                                                                                                                                                  |
 | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| [`ignoreRequestHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L63)       | `IgnoreRequestFunction` | Undici instrumentation will not trace all incoming requests that matched with custom function.                                                                                                                                                               |
-| [`requestHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L65)             | `RequestHookFunction`   | Function for adding custom attributes before request is handled.                                                                                                                                                                                             |
-| [`startSpanHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L67)           | `StartSpanHookFunction` | Function for adding custom attributes before a span is started.                                                                                                                                                                                              |
-| [`requireParentforSpans`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L69)   | `Boolean`               | Require a parent span is present to create new span for outgoing requests.                                                                                                                                                                                   |
-| [`headersToSpanAttributes`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L71) | `Object`                | List of case insensitive HTTP headers to convert to span attributes. Headers will be converted to span attributes in the form of `http.{request\|response}.header.header-name` where the name is only lowercased, e.g. `http.response.header.content-length` |
+| [`ignoreRequestHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L73)       | `IgnoreRequestFunction` | Undici instrumentation will not trace all incoming requests that matched with custom function.                                                                                                                                                               |
+| [`requestHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L75)             | `RequestHookFunction`   | Function for adding custom attributes before request is handled.                                                                                                                                                                                             |
+| [`responseHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L77)            | `ResponseHookFunction`  | Function for adding custom attributes after the response headers are received.                                                                                                                                                                               |
+| [`startSpanHook`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L79)           | `StartSpanHookFunction` | Function for adding custom attributes before a span is started.                                                                                                                                                                                              |
+| [`requireParentforSpans`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L81)   | `Boolean`               | Require a parent span is present to create new span for outgoing requests.                                                                                                                                                                                   |
+| [`headersToSpanAttributes`](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/instrumentation-undici/src/types.ts#L83) | `Object`                | List of case insensitive HTTP headers to convert to span attributes. Headers will be converted to span attributes in the form of `http.{request\|response}.header.header-name` where the name is only lowercased, e.g. `http.response.header.content-length` |
 
 ### Observations
 
diff --git a/plugins/node/instrumentation-undici/src/types.ts b/plugins/node/instrumentation-undici/src/types.ts
index 0d28e1fff9..f26ec117dc 100644
--- a/plugins/node/instrumentation-undici/src/types.ts
+++ b/plugins/node/instrumentation-undici/src/types.ts
@@ -41,6 +41,7 @@ export interface UndiciRequest {
 export interface UndiciResponse {
   headers: Buffer[];
   statusCode: number;
+  statusText: string;
 }
 
 export interface IgnoreRequestFunction<T = UndiciRequest> {
@@ -51,18 +52,29 @@ export interface RequestHookFunction<T = UndiciRequest> {
   (span: Span, request: T): void;
 }
 
+export interface ResponseHookFunction<
+  RequestType = UndiciResponse,
+  ResponseType = UndiciResponse
+> {
+  (span: Span, info: { request: RequestType; response: ResponseType }): void;
+}
+
 export interface StartSpanHookFunction<T = UndiciRequest> {
   (request: T): Attributes;
 }
 
 // This package will instrument HTTP requests made through `undici` or  `fetch` global API
 // so it seems logical to have similar options than the HTTP instrumentation
-export interface UndiciInstrumentationConfig<RequestType = UndiciRequest>
-  extends InstrumentationConfig {
+export interface UndiciInstrumentationConfig<
+  RequestType = UndiciRequest,
+  ResponseType = UndiciResponse
+> extends InstrumentationConfig {
   /** Not trace all outgoing requests that matched with custom function */
   ignoreRequestHook?: IgnoreRequestFunction<RequestType>;
   /** Function for adding custom attributes before request is handled */
   requestHook?: RequestHookFunction<RequestType>;
+  /** Function called once response headers have been received */
+  responseHook?: ResponseHookFunction<RequestType, ResponseType>;
   /** Function for adding custom attributes before a span is started */
   startSpanHook?: StartSpanHookFunction<RequestType>;
   /** Require parent to create span for outgoing requests */
diff --git a/plugins/node/instrumentation-undici/src/undici.ts b/plugins/node/instrumentation-undici/src/undici.ts
index 59f0dfc5ca..1d5445d60b 100644
--- a/plugins/node/instrumentation-undici/src/undici.ts
+++ b/plugins/node/instrumentation-undici/src/undici.ts
@@ -354,6 +354,14 @@ export class UndiciInstrumentation extends InstrumentationBase<UndiciInstrumenta
     };
 
     const config = this.getConfig();
+
+    // Execute the response hook if defined
+    safeExecuteInTheMiddle(
+      () => config.responseHook?.(span, { request, response }),
+      e => e && this._diag.error('caught responseHook error: ', e),
+      true
+    );
+
     const headersToAttribs = new Set();
 
     if (config.headersToSpanAttributes?.responseHeaders) {
diff --git a/plugins/node/instrumentation-undici/test/fetch.test.ts b/plugins/node/instrumentation-undici/test/fetch.test.ts
index 96fa7090f4..fc369edead 100644
--- a/plugins/node/instrumentation-undici/test/fetch.test.ts
+++ b/plugins/node/instrumentation-undici/test/fetch.test.ts
@@ -142,6 +142,9 @@ describe('UndiciInstrumentation `fetch` tests', function () {
         requestHook: () => {
           throw new Error('requestHook error');
         },
+        responseHook: () => {
+          throw new Error('responseHook error');
+        },
         startSpanHook: () => {
           throw new Error('startSpanHook error');
         },
@@ -213,6 +216,12 @@ describe('UndiciInstrumentation `fetch` tests', function () {
             req.headers.push('x-requested-with', 'undici');
           }
         },
+        responseHook: (span, { response }) => {
+          span.setAttribute(
+            'test.response-hook.attribute',
+            response.statusText
+          );
+        },
         startSpanHook: request => {
           return {
             'test.hook.attribute': 'hook-value',
@@ -281,6 +290,11 @@ describe('UndiciInstrumentation `fetch` tests', function () {
         'hook-value',
         'startSpanHook is called'
       );
+      assert.strictEqual(
+        span.attributes['test.response-hook.attribute'],
+        'OK',
+        'responseHook is called'
+      );
     });
 
     it('should not create spans without parent if required in configuration', async function () {
diff --git a/plugins/node/instrumentation-undici/test/undici.test.ts b/plugins/node/instrumentation-undici/test/undici.test.ts
index 69ef7f5011..b0bd088199 100644
--- a/plugins/node/instrumentation-undici/test/undici.test.ts
+++ b/plugins/node/instrumentation-undici/test/undici.test.ts
@@ -169,6 +169,12 @@ describe('UndiciInstrumentation `undici` tests', function () {
             req.headers.push('x-requested-with', 'undici');
           }
         },
+        responseHook: (span, { response }) => {
+          span.setAttribute(
+            'test.response-hook.attribute',
+            response.statusText
+          );
+        },
         startSpanHook: request => {
           return {
             'test.hook.attribute': 'hook-value',
@@ -357,6 +363,11 @@ describe('UndiciInstrumentation `undici` tests', function () {
         'hook-value',
         'startSpanHook is called'
       );
+      assert.strictEqual(
+        span.attributes['test.response-hook.attribute'],
+        'OK',
+        'responseHook is called'
+      );
     });
 
     it('should create valid spans for "fetch" method', async function () {
@@ -417,6 +428,11 @@ describe('UndiciInstrumentation `undici` tests', function () {
         'hook-value',
         'startSpanHook is called'
       );
+      assert.strictEqual(
+        span.attributes['test.response-hook.attribute'],
+        'OK',
+        'responseHook is called'
+      );
     });
 
     it('should create valid spans for "stream" method', async function () {
@@ -485,6 +501,11 @@ describe('UndiciInstrumentation `undici` tests', function () {
         'hook-value',
         'startSpanHook is called'
       );
+      assert.strictEqual(
+        span.attributes['test.response-hook.attribute'],
+        'OK',
+        'responseHook is called'
+      );
     });
 
     it('should create valid spans for "dispatch" method', async function () {
@@ -561,6 +582,11 @@ describe('UndiciInstrumentation `undici` tests', function () {
         'hook-value',
         'startSpanHook is called'
       );
+      assert.strictEqual(
+        span.attributes['test.response-hook.attribute'],
+        'OK',
+        'responseHook is called'
+      );
     });
 
     it('should create valid spans even if the configuration hooks fail', async function () {
@@ -576,6 +602,9 @@ describe('UndiciInstrumentation `undici` tests', function () {
         requestHook: () => {
           throw new Error('requestHook error');
         },
+        responseHook: () => {
+          throw new Error('responseHook error');
+        },
         startSpanHook: () => {
           throw new Error('startSpanHook error');
         },

From 770130a7a41125dbf8a8c18b3384e5fcc370deef Mon Sep 17 00:00:00 2001
From: Onur Temizkan <onur@narval.co.uk>
Date: Mon, 12 Aug 2024 22:53:24 +0100
Subject: [PATCH 082/123] feat(instrumentation-mongoose): Support v7 and v8
 (#2353)

Co-authored-by: Trent Mick <trentm@gmail.com>
---
 package-lock.json                             |  32 +-
 .../node/instrumentation-mongoose/.tav.yml    |  20 +-
 .../node/instrumentation-mongoose/README.md   |   2 +-
 .../instrumentation-mongoose/package.json     |   6 +-
 .../instrumentation-mongoose/src/mongoose.ts  |  69 +++-
 ...ngoose.test.ts => mongoose-common.test.ts} | 252 +------------
 .../test/mongoose-v5-v6.test.ts               | 338 ++++++++++++++++++
 .../test/mongoose-v7-v8.test.ts               |  96 +++++
 8 files changed, 546 insertions(+), 269 deletions(-)
 rename plugins/node/instrumentation-mongoose/test/{mongoose.test.ts => mongoose-common.test.ts} (68%)
 create mode 100644 plugins/node/instrumentation-mongoose/test/mongoose-v5-v6.test.ts
 create mode 100644 plugins/node/instrumentation-mongoose/test/mongoose-v7-v8.test.ts

diff --git a/package-lock.json b/package-lock.json
index b9ae6a95de..b187276d0d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -27452,9 +27452,9 @@
       }
     },
     "node_modules/mongodb": {
-      "version": "4.17.1",
-      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.17.1.tgz",
-      "integrity": "sha512-MBuyYiPUPRTqfH2dV0ya4dcr2E5N52ocBuZ8Sgg/M030nGF78v855B3Z27mZJnp8PxjnUquEnAtjOsphgMZOlQ==",
+      "version": "4.17.2",
+      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.17.2.tgz",
+      "integrity": "sha512-mLV7SEiov2LHleRJPMPrK2PMyhXFZt2UQLC4VD4pnth3jMjYKHhtqfwwkkvS/NXuo/Fp3vbhaNcXrIDaLRb9Tg==",
       "dev": true,
       "dependencies": {
         "bson": "^4.7.2",
@@ -27480,14 +27480,14 @@
       }
     },
     "node_modules/mongoose": {
-      "version": "6.12.3",
-      "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.12.3.tgz",
-      "integrity": "sha512-MNJymaaXali7w7rHBxVUoQ3HzHHMk/7I/+yeeoSa4rUzdjZwIWQznBNvVgc0A8ghuJwsuIkb5LyLV6gSjGjWyQ==",
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.13.0.tgz",
+      "integrity": "sha512-mieZBTtRIqA2xCGgl9Hlcr6fXU+AKNSOdeKfMYrb/IgdL3M/bDO4kYftsItIy86XyAoT5xV28alfCbMocFG8oA==",
       "dev": true,
       "dependencies": {
         "bson": "^4.7.2",
         "kareem": "2.5.1",
-        "mongodb": "4.17.1",
+        "mongodb": "4.17.2",
         "mpath": "0.9.0",
         "mquery": "4.0.3",
         "ms": "2.1.3",
@@ -37929,7 +37929,7 @@
         "@types/node": "18.6.5",
         "expect": "29.2.0",
         "mocha": "7.2.0",
-        "mongoose": "6.12.3",
+        "mongoose": "6.13.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
         "test-all-versions": "6.1.0",
@@ -52816,7 +52816,7 @@
         "@types/node": "18.6.5",
         "expect": "29.2.0",
         "mocha": "7.2.0",
-        "mongoose": "6.12.3",
+        "mongoose": "6.13.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.5",
         "test-all-versions": "6.1.0",
@@ -68687,9 +68687,9 @@
       "optional": true
     },
     "mongodb": {
-      "version": "4.17.1",
-      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.17.1.tgz",
-      "integrity": "sha512-MBuyYiPUPRTqfH2dV0ya4dcr2E5N52ocBuZ8Sgg/M030nGF78v855B3Z27mZJnp8PxjnUquEnAtjOsphgMZOlQ==",
+      "version": "4.17.2",
+      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.17.2.tgz",
+      "integrity": "sha512-mLV7SEiov2LHleRJPMPrK2PMyhXFZt2UQLC4VD4pnth3jMjYKHhtqfwwkkvS/NXuo/Fp3vbhaNcXrIDaLRb9Tg==",
       "dev": true,
       "requires": {
         "@aws-sdk/credential-providers": "^3.186.0",
@@ -68710,14 +68710,14 @@
       }
     },
     "mongoose": {
-      "version": "6.12.3",
-      "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.12.3.tgz",
-      "integrity": "sha512-MNJymaaXali7w7rHBxVUoQ3HzHHMk/7I/+yeeoSa4rUzdjZwIWQznBNvVgc0A8ghuJwsuIkb5LyLV6gSjGjWyQ==",
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.13.0.tgz",
+      "integrity": "sha512-mieZBTtRIqA2xCGgl9Hlcr6fXU+AKNSOdeKfMYrb/IgdL3M/bDO4kYftsItIy86XyAoT5xV28alfCbMocFG8oA==",
       "dev": true,
       "requires": {
         "bson": "^4.7.2",
         "kareem": "2.5.1",
-        "mongodb": "4.17.1",
+        "mongodb": "4.17.2",
         "mpath": "0.9.0",
         "mquery": "4.0.3",
         "ms": "2.1.3",
diff --git a/plugins/node/instrumentation-mongoose/.tav.yml b/plugins/node/instrumentation-mongoose/.tav.yml
index 9824934548..ba89e40faf 100644
--- a/plugins/node/instrumentation-mongoose/.tav.yml
+++ b/plugins/node/instrumentation-mongoose/.tav.yml
@@ -1,5 +1,15 @@
-'mongoose':
-  # Test all the latest minor versions in the range ">=5.9.7 <7".
-  versions: "5.9.7 || 5.9.29 || 5.10.19 || 5.11.20 || 5.12.15 || 5.13.21 || 6.0.15 || 6.1.10 || 6.2.11 || 6.3.9 || 6.4.7 || 6.5.5 || 6.6.7 || 6.7.5 || 6.8.4 || 6.9.3 || 6.10.5 || 6.11.6 || ^6.12.3"
-  commands:
-    - npm run test
+mongoose:
+  - versions:
+      include: ">=5.9.7 <7"
+      mode: latest-minors
+    commands: npm run test-v5-v6
+  - versions:
+      include: ">=7 <8"
+      mode: latest-minors
+    node: '>=14.20.1'
+    commands: npm run test-v7-v8
+  - versions:
+      include: ">=8 <9"
+      mode: latest-minors
+    node: '>=16.20.1'
+    commands: npm run test-v7-v8
diff --git a/plugins/node/instrumentation-mongoose/README.md b/plugins/node/instrumentation-mongoose/README.md
index c5500b14c2..31a19b4e7d 100644
--- a/plugins/node/instrumentation-mongoose/README.md
+++ b/plugins/node/instrumentation-mongoose/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-mongoose
 
 ## Supported Versions
 
-- [`mongoose`](https://www.npmjs.com/package/mongoose) versions `>=5.9.7 <7`
+- [`mongoose`](https://www.npmjs.com/package/mongoose) versions `>=5.9.7 <9`
 
 ## Usage
 
diff --git a/plugins/node/instrumentation-mongoose/package.json b/plugins/node/instrumentation-mongoose/package.json
index 8f5bcc772e..52b06e6fe9 100644
--- a/plugins/node/instrumentation-mongoose/package.json
+++ b/plugins/node/instrumentation-mongoose/package.json
@@ -7,7 +7,9 @@
   "repository": "open-telemetry/opentelemetry-js-contrib",
   "scripts": {
     "docker:start": "docker run -e MONGODB_DB=opentelemetry-tests -e MONGODB_PORT=27017 -e MONGODB_HOST=127.0.0.1 -p 27017:27017 --rm mongo",
-    "test": "ts-mocha -p tsconfig.json --require '@opentelemetry/contrib-test-utils' 'test/**/*.test.ts'",
+    "test": "npm run test-v5-v6",
+    "test-v5-v6": "nyc ts-mocha -p tsconfig.json --require '@opentelemetry/contrib-test-utils' 'test/mongoose-common.test.ts' 'test/**/mongoose-v5-v6.test.ts'",
+    "test-v7-v8": "nyc ts-mocha -p tsconfig.json --require '@opentelemetry/contrib-test-utils' 'test/mongoose-common.test.ts' 'test/**/mongoose-v7-v8.test.ts'",
     "test-all-versions": "tav",
     "tdd": "npm run test -- --watch-extensions ts --watch",
     "clean": "rimraf build/*",
@@ -53,7 +55,7 @@
     "@types/node": "18.6.5",
     "expect": "29.2.0",
     "mocha": "7.2.0",
-    "mongoose": "6.12.3",
+    "mongoose": "6.13.0",
     "nyc": "15.1.0",
     "rimraf": "5.0.5",
     "test-all-versions": "6.1.0",
diff --git a/plugins/node/instrumentation-mongoose/src/mongoose.ts b/plugins/node/instrumentation-mongoose/src/mongoose.ts
index 18f6a41c87..e73dee78c2 100644
--- a/plugins/node/instrumentation-mongoose/src/mongoose.ts
+++ b/plugins/node/instrumentation-mongoose/src/mongoose.ts
@@ -34,23 +34,56 @@ import {
   SEMATTRS_DB_SYSTEM,
 } from '@opentelemetry/semantic-conventions';
 
-const contextCaptureFunctions = [
-  'remove',
+const contextCaptureFunctionsCommon = [
   'deleteOne',
   'deleteMany',
   'find',
   'findOne',
   'estimatedDocumentCount',
   'countDocuments',
-  'count',
   'distinct',
   'where',
   '$where',
   'findOneAndUpdate',
   'findOneAndDelete',
   'findOneAndReplace',
+];
+
+const contextCaptureFunctions6 = [
+  'remove',
+  'count',
+  'findOneAndRemove',
+  ...contextCaptureFunctionsCommon,
+];
+const contextCaptureFunctions7 = [
+  'count',
   'findOneAndRemove',
+  ...contextCaptureFunctionsCommon,
 ];
+const contextCaptureFunctions8 = [...contextCaptureFunctionsCommon];
+
+function getContextCaptureFunctions(
+  moduleVersion: string | undefined
+): string[] {
+  /* istanbul ignore next */
+  if (!moduleVersion) {
+    return contextCaptureFunctionsCommon;
+  } else if (moduleVersion.startsWith('6.') || moduleVersion.startsWith('5.')) {
+    return contextCaptureFunctions6;
+  } else if (moduleVersion.startsWith('7.')) {
+    return contextCaptureFunctions7;
+  } else {
+    return contextCaptureFunctions8;
+  }
+}
+
+function instrumentRemove(moduleVersion: string | undefined): boolean {
+  return (
+    (moduleVersion &&
+      (moduleVersion.startsWith('5.') || moduleVersion.startsWith('6.'))) ||
+    false
+  );
+}
 
 // when mongoose functions are called, we store the original call context
 // and then set it as the parent for the spans created by Query/Aggregate exec()
@@ -65,7 +98,7 @@ export class MongooseInstrumentation extends InstrumentationBase<MongooseInstrum
   protected init(): InstrumentationModuleDefinition {
     const module = new InstrumentationNodeModuleDefinition(
       'mongoose',
-      ['>=5.9.7 <7'],
+      ['>=5.9.7 <9'],
       this.patch.bind(this),
       this.unpatch.bind(this)
     );
@@ -87,11 +120,14 @@ export class MongooseInstrumentation extends InstrumentationBase<MongooseInstrum
     // so we need to apply the same logic after instrumenting the save function.
     moduleExports.Model.prototype.$save = moduleExports.Model.prototype.save;
 
-    this._wrap(
-      moduleExports.Model.prototype,
-      'remove',
-      this.patchOnModelMethods('remove', moduleVersion)
-    );
+    if (instrumentRemove(moduleVersion)) {
+      this._wrap(
+        moduleExports.Model.prototype,
+        'remove',
+        this.patchOnModelMethods('remove', moduleVersion)
+      );
+    }
+
     this._wrap(
       moduleExports.Query.prototype,
       'exec',
@@ -103,6 +139,8 @@ export class MongooseInstrumentation extends InstrumentationBase<MongooseInstrum
       this.patchAggregateExec(moduleVersion)
     );
 
+    const contextCaptureFunctions = getContextCaptureFunctions(moduleVersion);
+
     contextCaptureFunctions.forEach((funcName: string) => {
       this._wrap(
         moduleExports.Query.prototype,
@@ -115,11 +153,20 @@ export class MongooseInstrumentation extends InstrumentationBase<MongooseInstrum
     return moduleExports;
   }
 
-  private unpatch(moduleExports: typeof mongoose): void {
+  private unpatch(
+    moduleExports: typeof mongoose,
+    moduleVersion: string | undefined
+  ): void {
+    const contextCaptureFunctions = getContextCaptureFunctions(moduleVersion);
+
     this._unwrap(moduleExports.Model.prototype, 'save');
     // revert the patch for $save which we applied by aliasing it to patched `save`
     moduleExports.Model.prototype.$save = moduleExports.Model.prototype.save;
-    this._unwrap(moduleExports.Model.prototype, 'remove');
+
+    if (instrumentRemove(moduleVersion)) {
+      this._unwrap(moduleExports.Model.prototype, 'remove');
+    }
+
     this._unwrap(moduleExports.Query.prototype, 'exec');
     this._unwrap(moduleExports.Aggregate.prototype, 'exec');
 
diff --git a/plugins/node/instrumentation-mongoose/test/mongoose.test.ts b/plugins/node/instrumentation-mongoose/test/mongoose-common.test.ts
similarity index 68%
rename from plugins/node/instrumentation-mongoose/test/mongoose.test.ts
rename to plugins/node/instrumentation-mongoose/test/mongoose-common.test.ts
index 3badef8d6d..3a8a16086d 100644
--- a/plugins/node/instrumentation-mongoose/test/mongoose.test.ts
+++ b/plugins/node/instrumentation-mongoose/test/mongoose-common.test.ts
@@ -37,7 +37,7 @@ import { assertSpan, getStatement } from './asserts';
 import { DB_NAME, MONGO_URI } from './config';
 
 // Please run mongodb in the background: docker run -d -p 27017:27017 -v ~/data:/data/db mongo
-describe('mongoose instrumentation', () => {
+describe('mongoose instrumentation [common]', () => {
   before(async () => {
     try {
       await mongoose.connect(MONGO_URI, {
@@ -82,33 +82,16 @@ describe('mongoose instrumentation', () => {
     await User.collection.drop().catch();
   });
 
-  it('instrumenting save operation with promise', async () => {
-    const document = {
-      firstName: 'Test first name',
-      lastName: 'Test last name',
-      email: 'test@example.com',
-    };
-    const user: IUser = new User(document);
-
-    await user.save();
-
-    const spans = getTestSpans();
-    expect(spans.length).toBe(1);
-    assertSpan(spans[0] as ReadableSpan);
-    expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
-    const statement = getStatement(spans[0] as ReadableSpan);
-    expect(statement.document).toEqual(expect.objectContaining(document));
-  });
-
-  describe('when save call does not have callback', async () => {
-    it('instrumenting save operation with option property set', async () => {
+  describe('instrumenting save operation', async () => {
+    it('instrumenting save operation with promise', async () => {
       const document = {
         firstName: 'Test first name',
         lastName: 'Test last name',
         email: 'test@example.com',
       };
       const user: IUser = new User(document);
-      await user.save({ wtimeout: 42 });
+
+      await user.save();
 
       const spans = getTestSpans();
       expect(spans.length).toBe(1);
@@ -116,74 +99,29 @@ describe('mongoose instrumentation', () => {
       expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
       const statement = getStatement(spans[0] as ReadableSpan);
       expect(statement.document).toEqual(expect.objectContaining(document));
-      expect(statement.options.wtimeout).toEqual(42);
-
-      const createdUser = await User.findById(user._id).lean();
-      expect(createdUser?._id.toString()).toEqual(user._id.toString());
-    });
-  });
-
-  describe('when save call has callback', async () => {
-    it('instrumenting save operation with promise and option property set', done => {
-      const document = {
-        firstName: 'Test first name',
-        lastName: 'Test last name',
-        email: 'test@example.com',
-      };
-      const user: IUser = new User(document);
-      user.save({ wtimeout: 42 }, async () => {
-        const spans = getTestSpans();
-        expect(spans.length).toBe(1);
-        assertSpan(spans[0] as ReadableSpan);
-        expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
-        const statement = getStatement(spans[0] as ReadableSpan);
-        expect(statement.document).toEqual(expect.objectContaining(document));
-        expect(statement.options.wtimeout).toEqual(42);
-
-        const createdUser = await User.findById(user._id).lean();
-        expect(createdUser?._id.toString()).toEqual(user._id.toString());
-        done();
-      });
-    });
-
-    it('instrumenting save operation with generic options and callback', done => {
-      const document = {
-        firstName: 'Test first name',
-        lastName: 'Test last name',
-        email: 'test@example.com',
-      };
-      const user: IUser = new User(document);
-
-      user.save({}, () => {
-        const spans = getTestSpans();
-
-        expect(spans.length).toBe(1);
-        assertSpan(spans[0] as ReadableSpan);
-        expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
-        const statement = getStatement(spans[0] as ReadableSpan);
-        expect(statement.document).toEqual(expect.objectContaining(document));
-        done();
-      });
     });
 
-    it('instrumenting save operation with only callback', done => {
+    it('instrumenting save operation with option property set', async () => {
       const document = {
         firstName: 'Test first name',
         lastName: 'Test last name',
         email: 'test@example.com',
       };
       const user: IUser = new User(document);
+      await user.save({ wtimeout: 42 });
 
-      user.save(() => {
-        const spans = getTestSpans();
+      const spans = getTestSpans();
+      expect(spans.length).toBe(1);
+      assertSpan(spans[0] as ReadableSpan);
+      expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
+      const statement = getStatement(spans[0] as ReadableSpan);
+      expect(statement.document).toEqual(expect.objectContaining(document));
+      expect(statement.options.wtimeout).toEqual(42);
 
-        expect(spans.length).toBe(1);
-        assertSpan(spans[0] as ReadableSpan);
-        expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
-        const statement = getStatement(spans[0] as ReadableSpan);
-        expect(statement.document).toEqual(expect.objectContaining(document));
-        done();
-      });
+      const createdUser = await User.findById(user._id).lean();
+      // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+      // @ts-ignore - v8 made `._id` optional
+      expect(createdUser?._id.toString()).toEqual(user._id.toString());
     });
   });
 
@@ -234,31 +172,6 @@ describe('mongoose instrumentation', () => {
     });
   });
 
-  it('instrumenting remove operation [deprecated]', async () => {
-    const user = await User.findOne({ email: 'john.doe@example.com' });
-    await user!.remove();
-
-    const spans = getTestSpans();
-    expect(spans.length).toBe(2);
-    assertSpan(spans[1] as ReadableSpan);
-    expect(spans[1].attributes[SEMATTRS_DB_OPERATION]).toBe('remove');
-  });
-
-  it('instrumenting remove operation with callbacks [deprecated]', done => {
-    User.findOne({ email: 'john.doe@example.com' }).then(user =>
-      user!.remove({ overwrite: true }, () => {
-        const spans = getTestSpans();
-        expect(spans.length).toBe(2);
-        assertSpan(spans[1] as ReadableSpan);
-        expect(spans[1].attributes[SEMATTRS_DB_OPERATION]).toBe('remove');
-        expect(getStatement(spans[1] as ReadableSpan).options).toEqual({
-          overwrite: true,
-        });
-        done();
-      })
-    );
-  });
-
   it('instrumenting deleteOne operation', async () => {
     await User.deleteOne({ email: 'john.doe@example.com' });
 
@@ -301,18 +214,6 @@ describe('mongoose instrumentation', () => {
     expect(statement.condition).toEqual({ email: 'john.doe@example.com' });
   });
 
-  it('instrumenting count operation [deprecated]', async () => {
-    await User.count({});
-
-    const spans = getTestSpans();
-    expect(spans.length).toBe(1);
-    assertSpan(spans[0] as ReadableSpan);
-    expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('count');
-    const statement = getStatement(spans[0] as ReadableSpan);
-    expect(statement.options).toEqual({});
-    expect(statement.condition).toEqual({});
-  });
-
   it('instrumenting countDocuments operation', async () => {
     await User.countDocuments({ email: 'john.doe@example.com' });
 
@@ -363,22 +264,6 @@ describe('mongoose instrumentation', () => {
     expect(statement.condition).toEqual({ email: 'john.doe@example.com' });
   });
 
-  it('instrumenting update operation [deprecated]', async () => {
-    await User.update(
-      { email: 'john.doe@example.com' },
-      { email: 'john.doe2@example.com' }
-    );
-
-    const spans = getTestSpans();
-    expect(spans.length).toBe(1);
-    assertSpan(spans[0] as ReadableSpan);
-    expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('update');
-    const statement = getStatement(spans[0] as ReadableSpan);
-    expect(statement.options).toEqual({});
-    expect(statement.condition).toEqual({ email: 'john.doe@example.com' });
-    expect(statement.updates).toEqual({ email: 'john.doe2@example.com' });
-  });
-
   it('instrumenting updateOne operation', async () => {
     await User.updateOne({ email: 'john.doe@example.com' }, { age: 55 });
 
@@ -417,36 +302,6 @@ describe('mongoose instrumentation', () => {
     expect(statement.condition).toEqual({ email: 'john.doe@example.com' });
   });
 
-  it('instrumenting findOneAndUpdate operation', async () => {
-    await User.findOneAndUpdate(
-      { email: 'john.doe@example.com' },
-      { isUpdated: true }
-    );
-
-    const spans = getTestSpans();
-    expect(spans.length).toBe(2);
-    assertSpan(spans[0] as ReadableSpan);
-    assertSpan(spans[1] as ReadableSpan);
-    expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('findOne');
-    expect(spans[1].attributes[SEMATTRS_DB_OPERATION]).toBe('findOneAndUpdate');
-    const statement = getStatement(spans[1] as ReadableSpan);
-    expect(statement.options).toEqual({});
-    expect(statement.condition).toEqual({ email: 'john.doe@example.com' });
-    expect(statement.updates).toEqual({ isUpdated: true });
-  });
-
-  it('instrumenting findOneAndRemove operation', async () => {
-    await User.findOneAndRemove({ email: 'john.doe@example.com' });
-
-    const spans = getTestSpans();
-    expect(spans.length).toBe(1);
-    assertSpan(spans[0] as ReadableSpan);
-    expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('findOneAndRemove');
-    const statement = getStatement(spans[0] as ReadableSpan);
-    expect(statement.options).toEqual({});
-    expect(statement.condition).toEqual({ email: 'john.doe@example.com' });
-  });
-
   it('instrumenting create operation', async () => {
     const document = {
       firstName: 'John',
@@ -481,27 +336,6 @@ describe('mongoose instrumentation', () => {
     ]);
   });
 
-  it('instrumenting aggregate operation with callback', done => {
-    User.aggregate(
-      [
-        { $match: { firstName: 'John' } },
-        { $group: { _id: 'John', total: { $sum: '$amount' } } },
-      ],
-      () => {
-        const spans = getTestSpans();
-        expect(spans.length).toBe(1);
-        assertSpan(spans[0] as ReadableSpan);
-        expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('aggregate');
-        const statement = getStatement(spans[0] as ReadableSpan);
-        expect(statement.aggregatePipeline).toEqual([
-          { $match: { firstName: 'John' } },
-          { $group: { _id: 'John', total: { $sum: '$amount' } } },
-        ]);
-        done();
-      }
-    );
-  });
-
   it('instrumenting combined operation with async/await', async () => {
     await User.find({ id: '_test' }).skip(1).limit(2).sort({ email: 'asc' });
 
@@ -572,20 +406,6 @@ describe('mongoose instrumentation', () => {
       );
     });
 
-    it('responseHook works with callback in exec patch', done => {
-      User.deleteOne({ email: 'john.doe@example.com' }, { lean: 1 }, () => {
-        const spans = getTestSpans();
-        expect(spans.length).toBe(1);
-        assertSpan(spans[0] as ReadableSpan);
-        expect(
-          JSON.parse(spans[0].attributes[RESPONSE] as string)
-        ).toMatchObject({
-          deletedCount: 1,
-        });
-        done();
-      });
-    });
-
     it('responseHook works with async/await in model methods patch', async () => {
       const document = {
         firstName: 'Test first name',
@@ -602,24 +422,6 @@ describe('mongoose instrumentation', () => {
       );
     });
 
-    it('responseHook works with callback in model methods patch', done => {
-      const document = {
-        firstName: 'Test first name',
-        lastName: 'Test last name',
-        email: 'test@example.com',
-      };
-      const user: IUser = new User(document);
-      user.save((_err, createdUser) => {
-        const spans = getTestSpans();
-        expect(spans.length).toBe(1);
-        assertSpan(spans[0] as ReadableSpan);
-        expect(spans[0].attributes[RESPONSE]).toEqual(
-          JSON.stringify(createdUser)
-        );
-        done();
-      });
-    });
-
     it('responseHook works with async/await in aggregate patch', async () => {
       await User.aggregate([
         { $match: { firstName: 'John' } },
@@ -634,24 +436,6 @@ describe('mongoose instrumentation', () => {
       ]);
     });
 
-    it('responseHook works with callback in aggregate patch', done => {
-      User.aggregate(
-        [
-          { $match: { firstName: 'John' } },
-          { $group: { _id: 'John', total: { $sum: '$amount' } } },
-        ],
-        () => {
-          const spans = getTestSpans();
-          expect(spans.length).toBe(1);
-          assertSpan(spans[0] as ReadableSpan);
-          expect(JSON.parse(spans[0].attributes[RESPONSE] as string)).toEqual([
-            { _id: 'John', total: 0 },
-          ]);
-          done();
-        }
-      );
-    });
-
     it('error in response hook does not fail anything', async () => {
       instrumentation.disable();
       instrumentation.setConfig({
diff --git a/plugins/node/instrumentation-mongoose/test/mongoose-v5-v6.test.ts b/plugins/node/instrumentation-mongoose/test/mongoose-v5-v6.test.ts
new file mode 100644
index 0000000000..1e2fe97740
--- /dev/null
+++ b/plugins/node/instrumentation-mongoose/test/mongoose-v5-v6.test.ts
@@ -0,0 +1,338 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import 'mocha';
+import { expect } from 'expect';
+import { SEMATTRS_DB_OPERATION } from '@opentelemetry/semantic-conventions';
+import { MongooseInstrumentation } from '../src';
+import {
+  getTestSpans,
+  registerInstrumentationTesting,
+} from '@opentelemetry/contrib-test-utils';
+import type { ReadableSpan } from '@opentelemetry/sdk-trace-base';
+
+const instrumentation = registerInstrumentationTesting(
+  new MongooseInstrumentation()
+);
+
+import * as mongoose from 'mongoose';
+import User, { IUser, loadUsers } from './user';
+import { assertSpan, getStatement } from './asserts';
+import { DB_NAME, MONGO_URI } from './config';
+
+// We can't use @ts-expect-error because it will fail depending on the used mongoose version on tests
+/* eslint-disable @typescript-eslint/ban-ts-comment */
+
+// Please run mongodb in the background: docker run -d -p 27017:27017 -v ~/data:/data/db mongo
+describe('mongoose instrumentation [v5/v6]', () => {
+  before(async () => {
+    try {
+      await mongoose.connect(MONGO_URI, {
+        useNewUrlParser: true,
+        useUnifiedTopology: true,
+        useFindAndModify: false,
+        useCreateIndex: true,
+        dbName: DB_NAME,
+      } as any); // TODO: amir - document older mongoose support
+    } catch (err: any) {
+      // connect signature changed from mongo v5 to v6.
+      // the following check tries both signatures, so test-all-versions
+      // can run against both versions.
+      if (err?.name === 'MongoParseError') {
+        await mongoose.connect(MONGO_URI, {
+          dbName: DB_NAME,
+        }); // TODO: amir - document older mongoose support
+      }
+    }
+  });
+
+  after(async () => {
+    await mongoose.connection.close();
+  });
+
+  beforeEach(async () => {
+    instrumentation.disable();
+    instrumentation.setConfig({
+      dbStatementSerializer: (_operation: string, payload) => {
+        return JSON.stringify(payload, (key, value) => {
+          return key === 'session' ? '[Session]' : value;
+        });
+      },
+    });
+    instrumentation.enable();
+    await loadUsers();
+    await User.createIndexes();
+  });
+
+  afterEach(async () => {
+    instrumentation.disable();
+    await User.collection.drop().catch();
+  });
+
+  describe('when save call has callback', async () => {
+    it('instrumenting save operation with promise and option property set', done => {
+      const document = {
+        firstName: 'Test first name',
+        lastName: 'Test last name',
+        email: 'test@example.com',
+      };
+      const user: IUser = new User(document);
+      // @ts-ignore - v7 removed callback support
+      // https://mongoosejs.com/docs/migrating_to_7.html#dropped-callback-support
+      user.save({ wtimeout: 42 }, async () => {
+        const spans = getTestSpans();
+        expect(spans.length).toBe(1);
+        assertSpan(spans[0] as ReadableSpan);
+        expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
+        const statement = getStatement(spans[0] as ReadableSpan);
+        expect(statement.document).toEqual(expect.objectContaining(document));
+        expect(statement.options.wtimeout).toEqual(42);
+
+        const createdUser = await User.findById(user._id).lean();
+        // @ts-ignore - v8 made `._id` optional
+        // https://mongoosejs.com/docs/migrating_to_8.html#removed-id-setter
+        expect(createdUser?._id.toString()).toEqual(user._id.toString());
+        done();
+      });
+    });
+
+    it('instrumenting save operation with generic options and callback', done => {
+      const document = {
+        firstName: 'Test first name',
+        lastName: 'Test last name',
+        email: 'test@example.com',
+      };
+      const user: IUser = new User(document);
+
+      // @ts-ignore - v7 removed callback support
+      // https://mongoosejs.com/docs/migrating_to_7.html#dropped-callback-support
+      user.save({}, () => {
+        const spans = getTestSpans();
+
+        expect(spans.length).toBe(1);
+        assertSpan(spans[0] as ReadableSpan);
+        expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
+        const statement = getStatement(spans[0] as ReadableSpan);
+        expect(statement.document).toEqual(expect.objectContaining(document));
+        done();
+      });
+    });
+
+    it('instrumenting save operation with only callback', done => {
+      const document = {
+        firstName: 'Test first name',
+        lastName: 'Test last name',
+        email: 'test@example.com',
+      };
+      const user: IUser = new User(document);
+
+      // @ts-ignore - v7 removed callback support
+      user.save(() => {
+        const spans = getTestSpans();
+
+        expect(spans.length).toBe(1);
+        assertSpan(spans[0] as ReadableSpan);
+        expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('save');
+        const statement = getStatement(spans[0] as ReadableSpan);
+        expect(statement.document).toEqual(expect.objectContaining(document));
+        done();
+      });
+    });
+  });
+
+  describe('remove operation', () => {
+    it('instrumenting remove operation [deprecated]', async () => {
+      const user = await User.findOne({ email: 'john.doe@example.com' });
+      // @ts-ignore - v7 removed `remove` method
+      // https://mongoosejs.com/docs/migrating_to_7.html#removed-remove
+      await user!.remove();
+
+      const spans = getTestSpans();
+      expect(spans.length).toBe(2);
+      assertSpan(spans[1] as ReadableSpan);
+      expect(spans[1].attributes[SEMATTRS_DB_OPERATION]).toBe('remove');
+    });
+
+    it('instrumenting remove operation with callbacks [deprecated]', done => {
+      User.findOne({ email: 'john.doe@example.com' }).then(user =>
+        // @ts-ignore - v7 removed `remove` method
+        // https://mongoosejs.com/docs/migrating_to_7.html#removed-remove
+        user!.remove({ overwrite: true }, () => {
+          const spans = getTestSpans();
+          expect(spans.length).toBe(2);
+          assertSpan(spans[1] as ReadableSpan);
+          expect(spans[1].attributes[SEMATTRS_DB_OPERATION]).toBe('remove');
+          expect(getStatement(spans[1] as ReadableSpan).options).toEqual({
+            overwrite: true,
+          });
+          done();
+        })
+      );
+    });
+  });
+
+  it('instrumenting count operation [deprecated]', async () => {
+    // @ts-ignore - v8 removed `count` method
+    // https://mongoosejs.com/docs/migrating_to_8.html#removed-count
+    await User.count({});
+
+    const spans = getTestSpans();
+    expect(spans.length).toBe(1);
+    assertSpan(spans[0] as ReadableSpan);
+    expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('count');
+    const statement = getStatement(spans[0] as ReadableSpan);
+    expect(statement.options).toEqual({});
+    expect(statement.condition).toEqual({});
+  });
+
+  it('instrumenting update operation [deprecated]', async () => {
+    // @ts-ignore - v7 removed `update` method
+    // https://mongoosejs.com/docs/migrating_to_7.html#removed-update
+    await User.update(
+      { email: 'john.doe@example.com' },
+      { email: 'john.doe2@example.com' }
+    );
+
+    const spans = getTestSpans();
+    expect(spans.length).toBe(1);
+    assertSpan(spans[0] as ReadableSpan);
+    expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('update');
+    const statement = getStatement(spans[0] as ReadableSpan);
+    expect(statement.options).toEqual({});
+    expect(statement.condition).toEqual({ email: 'john.doe@example.com' });
+    expect(statement.updates).toEqual({ email: 'john.doe2@example.com' });
+  });
+
+  it('instrumenting findOneAndUpdate operation', async () => {
+    await User.findOneAndUpdate(
+      { email: 'john.doe@example.com' },
+      { isUpdated: true }
+    );
+
+    const spans = getTestSpans();
+    expect(spans.length).toBe(2);
+    assertSpan(spans[0] as ReadableSpan);
+    assertSpan(spans[1] as ReadableSpan);
+    expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('findOne');
+    expect(spans[1].attributes[SEMATTRS_DB_OPERATION]).toBe('findOneAndUpdate');
+    const statement = getStatement(spans[1] as ReadableSpan);
+    expect(statement.options).toEqual({});
+    expect(statement.condition).toEqual({ email: 'john.doe@example.com' });
+    expect(statement.updates).toEqual({ isUpdated: true });
+  });
+
+  it('instrumenting findOneAndRemove operation', async () => {
+    // @ts-ignore - v8 removed `findOneAndRemove` method
+    // https://mongoosejs.com/docs/migrating_to_8.html#removed-findoneandremove
+    await User.findOneAndRemove({ email: 'john.doe@example.com' });
+
+    const spans = getTestSpans();
+    expect(spans.length).toBe(1);
+    assertSpan(spans[0] as ReadableSpan);
+    expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('findOneAndRemove');
+    const statement = getStatement(spans[0] as ReadableSpan);
+    expect(statement.options).toEqual({});
+    expect(statement.condition).toEqual({ email: 'john.doe@example.com' });
+  });
+
+  it('instrumenting aggregate operation with callback', done => {
+    User.aggregate(
+      [
+        { $match: { firstName: 'John' } },
+        { $group: { _id: 'John', total: { $sum: '$amount' } } },
+      ],
+      () => {
+        const spans = getTestSpans();
+        expect(spans.length).toBe(1);
+        assertSpan(spans[0] as ReadableSpan);
+        expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('aggregate');
+        const statement = getStatement(spans[0] as ReadableSpan);
+        expect(statement.aggregatePipeline).toEqual([
+          { $match: { firstName: 'John' } },
+          { $group: { _id: 'John', total: { $sum: '$amount' } } },
+        ]);
+        done();
+      }
+    );
+  });
+
+  describe('responseHook', () => {
+    const RESPONSE = 'db.response';
+    beforeEach(() => {
+      instrumentation.disable();
+      instrumentation.setConfig({
+        responseHook: (span, responseInfo) =>
+          span.setAttribute(RESPONSE, JSON.stringify(responseInfo.response)),
+      });
+      instrumentation.enable();
+    });
+
+    it('responseHook works with callback in exec patch', done => {
+      // @ts-ignore - v7 removed callback support
+      // https://mongoosejs.com/docs/migrating_to_7.html#dropped-callback-support
+      User.deleteOne({ email: 'john.doe@example.com' }, { lean: 1 }, () => {
+        const spans = getTestSpans();
+        expect(spans.length).toBe(1);
+        assertSpan(spans[0] as ReadableSpan);
+        expect(
+          JSON.parse(spans[0].attributes[RESPONSE] as string)
+        ).toMatchObject({
+          deletedCount: 1,
+        });
+        done();
+      });
+    });
+
+    it('responseHook works with callback in model methods patch', done => {
+      const document = {
+        firstName: 'Test first name',
+        lastName: 'Test last name',
+        email: 'test@example.com',
+      };
+      const user: IUser = new User(document);
+      // @ts-ignore - v7 removed callback support
+      // https://mongoosejs.com/docs/migrating_to_7.html#dropped-callback-support
+      user.save((_err, createdUser) => {
+        const spans = getTestSpans();
+        expect(spans.length).toBe(1);
+        assertSpan(spans[0] as ReadableSpan);
+        expect(spans[0].attributes[RESPONSE]).toEqual(
+          JSON.stringify(createdUser)
+        );
+        done();
+      });
+    });
+
+    it('responseHook works with callback in aggregate patch', done => {
+      User.aggregate(
+        [
+          { $match: { firstName: 'John' } },
+          { $group: { _id: 'John', total: { $sum: '$amount' } } },
+        ],
+        () => {
+          const spans = getTestSpans();
+          expect(spans.length).toBe(1);
+          assertSpan(spans[0] as ReadableSpan);
+          expect(JSON.parse(spans[0].attributes[RESPONSE] as string)).toEqual([
+            { _id: 'John', total: 0 },
+          ]);
+          done();
+        }
+      );
+    });
+  });
+});
+
+/* eslint-enable @typescript-eslint/ban-ts-comment */
diff --git a/plugins/node/instrumentation-mongoose/test/mongoose-v7-v8.test.ts b/plugins/node/instrumentation-mongoose/test/mongoose-v7-v8.test.ts
new file mode 100644
index 0000000000..5324e84b6f
--- /dev/null
+++ b/plugins/node/instrumentation-mongoose/test/mongoose-v7-v8.test.ts
@@ -0,0 +1,96 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import 'mocha';
+import { expect } from 'expect';
+import { SEMATTRS_DB_OPERATION } from '@opentelemetry/semantic-conventions';
+import { MongooseInstrumentation } from '../src';
+import {
+  getTestSpans,
+  registerInstrumentationTesting,
+} from '@opentelemetry/contrib-test-utils';
+import type { ReadableSpan } from '@opentelemetry/sdk-trace-base';
+
+const instrumentation = registerInstrumentationTesting(
+  new MongooseInstrumentation()
+);
+
+import * as mongoose from 'mongoose';
+import User, { loadUsers } from './user';
+import { assertSpan, getStatement } from './asserts';
+import { DB_NAME, MONGO_URI } from './config';
+
+// Please run mongodb in the background: docker run -d -p 27017:27017 -v ~/data:/data/db mongo
+describe('mongoose instrumentation [v7/v8]', () => {
+  before(async () => {
+    try {
+      await mongoose.connect(MONGO_URI, {
+        useNewUrlParser: true,
+        useUnifiedTopology: true,
+        useFindAndModify: false,
+        useCreateIndex: true,
+        dbName: DB_NAME,
+      } as any); // TODO: amir - document older mongoose support
+    } catch (err: any) {
+      // connect signature changed from mongo v5 to v6.
+      // the following check tries both signatures, so test-all-versions
+      // can run against both versions.
+      if (err?.name === 'MongoParseError') {
+        await mongoose.connect(MONGO_URI, {
+          dbName: DB_NAME,
+        }); // TODO: amir - document older mongoose support
+      }
+    }
+  });
+
+  after(async () => {
+    await mongoose.connection.close();
+  });
+
+  beforeEach(async () => {
+    instrumentation.disable();
+    instrumentation.setConfig({
+      dbStatementSerializer: (_operation: string, payload) => {
+        return JSON.stringify(payload, (key, value) => {
+          return key === 'session' ? '[Session]' : value;
+        });
+      },
+    });
+    instrumentation.enable();
+    await loadUsers();
+    await User.createIndexes();
+  });
+
+  afterEach(async () => {
+    instrumentation.disable();
+    await User.collection.drop().catch();
+  });
+
+  it('instrumenting findOneAndUpdate operation', async () => {
+    await User.findOneAndUpdate(
+      { email: 'john.doe@example.com' },
+      { isUpdated: true }
+    );
+
+    const spans = getTestSpans();
+    expect(spans.length).toBe(1);
+    assertSpan(spans[0] as ReadableSpan);
+    expect(spans[0].attributes[SEMATTRS_DB_OPERATION]).toBe('findOneAndUpdate');
+    const statement = getStatement(spans[0] as ReadableSpan);
+    expect(statement.options).toEqual({});
+    expect(statement.condition).toEqual({ email: 'john.doe@example.com' });
+    expect(statement.updates).toEqual({ isUpdated: true });
+  });
+});

From b169191a718248aa5f2445e5945987f4628daaba Mon Sep 17 00:00:00 2001
From: Mend Renovate <bot@renovateapp.com>
Date: Thu, 15 Aug 2024 21:11:58 +0200
Subject: [PATCH 083/123] chore(deps): update all patch versions (#2006)

* chore(deps): update all patch versions
* avoid TS2775 typescript error during 'npm run compile'
* skip mongodb@4.7.2 in instr-mongodb TAV tests because TAV cannot locally install the same version installed at the top-level of the workspace (from a pinned version used by instr-mongoose)

Co-authored-by: Trent Mick <trentm@gmail.com>
---
 .github/workflows/release-please.yml          |    2 +-
 .github/workflows/unit-test.yml               |    2 +-
 .../package.json                              |    4 +-
 .../package.json                              |    4 +-
 .../package.json                              |    4 +-
 .../package.json                              |    4 +-
 .../package.json                              |    4 +-
 .../package.json                              |    4 +-
 .../package.json                              |    4 +-
 .../package.json                              |    2 +-
 .../package.json                              |    4 +-
 .../auto-instrumentations-node/package.json   |    4 +-
 .../auto-instrumentations-web/package.json    |    6 +-
 package-lock.json                             | 2722 +++++++----------
 packages/baggage-span-processor/package.json  |    2 +-
 .../opentelemetry-host-metrics/package.json   |    4 +-
 .../package.json                              |    6 +-
 packages/winston-transport/package.json       |    4 +-
 .../node/instrumentation-amqplib/package.json |    2 +-
 .../instrumentation-cucumber/package.json     |    8 +-
 .../instrumentation-dataloader/package.json   |    2 +-
 plugins/node/instrumentation-fs/package.json  |    2 +-
 .../node/instrumentation-kafkajs/package.json |    2 +-
 .../instrumentation-lru-memoizer/package.json |    4 +-
 .../instrumentation-mongoose/package.json     |    2 +-
 .../instrumentation-runtime-node/package.json |    2 +-
 .../instrumentation-socket.io/package.json    |    2 +-
 .../node/instrumentation-tedious/package.json |    4 +-
 .../node/instrumentation-undici/package.json  |    2 +-
 .../package.json                              |    4 +-
 .../package.json                              |    4 +-
 .../package.json                              |    4 +-
 .../package.json                              |    6 +-
 .../package.json                              |    2 +-
 .../package.json                              |    6 +-
 .../package.json                              |    6 +-
 .../package.json                              |    6 +-
 .../package.json                              |    6 +-
 .../package.json                              |    2 +-
 .../package.json                              |    4 +-
 .../package.json                              |    4 +-
 .../package.json                              |    4 +-
 .../package.json                              |    6 +-
 .../package.json                              |    2 +-
 .../.tav.yml                                  |   10 +-
 .../package.json                              |    2 +-
 .../package.json                              |    6 +-
 .../package.json                              |    6 +-
 .../package.json                              |    6 +-
 .../package.json                              |    4 +-
 .../package.json                              |    6 +-
 .../package.json                              |    8 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    8 +-
 .../package.json                              |    2 +-
 .../package.json                              |    4 +-
 .../package.json                              |    2 +-
 .../test/documentLoad.test.ts                 |    2 +-
 .../package.json                              |    6 +-
 .../package.json                              |    4 +-
 .../package.json                              |    8 +-
 .../package.json                              |    4 +-
 .../package.json                              |    4 +-
 64 files changed, 1224 insertions(+), 1756 deletions(-)

diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml
index 12fd7ec186..259069339c 100644
--- a/.github/workflows/release-please.yml
+++ b/.github/workflows/release-please.yml
@@ -26,7 +26,7 @@ jobs:
         run: |
           npm ci
 
-      - uses: googleapis/release-please-action@f3969c04a4ec81d7a9aa4010d84ae6a7602f86a7 # v4.1.1
+      - uses: googleapis/release-please-action@7987652d64b4581673a76e33ad5e98e3dd56832f # v4.1.3
         id: release
         with:
           token: ${{secrets.RELEASE_PR_TOKEN}}
diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml
index eb86cdbae3..49c3711c5c 100644
--- a/.github/workflows/unit-test.yml
+++ b/.github/workflows/unit-test.yml
@@ -16,7 +16,7 @@ jobs:
     runs-on: ubuntu-latest
     services:
       memcached:
-        image: memcached:1.6.21-alpine
+        image: memcached:1.6.29-alpine
         ports:
         - 11211:11211
       mongo:
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
index 86e0bd9077..2c75e81979 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
@@ -43,11 +43,11 @@
     "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "mocha": "7.2.0",
     "nock": "13.3.3",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/detectors/node/opentelemetry-resource-detector-aws/package.json b/detectors/node/opentelemetry-resource-detector-aws/package.json
index 22b7678655..a3d026ff9c 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/package.json
+++ b/detectors/node/opentelemetry-resource-detector-aws/package.json
@@ -42,11 +42,11 @@
     "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "mocha": "7.2.0",
     "nock": "13.3.3",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/detectors/node/opentelemetry-resource-detector-azure/package.json b/detectors/node/opentelemetry-resource-detector-azure/package.json
index cc3e677c96..a1d574a94e 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/package.json
+++ b/detectors/node/opentelemetry-resource-detector-azure/package.json
@@ -35,11 +35,11 @@
     "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "mocha": "7.2.0",
     "nock": "13.3.3",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
   },
diff --git a/detectors/node/opentelemetry-resource-detector-container/package.json b/detectors/node/opentelemetry-resource-detector-container/package.json
index dd7c0a9295..9b590e0b4e 100644
--- a/detectors/node/opentelemetry-resource-detector-container/package.json
+++ b/detectors/node/opentelemetry-resource-detector-container/package.json
@@ -37,12 +37,12 @@
     "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "eslint-plugin-header": "^3.1.1",
     "mocha": "7.2.0",
     "nock": "13.3.3",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/detectors/node/opentelemetry-resource-detector-gcp/package.json b/detectors/node/opentelemetry-resource-detector-gcp/package.json
index e172899760..af59a59068 100644
--- a/detectors/node/opentelemetry-resource-detector-gcp/package.json
+++ b/detectors/node/opentelemetry-resource-detector-gcp/package.json
@@ -42,11 +42,11 @@
     "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
-    "@types/semver": "7.5.3",
+    "@types/semver": "7.5.8",
     "mocha": "7.2.0",
     "nock": "13.3.3",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
   },
diff --git a/detectors/node/opentelemetry-resource-detector-github/package.json b/detectors/node/opentelemetry-resource-detector-github/package.json
index 0655e7af2c..6e2507918d 100644
--- a/detectors/node/opentelemetry-resource-detector-github/package.json
+++ b/detectors/node/opentelemetry-resource-detector-github/package.json
@@ -45,10 +45,10 @@
     "@opentelemetry/api": "^1.0.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/detectors/node/opentelemetry-resource-detector-instana/package.json b/detectors/node/opentelemetry-resource-detector-instana/package.json
index 920966c654..860b8a51a0 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/package.json
+++ b/detectors/node/opentelemetry-resource-detector-instana/package.json
@@ -42,11 +42,11 @@
     "@opentelemetry/sdk-node": "^0.52.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
-    "@types/semver": "7.5.3",
+    "@types/semver": "7.5.8",
     "mocha": "7.2.0",
     "nock": "13.3.3",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
   },
diff --git a/incubator/opentelemetry-sampler-aws-xray/package.json b/incubator/opentelemetry-sampler-aws-xray/package.json
index 6b137eef6b..fbb58821d4 100644
--- a/incubator/opentelemetry-sampler-aws-xray/package.json
+++ b/incubator/opentelemetry-sampler-aws-xray/package.json
@@ -53,7 +53,7 @@
     "@opentelemetry/contrib-test-utils": "^0.35.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "@typescript-eslint/eslint-plugin": "5.8.1",
     "@typescript-eslint/parser": "5.8.1",
     "eslint": "8.7.0",
diff --git a/metapackages/auto-configuration-propagators/package.json b/metapackages/auto-configuration-propagators/package.json
index 22462c5a3a..9a2d66007a 100644
--- a/metapackages/auto-configuration-propagators/package.json
+++ b/metapackages/auto-configuration-propagators/package.json
@@ -36,10 +36,10 @@
     "@opentelemetry/api": "^1.4.1",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/metapackages/auto-instrumentations-node/package.json b/metapackages/auto-instrumentations-node/package.json
index 2c19262383..f3f27193b6 100644
--- a/metapackages/auto-instrumentations-node/package.json
+++ b/metapackages/auto-instrumentations-node/package.json
@@ -40,10 +40,10 @@
     "@opentelemetry/api": "^1.4.1",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/metapackages/auto-instrumentations-web/package.json b/metapackages/auto-instrumentations-web/package.json
index 37522b0ae7..9c01a299b3 100644
--- a/metapackages/auto-instrumentations-web/package.json
+++ b/metapackages/auto-instrumentations-web/package.json
@@ -40,13 +40,13 @@
     "@opentelemetry/api": "^1.3.0",
     "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/sinon": "17.0.3",
+    "@types/sinon": "10.0.20",
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
     "babel-plugin-istanbul": "6.1.1",
     "cross-var": "1.1.0",
-    "karma": "6.4.3",
+    "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
     "karma-coverage": "2.2.1",
     "karma-mocha": "2.0.1",
@@ -54,7 +54,7 @@
     "karma-webpack": "5.0.1",
     "mocha": "10.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.1.2",
     "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
diff --git a/package-lock.json b/package-lock.json
index b187276d0d..da3f5cf81a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -50,11 +50,11 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -86,11 +86,11 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -122,11 +122,11 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -156,12 +156,12 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "eslint-plugin-header": "^3.1.1",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -194,11 +194,11 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -226,10 +226,10 @@
         "@opentelemetry/api": "^1.0.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -261,11 +261,11 @@
         "@opentelemetry/sdk-node": "^0.52.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -298,10 +298,10 @@
         "@opentelemetry/api": "^1.4.1",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -370,10 +370,10 @@
         "@opentelemetry/api": "^1.4.1",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -402,13 +402,13 @@
         "@opentelemetry/api": "^1.3.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
         "cross-var": "1.1.0",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
@@ -416,7 +416,7 @@
         "karma-webpack": "5.0.1",
         "mocha": "10.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.1.2",
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
@@ -7194,15 +7194,6 @@
         "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@hapi/accept/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
     "node_modules/@hapi/accept/node_modules/@hapi/hoek": {
       "version": "11.0.4",
       "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
@@ -7224,22 +7215,28 @@
       "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
       "dev": true
     },
-    "node_modules/@hapi/bounce": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-3.0.1.tgz",
-      "integrity": "sha512-G+/Pp9c1Ha4FDP+3Sy/Xwg2O4Ahaw3lIZFSX+BL4uWi64CmiETuZPxhKDUD4xBMOUZbBlzvO8HjiK8ePnhBadA==",
+    "node_modules/@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
       "dev": true,
       "dependencies": {
-        "@hapi/boom": "^10.0.1",
         "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@hapi/bounce/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@hapi/boom/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/bounce": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-3.0.1.tgz",
+      "integrity": "sha512-G+/Pp9c1Ha4FDP+3Sy/Xwg2O4Ahaw3lIZFSX+BL4uWi64CmiETuZPxhKDUD4xBMOUZbBlzvO8HjiK8ePnhBadA==",
       "dev": true,
       "dependencies": {
+        "@hapi/boom": "^10.0.1",
         "@hapi/hoek": "^11.0.2"
       }
     },
@@ -7259,15 +7256,6 @@
         "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@hapi/call/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
     "node_modules/@hapi/call/node_modules/@hapi/hoek": {
       "version": "11.0.4",
       "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
@@ -7287,84 +7275,27 @@
       }
     },
     "node_modules/@hapi/catbox-memory": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/catbox-memory/-/catbox-memory-6.0.1.tgz",
-      "integrity": "sha512-sVb+/ZxbZIvaMtJfAbdyY+QJUQg9oKTwamXpEg/5xnfG5WbJLTjvEn4kIGKz9pN3ENNbIL/bIdctmHmqi/AdGA==",
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@hapi/catbox-memory/-/catbox-memory-6.0.2.tgz",
+      "integrity": "sha512-H1l4ugoFW/ZRkqeFrIo8p1rWN0PA4MDTfu4JmcoNDvnY975o29mqoZblqFTotxNHlEkMPpIiIBJTV+Mbi+aF0g==",
       "dev": true,
       "dependencies": {
         "@hapi/boom": "^10.0.1",
         "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@hapi/catbox-memory/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
     "node_modules/@hapi/catbox-memory/node_modules/@hapi/hoek": {
       "version": "11.0.4",
       "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
       "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
       "dev": true
     },
-    "node_modules/@hapi/catbox/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
     "node_modules/@hapi/catbox/node_modules/@hapi/hoek": {
       "version": "11.0.4",
       "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
       "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
       "dev": true
     },
-    "node_modules/@hapi/catbox/node_modules/@hapi/podium": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-5.0.1.tgz",
-      "integrity": "sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/teamwork": "^6.0.0",
-        "@hapi/validate": "^2.0.1"
-      }
-    },
-    "node_modules/@hapi/catbox/node_modules/@hapi/teamwork": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-6.0.0.tgz",
-      "integrity": "sha512-05HumSy3LWfXpmJ9cr6HzwhAavrHkJ1ZRCmNE2qJMihdM5YcWreWPfyN0yKT2ZjCM92au3ZkuodjBxOibxM67A==",
-      "dev": true,
-      "engines": {
-        "node": ">=14.0.0"
-      }
-    },
-    "node_modules/@hapi/catbox/node_modules/@hapi/topo": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
-    "node_modules/@hapi/catbox/node_modules/@hapi/validate": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/topo": "^6.0.1"
-      }
-    },
     "node_modules/@hapi/content": {
       "version": "6.0.0",
       "resolved": "https://registry.npmjs.org/@hapi/content/-/content-6.0.0.tgz",
@@ -7374,21 +7305,6 @@
         "@hapi/boom": "^10.0.0"
       }
     },
-    "node_modules/@hapi/content/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
-    "node_modules/@hapi/content/node_modules/@hapi/hoek": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-      "dev": true
-    },
     "node_modules/@hapi/file": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@hapi/file/-/file-3.0.0.tgz",
@@ -7396,9 +7312,9 @@
       "dev": true
     },
     "node_modules/@hapi/hapi": {
-      "version": "21.3.3",
-      "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.3.tgz",
-      "integrity": "sha512-6pgwWVl/aSKSNVn86n+mWa06jRqCAKi2adZp/Hti19A0u5x3/6eiKz8UTBPMzfrdGf9WcrYbFBYzWr/qd2s28g==",
+      "version": "21.3.10",
+      "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.10.tgz",
+      "integrity": "sha512-CmEcmTREW394MaGGKvWpoOK4rG8tKlpZLs30tbaBzhCrhiL2Ti/HARek9w+8Ya4nMBGcd+kDAzvU44OX8Ms0Jg==",
       "dev": true,
       "dependencies": {
         "@hapi/accept": "^6.0.1",
@@ -7407,7 +7323,7 @@
         "@hapi/bounce": "^3.0.1",
         "@hapi/call": "^9.0.1",
         "@hapi/catbox": "^12.1.1",
-        "@hapi/catbox-memory": "^6.0.1",
+        "@hapi/catbox-memory": "^6.0.2",
         "@hapi/heavy": "^8.0.1",
         "@hapi/hoek": "^11.0.2",
         "@hapi/mimos": "^7.0.1",
@@ -7424,41 +7340,12 @@
         "node": ">=14.15.0"
       }
     },
-    "node_modules/@hapi/hapi/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
     "node_modules/@hapi/hapi/node_modules/@hapi/hoek": {
       "version": "11.0.4",
       "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
       "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
       "dev": true
     },
-    "node_modules/@hapi/hapi/node_modules/@hapi/podium": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-5.0.1.tgz",
-      "integrity": "sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/teamwork": "^6.0.0",
-        "@hapi/validate": "^2.0.1"
-      }
-    },
-    "node_modules/@hapi/hapi/node_modules/@hapi/teamwork": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-6.0.0.tgz",
-      "integrity": "sha512-05HumSy3LWfXpmJ9cr6HzwhAavrHkJ1ZRCmNE2qJMihdM5YcWreWPfyN0yKT2ZjCM92au3ZkuodjBxOibxM67A==",
-      "dev": true,
-      "engines": {
-        "node": ">=14.0.0"
-      }
-    },
     "node_modules/@hapi/hapi/node_modules/@hapi/topo": {
       "version": "6.0.2",
       "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
@@ -7468,16 +7355,6 @@
         "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@hapi/hapi/node_modules/@hapi/validate": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/topo": "^6.0.1"
-      }
-    },
     "node_modules/@hapi/heavy": {
       "version": "8.0.1",
       "resolved": "https://registry.npmjs.org/@hapi/heavy/-/heavy-8.0.1.tgz",
@@ -7489,40 +7366,12 @@
         "@hapi/validate": "^2.0.1"
       }
     },
-    "node_modules/@hapi/heavy/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
     "node_modules/@hapi/heavy/node_modules/@hapi/hoek": {
       "version": "11.0.4",
       "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
       "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
       "dev": true
     },
-    "node_modules/@hapi/heavy/node_modules/@hapi/topo": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
-    "node_modules/@hapi/heavy/node_modules/@hapi/validate": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/topo": "^6.0.1"
-      }
-    },
     "node_modules/@hapi/hoek": {
       "version": "9.3.0",
       "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
@@ -7586,16 +7435,24 @@
         "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@hapi/pez/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+    "node_modules/@hapi/pez/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/podium": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-5.0.1.tgz",
+      "integrity": "sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ==",
       "dev": true,
       "dependencies": {
-        "@hapi/hoek": "^11.0.2"
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/teamwork": "^6.0.0",
+        "@hapi/validate": "^2.0.1"
       }
     },
-    "node_modules/@hapi/pez/node_modules/@hapi/hoek": {
+    "node_modules/@hapi/podium/node_modules/@hapi/hoek": {
       "version": "11.0.4",
       "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
       "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
@@ -7617,25 +7474,6 @@
       "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
       "dev": true
     },
-    "node_modules/@hapi/shot/node_modules/@hapi/topo": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
-    "node_modules/@hapi/shot/node_modules/@hapi/validate": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/topo": "^6.0.1"
-      }
-    },
     "node_modules/@hapi/somever": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/@hapi/somever/-/somever-4.1.1.tgz",
@@ -7676,15 +7514,6 @@
         "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@hapi/statehood/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
     "node_modules/@hapi/statehood/node_modules/@hapi/bourne": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
@@ -7722,25 +7551,6 @@
         "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@hapi/statehood/node_modules/@hapi/topo": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
-    "node_modules/@hapi/statehood/node_modules/@hapi/validate": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2",
-        "@hapi/topo": "^6.0.1"
-      }
-    },
     "node_modules/@hapi/subtext": {
       "version": "8.1.0",
       "resolved": "https://registry.npmjs.org/@hapi/subtext/-/subtext-8.1.0.tgz",
@@ -7756,15 +7566,6 @@
         "@hapi/wreck": "^18.0.1"
       }
     },
-    "node_modules/@hapi/subtext/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
     "node_modules/@hapi/subtext/node_modules/@hapi/bourne": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
@@ -7777,6 +7578,15 @@
       "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
       "dev": true
     },
+    "node_modules/@hapi/teamwork": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-6.0.0.tgz",
+      "integrity": "sha512-05HumSy3LWfXpmJ9cr6HzwhAavrHkJ1ZRCmNE2qJMihdM5YcWreWPfyN0yKT2ZjCM92au3ZkuodjBxOibxM67A==",
+      "dev": true,
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
     "node_modules/@hapi/topo": {
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
@@ -7786,6 +7596,31 @@
         "@hapi/hoek": "^9.0.0"
       }
     },
+    "node_modules/@hapi/validate": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
+      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
+      "dev": true,
+      "dependencies": {
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/topo": "^6.0.1"
+      }
+    },
+    "node_modules/@hapi/validate/node_modules/@hapi/hoek": {
+      "version": "11.0.4",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+      "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+      "dev": true
+    },
+    "node_modules/@hapi/validate/node_modules/@hapi/topo": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
+      "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
+      "dev": true,
+      "dependencies": {
+        "@hapi/hoek": "^11.0.2"
+      }
+    },
     "node_modules/@hapi/vise": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/@hapi/vise/-/vise-5.0.1.tgz",
@@ -7812,15 +7647,6 @@
         "@hapi/hoek": "^11.0.2"
       }
     },
-    "node_modules/@hapi/wreck/node_modules/@hapi/boom": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^11.0.2"
-      }
-    },
     "node_modules/@hapi/wreck/node_modules/@hapi/bourne": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
@@ -8276,12 +8102,12 @@
       }
     },
     "node_modules/@koa/router": {
-      "version": "12.0.0",
-      "resolved": "https://registry.npmjs.org/@koa/router/-/router-12.0.0.tgz",
-      "integrity": "sha512-cnnxeKHXlt7XARJptflGURdJaO+ITpNkOHmQu7NHmCoRinPbyvFzce/EG/E8Zy81yQ1W9MoSdtklc3nyaDReUw==",
-      "deprecated": "**IMPORTANT 10x+ PERFORMANCE UPGRADE**: Please upgrade to v12.0.1+ as we have fixed an issue with debuglog causing 10x slower router benchmark performance, see https://github.com/koajs/router/pull/173",
+      "version": "12.0.1",
+      "resolved": "https://registry.npmjs.org/@koa/router/-/router-12.0.1.tgz",
+      "integrity": "sha512-ribfPYfHb+Uw3b27Eiw6NPqjhIhTpVFzEWLwyc/1Xp+DCdwRRyIlAUODX+9bPARF6aQtUu1+/PHzdNvRzcs/+Q==",
       "dev": true,
       "dependencies": {
+        "debug": "^4.3.4",
         "http-errors": "^2.0.0",
         "koa-compose": "^4.1.0",
         "methods": "^1.1.2",
@@ -8292,9 +8118,9 @@
       }
     },
     "node_modules/@koa/router/node_modules/path-to-regexp": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
-      "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==",
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz",
+      "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==",
       "dev": true
     },
     "node_modules/@lerna/child-process": {
@@ -8972,164 +8798,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/@mapbox/node-pre-gyp": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz",
-      "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==",
-      "dev": true,
-      "dependencies": {
-        "detect-libc": "^2.0.0",
-        "https-proxy-agent": "^5.0.0",
-        "make-dir": "^3.1.0",
-        "node-fetch": "^2.6.7",
-        "nopt": "^5.0.0",
-        "npmlog": "^5.0.1",
-        "rimraf": "^3.0.2",
-        "semver": "^7.3.5",
-        "tar": "^6.1.11"
-      },
-      "bin": {
-        "node-pre-gyp": "bin/node-pre-gyp"
-      }
-    },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/abbrev": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
-      "dev": true
-    },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-      "dev": true,
-      "dependencies": {
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/are-we-there-yet": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
-      "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
-      "dev": true,
-      "dependencies": {
-        "delegates": "^1.0.0",
-        "readable-stream": "^3.6.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/gauge": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
-      "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.0.3 || ^2.0.0",
-        "color-support": "^1.1.2",
-        "console-control-strings": "^1.0.0",
-        "has-unicode": "^2.0.1",
-        "object-assign": "^4.1.1",
-        "signal-exit": "^3.0.0",
-        "string-width": "^4.2.3",
-        "strip-ansi": "^6.0.1",
-        "wide-align": "^1.1.2"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-      "dev": true,
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/https-proxy-agent": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
-      "dev": true,
-      "dependencies": {
-        "agent-base": "6",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-      "dev": true,
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/nopt": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
-      "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
-      "dev": true,
-      "dependencies": {
-        "abbrev": "1"
-      },
-      "bin": {
-        "nopt": "bin/nopt.js"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/npmlog": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
-      "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
-      "dev": true,
-      "dependencies": {
-        "are-we-there-yet": "^2.0.0",
-        "console-control-strings": "^1.1.0",
-        "gauge": "^3.0.0",
-        "set-blocking": "^2.0.0"
-      }
-    },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
     "node_modules/@mdn/browser-compat-data": {
       "version": "4.2.1",
       "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz",
@@ -11375,6 +11043,39 @@
         "node": ">=18"
       }
     },
+    "node_modules/@puppeteer/browsers/node_modules/lru-cache": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@puppeteer/browsers/node_modules/semver": {
+      "version": "7.6.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@puppeteer/browsers/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+      "dev": true
+    },
     "node_modules/@redis/bloom": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.0.2.tgz",
@@ -12699,9 +12400,9 @@
       }
     },
     "node_modules/@types/aws-lambda": {
-      "version": "8.10.122",
-      "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.122.tgz",
-      "integrity": "sha512-vBkIh9AY22kVOCEKo5CJlyCgmSWvasC+SWUxL/x/vOwRobMpI/HG1xp/Ae3AqmSiZeLUbOhW0FCD3ZjqqUxmXw=="
+      "version": "8.10.143",
+      "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.143.tgz",
+      "integrity": "sha512-u5vzlcR14ge/4pMTTMDQr3MF0wEe38B2F9o84uC4F43vN5DGTy63npRrB6jQhyt+C0lGv4ZfiRcRkqJoZuPnmg=="
     },
     "node_modules/@types/babel__code-frame": {
       "version": "7.0.6",
@@ -12744,9 +12445,9 @@
       }
     },
     "node_modules/@types/chai": {
-      "version": "4.3.12",
-      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.12.tgz",
-      "integrity": "sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==",
+      "version": "4.3.17",
+      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.17.tgz",
+      "integrity": "sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow==",
       "dev": true
     },
     "node_modules/@types/co-body": {
@@ -12846,9 +12547,9 @@
       "dev": true
     },
     "node_modules/@types/express": {
-      "version": "4.17.18",
-      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz",
-      "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==",
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
+      "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==",
       "dev": true,
       "dependencies": {
         "@types/body-parser": "*",
@@ -12999,9 +12700,10 @@
       "dev": true
     },
     "node_modules/@types/lru-cache": {
-      "version": "7.10.9",
-      "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-7.10.9.tgz",
-      "integrity": "sha512-wrwgkdJ0xr8AbzKhVaRI8SXZN9saapPwwLoydBEr4HqMZET1LUTi1gdoaj82XmRJ9atqN7MtB0aja29iiK+7ag==",
+      "version": "7.10.10",
+      "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-7.10.10.tgz",
+      "integrity": "sha512-nEpVRPWW9EBmx2SCfNn3ClYxPL7IktPX12HhIoSc/H5mMjdeW3+YsXIpseLQ2xF35+OcpwKQbEUw5VtqE4PDNA==",
+      "deprecated": "This is a stub types definition. lru-cache provides its own type definitions, so you do not need this installed.",
       "dev": true,
       "dependencies": {
         "lru-cache": "*"
@@ -13040,9 +12742,9 @@
       "dev": true
     },
     "node_modules/@types/mysql": {
-      "version": "2.15.22",
-      "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.22.tgz",
-      "integrity": "sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==",
+      "version": "2.15.26",
+      "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.26.tgz",
+      "integrity": "sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ==",
       "dependencies": {
         "@types/node": "*"
       }
@@ -13081,9 +12783,9 @@
       }
     },
     "node_modules/@types/pg-pool": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.4.tgz",
-      "integrity": "sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ==",
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.6.tgz",
+      "integrity": "sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==",
       "dependencies": {
         "@types/pg": "*"
       }
@@ -13107,13 +12809,13 @@
       "dev": true
     },
     "node_modules/@types/react": {
-      "version": "17.0.67",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.67.tgz",
-      "integrity": "sha512-zE76EIJ0Y58Oy9yDX/9csb/NuKjt0Eq2YgWb/8Wxo91YmuLzzbyiRoaqJE9h8iDlsT7n35GdpoLomHlaB1kFbg==",
+      "version": "17.0.80",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.80.tgz",
+      "integrity": "sha512-LrgHIu2lEtIo8M7d1FcI3BdwXWoRQwMoXOZ7+dPTW0lYREjmlHl3P0U1VD0i/9tppOuv8/sam7sOjx34TxSFbA==",
       "dev": true,
       "dependencies": {
         "@types/prop-types": "*",
-        "@types/scheduler": "*",
+        "@types/scheduler": "^0.16",
         "csstype": "^3.0.2"
       }
     },
@@ -13167,9 +12869,9 @@
       "dev": true
     },
     "node_modules/@types/restify": {
-      "version": "4.3.10",
-      "resolved": "https://registry.npmjs.org/@types/restify/-/restify-4.3.10.tgz",
-      "integrity": "sha512-lSt9uvWwdYrGgRCqKyh5DyC008xN8hij5RWzOPlPaTiec2smfpd7s034BASPDMIG4WhRfk0y4oLFoAi/AzVN9g==",
+      "version": "4.3.12",
+      "resolved": "https://registry.npmjs.org/@types/restify/-/restify-4.3.12.tgz",
+      "integrity": "sha512-Z0GnpGQUE/OPYPnuNAO/20BIVHKucwF/MPV9gQ2ksNlP/Fswz8KiqW4Sb/MTXD9h0BrQ7q0vLqXCfW0w2IIbKg==",
       "dev": true,
       "dependencies": {
         "@types/bunyan": "*",
@@ -13183,9 +12885,9 @@
       "dev": true
     },
     "node_modules/@types/semver": {
-      "version": "7.5.3",
-      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz",
-      "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==",
+      "version": "7.5.8",
+      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
+      "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
       "dev": true
     },
     "node_modules/@types/send": {
@@ -13215,9 +12917,9 @@
       "integrity": "sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA=="
     },
     "node_modules/@types/sinon": {
-      "version": "10.0.18",
-      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.18.tgz",
-      "integrity": "sha512-OpQC9ug8BcnNxue2WF5aTruMaDRFn6NyfaE4DmAKOlQMn54b7CnCvDFV3wj5fk/HbSSTYmOYs2bTb5ShANjyQg==",
+      "version": "10.0.20",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.20.tgz",
+      "integrity": "sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg==",
       "dev": true,
       "dependencies": {
         "@types/sinonjs__fake-timers": "*"
@@ -13524,9 +13226,9 @@
       }
     },
     "node_modules/@web/dev-server-core": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.7.1.tgz",
-      "integrity": "sha512-alHd2j0f4e1ekqYDR8lWScrzR7D5gfsUZq3BP3De9bkFWM3AELINCmqqlVKmCtlkAdEc9VyQvNiEqrxraOdc2A==",
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.7.2.tgz",
+      "integrity": "sha512-Q/0jpF13Ipk+qGGQ+Yx/FW1TQBYazpkfgYHHo96HBE7qv4V4KKHqHglZcSUxti/zd4bToxX1cFTz8dmbTlb8JA==",
       "dev": true,
       "dependencies": {
         "@types/koa": "^2.11.6",
@@ -13656,17 +13358,17 @@
       }
     },
     "node_modules/@web/dev-server-rollup": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.6.1.tgz",
-      "integrity": "sha512-vhtsQ8qu1pBHailOBOYJwZnYDc1Lmx6ZAd2j+y5PD2ck0R1LmVsZ7dZK8hDCpkvpvlu2ndURjL9tbzdcsBRJmg==",
+      "version": "0.6.4",
+      "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.6.4.tgz",
+      "integrity": "sha512-sJZfTGCCrdku5xYnQQG51odGI092hKY9YFM0X3Z0tRY3iXKXcYRaLZrErw5KfCxr6g0JRuhe4BBhqXTA5Q2I3Q==",
       "dev": true,
       "dependencies": {
         "@rollup/plugin-node-resolve": "^15.0.1",
-        "@web/dev-server-core": "^0.7.0",
+        "@web/dev-server-core": "^0.7.2",
         "nanocolors": "^0.2.1",
         "parse5": "^6.0.1",
         "rollup": "^4.4.0",
-        "whatwg-url": "^11.0.0"
+        "whatwg-url": "^14.0.0"
       },
       "engines": {
         "node": ">=18.0.0"
@@ -13678,6 +13380,31 @@
       "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
       "dev": true
     },
+    "node_modules/@web/dev-server-rollup/node_modules/tr46": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz",
+      "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==",
+      "dev": true,
+      "dependencies": {
+        "punycode": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=18"
+      }
+    },
+    "node_modules/@web/dev-server-rollup/node_modules/whatwg-url": {
+      "version": "14.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz",
+      "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==",
+      "dev": true,
+      "dependencies": {
+        "tr46": "^5.0.0",
+        "webidl-conversions": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=18"
+      }
+    },
     "node_modules/@web/dev-server/node_modules/camelcase": {
       "version": "6.3.0",
       "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
@@ -13710,9 +13437,9 @@
       "dev": true
     },
     "node_modules/@web/test-runner": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.1.tgz",
-      "integrity": "sha512-jB/9vrpGVtcLY6/7sPpKpSheQ3wWY9P5aQcz2SK2gMHTq3gNpa51NAyec0Al7EFpHvJ1wKYTGRLB2gPyEoJeDg==",
+      "version": "0.18.3",
+      "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.3.tgz",
+      "integrity": "sha512-QkVK8Qguw3Zhyu8SYR7F4VdcjyXBeJNr8W8L++s4zO/Ok7DR/Wu7+rLswn3H7OH3xYoCHRmwteehcFejefz6ew==",
       "dev": true,
       "dependencies": {
         "@web/browser-logs": "^0.4.0",
@@ -16284,6 +16011,15 @@
         "node": ">=8"
       }
     },
+    "node_modules/bindings": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+      "dev": true,
+      "dependencies": {
+        "file-uri-to-path": "1.0.0"
+      }
+    },
     "node_modules/bitsyntax": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz",
@@ -18305,6 +18041,21 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/decompress-response": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
+      "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
+      "dev": true,
+      "dependencies": {
+        "mimic-response": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/dedent": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
@@ -18329,6 +18080,15 @@
       "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==",
       "dev": true
     },
+    "node_modules/deep-extend": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
     "node_modules/deep-is": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
@@ -19945,6 +19705,15 @@
         "node": ">= 0.8.0"
       }
     },
+    "node_modules/expand-template": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
+      "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
     "node_modules/expect": {
       "version": "29.2.0",
       "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.0.tgz",
@@ -20496,6 +20265,12 @@
         "node": "^10.12.0 || >=12.0.0"
       }
     },
+    "node_modules/file-uri-to-path": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+      "dev": true
+    },
     "node_modules/file-url": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/file-url/-/file-url-3.0.0.tgz",
@@ -21369,24 +21144,28 @@
       "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
       "dev": true
     },
+    "node_modules/github-from-package": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
+      "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
+      "dev": true
+    },
     "node_modules/glob": {
-      "version": "10.4.1",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
-      "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
+      "version": "10.4.5",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+      "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
       "dev": true,
       "dependencies": {
         "foreground-child": "^3.1.0",
         "jackspeak": "^3.1.2",
         "minimatch": "^9.0.4",
         "minipass": "^7.1.2",
+        "package-json-from-dist": "^1.0.0",
         "path-scurry": "^1.11.1"
       },
       "bin": {
         "glob": "dist/esm/bin.mjs"
       },
-      "engines": {
-        "node": ">=16 || 14 >=14.18"
-      },
       "funding": {
         "url": "https://github.com/sponsors/isaacs"
       }
@@ -21410,9 +21189,9 @@
       "dev": true
     },
     "node_modules/glob/node_modules/foreground-child": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
-      "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+      "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
       "dev": true,
       "dependencies": {
         "cross-spawn": "^7.0.0",
@@ -23977,9 +23756,9 @@
       }
     },
     "node_modules/karma": {
-      "version": "6.4.3",
-      "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.3.tgz",
-      "integrity": "sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q==",
+      "version": "6.4.4",
+      "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz",
+      "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==",
       "dev": true,
       "dependencies": {
         "@colors/colors": "1.5.0",
@@ -24196,6 +23975,7 @@
       "version": "7.2.3",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
       "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
       "dev": true,
       "dependencies": {
         "fs.realpath": "^1.0.0",
@@ -24240,6 +24020,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
       "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "deprecated": "Rimraf versions prior to v4 are no longer supported",
       "dev": true,
       "dependencies": {
         "glob": "^7.1.3"
@@ -25798,9 +25579,9 @@
       }
     },
     "node_modules/logform": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz",
-      "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==",
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.1.tgz",
+      "integrity": "sha512-CdaO738xRapbKIMVn2m4F6KTj4j7ooJ8POVnebSgKo3KBz5axNXRAL7ZdRjIV6NOr2Uf4vjtRkxrFETOioCqSA==",
       "dependencies": {
         "@colors/colors": "1.6.0",
         "@types/triple-beam": "^1.3.2",
@@ -26671,6 +26452,18 @@
         "node": ">=6"
       }
     },
+    "node_modules/mimic-response": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
+      "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/min-indent": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
@@ -26687,9 +26480,9 @@
       "dev": true
     },
     "node_modules/minimatch": {
-      "version": "9.0.4",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
-      "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+      "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
       "dev": true,
       "dependencies": {
         "brace-expansion": "^2.0.1"
@@ -26976,6 +26769,12 @@
         "url": "https://github.com/sponsors/isaacs"
       }
     },
+    "node_modules/mkdirp-classic": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
+      "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
+      "dev": true
+    },
     "node_modules/mkdirp-infer-owner": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz",
@@ -27906,6 +27705,12 @@
         "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
+    "node_modules/napi-build-utils": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
+      "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
+      "dev": true
+    },
     "node_modules/native-duplexpair": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/native-duplexpair/-/native-duplexpair-1.0.0.tgz",
@@ -28005,6 +27810,18 @@
         "node": ">= 10.13"
       }
     },
+    "node_modules/node-abi": {
+      "version": "3.65.0",
+      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.65.0.tgz",
+      "integrity": "sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^7.3.5"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/node-abort-controller": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz",
@@ -30022,6 +29839,12 @@
         "node": ">=8"
       }
     },
+    "node_modules/package-json-from-dist": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
+      "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==",
+      "dev": true
+    },
     "node_modules/packet-reader": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz",
@@ -30809,6 +30632,50 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/prebuild-install": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz",
+      "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==",
+      "dev": true,
+      "dependencies": {
+        "detect-libc": "^2.0.0",
+        "expand-template": "^2.0.3",
+        "github-from-package": "0.0.0",
+        "minimist": "^1.2.3",
+        "mkdirp-classic": "^0.5.3",
+        "napi-build-utils": "^1.0.1",
+        "node-abi": "^3.3.0",
+        "pump": "^3.0.0",
+        "rc": "^1.2.7",
+        "simple-get": "^4.0.0",
+        "tar-fs": "^2.0.0",
+        "tunnel-agent": "^0.6.0"
+      },
+      "bin": {
+        "prebuild-install": "bin.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/prebuild-install/node_modules/chownr": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+      "dev": true
+    },
+    "node_modules/prebuild-install/node_modules/tar-fs": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+      "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+      "dev": true,
+      "dependencies": {
+        "chownr": "^1.1.1",
+        "mkdirp-classic": "^0.5.2",
+        "pump": "^3.0.0",
+        "tar-stream": "^2.1.4"
+      }
+    },
     "node_modules/prelude-ls": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -31297,6 +31164,36 @@
         "node": ">= 0.8"
       }
     },
+    "node_modules/rc": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+      "dev": true,
+      "dependencies": {
+        "deep-extend": "^0.6.0",
+        "ini": "~1.3.0",
+        "minimist": "^1.2.0",
+        "strip-json-comments": "~2.0.1"
+      },
+      "bin": {
+        "rc": "cli.js"
+      }
+    },
+    "node_modules/rc/node_modules/ini": {
+      "version": "1.3.8",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+      "dev": true
+    },
+    "node_modules/rc/node_modules/strip-json-comments": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+      "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/react": {
       "version": "17.0.2",
       "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
@@ -32358,9 +32255,9 @@
       "dev": true
     },
     "node_modules/rimraf": {
-      "version": "5.0.5",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz",
-      "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==",
+      "version": "5.0.10",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz",
+      "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==",
       "dev": true,
       "dependencies": {
         "glob": "^10.3.7"
@@ -32368,9 +32265,6 @@
       "bin": {
         "rimraf": "dist/esm/bin.mjs"
       },
-      "engines": {
-        "node": ">=14"
-      },
       "funding": {
         "url": "https://github.com/sponsors/isaacs"
       }
@@ -32643,12 +32537,9 @@
       "dev": true
     },
     "node_modules/semver": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
-      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
       "bin": {
         "semver": "bin/semver.js"
       },
@@ -32656,22 +32547,6 @@
         "node": ">=10"
       }
     },
-    "node_modules/semver/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/semver/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
-    },
     "node_modules/send": {
       "version": "0.18.0",
       "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
@@ -33049,6 +32924,51 @@
         "node": ">=16 || 14 >=14.17"
       }
     },
+    "node_modules/simple-concat": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+      "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/simple-get": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
+      "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "decompress-response": "^6.0.0",
+        "once": "^1.3.1",
+        "simple-concat": "^1.0.0"
+      }
+    },
     "node_modules/simple-lru-cache": {
       "version": "0.0.2",
       "resolved": "https://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.2.tgz",
@@ -33189,9 +33109,9 @@
       }
     },
     "node_modules/socket.io": {
-      "version": "4.7.4",
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz",
-      "integrity": "sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==",
+      "version": "4.7.5",
+      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz",
+      "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==",
       "dev": true,
       "dependencies": {
         "accepts": "~1.3.4",
@@ -33217,9 +33137,9 @@
       }
     },
     "node_modules/socket.io-client": {
-      "version": "4.7.4",
-      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.4.tgz",
-      "integrity": "sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==",
+      "version": "4.7.5",
+      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz",
+      "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==",
       "dev": true,
       "dependencies": {
         "@socket.io/component-emitter": "~3.1.0",
@@ -33508,14 +33428,15 @@
       "dev": true
     },
     "node_modules/sqlite3": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.6.tgz",
-      "integrity": "sha512-olYkWoKFVNSSSQNvxVUfjiVbz3YtBwTJj+mfV5zpHmqW3sELx2Cf4QCdirMelhM5Zh+KDVaKgQHqCxrqiWHybw==",
+      "version": "5.1.7",
+      "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz",
+      "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==",
       "dev": true,
       "hasInstallScript": true,
       "dependencies": {
-        "@mapbox/node-pre-gyp": "^1.0.0",
-        "node-addon-api": "^4.2.0",
+        "bindings": "^1.5.0",
+        "node-addon-api": "^7.0.0",
+        "prebuild-install": "^7.1.1",
         "tar": "^6.1.11"
       },
       "optionalDependencies": {
@@ -33541,6 +33462,7 @@
       "version": "7.2.3",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
       "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
       "dev": true,
       "optional": true,
       "dependencies": {
@@ -33572,9 +33494,9 @@
       }
     },
     "node_modules/sqlite3/node_modules/node-addon-api": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
-      "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==",
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+      "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
       "dev": true
     },
     "node_modules/sqlite3/node_modules/node-gyp": {
@@ -33622,6 +33544,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
       "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "deprecated": "Rimraf versions prior to v4 are no longer supported",
       "dev": true,
       "optional": true,
       "dependencies": {
@@ -35120,6 +35043,18 @@
         "node": ">=16 || 14 >=14.17"
       }
     },
+    "node_modules/tunnel-agent": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "^5.0.1"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
     "node_modules/tweetnacl": {
       "version": "0.14.5",
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
@@ -36141,12 +36076,12 @@
       }
     },
     "node_modules/winston-transport": {
-      "version": "4.7.0",
-      "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz",
-      "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==",
+      "version": "4.7.1",
+      "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.1.tgz",
+      "integrity": "sha512-wQCXXVgfv/wUPOfb2x0ruxzwkcZfxcktz6JIMUaPLmcNhO4bZTwA/WtDWK74xV3F2dKu8YadrFv0qhwYjVEwhA==",
       "dependencies": {
-        "logform": "^2.3.2",
-        "readable-stream": "^3.6.0",
+        "logform": "^2.6.1",
+        "readable-stream": "^3.6.2",
         "triple-beam": "^1.3.0"
       },
       "engines": {
@@ -36892,7 +36827,7 @@
         "expect": "29.2.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -36921,10 +36856,10 @@
         "@opentelemetry/api": "^1.3.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -36955,13 +36890,13 @@
         "@opentelemetry/api": "^1.0.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
         "cross-var": "1.1.0",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
@@ -36969,7 +36904,7 @@
         "karma-webpack": "5.0.1",
         "mocha": "10.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.1.2",
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
@@ -37558,7 +37493,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "^9.1.1",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.11",
+        "@types/sinon": "^10.0.20",
         "expect": "29.2.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
@@ -37656,16 +37591,16 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.52.0",
-        "winston-transport": "4.*"
+        "winston-transport": "^4.7.1"
       },
       "devDependencies": {
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "@types/triple-beam": "1.3.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -37696,7 +37631,7 @@
         "@types/lodash": "4.14.199",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "amqplib": "0.8.0",
         "expect": "29.2.0",
         "lodash": "4.17.21",
@@ -37735,13 +37670,13 @@
         "@opentelemetry/sdk-trace-base": "^1.3.1",
         "@opentelemetry/sdk-trace-node": "^1.3.1",
         "@types/mocha": "7.0.2",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "@types/shimmer": "1.0.3",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
+        "rimraf": "5.0.10",
+        "semver": "7.6.3",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -37754,39 +37689,6 @@
         "@opentelemetry/api": "^1.0.0"
       }
     },
-    "plugins/node/instrumentation-cucumber/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "plugins/node/instrumentation-cucumber/node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "plugins/node/instrumentation-cucumber/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
     "plugins/node/instrumentation-dataloader": {
       "name": "@opentelemetry/instrumentation-dataloader",
       "version": "0.11.0",
@@ -37804,7 +37706,7 @@
         "dataloader": "2.2.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -37832,10 +37734,10 @@
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.11",
+        "@types/sinon": "^10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -37861,11 +37763,11 @@
         "@opentelemetry/sdk-trace-base": "^1.24.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.11",
+        "@types/sinon": "^10.0.20",
         "kafkajs": "^2.2.4",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -37887,14 +37789,14 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@types/lru-cache": "7.10.9",
+        "@types/lru-cache": "7.10.10",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "expect": "29.2.0",
         "lru-memoizer": "2.1.4",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -37931,7 +37833,7 @@
         "mocha": "7.2.0",
         "mongoose": "6.13.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -37963,7 +37865,7 @@
         "@types/node": "^20.11.2",
         "mocha": "7.2.0",
         "nyc": "^15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -38006,9 +37908,9 @@
         "expect": "27.4.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "socket.io": "^4.1.3",
-        "socket.io-client": "^4.1.3",
+        "rimraf": "5.0.10",
+        "socket.io": "^4.7.5",
+        "socket.io-client": "^4.7.5",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -38256,8 +38158,8 @@
         "@types/node": "18.6.5",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.6.0",
+        "rimraf": "5.0.10",
+        "semver": "7.6.3",
         "tedious": "17.0.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -38402,7 +38304,7 @@
         "@types/node": "18.6.5",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "semver": "^7.6.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -38425,7 +38327,7 @@
         "@opentelemetry/propagator-aws-xray": "^1.3.1",
         "@opentelemetry/resources": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/aws-lambda": "8.10.122"
+        "@types/aws-lambda": "8.10.143"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -38437,7 +38339,7 @@
         "@types/node": "18.6.5",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -38470,14 +38372,14 @@
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "aws-sdk": "2.1008.0",
         "eslint": "8.7.0",
         "expect": "29.2.0",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -38514,11 +38416,11 @@
         "@opentelemetry/semantic-conventions": "^1.23.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "bunyan": "1.8.15",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -38555,12 +38457,12 @@
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
-        "@types/sinon": "10.0.18",
+        "@types/semver": "7.5.8",
+        "@types/sinon": "10.0.20",
         "cassandra-driver": "4.6.4",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -38592,7 +38494,7 @@
         "connect": "3.7.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -38626,12 +38528,12 @@
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "@types/shimmer": "1.0.3",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -38658,14 +38560,14 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/express": "4.17.18",
+        "@types/express": "4.17.21",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "express": "4.19.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -38695,14 +38597,14 @@
         "@opentelemetry/instrumentation-http": "^0.52.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@types/express": "4.17.18",
+        "@types/express": "4.17.21",
         "@types/mocha": "7.0.2",
         "@types/node": "18.15.3",
-        "@types/semver": "7.5.5",
+        "@types/semver": "7.5.8",
         "fastify": "4.18.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "semver": "^7.5.4",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -38721,12 +38623,6 @@
       "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==",
       "dev": true
     },
-    "plugins/node/opentelemetry-instrumentation-fastify/node_modules/@types/semver": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.5.tgz",
-      "integrity": "sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==",
-      "dev": true
-    },
     "plugins/node/opentelemetry-instrumentation-generic-pool": {
       "name": "@opentelemetry/instrumentation-generic-pool",
       "version": "0.38.0",
@@ -38742,12 +38638,12 @@
         "@types/generic-pool": "^3.1.9",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "generic-pool": "3.8.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
+        "rimraf": "5.0.10",
+        "semver": "7.6.3",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -38758,39 +38654,6 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-generic-pool/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "plugins/node/opentelemetry-instrumentation-generic-pool/node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "plugins/node/opentelemetry-instrumentation-generic-pool/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
     "plugins/node/opentelemetry-instrumentation-graphql": {
       "name": "@opentelemetry/instrumentation-graphql",
       "version": "0.42.0",
@@ -38807,7 +38670,7 @@
         "graphql": "^16.5.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -38835,7 +38698,7 @@
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
-        "@hapi/hapi": "21.3.3",
+        "@hapi/hapi": "21.3.10",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
@@ -38846,7 +38709,7 @@
         "joi": "17.12.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -38876,12 +38739,12 @@
         "@types/ioredis4": "npm:@types/ioredis@4.28.10",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "cross-env": "7.0.3",
         "ioredis": "5.2.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -38912,8 +38775,8 @@
         "knex": "0.95.9",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sqlite3": "5.1.6",
+        "rimraf": "5.0.10",
+        "sqlite3": "5.1.7",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -38934,7 +38797,7 @@
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
-        "@koa/router": "12.0.0",
+        "@koa/router": "12.0.1",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
@@ -38945,11 +38808,11 @@
         "@types/koa__router": "12.0.4",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "koa": "2.13.1",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -38983,7 +38846,7 @@
         "memcached": "2.2.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -39015,7 +38878,7 @@
         "mocha": "7.2.0",
         "mongodb": "6.8.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -39194,7 +39057,7 @@
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/mysql": "2.15.22"
+        "@types/mysql": "2.15.26"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39204,11 +39067,11 @@
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "mysql": "2.18.1",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -39236,12 +39099,12 @@
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "mocha": "7.2.0",
         "mysql2": "2.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
+        "rimraf": "5.0.10",
+        "semver": "7.6.3",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -39253,39 +39116,6 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-mysql2/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "plugins/node/opentelemetry-instrumentation-mysql2/node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "plugins/node/opentelemetry-instrumentation-mysql2/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
     "plugins/node/opentelemetry-instrumentation-nestjs-core": {
       "name": "@opentelemetry/instrumentation-nestjs-core",
       "version": "0.39.0",
@@ -39306,15 +39136,15 @@
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "cross-env": "7.0.3",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "reflect-metadata": "0.1.13",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "rxjs": "7.8.1",
         "rxjs-compat": "6.6.7",
-        "semver": "7.5.4",
+        "semver": "7.6.3",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -39326,39 +39156,6 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-nestjs-core/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "plugins/node/opentelemetry-instrumentation-nestjs-core/node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "plugins/node/opentelemetry-instrumentation-nestjs-core/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
     "plugins/node/opentelemetry-instrumentation-net": {
       "name": "@opentelemetry/instrumentation-net",
       "version": "0.38.0",
@@ -39374,10 +39171,10 @@
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -39398,7 +39195,7 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@opentelemetry/sql-common": "^0.40.1",
         "@types/pg": "8.6.1",
-        "@types/pg-pool": "2.0.4"
+        "@types/pg-pool": "2.0.6"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39408,13 +39205,13 @@
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "cross-env": "7.0.3",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "pg": "8.7.1",
         "pg-pool": "3.4.1",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "safe-stable-stringify": "^2.4.1",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
@@ -39445,13 +39242,13 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
-        "@types/sinon": "10.0.18",
+        "@types/semver": "7.5.8",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "pino": "8.3.1",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
+        "rimraf": "5.0.10",
+        "semver": "7.6.3",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -39464,39 +39261,6 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-pino/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "plugins/node/opentelemetry-instrumentation-pino/node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "plugins/node/opentelemetry-instrumentation-pino/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
     "plugins/node/opentelemetry-instrumentation-redis": {
       "name": "@opentelemetry/instrumentation-redis",
       "version": "0.41.0",
@@ -39519,7 +39283,7 @@
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "redis": "3.1.2",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -39553,7 +39317,7 @@
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "redis": "4.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -39595,13 +39359,13 @@
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/restify": "4.3.10",
-        "@types/semver": "7.5.3",
+        "@types/restify": "4.3.12",
+        "@types/semver": "7.5.8",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "restify": "11.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
+        "rimraf": "5.0.10",
+        "semver": "7.6.3",
         "test-all-versions": "^6.0.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -39613,39 +39377,6 @@
         "@opentelemetry/api": "^1.3.0"
       }
     },
-    "plugins/node/opentelemetry-instrumentation-restify/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "plugins/node/opentelemetry-instrumentation-restify/node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "plugins/node/opentelemetry-instrumentation-restify/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
     "plugins/node/opentelemetry-instrumentation-router": {
       "name": "@opentelemetry/instrumentation-router",
       "version": "0.39.0",
@@ -39663,7 +39394,7 @@
         "@types/node": "18.6.5",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "router": "1.3.8",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -39691,11 +39422,11 @@
         "@opentelemetry/winston-transport": "^0.5.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "@types/triple-beam": "^1.3.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -39727,13 +39458,13 @@
         "@opentelemetry/api": "^1.3.0",
         "@rollup/plugin-commonjs": "^26.0.0",
         "@rollup/plugin-node-resolve": "^15.2.3",
-        "@types/chai": "^4.3.10",
+        "@types/chai": "^4.3.17",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "@web/dev-server-esbuild": "^1.0.1",
-        "@web/dev-server-rollup": "^0.6.1",
-        "@web/test-runner": "^0.18.0",
+        "@web/dev-server-rollup": "^0.6.4",
+        "@web/test-runner": "^0.18.3",
         "chai": "^4.3.10",
         "sinon": "15.2.0",
         "typescript": "4.4.4"
@@ -39767,13 +39498,13 @@
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
         "cross-var": "1.1.0",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
@@ -39781,7 +39512,7 @@
         "karma-webpack": "5.0.1",
         "mocha": "10.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.1.2",
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
@@ -40381,13 +40112,13 @@
         "@types/jquery": "3.5.30",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
         "cross-var": "1.1.0",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-jquery": "0.2.4",
@@ -40995,16 +40726,16 @@
         "@opentelemetry/propagator-b3": "1.25.1",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/react": "17.0.67",
+        "@types/react": "17.0.80",
         "@types/react-addons-test-utils": "0.14.26",
         "@types/react-dom": "18.0.2",
         "@types/shimmer": "1.0.3",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
@@ -41014,7 +40745,7 @@
         "nyc": "15.1.0",
         "react": "17.0.2",
         "react-dom": "17.0.2",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.1.2",
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
@@ -41629,13 +41360,13 @@
         "@opentelemetry/api": "^1.0.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
         "cross-var": "1.1.0",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
@@ -42204,13 +41935,13 @@
         "@opentelemetry/api": "^1.0.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
         "cross-var": "1.1.0",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
@@ -47702,15 +47433,6 @@
         "@hapi/hoek": "^11.0.2"
       },
       "dependencies": {
-        "@hapi/boom": {
-          "version": "10.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-          "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
         "@hapi/hoek": {
           "version": "11.0.4",
           "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
@@ -47736,6 +47458,23 @@
         }
       }
     },
+    "@hapi/boom": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
+      "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
+      "dev": true,
+      "requires": {
+        "@hapi/hoek": "^11.0.2"
+      },
+      "dependencies": {
+        "@hapi/hoek": {
+          "version": "11.0.4",
+          "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+          "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+          "dev": true
+        }
+      }
+    },
     "@hapi/bounce": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-3.0.1.tgz",
@@ -47746,15 +47485,6 @@
         "@hapi/hoek": "^11.0.2"
       },
       "dependencies": {
-        "@hapi/boom": {
-          "version": "10.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-          "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
         "@hapi/hoek": {
           "version": "11.0.4",
           "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
@@ -47773,15 +47503,6 @@
         "@hapi/hoek": "^11.0.2"
       },
       "dependencies": {
-        "@hapi/boom": {
-          "version": "10.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-          "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
         "@hapi/hoek": {
           "version": "11.0.4",
           "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
@@ -47802,78 +47523,24 @@
         "@hapi/validate": "^2.0.1"
       },
       "dependencies": {
-        "@hapi/boom": {
-          "version": "10.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-          "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
         "@hapi/hoek": {
           "version": "11.0.4",
           "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
           "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
           "dev": true
-        },
-        "@hapi/podium": {
-          "version": "5.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-5.0.1.tgz",
-          "integrity": "sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2",
-            "@hapi/teamwork": "^6.0.0",
-            "@hapi/validate": "^2.0.1"
-          }
-        },
-        "@hapi/teamwork": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-6.0.0.tgz",
-          "integrity": "sha512-05HumSy3LWfXpmJ9cr6HzwhAavrHkJ1ZRCmNE2qJMihdM5YcWreWPfyN0yKT2ZjCM92au3ZkuodjBxOibxM67A==",
-          "dev": true
-        },
-        "@hapi/topo": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-          "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
-        "@hapi/validate": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-          "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2",
-            "@hapi/topo": "^6.0.1"
-          }
         }
       }
     },
     "@hapi/catbox-memory": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/@hapi/catbox-memory/-/catbox-memory-6.0.1.tgz",
-      "integrity": "sha512-sVb+/ZxbZIvaMtJfAbdyY+QJUQg9oKTwamXpEg/5xnfG5WbJLTjvEn4kIGKz9pN3ENNbIL/bIdctmHmqi/AdGA==",
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@hapi/catbox-memory/-/catbox-memory-6.0.2.tgz",
+      "integrity": "sha512-H1l4ugoFW/ZRkqeFrIo8p1rWN0PA4MDTfu4JmcoNDvnY975o29mqoZblqFTotxNHlEkMPpIiIBJTV+Mbi+aF0g==",
       "dev": true,
       "requires": {
         "@hapi/boom": "^10.0.1",
         "@hapi/hoek": "^11.0.2"
       },
       "dependencies": {
-        "@hapi/boom": {
-          "version": "10.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-          "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
         "@hapi/hoek": {
           "version": "11.0.4",
           "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
@@ -47889,23 +47556,6 @@
       "dev": true,
       "requires": {
         "@hapi/boom": "^10.0.0"
-      },
-      "dependencies": {
-        "@hapi/boom": {
-          "version": "10.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-          "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
-        "@hapi/hoek": {
-          "version": "11.0.4",
-          "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
-          "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
-          "dev": true
-        }
       }
     },
     "@hapi/file": {
@@ -47915,9 +47565,9 @@
       "dev": true
     },
     "@hapi/hapi": {
-      "version": "21.3.3",
-      "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.3.tgz",
-      "integrity": "sha512-6pgwWVl/aSKSNVn86n+mWa06jRqCAKi2adZp/Hti19A0u5x3/6eiKz8UTBPMzfrdGf9WcrYbFBYzWr/qd2s28g==",
+      "version": "21.3.10",
+      "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.10.tgz",
+      "integrity": "sha512-CmEcmTREW394MaGGKvWpoOK4rG8tKlpZLs30tbaBzhCrhiL2Ti/HARek9w+8Ya4nMBGcd+kDAzvU44OX8Ms0Jg==",
       "dev": true,
       "requires": {
         "@hapi/accept": "^6.0.1",
@@ -47926,7 +47576,7 @@
         "@hapi/bounce": "^3.0.1",
         "@hapi/call": "^9.0.1",
         "@hapi/catbox": "^12.1.1",
-        "@hapi/catbox-memory": "^6.0.1",
+        "@hapi/catbox-memory": "^6.0.2",
         "@hapi/heavy": "^8.0.1",
         "@hapi/hoek": "^11.0.2",
         "@hapi/mimos": "^7.0.1",
@@ -47940,38 +47590,12 @@
         "@hapi/validate": "^2.0.1"
       },
       "dependencies": {
-        "@hapi/boom": {
-          "version": "10.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-          "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
         "@hapi/hoek": {
           "version": "11.0.4",
           "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
           "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
           "dev": true
         },
-        "@hapi/podium": {
-          "version": "5.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-5.0.1.tgz",
-          "integrity": "sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2",
-            "@hapi/teamwork": "^6.0.0",
-            "@hapi/validate": "^2.0.1"
-          }
-        },
-        "@hapi/teamwork": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-6.0.0.tgz",
-          "integrity": "sha512-05HumSy3LWfXpmJ9cr6HzwhAavrHkJ1ZRCmNE2qJMihdM5YcWreWPfyN0yKT2ZjCM92au3ZkuodjBxOibxM67A==",
-          "dev": true
-        },
         "@hapi/topo": {
           "version": "6.0.2",
           "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
@@ -47980,16 +47604,6 @@
           "requires": {
             "@hapi/hoek": "^11.0.2"
           }
-        },
-        "@hapi/validate": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-          "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2",
-            "@hapi/topo": "^6.0.1"
-          }
         }
       }
     },
@@ -48004,39 +47618,11 @@
         "@hapi/validate": "^2.0.1"
       },
       "dependencies": {
-        "@hapi/boom": {
-          "version": "10.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-          "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
         "@hapi/hoek": {
           "version": "11.0.4",
           "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
           "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
           "dev": true
-        },
-        "@hapi/topo": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-          "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
-        "@hapi/validate": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-          "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2",
-            "@hapi/topo": "^6.0.1"
-          }
         }
       }
     },
@@ -48104,15 +47690,25 @@
             "@hapi/hoek": "^11.0.2"
           }
         },
-        "@hapi/boom": {
-          "version": "10.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-          "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
+        "@hapi/hoek": {
+          "version": "11.0.4",
+          "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+          "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+          "dev": true
+        }
+      }
+    },
+    "@hapi/podium": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-5.0.1.tgz",
+      "integrity": "sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ==",
+      "dev": true,
+      "requires": {
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/teamwork": "^6.0.0",
+        "@hapi/validate": "^2.0.1"
+      },
+      "dependencies": {
         "@hapi/hoek": {
           "version": "11.0.4",
           "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
@@ -48136,25 +47732,6 @@
           "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
           "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
           "dev": true
-        },
-        "@hapi/topo": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-          "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
-        "@hapi/validate": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-          "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2",
-            "@hapi/topo": "^6.0.1"
-          }
         }
       }
     },
@@ -48200,15 +47777,6 @@
             "@hapi/hoek": "^11.0.2"
           }
         },
-        "@hapi/boom": {
-          "version": "10.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-          "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
         "@hapi/bourne": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
@@ -48242,25 +47810,6 @@
             "@hapi/cryptiles": "^6.0.1",
             "@hapi/hoek": "^11.0.2"
           }
-        },
-        "@hapi/topo": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
-          "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
-        "@hapi/validate": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
-          "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2",
-            "@hapi/topo": "^6.0.1"
-          }
         }
       }
     },
@@ -48279,15 +47828,6 @@
         "@hapi/wreck": "^18.0.1"
       },
       "dependencies": {
-        "@hapi/boom": {
-          "version": "10.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-          "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
         "@hapi/bourne": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
@@ -48302,6 +47842,12 @@
         }
       }
     },
+    "@hapi/teamwork": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-6.0.0.tgz",
+      "integrity": "sha512-05HumSy3LWfXpmJ9cr6HzwhAavrHkJ1ZRCmNE2qJMihdM5YcWreWPfyN0yKT2ZjCM92au3ZkuodjBxOibxM67A==",
+      "dev": true
+    },
     "@hapi/topo": {
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
@@ -48311,6 +47857,33 @@
         "@hapi/hoek": "^9.0.0"
       }
     },
+    "@hapi/validate": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz",
+      "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==",
+      "dev": true,
+      "requires": {
+        "@hapi/hoek": "^11.0.2",
+        "@hapi/topo": "^6.0.1"
+      },
+      "dependencies": {
+        "@hapi/hoek": {
+          "version": "11.0.4",
+          "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.4.tgz",
+          "integrity": "sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==",
+          "dev": true
+        },
+        "@hapi/topo": {
+          "version": "6.0.2",
+          "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz",
+          "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==",
+          "dev": true,
+          "requires": {
+            "@hapi/hoek": "^11.0.2"
+          }
+        }
+      }
+    },
     "@hapi/vise": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/@hapi/vise/-/vise-5.0.1.tgz",
@@ -48339,15 +47912,6 @@
         "@hapi/hoek": "^11.0.2"
       },
       "dependencies": {
-        "@hapi/boom": {
-          "version": "10.0.1",
-          "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz",
-          "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==",
-          "dev": true,
-          "requires": {
-            "@hapi/hoek": "^11.0.2"
-          }
-        },
         "@hapi/bourne": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz",
@@ -48708,11 +48272,12 @@
       }
     },
     "@koa/router": {
-      "version": "12.0.0",
-      "resolved": "https://registry.npmjs.org/@koa/router/-/router-12.0.0.tgz",
-      "integrity": "sha512-cnnxeKHXlt7XARJptflGURdJaO+ITpNkOHmQu7NHmCoRinPbyvFzce/EG/E8Zy81yQ1W9MoSdtklc3nyaDReUw==",
+      "version": "12.0.1",
+      "resolved": "https://registry.npmjs.org/@koa/router/-/router-12.0.1.tgz",
+      "integrity": "sha512-ribfPYfHb+Uw3b27Eiw6NPqjhIhTpVFzEWLwyc/1Xp+DCdwRRyIlAUODX+9bPARF6aQtUu1+/PHzdNvRzcs/+Q==",
       "dev": true,
       "requires": {
+        "debug": "^4.3.4",
         "http-errors": "^2.0.0",
         "koa-compose": "^4.1.0",
         "methods": "^1.1.2",
@@ -48720,9 +48285,9 @@
       },
       "dependencies": {
         "path-to-regexp": {
-          "version": "6.2.1",
-          "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
-          "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==",
+          "version": "6.2.2",
+          "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz",
+          "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==",
           "dev": true
         }
       }
@@ -49263,130 +48828,6 @@
       "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==",
       "dev": true
     },
-    "@mapbox/node-pre-gyp": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz",
-      "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==",
-      "dev": true,
-      "requires": {
-        "detect-libc": "^2.0.0",
-        "https-proxy-agent": "^5.0.0",
-        "make-dir": "^3.1.0",
-        "node-fetch": "^2.6.7",
-        "nopt": "^5.0.0",
-        "npmlog": "^5.0.1",
-        "rimraf": "^3.0.2",
-        "semver": "^7.3.5",
-        "tar": "^6.1.11"
-      },
-      "dependencies": {
-        "abbrev": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-          "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
-          "dev": true
-        },
-        "agent-base": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-          "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-          "dev": true,
-          "requires": {
-            "debug": "4"
-          }
-        },
-        "are-we-there-yet": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
-          "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
-          "dev": true,
-          "requires": {
-            "delegates": "^1.0.0",
-            "readable-stream": "^3.6.0"
-          }
-        },
-        "gauge": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
-          "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
-          "dev": true,
-          "requires": {
-            "aproba": "^1.0.3 || ^2.0.0",
-            "color-support": "^1.1.2",
-            "console-control-strings": "^1.0.0",
-            "has-unicode": "^2.0.1",
-            "object-assign": "^4.1.1",
-            "signal-exit": "^3.0.0",
-            "string-width": "^4.2.3",
-            "strip-ansi": "^6.0.1",
-            "wide-align": "^1.1.2"
-          }
-        },
-        "glob": {
-          "version": "7.2.3",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-          "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.1.1",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "https-proxy-agent": {
-          "version": "5.0.1",
-          "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-          "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
-          "dev": true,
-          "requires": {
-            "agent-base": "6",
-            "debug": "4"
-          }
-        },
-        "minimatch": {
-          "version": "3.1.2",
-          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-          "dev": true,
-          "requires": {
-            "brace-expansion": "^1.1.7"
-          }
-        },
-        "nopt": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
-          "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
-          "dev": true,
-          "requires": {
-            "abbrev": "1"
-          }
-        },
-        "npmlog": {
-          "version": "5.0.1",
-          "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
-          "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
-          "dev": true,
-          "requires": {
-            "are-we-there-yet": "^2.0.0",
-            "console-control-strings": "^1.1.0",
-            "gauge": "^3.0.0",
-            "set-blocking": "^2.0.0"
-          }
-        },
-        "rimraf": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        }
-      }
-    },
     "@mdn/browser-compat-data": {
       "version": "4.2.1",
       "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz",
@@ -50428,10 +49869,10 @@
         "@opentelemetry/propagator-ot-trace": "^0.27.2",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -50490,10 +49931,10 @@
         "@opentelemetry/sdk-node": "^0.52.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -50512,13 +49953,13 @@
         "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
         "cross-var": "1.1.0",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
@@ -50526,7 +49967,7 @@
         "karma-webpack": "5.0.1",
         "mocha": "10.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.1.2",
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
@@ -50583,8 +50024,7 @@
           "dev": true
         },
         "@types/sinon": {
-          "version": "17.0.3",
-          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "version": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
           "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
           "dev": true,
           "requires": {
@@ -50959,7 +50399,7 @@
         "expect": "29.2.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -51083,10 +50523,10 @@
         "@opentelemetry/sdk-metrics": "^1.8.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "systeminformation": "5.22.9",
         "ts-mocha": "10.0.0",
@@ -51110,13 +50550,13 @@
         "@opentelemetry/core": "^1.0.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
         "cross-var": "1.1.0",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
@@ -51124,7 +50564,7 @@
         "karma-webpack": "5.0.1",
         "mocha": "10.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.1.2",
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
@@ -51181,8 +50621,7 @@
           "dev": true
         },
         "@types/sinon": {
-          "version": "17.0.3",
-          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "version": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
           "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
           "dev": true,
           "requires": {
@@ -51572,7 +51011,7 @@
         "@types/lodash": "4.14.199",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "amqplib": "0.8.0",
         "expect": "29.2.0",
         "lodash": "4.17.21",
@@ -51604,12 +51043,12 @@
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/aws-lambda": "8.10.122",
+        "@types/aws-lambda": "8.10.143",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       }
@@ -51632,14 +51071,14 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "aws-sdk": "2.1008.0",
         "eslint": "8.7.0",
         "expect": "29.2.0",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -51668,11 +51107,11 @@
         "@types/bunyan": "1.8.9",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "bunyan": "1.8.15",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -51701,12 +51140,12 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
-        "@types/sinon": "10.0.18",
+        "@types/semver": "7.5.8",
+        "@types/sinon": "10.0.20",
         "cassandra-driver": "4.6.4",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -51728,7 +51167,7 @@
         "connect": "3.7.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -51754,43 +51193,17 @@
         "@opentelemetry/sdk-trace-node": "^1.3.1",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "7.0.2",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "@types/shimmer": "1.0.3",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
+        "rimraf": "5.0.10",
+        "semver": "7.6.3",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
-      },
-      "dependencies": {
-        "lru-cache": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-          "dev": true,
-          "requires": {
-            "yallist": "^4.0.0"
-          }
-        },
-        "semver": {
-          "version": "7.5.4",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-          "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        },
-        "yallist": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-          "dev": true
-        }
       }
     },
     "@opentelemetry/instrumentation-dataloader": {
@@ -51806,7 +51219,7 @@
         "dataloader": "2.2.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -51822,12 +51235,12 @@
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "@types/shimmer": "1.0.3",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "semver": "^7.5.4",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
@@ -51847,13 +51260,13 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@rollup/plugin-commonjs": "^26.0.0",
         "@rollup/plugin-node-resolve": "^15.2.3",
-        "@types/chai": "^4.3.10",
+        "@types/chai": "^4.3.17",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "@web/dev-server-esbuild": "^1.0.1",
-        "@web/dev-server-rollup": "^0.6.1",
-        "@web/test-runner": "^0.18.0",
+        "@web/dev-server-rollup": "^0.6.4",
+        "@web/test-runner": "^0.18.3",
         "chai": "^4.3.10",
         "sinon": "15.2.0",
         "typescript": "4.4.4"
@@ -51878,14 +51291,14 @@
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/express": "4.17.18",
+        "@types/express": "4.17.21",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "express": "4.19.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -51905,14 +51318,14 @@
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/express": "4.17.18",
+        "@types/express": "4.17.21",
         "@types/mocha": "7.0.2",
         "@types/node": "18.15.3",
-        "@types/semver": "7.5.5",
+        "@types/semver": "7.5.8",
         "fastify": "4.18.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "semver": "^7.5.4",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -51924,12 +51337,6 @@
           "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz",
           "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==",
           "dev": true
-        },
-        "@types/semver": {
-          "version": "7.5.5",
-          "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.5.tgz",
-          "integrity": "sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==",
-          "dev": true
         }
       }
     },
@@ -51956,10 +51363,10 @@
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.11",
+        "@types/sinon": "^10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -51976,40 +51383,14 @@
         "@types/generic-pool": "^3.1.9",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "generic-pool": "3.8.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
+        "rimraf": "5.0.10",
+        "semver": "7.6.3",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
-      },
-      "dependencies": {
-        "lru-cache": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-          "dev": true,
-          "requires": {
-            "yallist": "^4.0.0"
-          }
-        },
-        "semver": {
-          "version": "7.5.4",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-          "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        },
-        "yallist": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-          "dev": true
-        }
       }
     },
     "@opentelemetry/instrumentation-graphql": {
@@ -52024,7 +51405,7 @@
         "graphql": "^16.5.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -52050,7 +51431,7 @@
     "@opentelemetry/instrumentation-hapi": {
       "version": "file:plugins/node/opentelemetry-instrumentation-hapi",
       "requires": {
-        "@hapi/hapi": "21.3.3",
+        "@hapi/hapi": "21.3.10",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
@@ -52064,7 +51445,7 @@
         "joi": "17.12.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -52095,12 +51476,12 @@
         "@types/ioredis4": "npm:@types/ioredis@4.28.10",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "cross-env": "7.0.3",
         "ioredis": "5.2.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -52117,11 +51498,11 @@
         "@opentelemetry/semantic-conventions": "^1.24.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.11",
+        "@types/sinon": "^10.0.20",
         "kafkajs": "^2.2.4",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -52141,8 +51522,8 @@
         "knex": "0.95.9",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "sqlite3": "5.1.6",
+        "rimraf": "5.0.10",
+        "sqlite3": "5.1.7",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       }
@@ -52150,7 +51531,7 @@
     "@opentelemetry/instrumentation-koa": {
       "version": "file:plugins/node/opentelemetry-instrumentation-koa",
       "requires": {
-        "@koa/router": "12.0.0",
+        "@koa/router": "12.0.1",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
@@ -52164,11 +51545,11 @@
         "@types/koa__router": "12.0.4",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "koa": "2.13.1",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -52187,13 +51568,13 @@
         "@opentelemetry/sdk-trace-web": "^1.8.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
         "cross-var": "1.1.0",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
@@ -52201,7 +51582,7 @@
         "karma-webpack": "5.0.1",
         "mocha": "10.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.1.2",
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
@@ -52259,8 +51640,7 @@
           "dev": true
         },
         "@types/sinon": {
-          "version": "17.0.3",
-          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "version": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
           "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
           "dev": true,
           "requires": {
@@ -52631,14 +52011,14 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.52.0",
-        "@types/lru-cache": "7.10.9",
+        "@types/lru-cache": "7.10.10",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "expect": "29.2.0",
         "lru-memoizer": "2.1.4",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -52669,7 +52049,7 @@
         "memcached": "2.2.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       }
@@ -52691,7 +52071,7 @@
         "mocha": "7.2.0",
         "mongodb": "6.8.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -52818,7 +52198,7 @@
         "mocha": "7.2.0",
         "mongoose": "6.13.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -52843,13 +52223,13 @@
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "7.0.2",
-        "@types/mysql": "2.15.22",
+        "@types/mysql": "2.15.26",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "mysql": "2.18.1",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -52867,41 +52247,15 @@
         "@opentelemetry/sql-common": "^0.40.1",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "mocha": "7.2.0",
         "mysql2": "2.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
+        "rimraf": "5.0.10",
+        "semver": "7.6.3",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
-      },
-      "dependencies": {
-        "lru-cache": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-          "dev": true,
-          "requires": {
-            "yallist": "^4.0.0"
-          }
-        },
-        "semver": {
-          "version": "7.5.4",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-          "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        },
-        "yallist": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-          "dev": true
-        }
       }
     },
     "@opentelemetry/instrumentation-nestjs-core": {
@@ -52920,44 +52274,18 @@
         "@opentelemetry/semantic-conventions": "^1.23.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "cross-env": "7.0.3",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "reflect-metadata": "0.1.13",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "rxjs": "7.8.1",
         "rxjs-compat": "6.6.7",
-        "semver": "7.5.4",
+        "semver": "7.6.3",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
-      },
-      "dependencies": {
-        "lru-cache": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-          "dev": true,
-          "requires": {
-            "yallist": "^4.0.0"
-          }
-        },
-        "semver": {
-          "version": "7.5.4",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-          "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        },
-        "yallist": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-          "dev": true
-        }
       }
     },
     "@opentelemetry/instrumentation-net": {
@@ -52971,10 +52299,10 @@
         "@opentelemetry/semantic-conventions": "^1.23.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -52994,14 +52322,14 @@
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/pg": "8.6.1",
-        "@types/pg-pool": "2.0.4",
-        "@types/sinon": "10.0.18",
+        "@types/pg-pool": "2.0.6",
+        "@types/sinon": "10.0.20",
         "cross-env": "7.0.3",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "pg": "8.7.1",
         "pg-pool": "3.4.1",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "safe-stable-stringify": "^2.4.1",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
@@ -53022,43 +52350,17 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
-        "@types/sinon": "10.0.18",
+        "@types/semver": "7.5.8",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "pino": "8.3.1",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
+        "rimraf": "5.0.10",
+        "semver": "7.6.3",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
-      },
-      "dependencies": {
-        "lru-cache": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-          "dev": true,
-          "requires": {
-            "yallist": "^4.0.0"
-          }
-        },
-        "semver": {
-          "version": "7.5.4",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-          "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        },
-        "yallist": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-          "dev": true
-        }
       }
     },
     "@opentelemetry/instrumentation-redis": {
@@ -53079,7 +52381,7 @@
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "redis": "3.1.2",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -53103,7 +52405,7 @@
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "redis": "4.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -53137,42 +52439,16 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/restify": "4.3.10",
-        "@types/semver": "7.5.3",
+        "@types/restify": "4.3.12",
+        "@types/semver": "7.5.8",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "restify": "11.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.5.4",
+        "rimraf": "5.0.10",
+        "semver": "7.6.3",
         "test-all-versions": "^6.0.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
-      },
-      "dependencies": {
-        "lru-cache": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-          "dev": true,
-          "requires": {
-            "yallist": "^4.0.0"
-          }
-        },
-        "semver": {
-          "version": "7.5.4",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-          "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        },
-        "yallist": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-          "dev": true
-        }
       }
     },
     "@opentelemetry/instrumentation-router": {
@@ -53188,7 +52464,7 @@
         "@types/node": "18.6.5",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "router": "1.3.8",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -53204,7 +52480,7 @@
         "@types/node": "^20.11.2",
         "mocha": "7.2.0",
         "nyc": "^15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -53239,9 +52515,9 @@
         "expect": "27.4.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "socket.io": "^4.1.3",
-        "socket.io-client": "^4.1.3",
+        "rimraf": "5.0.10",
+        "socket.io": "^4.7.5",
+        "socket.io-client": "^4.7.5",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -53432,8 +52708,8 @@
         "@types/tedious": "^4.0.10",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
-        "semver": "7.6.0",
+        "rimraf": "5.0.10",
+        "semver": "7.6.3",
         "tedious": "17.0.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -53530,7 +52806,7 @@
         "@types/node": "18.6.5",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "semver": "^7.6.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -53553,13 +52829,13 @@
         "@types/jquery": "3.5.30",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
         "cross-var": "1.1.0",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-jquery": "0.2.4",
@@ -53625,8 +52901,7 @@
           "dev": true
         },
         "@types/sinon": {
-          "version": "17.0.3",
-          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "version": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
           "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
           "dev": true,
           "requires": {
@@ -54003,11 +53278,11 @@
         "@opentelemetry/winston-transport": "^0.5.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "@types/triple-beam": "^1.3.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
@@ -54074,16 +53349,16 @@
         "@opentelemetry/sdk-trace-web": "^1.0.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/react": "17.0.67",
+        "@types/react": "17.0.80",
         "@types/react-addons-test-utils": "0.14.26",
         "@types/react-dom": "18.0.2",
         "@types/shimmer": "1.0.3",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
@@ -54093,7 +53368,7 @@
         "nyc": "15.1.0",
         "react": "17.0.2",
         "react-dom": "17.0.2",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "shimmer": "^1.2.1",
         "sinon": "15.1.2",
         "ts-loader": "9.5.1",
@@ -54151,8 +53426,7 @@
           "dev": true
         },
         "@types/sinon": {
-          "version": "17.0.3",
-          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "version": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
           "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
           "dev": true,
           "requires": {
@@ -54524,7 +53798,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "^9.1.1",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.11",
+        "@types/sinon": "^10.0.20",
         "expect": "29.2.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
@@ -54573,13 +53847,13 @@
         "@opentelemetry/api": "^1.0.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
         "cross-var": "1.1.0",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
@@ -54634,8 +53908,7 @@
           "dev": true
         },
         "@types/sinon": {
-          "version": "17.0.3",
-          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "version": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
           "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
           "dev": true,
           "requires": {
@@ -55002,13 +54275,13 @@
         "@opentelemetry/api": "^1.0.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
-        "@types/sinon": "17.0.3",
+        "@types/sinon": "10.0.20",
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
         "babel-plugin-istanbul": "6.1.1",
         "cross-var": "1.1.0",
-        "karma": "6.4.3",
+        "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
         "karma-mocha": "2.0.1",
@@ -55072,8 +54345,7 @@
           "dev": true
         },
         "@types/sinon": {
-          "version": "17.0.3",
-          "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
+          "version": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz",
           "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==",
           "dev": true,
           "requires": {
@@ -55466,11 +54738,11 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -55494,11 +54766,11 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -55522,11 +54794,11 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -55548,12 +54820,12 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "eslint-plugin-header": "^3.1.1",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -55577,12 +54849,12 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "gcp-metadata": "^6.0.0",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -55602,10 +54874,10 @@
         "@opentelemetry/resources": "^1.10.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -55629,11 +54901,11 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
-        "@types/semver": "7.5.3",
+        "@types/semver": "7.5.8",
         "mocha": "7.2.0",
         "nock": "13.3.3",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
       },
@@ -55752,15 +55024,15 @@
         "@opentelemetry/api-logs": "^0.52.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "10.0.18",
+        "@types/sinon": "10.0.20",
         "@types/triple-beam": "1.3.2",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
-        "rimraf": "5.0.5",
+        "rimraf": "5.0.10",
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "winston-transport": "4.*"
+        "winston-transport": "^4.7.1"
       },
       "dependencies": {
         "@types/triple-beam": {
@@ -55856,6 +55128,32 @@
         "tar-fs": "3.0.5",
         "unbzip2-stream": "1.4.3",
         "yargs": "17.7.2"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+          "dev": true,
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        },
+        "semver": {
+          "version": "7.6.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+          "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+          "dev": true,
+          "requires": {
+            "lru-cache": "^6.0.0"
+          }
+        },
+        "yallist": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+          "dev": true
+        }
       }
     },
     "@redis/bloom": {
@@ -56895,9 +56193,9 @@
       }
     },
     "@types/aws-lambda": {
-      "version": "8.10.122",
-      "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.122.tgz",
-      "integrity": "sha512-vBkIh9AY22kVOCEKo5CJlyCgmSWvasC+SWUxL/x/vOwRobMpI/HG1xp/Ae3AqmSiZeLUbOhW0FCD3ZjqqUxmXw=="
+      "version": "8.10.143",
+      "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.143.tgz",
+      "integrity": "sha512-u5vzlcR14ge/4pMTTMDQr3MF0wEe38B2F9o84uC4F43vN5DGTy63npRrB6jQhyt+C0lGv4ZfiRcRkqJoZuPnmg=="
     },
     "@types/babel__code-frame": {
       "version": "7.0.6",
@@ -56940,9 +56238,9 @@
       }
     },
     "@types/chai": {
-      "version": "4.3.12",
-      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.12.tgz",
-      "integrity": "sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==",
+      "version": "4.3.17",
+      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.17.tgz",
+      "integrity": "sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow==",
       "dev": true
     },
     "@types/co-body": {
@@ -57042,9 +56340,9 @@
       "dev": true
     },
     "@types/express": {
-      "version": "4.17.18",
-      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz",
-      "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==",
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
+      "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==",
       "dev": true,
       "requires": {
         "@types/body-parser": "*",
@@ -57193,9 +56491,9 @@
       "dev": true
     },
     "@types/lru-cache": {
-      "version": "7.10.9",
-      "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-7.10.9.tgz",
-      "integrity": "sha512-wrwgkdJ0xr8AbzKhVaRI8SXZN9saapPwwLoydBEr4HqMZET1LUTi1gdoaj82XmRJ9atqN7MtB0aja29iiK+7ag==",
+      "version": "7.10.10",
+      "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-7.10.10.tgz",
+      "integrity": "sha512-nEpVRPWW9EBmx2SCfNn3ClYxPL7IktPX12HhIoSc/H5mMjdeW3+YsXIpseLQ2xF35+OcpwKQbEUw5VtqE4PDNA==",
       "dev": true,
       "requires": {
         "lru-cache": "*"
@@ -57234,9 +56532,9 @@
       "dev": true
     },
     "@types/mysql": {
-      "version": "2.15.22",
-      "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.22.tgz",
-      "integrity": "sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==",
+      "version": "2.15.26",
+      "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.26.tgz",
+      "integrity": "sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ==",
       "requires": {
         "@types/node": "*"
       }
@@ -57275,9 +56573,9 @@
       }
     },
     "@types/pg-pool": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.4.tgz",
-      "integrity": "sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ==",
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.6.tgz",
+      "integrity": "sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==",
       "requires": {
         "@types/pg": "*"
       }
@@ -57301,13 +56599,13 @@
       "dev": true
     },
     "@types/react": {
-      "version": "17.0.67",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.67.tgz",
-      "integrity": "sha512-zE76EIJ0Y58Oy9yDX/9csb/NuKjt0Eq2YgWb/8Wxo91YmuLzzbyiRoaqJE9h8iDlsT7n35GdpoLomHlaB1kFbg==",
+      "version": "17.0.80",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.80.tgz",
+      "integrity": "sha512-LrgHIu2lEtIo8M7d1FcI3BdwXWoRQwMoXOZ7+dPTW0lYREjmlHl3P0U1VD0i/9tppOuv8/sam7sOjx34TxSFbA==",
       "dev": true,
       "requires": {
         "@types/prop-types": "*",
-        "@types/scheduler": "*",
+        "@types/scheduler": "^0.16",
         "csstype": "^3.0.2"
       }
     },
@@ -57363,9 +56661,9 @@
       "dev": true
     },
     "@types/restify": {
-      "version": "4.3.10",
-      "resolved": "https://registry.npmjs.org/@types/restify/-/restify-4.3.10.tgz",
-      "integrity": "sha512-lSt9uvWwdYrGgRCqKyh5DyC008xN8hij5RWzOPlPaTiec2smfpd7s034BASPDMIG4WhRfk0y4oLFoAi/AzVN9g==",
+      "version": "4.3.12",
+      "resolved": "https://registry.npmjs.org/@types/restify/-/restify-4.3.12.tgz",
+      "integrity": "sha512-Z0GnpGQUE/OPYPnuNAO/20BIVHKucwF/MPV9gQ2ksNlP/Fswz8KiqW4Sb/MTXD9h0BrQ7q0vLqXCfW0w2IIbKg==",
       "dev": true,
       "requires": {
         "@types/bunyan": "*",
@@ -57379,9 +56677,9 @@
       "dev": true
     },
     "@types/semver": {
-      "version": "7.5.3",
-      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz",
-      "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==",
+      "version": "7.5.8",
+      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
+      "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
       "dev": true
     },
     "@types/send": {
@@ -57411,9 +56709,9 @@
       "integrity": "sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA=="
     },
     "@types/sinon": {
-      "version": "10.0.18",
-      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.18.tgz",
-      "integrity": "sha512-OpQC9ug8BcnNxue2WF5aTruMaDRFn6NyfaE4DmAKOlQMn54b7CnCvDFV3wj5fk/HbSSTYmOYs2bTb5ShANjyQg==",
+      "version": "10.0.20",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.20.tgz",
+      "integrity": "sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg==",
       "dev": true,
       "requires": {
         "@types/sinonjs__fake-timers": "*"
@@ -57641,9 +56939,9 @@
       }
     },
     "@web/dev-server-core": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.7.1.tgz",
-      "integrity": "sha512-alHd2j0f4e1ekqYDR8lWScrzR7D5gfsUZq3BP3De9bkFWM3AELINCmqqlVKmCtlkAdEc9VyQvNiEqrxraOdc2A==",
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.7.2.tgz",
+      "integrity": "sha512-Q/0jpF13Ipk+qGGQ+Yx/FW1TQBYazpkfgYHHo96HBE7qv4V4KKHqHglZcSUxti/zd4bToxX1cFTz8dmbTlb8JA==",
       "dev": true,
       "requires": {
         "@types/koa": "^2.11.6",
@@ -57728,17 +57026,17 @@
       }
     },
     "@web/dev-server-rollup": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.6.1.tgz",
-      "integrity": "sha512-vhtsQ8qu1pBHailOBOYJwZnYDc1Lmx6ZAd2j+y5PD2ck0R1LmVsZ7dZK8hDCpkvpvlu2ndURjL9tbzdcsBRJmg==",
+      "version": "0.6.4",
+      "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.6.4.tgz",
+      "integrity": "sha512-sJZfTGCCrdku5xYnQQG51odGI092hKY9YFM0X3Z0tRY3iXKXcYRaLZrErw5KfCxr6g0JRuhe4BBhqXTA5Q2I3Q==",
       "dev": true,
       "requires": {
         "@rollup/plugin-node-resolve": "^15.0.1",
-        "@web/dev-server-core": "^0.7.0",
+        "@web/dev-server-core": "^0.7.2",
         "nanocolors": "^0.2.1",
         "parse5": "^6.0.1",
         "rollup": "^4.4.0",
-        "whatwg-url": "^11.0.0"
+        "whatwg-url": "^14.0.0"
       },
       "dependencies": {
         "parse5": {
@@ -57746,6 +57044,25 @@
           "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
           "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
           "dev": true
+        },
+        "tr46": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz",
+          "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==",
+          "dev": true,
+          "requires": {
+            "punycode": "^2.3.1"
+          }
+        },
+        "whatwg-url": {
+          "version": "14.0.0",
+          "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz",
+          "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==",
+          "dev": true,
+          "requires": {
+            "tr46": "^5.0.0",
+            "webidl-conversions": "^7.0.0"
+          }
         }
       }
     },
@@ -57768,9 +57085,9 @@
       }
     },
     "@web/test-runner": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.1.tgz",
-      "integrity": "sha512-jB/9vrpGVtcLY6/7sPpKpSheQ3wWY9P5aQcz2SK2gMHTq3gNpa51NAyec0Al7EFpHvJ1wKYTGRLB2gPyEoJeDg==",
+      "version": "0.18.3",
+      "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.3.tgz",
+      "integrity": "sha512-QkVK8Qguw3Zhyu8SYR7F4VdcjyXBeJNr8W8L++s4zO/Ok7DR/Wu7+rLswn3H7OH3xYoCHRmwteehcFejefz6ew==",
       "dev": true,
       "requires": {
         "@web/browser-logs": "^0.4.0",
@@ -59999,6 +59316,15 @@
       "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
       "dev": true
     },
+    "bindings": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+      "dev": true,
+      "requires": {
+        "file-uri-to-path": "1.0.0"
+      }
+    },
     "bitsyntax": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz",
@@ -61564,6 +60890,15 @@
         }
       }
     },
+    "decompress-response": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
+      "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
+      "dev": true,
+      "requires": {
+        "mimic-response": "^3.1.0"
+      }
+    },
     "dedent": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
@@ -61585,6 +60920,12 @@
       "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==",
       "dev": true
     },
+    "deep-extend": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+      "dev": true
+    },
     "deep-is": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
@@ -62817,6 +62158,12 @@
       "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
       "dev": true
     },
+    "expand-template": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
+      "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
+      "dev": true
+    },
     "expect": {
       "version": "29.2.0",
       "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.0.tgz",
@@ -63272,6 +62619,12 @@
         "flat-cache": "^3.0.4"
       }
     },
+    "file-uri-to-path": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+      "dev": true
+    },
     "file-url": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/file-url/-/file-url-3.0.0.tgz",
@@ -63944,23 +63297,30 @@
         }
       }
     },
+    "github-from-package": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
+      "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
+      "dev": true
+    },
     "glob": {
-      "version": "10.4.1",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
-      "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
+      "version": "10.4.5",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+      "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
       "dev": true,
       "requires": {
         "foreground-child": "^3.1.0",
         "jackspeak": "^3.1.2",
         "minimatch": "^9.0.4",
         "minipass": "^7.1.2",
+        "package-json-from-dist": "^1.0.0",
         "path-scurry": "^1.11.1"
       },
       "dependencies": {
         "foreground-child": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
-          "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+          "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
           "dev": true,
           "requires": {
             "cross-spawn": "^7.0.0",
@@ -65907,9 +65267,9 @@
       "dev": true
     },
     "karma": {
-      "version": "6.4.3",
-      "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.3.tgz",
-      "integrity": "sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q==",
+      "version": "6.4.4",
+      "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz",
+      "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==",
       "dev": true,
       "requires": {
         "@colors/colors": "1.5.0",
@@ -67379,9 +66739,9 @@
       }
     },
     "logform": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz",
-      "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==",
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.1.tgz",
+      "integrity": "sha512-CdaO738xRapbKIMVn2m4F6KTj4j7ooJ8POVnebSgKo3KBz5axNXRAL7ZdRjIV6NOr2Uf4vjtRkxrFETOioCqSA==",
       "requires": {
         "@colors/colors": "1.6.0",
         "@types/triple-beam": "^1.3.2",
@@ -68060,6 +67420,12 @@
       "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
       "dev": true
     },
+    "mimic-response": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
+      "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
+      "dev": true
+    },
     "min-indent": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
@@ -68073,9 +67439,9 @@
       "dev": true
     },
     "minimatch": {
-      "version": "9.0.4",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
-      "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+      "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
       "dev": true,
       "requires": {
         "brace-expansion": "^2.0.1"
@@ -68313,6 +67679,12 @@
       "integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==",
       "dev": true
     },
+    "mkdirp-classic": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
+      "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
+      "dev": true
+    },
     "mkdirp-infer-owner": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz",
@@ -69065,6 +68437,12 @@
       "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
       "dev": true
     },
+    "napi-build-utils": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
+      "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
+      "dev": true
+    },
     "native-duplexpair": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/native-duplexpair/-/native-duplexpair-1.0.0.tgz",
@@ -69154,6 +68532,15 @@
         "propagate": "^2.0.0"
       }
     },
+    "node-abi": {
+      "version": "3.65.0",
+      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.65.0.tgz",
+      "integrity": "sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==",
+      "dev": true,
+      "requires": {
+        "semver": "^7.3.5"
+      }
+    },
     "node-abort-controller": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz",
@@ -70698,6 +70085,12 @@
         "release-zalgo": "^1.0.0"
       }
     },
+    "package-json-from-dist": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
+      "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==",
+      "dev": true
+    },
     "packet-reader": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz",
@@ -71300,6 +70693,46 @@
         "xtend": "^4.0.0"
       }
     },
+    "prebuild-install": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz",
+      "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==",
+      "dev": true,
+      "requires": {
+        "detect-libc": "^2.0.0",
+        "expand-template": "^2.0.3",
+        "github-from-package": "0.0.0",
+        "minimist": "^1.2.3",
+        "mkdirp-classic": "^0.5.3",
+        "napi-build-utils": "^1.0.1",
+        "node-abi": "^3.3.0",
+        "pump": "^3.0.0",
+        "rc": "^1.2.7",
+        "simple-get": "^4.0.0",
+        "tar-fs": "^2.0.0",
+        "tunnel-agent": "^0.6.0"
+      },
+      "dependencies": {
+        "chownr": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+          "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+          "dev": true
+        },
+        "tar-fs": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+          "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+          "dev": true,
+          "requires": {
+            "chownr": "^1.1.1",
+            "mkdirp-classic": "^0.5.2",
+            "pump": "^3.0.0",
+            "tar-stream": "^2.1.4"
+          }
+        }
+      }
+    },
     "prelude-ls": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -71661,6 +71094,32 @@
         "unpipe": "1.0.0"
       }
     },
+    "rc": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+      "dev": true,
+      "requires": {
+        "deep-extend": "^0.6.0",
+        "ini": "~1.3.0",
+        "minimist": "^1.2.0",
+        "strip-json-comments": "~2.0.1"
+      },
+      "dependencies": {
+        "ini": {
+          "version": "1.3.8",
+          "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+          "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+          "dev": true
+        },
+        "strip-json-comments": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+          "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+          "dev": true
+        }
+      }
+    },
     "react": {
       "version": "17.0.2",
       "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
@@ -72476,9 +71935,9 @@
       "dev": true
     },
     "rimraf": {
-      "version": "5.0.5",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz",
-      "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==",
+      "version": "5.0.10",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz",
+      "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==",
       "dev": true,
       "requires": {
         "glob": "^10.3.7"
@@ -72691,27 +72150,9 @@
       "dev": true
     },
     "semver": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
-      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
-      "requires": {
-        "lru-cache": "^6.0.0"
-      },
-      "dependencies": {
-        "lru-cache": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-          "requires": {
-            "yallist": "^4.0.0"
-          }
-        },
-        "yallist": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
-        }
-      }
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A=="
     },
     "send": {
       "version": "0.18.0",
@@ -73023,6 +72464,23 @@
         }
       }
     },
+    "simple-concat": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+      "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+      "dev": true
+    },
+    "simple-get": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
+      "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
+      "dev": true,
+      "requires": {
+        "decompress-response": "^6.0.0",
+        "once": "^1.3.1",
+        "simple-concat": "^1.0.0"
+      }
+    },
     "simple-lru-cache": {
       "version": "0.0.2",
       "resolved": "https://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.2.tgz",
@@ -73136,9 +72594,9 @@
       "dev": true
     },
     "socket.io": {
-      "version": "4.7.4",
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz",
-      "integrity": "sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==",
+      "version": "4.7.5",
+      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz",
+      "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==",
       "dev": true,
       "requires": {
         "accepts": "~1.3.4",
@@ -73161,9 +72619,9 @@
       }
     },
     "socket.io-client": {
-      "version": "4.7.4",
-      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.4.tgz",
-      "integrity": "sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==",
+      "version": "4.7.5",
+      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz",
+      "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==",
       "dev": true,
       "requires": {
         "@socket.io/component-emitter": "~3.1.0",
@@ -73409,14 +72867,15 @@
       "dev": true
     },
     "sqlite3": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.6.tgz",
-      "integrity": "sha512-olYkWoKFVNSSSQNvxVUfjiVbz3YtBwTJj+mfV5zpHmqW3sELx2Cf4QCdirMelhM5Zh+KDVaKgQHqCxrqiWHybw==",
+      "version": "5.1.7",
+      "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz",
+      "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==",
       "dev": true,
       "requires": {
-        "@mapbox/node-pre-gyp": "^1.0.0",
-        "node-addon-api": "^4.2.0",
+        "bindings": "^1.5.0",
+        "node-addon-api": "^7.0.0",
         "node-gyp": "8.x",
+        "prebuild-install": "^7.1.1",
         "tar": "^6.1.11"
       },
       "dependencies": {
@@ -73453,9 +72912,9 @@
           }
         },
         "node-addon-api": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
-          "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==",
+          "version": "7.1.1",
+          "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+          "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
           "dev": true
         },
         "node-gyp": {
@@ -74608,6 +74067,15 @@
         }
       }
     },
+    "tunnel-agent": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "^5.0.1"
+      }
+    },
     "tweetnacl": {
       "version": "0.14.5",
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
@@ -75366,12 +74834,12 @@
       }
     },
     "winston-transport": {
-      "version": "4.7.0",
-      "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz",
-      "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==",
+      "version": "4.7.1",
+      "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.1.tgz",
+      "integrity": "sha512-wQCXXVgfv/wUPOfb2x0ruxzwkcZfxcktz6JIMUaPLmcNhO4bZTwA/WtDWK74xV3F2dKu8YadrFv0qhwYjVEwhA==",
       "requires": {
-        "logform": "^2.3.2",
-        "readable-stream": "^3.6.0",
+        "logform": "^2.6.1",
+        "readable-stream": "^3.6.2",
         "triple-beam": "^1.3.0"
       }
     },
diff --git a/packages/baggage-span-processor/package.json b/packages/baggage-span-processor/package.json
index f61aa0e39a..193689e43f 100644
--- a/packages/baggage-span-processor/package.json
+++ b/packages/baggage-span-processor/package.json
@@ -51,7 +51,7 @@
     "expect": "29.2.0",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
   },
diff --git a/packages/opentelemetry-host-metrics/package.json b/packages/opentelemetry-host-metrics/package.json
index 6b7f20c8f3..0fba3a4e81 100644
--- a/packages/opentelemetry-host-metrics/package.json
+++ b/packages/opentelemetry-host-metrics/package.json
@@ -46,10 +46,10 @@
     "@opentelemetry/api": "^1.3.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/packages/opentelemetry-id-generator-aws-xray/package.json b/packages/opentelemetry-id-generator-aws-xray/package.json
index 03fd94813f..81c6572c51 100644
--- a/packages/opentelemetry-id-generator-aws-xray/package.json
+++ b/packages/opentelemetry-id-generator-aws-xray/package.json
@@ -56,13 +56,13 @@
     "@opentelemetry/api": "^1.0.0",
     "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/sinon": "17.0.3",
+    "@types/sinon": "10.0.20",
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
     "babel-plugin-istanbul": "6.1.1",
     "cross-var": "1.1.0",
-    "karma": "6.4.3",
+    "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
     "karma-coverage": "2.2.1",
     "karma-mocha": "2.0.1",
@@ -70,7 +70,7 @@
     "karma-webpack": "5.0.1",
     "mocha": "10.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.1.2",
     "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
diff --git a/packages/winston-transport/package.json b/packages/winston-transport/package.json
index b28b6f0cac..8eadd94128 100644
--- a/packages/winston-transport/package.json
+++ b/packages/winston-transport/package.json
@@ -40,11 +40,11 @@
   "devDependencies": {
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "@types/triple-beam": "1.3.2",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/instrumentation-amqplib/package.json b/plugins/node/instrumentation-amqplib/package.json
index 7e7b0822c4..742d3253cc 100644
--- a/plugins/node/instrumentation-amqplib/package.json
+++ b/plugins/node/instrumentation-amqplib/package.json
@@ -56,7 +56,7 @@
     "@types/lodash": "4.14.199",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "amqplib": "0.8.0",
     "expect": "29.2.0",
     "lodash": "4.17.21",
diff --git a/plugins/node/instrumentation-cucumber/package.json b/plugins/node/instrumentation-cucumber/package.json
index de649f21e9..2869f5e48b 100644
--- a/plugins/node/instrumentation-cucumber/package.json
+++ b/plugins/node/instrumentation-cucumber/package.json
@@ -50,13 +50,13 @@
     "@opentelemetry/sdk-trace-base": "^1.3.1",
     "@opentelemetry/sdk-trace-node": "^1.3.1",
     "@types/mocha": "7.0.2",
-    "@types/semver": "7.5.3",
+    "@types/semver": "7.5.8",
     "@types/shimmer": "1.0.3",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
-    "semver": "7.5.4",
+    "rimraf": "5.0.10",
+    "semver": "7.6.3",
     "sinon": "15.2.0",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
diff --git a/plugins/node/instrumentation-dataloader/package.json b/plugins/node/instrumentation-dataloader/package.json
index e4cdada6a7..ddfe89aa0b 100644
--- a/plugins/node/instrumentation-dataloader/package.json
+++ b/plugins/node/instrumentation-dataloader/package.json
@@ -52,7 +52,7 @@
     "dataloader": "2.2.2",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/instrumentation-fs/package.json b/plugins/node/instrumentation-fs/package.json
index ef87fa0e5e..abf822a404 100644
--- a/plugins/node/instrumentation-fs/package.json
+++ b/plugins/node/instrumentation-fs/package.json
@@ -53,7 +53,7 @@
     "@types/sinon": "^10.0.11",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/instrumentation-kafkajs/package.json b/plugins/node/instrumentation-kafkajs/package.json
index a531a0fbe2..4ff06a4bd4 100644
--- a/plugins/node/instrumentation-kafkajs/package.json
+++ b/plugins/node/instrumentation-kafkajs/package.json
@@ -52,7 +52,7 @@
     "kafkajs": "^2.2.4",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/instrumentation-lru-memoizer/package.json b/plugins/node/instrumentation-lru-memoizer/package.json
index e782278ab4..fce267cab0 100644
--- a/plugins/node/instrumentation-lru-memoizer/package.json
+++ b/plugins/node/instrumentation-lru-memoizer/package.json
@@ -45,14 +45,14 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/contrib-test-utils": "^0.40.0",
-    "@types/lru-cache": "7.10.9",
+    "@types/lru-cache": "7.10.10",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "expect": "29.2.0",
     "lru-memoizer": "2.1.4",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/instrumentation-mongoose/package.json b/plugins/node/instrumentation-mongoose/package.json
index 52b06e6fe9..a66d69abe7 100644
--- a/plugins/node/instrumentation-mongoose/package.json
+++ b/plugins/node/instrumentation-mongoose/package.json
@@ -57,7 +57,7 @@
     "mocha": "7.2.0",
     "mongoose": "6.13.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/instrumentation-runtime-node/package.json b/plugins/node/instrumentation-runtime-node/package.json
index c1f4b15e81..12a16ac514 100644
--- a/plugins/node/instrumentation-runtime-node/package.json
+++ b/plugins/node/instrumentation-runtime-node/package.json
@@ -48,7 +48,7 @@
     "@types/node": "^20.11.2",
     "mocha": "7.2.0",
     "nyc": "^15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
   },
diff --git a/plugins/node/instrumentation-socket.io/package.json b/plugins/node/instrumentation-socket.io/package.json
index e39ce6bcce..cf64fa9482 100644
--- a/plugins/node/instrumentation-socket.io/package.json
+++ b/plugins/node/instrumentation-socket.io/package.json
@@ -51,7 +51,7 @@
     "expect": "27.4.2",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "socket.io": "^4.1.3",
     "socket.io-client": "^4.1.3",
     "test-all-versions": "6.1.0",
diff --git a/plugins/node/instrumentation-tedious/package.json b/plugins/node/instrumentation-tedious/package.json
index 772e7b6b68..90051028dd 100644
--- a/plugins/node/instrumentation-tedious/package.json
+++ b/plugins/node/instrumentation-tedious/package.json
@@ -55,8 +55,8 @@
     "@types/node": "18.6.5",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
-    "semver": "7.6.0",
+    "rimraf": "5.0.10",
+    "semver": "7.6.3",
     "tedious": "17.0.0",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
diff --git a/plugins/node/instrumentation-undici/package.json b/plugins/node/instrumentation-undici/package.json
index bf7c2c09f9..f190c64b91 100644
--- a/plugins/node/instrumentation-undici/package.json
+++ b/plugins/node/instrumentation-undici/package.json
@@ -49,7 +49,7 @@
     "@types/node": "18.6.5",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "semver": "^7.6.0",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
index 42a1bc28ab..432a6aa334 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
@@ -52,7 +52,7 @@
     "@types/node": "18.6.5",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
   },
@@ -61,7 +61,7 @@
     "@opentelemetry/propagator-aws-xray": "^1.3.1",
     "@opentelemetry/resources": "^1.8.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
-    "@types/aws-lambda": "8.10.122"
+    "@types/aws-lambda": "8.10.143"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-aws-lambda#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
index 18898a47a3..29aa9a5a3a 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
@@ -62,14 +62,14 @@
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "aws-sdk": "2.1008.0",
     "eslint": "8.7.0",
     "expect": "29.2.0",
     "mocha": "7.2.0",
     "nock": "13.3.3",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/package.json b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
index 8d65e21ba8..68e10afc46 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/package.json
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
@@ -52,11 +52,11 @@
     "@opentelemetry/semantic-conventions": "^1.23.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "bunyan": "1.8.15",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/package.json b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
index 74379524c4..e270938a96 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/package.json
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
@@ -51,12 +51,12 @@
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/semver": "7.5.3",
-    "@types/sinon": "10.0.18",
+    "@types/semver": "7.5.8",
+    "@types/sinon": "10.0.20",
     "cassandra-driver": "4.6.4",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/opentelemetry-instrumentation-connect/package.json b/plugins/node/opentelemetry-instrumentation-connect/package.json
index e6916d0589..c85ad8fb0f 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/package.json
+++ b/plugins/node/opentelemetry-instrumentation-connect/package.json
@@ -52,7 +52,7 @@
     "connect": "3.7.0",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-dns/package.json b/plugins/node/opentelemetry-instrumentation-dns/package.json
index f6be8f2dda..20978761d0 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/package.json
+++ b/plugins/node/opentelemetry-instrumentation-dns/package.json
@@ -49,12 +49,12 @@
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/semver": "7.5.3",
+    "@types/semver": "7.5.8",
     "@types/shimmer": "1.0.3",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/opentelemetry-instrumentation-express/package.json b/plugins/node/opentelemetry-instrumentation-express/package.json
index b0df85153e..fc6173a502 100644
--- a/plugins/node/opentelemetry-instrumentation-express/package.json
+++ b/plugins/node/opentelemetry-instrumentation-express/package.json
@@ -50,14 +50,14 @@
     "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
-    "@types/express": "4.17.18",
+    "@types/express": "4.17.21",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "express": "4.19.2",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/package.json b/plugins/node/opentelemetry-instrumentation-fastify/package.json
index 463795bf6f..5488bd2259 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-fastify/package.json
@@ -51,14 +51,14 @@
     "@opentelemetry/instrumentation-http": "^0.52.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
-    "@types/express": "4.17.18",
+    "@types/express": "4.17.21",
     "@types/mocha": "7.0.2",
     "@types/node": "18.15.3",
-    "@types/semver": "7.5.5",
+    "@types/semver": "7.5.8",
     "fastify": "4.18.0",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "semver": "^7.5.4",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
index 685ef3d1ed..e2fea54b42 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
@@ -50,12 +50,12 @@
     "@types/generic-pool": "^3.1.9",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/semver": "7.5.3",
+    "@types/semver": "7.5.8",
     "generic-pool": "3.8.2",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
-    "semver": "7.5.4",
+    "rimraf": "5.0.10",
+    "semver": "7.6.3",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/package.json b/plugins/node/opentelemetry-instrumentation-graphql/package.json
index 09a67b120e..f99be9c4e0 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-graphql/package.json
@@ -53,7 +53,7 @@
     "graphql": "^16.5.0",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/package.json b/plugins/node/opentelemetry-instrumentation-hapi/package.json
index a826079e4c..adbb2d9239 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/package.json
+++ b/plugins/node/opentelemetry-instrumentation-hapi/package.json
@@ -44,7 +44,7 @@
     "@opentelemetry/api": "^1.3.0"
   },
   "devDependencies": {
-    "@hapi/hapi": "21.3.3",
+    "@hapi/hapi": "21.3.10",
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
     "@opentelemetry/contrib-test-utils": "^0.40.0",
@@ -55,7 +55,7 @@
     "joi": "17.12.2",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/package.json b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
index 8087ab8e51..f3f417e5e2 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
@@ -56,12 +56,12 @@
     "@types/ioredis4": "npm:@types/ioredis@4.28.10",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "cross-env": "7.0.3",
     "ioredis": "5.2.2",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
diff --git a/plugins/node/opentelemetry-instrumentation-knex/package.json b/plugins/node/opentelemetry-instrumentation-knex/package.json
index 88329406fe..2f2bb2e481 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/package.json
+++ b/plugins/node/opentelemetry-instrumentation-knex/package.json
@@ -52,8 +52,8 @@
     "knex": "0.95.9",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
-    "sqlite3": "5.1.6",
+    "rimraf": "5.0.10",
+    "sqlite3": "5.1.7",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-koa/package.json b/plugins/node/opentelemetry-instrumentation-koa/package.json
index 3c4a947380..84fc2f27c3 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/package.json
+++ b/plugins/node/opentelemetry-instrumentation-koa/package.json
@@ -46,7 +46,7 @@
     "@opentelemetry/api": "^1.3.0"
   },
   "devDependencies": {
-    "@koa/router": "12.0.0",
+    "@koa/router": "12.0.1",
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
     "@opentelemetry/contrib-test-utils": "^0.40.0",
@@ -57,11 +57,11 @@
     "@types/koa__router": "12.0.4",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "koa": "2.13.1",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/package.json b/plugins/node/opentelemetry-instrumentation-memcached/package.json
index 1d51415f6e..30dc10397c 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/package.json
+++ b/plugins/node/opentelemetry-instrumentation-memcached/package.json
@@ -55,7 +55,7 @@
     "memcached": "2.2.2",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/.tav.yml b/plugins/node/opentelemetry-instrumentation-mongodb/.tav.yml
index 64af522512..fadf8c0d27 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/.tav.yml
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/.tav.yml
@@ -3,12 +3,12 @@ mongodb:
     commands: npm run test-v3
   - versions:
       include: ">=4 <5"
-      # This version has been excluded because `mongoose` instrumentation has it
-      # pined as a transitive dependency.
-      # When `test-all-versions` tries to install it npm actually does nothing and
-      # we end up running tests for the wrong version (v6.5.0)
+      # This version has been excluded because `mongoose` instrumentation has
+      # it pinned as a transitive dependency.  When `test-all-versions` tries
+      # to install it, **npm actually does nothing** and we end up running
+      # tests for the wrong version.
       # Ref: https://github.com/open-telemetry/opentelemetry-js-contrib/pull/2001#issuecomment-1992202942
-      exclude: "4.17.1"
+      exclude: "4.17.2"
     commands: npm run test-v4
   - versions: ">=5 <6"
     commands: npm run test-v5-v6
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/package.json b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
index fd1651c34a..46b8bbadaa 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
@@ -60,7 +60,7 @@
     "mocha": "7.2.0",
     "mongodb": "6.8.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/package.json b/plugins/node/opentelemetry-instrumentation-mysql/package.json
index c7b2ca8781..45672fdf9b 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql/package.json
@@ -49,11 +49,11 @@
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "mocha": "7.2.0",
     "mysql": "2.18.1",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
@@ -61,7 +61,7 @@
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
-    "@types/mysql": "2.15.22"
+    "@types/mysql": "2.15.26"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-mysql#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/package.json b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
index 44e4717803..4191d73968 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
@@ -50,12 +50,12 @@
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/semver": "7.5.3",
+    "@types/semver": "7.5.8",
     "mocha": "7.2.0",
     "mysql2": "2.3.3",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
-    "semver": "7.5.4",
+    "rimraf": "5.0.10",
+    "semver": "7.6.3",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
index 81244db2ad..8093f72af2 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
@@ -56,15 +56,15 @@
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/semver": "7.5.3",
+    "@types/semver": "7.5.8",
     "cross-env": "7.0.3",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
     "reflect-metadata": "0.1.13",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "rxjs": "7.8.1",
     "rxjs-compat": "6.6.7",
-    "semver": "7.5.4",
+    "semver": "7.6.3",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/opentelemetry-instrumentation-net/package.json b/plugins/node/opentelemetry-instrumentation-net/package.json
index 9ec6194a7c..b24b2c007e 100644
--- a/plugins/node/opentelemetry-instrumentation-net/package.json
+++ b/plugins/node/opentelemetry-instrumentation-net/package.json
@@ -50,10 +50,10 @@
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/opentelemetry-instrumentation-pg/package.json b/plugins/node/opentelemetry-instrumentation-pg/package.json
index aee343bade..98b84927d1 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pg/package.json
@@ -58,13 +58,13 @@
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "cross-env": "7.0.3",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
     "pg": "8.7.1",
     "pg-pool": "3.4.1",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "safe-stable-stringify": "^2.4.1",
     "sinon": "15.2.0",
     "test-all-versions": "6.1.0",
@@ -76,7 +76,7 @@
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@opentelemetry/sql-common": "^0.40.1",
     "@types/pg": "8.6.1",
-    "@types/pg-pool": "2.0.4"
+    "@types/pg-pool": "2.0.6"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-pg#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-pino/package.json b/plugins/node/opentelemetry-instrumentation-pino/package.json
index a69f6b7bff..4199a9f2a9 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pino/package.json
@@ -52,13 +52,13 @@
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/semver": "7.5.3",
-    "@types/sinon": "10.0.18",
+    "@types/semver": "7.5.8",
+    "@types/sinon": "10.0.20",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
     "pino": "8.3.1",
-    "rimraf": "5.0.5",
-    "semver": "7.5.4",
+    "rimraf": "5.0.10",
+    "semver": "7.6.3",
     "sinon": "15.2.0",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/package.json b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
index 194407fa27..25761be4a0 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
@@ -61,7 +61,7 @@
     "mocha": "7.2.0",
     "nyc": "15.1.0",
     "redis": "4.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/opentelemetry-instrumentation-redis/package.json b/plugins/node/opentelemetry-instrumentation-redis/package.json
index 003436dcf7..730904916d 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis/package.json
@@ -61,7 +61,7 @@
     "mocha": "7.2.0",
     "nyc": "15.1.0",
     "redis": "3.1.2",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/opentelemetry-instrumentation-restify/package.json b/plugins/node/opentelemetry-instrumentation-restify/package.json
index bbb92a49ed..1e1c2c1e56 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-restify/package.json
@@ -50,13 +50,13 @@
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/restify": "4.3.10",
-    "@types/semver": "7.5.3",
+    "@types/restify": "4.3.12",
+    "@types/semver": "7.5.8",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
     "restify": "11.1.0",
-    "rimraf": "5.0.5",
-    "semver": "7.5.4",
+    "rimraf": "5.0.10",
+    "semver": "7.6.3",
     "test-all-versions": "^6.0.0",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/opentelemetry-instrumentation-router/package.json b/plugins/node/opentelemetry-instrumentation-router/package.json
index f56a53010c..213354a5b3 100644
--- a/plugins/node/opentelemetry-instrumentation-router/package.json
+++ b/plugins/node/opentelemetry-instrumentation-router/package.json
@@ -51,7 +51,7 @@
     "@types/node": "18.6.5",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "router": "1.3.8",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4"
diff --git a/plugins/node/opentelemetry-instrumentation-winston/package.json b/plugins/node/opentelemetry-instrumentation-winston/package.json
index 48d1808dbc..9864fb9acc 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/package.json
+++ b/plugins/node/opentelemetry-instrumentation-winston/package.json
@@ -52,11 +52,11 @@
     "@opentelemetry/winston-transport": "^0.5.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "@types/triple-beam": "^1.3.2",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.2.0",
     "test-all-versions": "6.1.0",
     "ts-mocha": "10.0.0",
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/package.json b/plugins/web/opentelemetry-instrumentation-document-load/package.json
index 60dc5f6009..f467226ea0 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/package.json
+++ b/plugins/web/opentelemetry-instrumentation-document-load/package.json
@@ -60,7 +60,7 @@
     "@types/chai": "^4.3.10",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
-    "@types/sinon": "10.0.18",
+    "@types/sinon": "10.0.20",
     "@web/dev-server-esbuild": "^1.0.1",
     "@web/dev-server-rollup": "^0.6.1",
     "@web/test-runner": "^0.18.0",
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/test/documentLoad.test.ts b/plugins/web/opentelemetry-instrumentation-document-load/test/documentLoad.test.ts
index a239945bec..cbe4b0c7b3 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/test/documentLoad.test.ts
+++ b/plugins/web/opentelemetry-instrumentation-document-load/test/documentLoad.test.ts
@@ -45,7 +45,7 @@ import {
 } from '@opentelemetry/semantic-conventions';
 import { EventNames } from '../src/enums/EventNames';
 
-const { assert } = chai as typeof import('chai');
+const assert = chai.assert;
 
 const exporter = new InMemorySpanExporter();
 const provider = new BasicTracerProvider();
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/package.json b/plugins/web/opentelemetry-instrumentation-long-task/package.json
index 150eb5940c..430dced455 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/package.json
+++ b/plugins/web/opentelemetry-instrumentation-long-task/package.json
@@ -55,13 +55,13 @@
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/sinon": "17.0.3",
+    "@types/sinon": "10.0.20",
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
     "babel-plugin-istanbul": "6.1.1",
     "cross-var": "1.1.0",
-    "karma": "6.4.3",
+    "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
     "karma-coverage": "2.2.1",
     "karma-mocha": "2.0.1",
@@ -69,7 +69,7 @@
     "karma-webpack": "5.0.1",
     "mocha": "10.2.0",
     "nyc": "15.1.0",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.1.2",
     "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
index 642570faaf..9831455db2 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
@@ -58,13 +58,13 @@
     "@types/jquery": "3.5.30",
     "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/sinon": "17.0.3",
+    "@types/sinon": "10.0.20",
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
     "babel-plugin-istanbul": "6.1.1",
     "cross-var": "1.1.0",
-    "karma": "6.4.3",
+    "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
     "karma-coverage": "2.2.1",
     "karma-jquery": "0.2.4",
diff --git a/plugins/web/opentelemetry-plugin-react-load/package.json b/plugins/web/opentelemetry-plugin-react-load/package.json
index c59081cd09..b3e85a9b0f 100644
--- a/plugins/web/opentelemetry-plugin-react-load/package.json
+++ b/plugins/web/opentelemetry-plugin-react-load/package.json
@@ -55,16 +55,16 @@
     "@opentelemetry/propagator-b3": "1.25.1",
     "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/react": "17.0.67",
+    "@types/react": "17.0.80",
     "@types/react-addons-test-utils": "0.14.26",
     "@types/react-dom": "18.0.2",
     "@types/shimmer": "1.0.3",
-    "@types/sinon": "17.0.3",
+    "@types/sinon": "10.0.20",
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
     "babel-plugin-istanbul": "6.1.1",
-    "karma": "6.4.3",
+    "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
     "karma-coverage": "2.2.1",
     "karma-mocha": "2.0.1",
@@ -74,7 +74,7 @@
     "nyc": "15.1.0",
     "react": "17.0.2",
     "react-dom": "17.0.2",
-    "rimraf": "5.0.5",
+    "rimraf": "5.0.10",
     "sinon": "15.1.2",
     "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
diff --git a/propagators/opentelemetry-propagator-instana/package.json b/propagators/opentelemetry-propagator-instana/package.json
index ea88db3b1e..4b5d5967e1 100644
--- a/propagators/opentelemetry-propagator-instana/package.json
+++ b/propagators/opentelemetry-propagator-instana/package.json
@@ -52,13 +52,13 @@
     "@opentelemetry/api": "^1.0.0",
     "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/sinon": "17.0.3",
+    "@types/sinon": "10.0.20",
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
     "babel-plugin-istanbul": "6.1.1",
     "cross-var": "1.1.0",
-    "karma": "6.4.3",
+    "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
     "karma-coverage": "2.2.1",
     "karma-mocha": "2.0.1",
diff --git a/propagators/opentelemetry-propagator-ot-trace/package.json b/propagators/opentelemetry-propagator-ot-trace/package.json
index ff172873f3..28a23b0abd 100644
--- a/propagators/opentelemetry-propagator-ot-trace/package.json
+++ b/propagators/opentelemetry-propagator-ot-trace/package.json
@@ -52,13 +52,13 @@
     "@opentelemetry/api": "^1.0.0",
     "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
-    "@types/sinon": "17.0.3",
+    "@types/sinon": "10.0.20",
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
     "babel-plugin-istanbul": "6.1.1",
     "cross-var": "1.1.0",
-    "karma": "6.4.3",
+    "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
     "karma-coverage": "2.2.1",
     "karma-mocha": "2.0.1",

From 0e9791ad7a812268cc3416448316a5f2adeb8f32 Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Mon, 19 Aug 2024 15:42:11 -0700
Subject: [PATCH 084/123] feat(instr-tedious): support tedious@18 (#2381)

tedious@18 adds its own .d.ts files. Compiling with them requires
TypeScript v5, and either target:'es2022' for 'AggregateError'
or using skipLibCheck:true in tsconfig.json.

This change limits the update to TypeScript v5 to just while
testing tedious@18 via test-all-versions' support for
'peerDependencies'.

THis also drops ts-mocha in favour of 'mocha --require ts-node/register'
as was done on opentelemetry-js.git in https://github.com/open-telemetry/opentelemetry-js/pull/4840

Closes: #2266
---
 package-lock.json                             | 247 +++++++++++++++++-
 plugins/node/instrumentation-tedious/.tav.yml |  31 ++-
 .../node/instrumentation-tedious/README.md    |   2 +-
 .../node/instrumentation-tedious/package.json |   6 +-
 .../src/instrumentation.ts                    |   2 +-
 .../node/instrumentation-tedious/test/api.ts  |  12 +-
 .../test/instrumentation.test.ts              |   4 +-
 .../instrumentation-tedious/tsconfig.json     |   7 +-
 8 files changed, 287 insertions(+), 24 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index da3f5cf81a..9bcfa7f9dc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6295,6 +6295,30 @@
         "node": ">=0.1.90"
       }
     },
+    "node_modules/@cspotcode/source-map-support": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
+      "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/trace-mapping": "0.3.9"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
+      "version": "0.3.9",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
+      "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@jridgewell/resolve-uri": "^3.0.3",
+        "@jridgewell/sourcemap-codec": "^1.4.10"
+      }
+    },
     "node_modules/@cucumber/ci-environment": {
       "version": "9.2.0",
       "resolved": "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-9.2.0.tgz",
@@ -12358,6 +12382,34 @@
       "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
       "dev": true
     },
+    "node_modules/@tsconfig/node10": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
+      "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@tsconfig/node12": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
+      "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@tsconfig/node14": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
+      "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@tsconfig/node16": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
+      "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
+      "dev": true,
+      "license": "MIT"
+    },
     "node_modules/@tufjs/canonical-json": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz",
@@ -13971,6 +14023,19 @@
         "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
       }
     },
+    "node_modules/acorn-walk": {
+      "version": "8.3.3",
+      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz",
+      "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "acorn": "^8.11.0"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
     "node_modules/add-stream": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz",
@@ -14287,6 +14352,13 @@
         "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
       }
     },
+    "node_modules/arg": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+      "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+      "dev": true,
+      "license": "MIT"
+    },
     "node_modules/argparse": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -17688,6 +17760,13 @@
         "node": ">= 6"
       }
     },
+    "node_modules/create-require": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+      "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+      "dev": true,
+      "license": "MIT"
+    },
     "node_modules/cross-env": {
       "version": "7.0.3",
       "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
@@ -35585,6 +35664,13 @@
       "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
       "dev": true
     },
+    "node_modules/v8-compile-cache-lib": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
+      "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
+      "dev": true,
+      "license": "MIT"
+    },
     "node_modules/v8-to-istanbul": {
       "version": "9.2.0",
       "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz",
@@ -38147,7 +38233,7 @@
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
-        "@types/tedious": "^4.0.10"
+        "@types/tedious": "^4.0.14"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -38162,7 +38248,7 @@
         "semver": "7.6.3",
         "tedious": "17.0.0",
         "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
+        "ts-node": "10.9.2",
         "typescript": "4.4.4"
       },
       "engines": {
@@ -38287,6 +38373,60 @@
         "node": ">=18"
       }
     },
+    "plugins/node/instrumentation-tedious/node_modules/ts-node": {
+      "version": "10.9.2",
+      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
+      "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@cspotcode/source-map-support": "^0.8.0",
+        "@tsconfig/node10": "^1.0.7",
+        "@tsconfig/node12": "^1.0.7",
+        "@tsconfig/node14": "^1.0.0",
+        "@tsconfig/node16": "^1.0.2",
+        "acorn": "^8.4.1",
+        "acorn-walk": "^8.1.1",
+        "arg": "^4.1.0",
+        "create-require": "^1.1.0",
+        "diff": "^4.0.1",
+        "make-error": "^1.1.1",
+        "v8-compile-cache-lib": "^3.0.1",
+        "yn": "3.1.1"
+      },
+      "bin": {
+        "ts-node": "dist/bin.js",
+        "ts-node-cwd": "dist/bin-cwd.js",
+        "ts-node-esm": "dist/bin-esm.js",
+        "ts-node-script": "dist/bin-script.js",
+        "ts-node-transpile-only": "dist/bin-transpile.js",
+        "ts-script": "dist/bin-script-deprecated.js"
+      },
+      "peerDependencies": {
+        "@swc/core": ">=1.2.50",
+        "@swc/wasm": ">=1.2.50",
+        "@types/node": "*",
+        "typescript": ">=2.7"
+      },
+      "peerDependenciesMeta": {
+        "@swc/core": {
+          "optional": true
+        },
+        "@swc/wasm": {
+          "optional": true
+        }
+      }
+    },
+    "plugins/node/instrumentation-tedious/node_modules/yn": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+      "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
     "plugins/node/instrumentation-undici": {
       "name": "@opentelemetry/instrumentation-undici",
       "version": "0.4.0",
@@ -46833,6 +46973,27 @@
       "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
       "dev": true
     },
+    "@cspotcode/source-map-support": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
+      "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/trace-mapping": "0.3.9"
+      },
+      "dependencies": {
+        "@jridgewell/trace-mapping": {
+          "version": "0.3.9",
+          "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
+          "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+          "dev": true,
+          "requires": {
+            "@jridgewell/resolve-uri": "^3.0.3",
+            "@jridgewell/sourcemap-codec": "^1.4.10"
+          }
+        }
+      }
+    },
     "@cucumber/ci-environment": {
       "version": "9.2.0",
       "resolved": "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-9.2.0.tgz",
@@ -52705,14 +52866,14 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/tedious": "^4.0.10",
+        "@types/tedious": "^4.0.14",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.10",
         "semver": "7.6.3",
         "tedious": "17.0.0",
         "test-all-versions": "6.1.0",
-        "ts-mocha": "10.0.0",
+        "ts-node": "10.9.2",
         "typescript": "4.4.4"
       },
       "dependencies": {
@@ -52790,6 +52951,33 @@
             "node-abort-controller": "^3.1.1",
             "sprintf-js": "^1.1.2"
           }
+        },
+        "ts-node": {
+          "version": "10.9.2",
+          "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
+          "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
+          "dev": true,
+          "requires": {
+            "@cspotcode/source-map-support": "^0.8.0",
+            "@tsconfig/node10": "^1.0.7",
+            "@tsconfig/node12": "^1.0.7",
+            "@tsconfig/node14": "^1.0.0",
+            "@tsconfig/node16": "^1.0.2",
+            "acorn": "^8.4.1",
+            "acorn-walk": "^8.1.1",
+            "arg": "^4.1.0",
+            "create-require": "^1.1.0",
+            "diff": "^4.0.1",
+            "make-error": "^1.1.1",
+            "v8-compile-cache-lib": "^3.0.1",
+            "yn": "3.1.1"
+          }
+        },
+        "yn": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+          "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+          "dev": true
         }
       }
     },
@@ -56157,6 +56345,30 @@
       "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
       "dev": true
     },
+    "@tsconfig/node10": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
+      "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
+      "dev": true
+    },
+    "@tsconfig/node12": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
+      "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
+      "dev": true
+    },
+    "@tsconfig/node14": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
+      "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
+      "dev": true
+    },
+    "@tsconfig/node16": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
+      "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
+      "dev": true
+    },
     "@tufjs/canonical-json": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz",
@@ -57530,6 +57742,15 @@
       "dev": true,
       "requires": {}
     },
+    "acorn-walk": {
+      "version": "8.3.3",
+      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz",
+      "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==",
+      "dev": true,
+      "requires": {
+        "acorn": "^8.11.0"
+      }
+    },
     "add-stream": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz",
@@ -57784,6 +58005,12 @@
         "readable-stream": "^3.6.0"
       }
     },
+    "arg": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+      "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+      "dev": true
+    },
     "argparse": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -60625,6 +60852,12 @@
         }
       }
     },
+    "create-require": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+      "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+      "dev": true
+    },
     "cross-env": {
       "version": "7.0.3",
       "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
@@ -74455,6 +74688,12 @@
       "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
       "dev": true
     },
+    "v8-compile-cache-lib": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
+      "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
+      "dev": true
+    },
     "v8-to-istanbul": {
       "version": "9.2.0",
       "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz",
diff --git a/plugins/node/instrumentation-tedious/.tav.yml b/plugins/node/instrumentation-tedious/.tav.yml
index 0f4602307a..3d86950ef7 100644
--- a/plugins/node/instrumentation-tedious/.tav.yml
+++ b/plugins/node/instrumentation-tedious/.tav.yml
@@ -1,7 +1,26 @@
 tedious:
-  versions:
-    include: ">=1.11.0 <=17"
-    # 4.0.0 is broken: https://github.com/tediousjs/tedious/commit/4eceb48
-    exclude: "4.0.0"
-    mode: latest-majors
-  commands: npm run test
\ No newline at end of file
+  - versions:
+      include: ">=1.11.0 <12"
+      # 4.0.0 is broken: https://github.com/tediousjs/tedious/commit/4eceb48
+      exclude: "4.0.0"
+      mode: latest-majors
+    commands: npm run test
+  - versions:
+      include: ">=12 <17"
+      mode: latest-majors
+    node: '>=16'
+    commands: npm run test
+  - versions:
+      include: ">=17 <18"
+      mode: latest-majors
+    node: '>=18'
+    commands: npm run test
+  - versions:
+      include: ">=18 <19"
+      mode: latest-majors
+    node: '>=18'
+    commands: npm run test
+    # tedious@18 started including its own .d.ts files, and they require
+    # TypeScript v5 to use. This peerDependencies can be removed when this
+    # package updates to TypeScript v5.
+    peerDependencies: typescript@5
diff --git a/plugins/node/instrumentation-tedious/README.md b/plugins/node/instrumentation-tedious/README.md
index 33c523556b..457aac618a 100644
--- a/plugins/node/instrumentation-tedious/README.md
+++ b/plugins/node/instrumentation-tedious/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-tedious
 
 ## Supported Versions
 
-- [tedious](https://www.npmjs.com/package/tedious) `>=1.11.0 <18`
+- [tedious](https://www.npmjs.com/package/tedious) `>=1.11.0 <19`
 
 ## Usage
 
diff --git a/plugins/node/instrumentation-tedious/package.json b/plugins/node/instrumentation-tedious/package.json
index 90051028dd..6d4aac8b16 100644
--- a/plugins/node/instrumentation-tedious/package.json
+++ b/plugins/node/instrumentation-tedious/package.json
@@ -14,7 +14,7 @@
     "prewatch": "npm run precompile",
     "prepublishOnly": "npm run compile",
     "tdd": "npm run test -- --watch-extensions ts --watch",
-    "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'",
+    "test": "nyc mocha --require ts-node/register 'test/**/*.test.ts'",
     "test-all-versions": "tav",
     "version:update": "node ../../../scripts/version-update.js"
   },
@@ -59,13 +59,13 @@
     "semver": "7.6.3",
     "tedious": "17.0.0",
     "test-all-versions": "6.1.0",
-    "ts-mocha": "10.0.0",
+    "ts-node": "10.9.2",
     "typescript": "4.4.4"
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.52.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
-    "@types/tedious": "^4.0.10"
+    "@types/tedious": "^4.0.14"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-tedious#readme"
 }
diff --git a/plugins/node/instrumentation-tedious/src/instrumentation.ts b/plugins/node/instrumentation-tedious/src/instrumentation.ts
index e5fd7e4113..a1fcd25c4d 100644
--- a/plugins/node/instrumentation-tedious/src/instrumentation.ts
+++ b/plugins/node/instrumentation-tedious/src/instrumentation.ts
@@ -78,7 +78,7 @@ export class TediousInstrumentation extends InstrumentationBase<TediousInstrumen
     return [
       new InstrumentationNodeModuleDefinition(
         TediousInstrumentation.COMPONENT,
-        ['>=1.11.0 <18'],
+        ['>=1.11.0 <19'],
         (moduleExports: typeof tedious) => {
           const ConnectionPrototype: any = moduleExports.Connection.prototype;
           for (const method of PATCHED_METHODS) {
diff --git a/plugins/node/instrumentation-tedious/test/api.ts b/plugins/node/instrumentation-tedious/test/api.ts
index b6a221bd54..f4e356783f 100644
--- a/plugins/node/instrumentation-tedious/test/api.ts
+++ b/plugins/node/instrumentation-tedious/test/api.ts
@@ -16,14 +16,14 @@
 
 import * as assert from 'assert';
 import { promisify } from 'util';
-import type { Connection, Request, TYPES, ConnectionConfig } from 'tedious';
+import type { Connection, Request, TYPES } from 'tedious';
 
 type Method = keyof Connection & ('execSql' | 'execSqlBatch' | 'prepare');
 export type tedious = {
   Connection: typeof Connection;
   Request: typeof Request;
   TYPES: typeof TYPES;
-  ConnectionConfig: ConnectionConfig;
+  ConnectionConfig: any;
 };
 
 export const makeApi = (tedious: tedious) => {
@@ -32,7 +32,7 @@ export const makeApi = (tedious: tedious) => {
     return `[dbo].[${resource}]`;
   };
 
-  const createConnection = (config: ConnectionConfig): Promise<Connection> => {
+  const createConnection = (config: any): Promise<Connection> => {
     return new Promise((resolve, reject) => {
       const connection = new tedious.Connection(config);
 
@@ -268,11 +268,11 @@ export const makeApi = (tedious: tedious) => {
     },
     execute: (connection: Connection): Promise<number> => {
       return new Promise((resolve, reject) => {
-        const requestDoneCb = (err: any, rowCount: number) => {
+        const requestDoneCb = (err: any, rowCount?: number) => {
           if (err) {
             return reject(err);
           }
-          resolve(rowCount);
+          resolve(rowCount!);
         };
         // <2.2.0 didn't take bulkOptions
         const request =
@@ -294,7 +294,7 @@ export const makeApi = (tedious: tedious) => {
           // required in <=11.5. not supported in 14
           request.addRow({ c1: 1 });
           request.addRow({ c1: 2, c2: 'hello' });
-          return connection.execBulkLoad(request);
+          return (connection.execBulkLoad as any)(request);
         }
 
         (connection.execBulkLoad as any)(request, [
diff --git a/plugins/node/instrumentation-tedious/test/instrumentation.test.ts b/plugins/node/instrumentation-tedious/test/instrumentation.test.ts
index 662a352559..ff9b8a5409 100644
--- a/plugins/node/instrumentation-tedious/test/instrumentation.test.ts
+++ b/plugins/node/instrumentation-tedious/test/instrumentation.test.ts
@@ -37,7 +37,7 @@ import {
 import * as assert from 'assert';
 import { TediousInstrumentation } from '../src';
 import makeApi from './api';
-import type { Connection, ConnectionConfig } from 'tedious';
+import type { Connection } from 'tedious';
 import * as semver from 'semver';
 
 const port = Number(process.env.MSSQL_PORT) || 1433;
@@ -50,7 +50,7 @@ const instrumentation = new TediousInstrumentation();
 instrumentation.enable();
 instrumentation.disable();
 
-const config: ConnectionConfig & { userName: string; password: string } = {
+const config: any = {
   userName: user,
   password,
   server: host,
diff --git a/plugins/node/instrumentation-tedious/tsconfig.json b/plugins/node/instrumentation-tedious/tsconfig.json
index 28be80d266..403245c3ac 100644
--- a/plugins/node/instrumentation-tedious/tsconfig.json
+++ b/plugins/node/instrumentation-tedious/tsconfig.json
@@ -2,7 +2,12 @@
   "extends": "../../../tsconfig.base",
   "compilerOptions": {
     "rootDir": ".",
-    "outDir": "build"
+    "outDir": "build",
+    // When testing with tedious@18, skipLibCheck:true is needed to avoid
+    // checking its types. They require AggregateError that is only available
+    // with `"target": "es2022"`, which, IIUC we don't want with our regular TS
+    // v4 build for release.
+    "skipLibCheck": true
   },
   "include": [
     "src/**/*.ts",

From 5e839345da1f3cb8aaeed2f58dbc2ef990e4aa67 Mon Sep 17 00:00:00 2001
From: Mend Renovate <bot@renovateapp.com>
Date: Tue, 20 Aug 2024 21:31:32 +0200
Subject: [PATCH 085/123] chore(deps): update node docker tag to v20 (#2385)

---
 .github/workflows/peer-api.yaml                | 2 +-
 .github/workflows/release-please-validate.yaml | 2 +-
 .github/workflows/test-all-versions.pr.yml     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/peer-api.yaml b/.github/workflows/peer-api.yaml
index b4b21f1e55..0cc315ddc4 100644
--- a/.github/workflows/peer-api.yaml
+++ b/.github/workflows/peer-api.yaml
@@ -10,7 +10,7 @@ jobs:
   peer-api-check:
     runs-on: ubuntu-latest
     container:
-      image: node:18
+      image: node:20
     steps:
       - name: Checkout
         uses: actions/checkout@v4
diff --git a/.github/workflows/release-please-validate.yaml b/.github/workflows/release-please-validate.yaml
index 6b29afcba0..0ba73cfc2e 100644
--- a/.github/workflows/release-please-validate.yaml
+++ b/.github/workflows/release-please-validate.yaml
@@ -10,7 +10,7 @@ jobs:
   rp-validate:
     runs-on: ubuntu-latest
     container:
-      image: node:14
+      image: node:20
     steps:
       - name: Checkout
         uses: actions/checkout@v4
diff --git a/.github/workflows/test-all-versions.pr.yml b/.github/workflows/test-all-versions.pr.yml
index 83aa62af5b..9f1309ad19 100644
--- a/.github/workflows/test-all-versions.pr.yml
+++ b/.github/workflows/test-all-versions.pr.yml
@@ -12,7 +12,7 @@ jobs:
   parse-labels:
     runs-on: ubuntu-latest
     container:
-      image: node:16
+      image: node:20
     env:
       PR_LABELS: ${{ toJSON(github.event.pull_request.labels.*.name) }}
     outputs:

From 8b35f786158767967597cfc70e053dac4abd72ab Mon Sep 17 00:00:00 2001
From: Mend Renovate <bot@renovateapp.com>
Date: Tue, 20 Aug 2024 22:49:24 +0200
Subject: [PATCH 086/123] chore(deps): update dependency babel-plugin-istanbul
 to v7 (#2326)

---
 .../auto-instrumentations-web/package.json    |   2 +-
 package-lock.json                             | 505 ++++++++++--------
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 8 files changed, 292 insertions(+), 227 deletions(-)

diff --git a/metapackages/auto-instrumentations-web/package.json b/metapackages/auto-instrumentations-web/package.json
index 9c01a299b3..d7a6743167 100644
--- a/metapackages/auto-instrumentations-web/package.json
+++ b/metapackages/auto-instrumentations-web/package.json
@@ -44,7 +44,7 @@
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
-    "babel-plugin-istanbul": "6.1.1",
+    "babel-plugin-istanbul": "7.0.0",
     "cross-var": "1.1.0",
     "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
diff --git a/package-lock.json b/package-lock.json
index 9bcfa7f9dc..257cb45c88 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -406,7 +406,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "cross-var": "1.1.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
@@ -4570,9 +4570,9 @@
       }
     },
     "node_modules/@babel/compat-data": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz",
-      "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==",
+      "version": "7.25.2",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz",
+      "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
@@ -4618,12 +4618,12 @@
       }
     },
     "node_modules/@babel/generator": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
-      "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
+      "version": "7.25.0",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz",
+      "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.24.7",
+        "@babel/types": "^7.25.0",
         "@jridgewell/gen-mapping": "^0.3.5",
         "@jridgewell/trace-mapping": "^0.3.25",
         "jsesc": "^2.5.1"
@@ -4658,14 +4658,14 @@
       }
     },
     "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz",
-      "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==",
+      "version": "7.25.2",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz",
+      "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==",
       "dev": true,
       "dependencies": {
-        "@babel/compat-data": "^7.24.7",
-        "@babel/helper-validator-option": "^7.24.7",
-        "browserslist": "^4.22.2",
+        "@babel/compat-data": "^7.25.2",
+        "@babel/helper-validator-option": "^7.24.8",
+        "browserslist": "^4.23.1",
         "lru-cache": "^5.1.1",
         "semver": "^6.3.1"
       },
@@ -4820,16 +4820,15 @@
       }
     },
     "node_modules/@babel/helper-module-transforms": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz",
-      "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==",
+      "version": "7.25.2",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz",
+      "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-environment-visitor": "^7.24.7",
         "@babel/helper-module-imports": "^7.24.7",
         "@babel/helper-simple-access": "^7.24.7",
-        "@babel/helper-split-export-declaration": "^7.24.7",
-        "@babel/helper-validator-identifier": "^7.24.7"
+        "@babel/helper-validator-identifier": "^7.24.7",
+        "@babel/traverse": "^7.25.2"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -4932,9 +4931,9 @@
       }
     },
     "node_modules/@babel/helper-string-parser": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
-      "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
+      "version": "7.24.8",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
+      "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
@@ -4950,9 +4949,9 @@
       }
     },
     "node_modules/@babel/helper-validator-option": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz",
-      "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==",
+      "version": "7.24.8",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz",
+      "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
@@ -4974,13 +4973,13 @@
       }
     },
     "node_modules/@babel/helpers": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz",
-      "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==",
+      "version": "7.25.0",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz",
+      "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==",
       "dev": true,
       "dependencies": {
-        "@babel/template": "^7.24.7",
-        "@babel/types": "^7.24.7"
+        "@babel/template": "^7.25.0",
+        "@babel/types": "^7.25.0"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -5002,10 +5001,13 @@
       }
     },
     "node_modules/@babel/parser": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
-      "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
+      "version": "7.25.3",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz",
+      "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==",
       "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.25.2"
+      },
       "bin": {
         "parser": "bin/babel-parser.js"
       },
@@ -6238,33 +6240,30 @@
       "dev": true
     },
     "node_modules/@babel/template": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
-      "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
+      "version": "7.25.0",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
+      "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
       "dev": true,
       "dependencies": {
         "@babel/code-frame": "^7.24.7",
-        "@babel/parser": "^7.24.7",
-        "@babel/types": "^7.24.7"
+        "@babel/parser": "^7.25.0",
+        "@babel/types": "^7.25.0"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/traverse": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
-      "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
+      "version": "7.25.3",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz",
+      "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==",
       "dev": true,
       "dependencies": {
         "@babel/code-frame": "^7.24.7",
-        "@babel/generator": "^7.24.7",
-        "@babel/helper-environment-visitor": "^7.24.7",
-        "@babel/helper-function-name": "^7.24.7",
-        "@babel/helper-hoist-variables": "^7.24.7",
-        "@babel/helper-split-export-declaration": "^7.24.7",
-        "@babel/parser": "^7.24.7",
-        "@babel/types": "^7.24.7",
+        "@babel/generator": "^7.25.0",
+        "@babel/parser": "^7.25.3",
+        "@babel/template": "^7.25.0",
+        "@babel/types": "^7.25.2",
         "debug": "^4.3.1",
         "globals": "^11.1.0"
       },
@@ -6273,12 +6272,12 @@
       }
     },
     "node_modules/@babel/types": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
-      "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
+      "version": "7.25.2",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz",
+      "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-string-parser": "^7.24.7",
+        "@babel/helper-string-parser": "^7.24.8",
         "@babel/helper-validator-identifier": "^7.24.7",
         "to-fast-properties": "^2.0.0"
       },
@@ -15119,38 +15118,52 @@
       }
     },
     "node_modules/babel-plugin-istanbul": {
-      "version": "6.1.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
-      "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.0.tgz",
+      "integrity": "sha512-C5OzENSx/A+gt7t4VH1I2XsflxyPUmXRFPKBxt33xncdOmq7oROVM3bZv9Ysjjkv8OJYDMa+tKuKMvqU/H3xdw==",
       "dev": true,
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.0.0",
         "@istanbuljs/load-nyc-config": "^1.0.0",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-instrument": "^5.0.4",
+        "@istanbuljs/schema": "^0.1.3",
+        "istanbul-lib-instrument": "^6.0.2",
         "test-exclude": "^6.0.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=12"
       }
     },
-    "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
-      "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+    "node_modules/babel-plugin-istanbul/node_modules/@babel/core": {
+      "version": "7.25.2",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz",
+      "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==",
       "dev": true,
       "dependencies": {
-        "@babel/core": "^7.12.3",
-        "@babel/parser": "^7.14.7",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-coverage": "^3.2.0",
-        "semver": "^6.3.0"
+        "@ampproject/remapping": "^2.2.0",
+        "@babel/code-frame": "^7.24.7",
+        "@babel/generator": "^7.25.0",
+        "@babel/helper-compilation-targets": "^7.25.2",
+        "@babel/helper-module-transforms": "^7.25.2",
+        "@babel/helpers": "^7.25.0",
+        "@babel/parser": "^7.25.0",
+        "@babel/template": "^7.25.0",
+        "@babel/traverse": "^7.25.2",
+        "@babel/types": "^7.25.2",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
       }
     },
-    "node_modules/babel-plugin-istanbul/node_modules/semver": {
+    "node_modules/babel-plugin-istanbul/node_modules/@babel/core/node_modules/semver": {
       "version": "6.3.1",
       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
       "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
@@ -15159,6 +15172,28 @@
         "semver": "bin/semver.js"
       }
     },
+    "node_modules/babel-plugin-istanbul/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "dev": true
+    },
+    "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz",
+      "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/core": "^7.23.9",
+        "@babel/parser": "^7.23.9",
+        "@istanbuljs/schema": "^0.1.3",
+        "istanbul-lib-coverage": "^3.2.0",
+        "semver": "^7.5.4"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/babel-plugin-polyfill-corejs2": {
       "version": "0.4.11",
       "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz",
@@ -16242,9 +16277,9 @@
       "dev": true
     },
     "node_modules/browserslist": {
-      "version": "4.23.0",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
-      "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+      "version": "4.23.3",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz",
+      "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==",
       "dev": true,
       "funding": [
         {
@@ -16261,10 +16296,10 @@
         }
       ],
       "dependencies": {
-        "caniuse-lite": "^1.0.30001587",
-        "electron-to-chromium": "^1.4.668",
-        "node-releases": "^2.0.14",
-        "update-browserslist-db": "^1.0.13"
+        "caniuse-lite": "^1.0.30001646",
+        "electron-to-chromium": "^1.5.4",
+        "node-releases": "^2.0.18",
+        "update-browserslist-db": "^1.1.0"
       },
       "bin": {
         "browserslist": "cli.js"
@@ -16578,9 +16613,9 @@
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001589",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz",
-      "integrity": "sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==",
+      "version": "1.0.30001651",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz",
+      "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==",
       "dev": true,
       "funding": [
         {
@@ -18581,9 +18616,9 @@
       }
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.4.681",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.681.tgz",
-      "integrity": "sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.8.tgz",
+      "integrity": "sha512-4Nx0gP2tPNBLTrFxBMHpkQbtn2hidPVr/+/FTtcCiBYTucqc70zRyVZiOLj17Ui3wTO7SQ1/N+hkHYzJjBzt6A==",
       "dev": true
     },
     "node_modules/emoji-regex": {
@@ -28365,9 +28400,9 @@
       }
     },
     "node_modules/node-releases": {
-      "version": "2.0.14",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
-      "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
+      "version": "2.0.18",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
+      "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
       "dev": true
     },
     "node_modules/nopt": {
@@ -30389,9 +30424,9 @@
       }
     },
     "node_modules/picocolors": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
-      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+      "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
       "dev": true
     },
     "node_modules/picomatch": {
@@ -35537,9 +35572,9 @@
       }
     },
     "node_modules/update-browserslist-db": {
-      "version": "1.0.13",
-      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
-      "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
+      "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
       "dev": true,
       "funding": [
         {
@@ -35556,8 +35591,8 @@
         }
       ],
       "dependencies": {
-        "escalade": "^3.1.1",
-        "picocolors": "^1.0.0"
+        "escalade": "^3.1.2",
+        "picocolors": "^1.0.1"
       },
       "bin": {
         "update-browserslist-db": "cli.js"
@@ -36980,7 +37015,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "cross-var": "1.1.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
@@ -37579,7 +37614,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "^9.1.1",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.20",
+        "@types/sinon": "^10.0.11",
         "expect": "29.2.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
@@ -37677,7 +37712,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.52.0",
-        "winston-transport": "^4.7.1"
+        "winston-transport": "4.*"
       },
       "devDependencies": {
         "@types/mocha": "7.0.2",
@@ -37820,7 +37855,7 @@
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.20",
+        "@types/sinon": "^10.0.11",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.10",
@@ -37849,7 +37884,7 @@
         "@opentelemetry/sdk-trace-base": "^1.24.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.20",
+        "@types/sinon": "^10.0.11",
         "kafkajs": "^2.2.4",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
@@ -37995,8 +38030,8 @@
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.10",
-        "socket.io": "^4.7.5",
-        "socket.io-client": "^4.7.5",
+        "socket.io": "^4.1.3",
+        "socket.io-client": "^4.1.3",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -39598,13 +39633,13 @@
         "@opentelemetry/api": "^1.3.0",
         "@rollup/plugin-commonjs": "^26.0.0",
         "@rollup/plugin-node-resolve": "^15.2.3",
-        "@types/chai": "^4.3.17",
+        "@types/chai": "^4.3.10",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
         "@web/dev-server-esbuild": "^1.0.1",
-        "@web/dev-server-rollup": "^0.6.4",
-        "@web/test-runner": "^0.18.3",
+        "@web/dev-server-rollup": "^0.6.1",
+        "@web/test-runner": "^0.18.0",
         "chai": "^4.3.10",
         "sinon": "15.2.0",
         "typescript": "4.4.4"
@@ -39642,7 +39677,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "cross-var": "1.1.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
@@ -40256,7 +40291,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "cross-var": "1.1.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
@@ -40874,7 +40909,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
@@ -41504,7 +41539,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "cross-var": "1.1.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
@@ -42079,7 +42114,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "cross-var": "1.1.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
@@ -45773,9 +45808,9 @@
       }
     },
     "@babel/compat-data": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz",
-      "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==",
+      "version": "7.25.2",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz",
+      "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==",
       "dev": true
     },
     "@babel/core": {
@@ -45810,12 +45845,12 @@
       }
     },
     "@babel/generator": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
-      "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
+      "version": "7.25.0",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz",
+      "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.24.7",
+        "@babel/types": "^7.25.0",
         "@jridgewell/gen-mapping": "^0.3.5",
         "@jridgewell/trace-mapping": "^0.3.25",
         "jsesc": "^2.5.1"
@@ -45841,14 +45876,14 @@
       }
     },
     "@babel/helper-compilation-targets": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz",
-      "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==",
+      "version": "7.25.2",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz",
+      "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==",
       "dev": true,
       "requires": {
-        "@babel/compat-data": "^7.24.7",
-        "@babel/helper-validator-option": "^7.24.7",
-        "browserslist": "^4.22.2",
+        "@babel/compat-data": "^7.25.2",
+        "@babel/helper-validator-option": "^7.24.8",
+        "browserslist": "^4.23.1",
         "lru-cache": "^5.1.1",
         "semver": "^6.3.1"
       },
@@ -45967,16 +46002,15 @@
       }
     },
     "@babel/helper-module-transforms": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz",
-      "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==",
+      "version": "7.25.2",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz",
+      "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-environment-visitor": "^7.24.7",
         "@babel/helper-module-imports": "^7.24.7",
         "@babel/helper-simple-access": "^7.24.7",
-        "@babel/helper-split-export-declaration": "^7.24.7",
-        "@babel/helper-validator-identifier": "^7.24.7"
+        "@babel/helper-validator-identifier": "^7.24.7",
+        "@babel/traverse": "^7.25.2"
       }
     },
     "@babel/helper-optimise-call-expression": {
@@ -46046,9 +46080,9 @@
       }
     },
     "@babel/helper-string-parser": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
-      "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
+      "version": "7.24.8",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
+      "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
       "dev": true
     },
     "@babel/helper-validator-identifier": {
@@ -46058,9 +46092,9 @@
       "dev": true
     },
     "@babel/helper-validator-option": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz",
-      "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==",
+      "version": "7.24.8",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz",
+      "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==",
       "dev": true
     },
     "@babel/helper-wrap-function": {
@@ -46076,13 +46110,13 @@
       }
     },
     "@babel/helpers": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz",
-      "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==",
+      "version": "7.25.0",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz",
+      "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.24.7",
-        "@babel/types": "^7.24.7"
+        "@babel/template": "^7.25.0",
+        "@babel/types": "^7.25.0"
       }
     },
     "@babel/highlight": {
@@ -46098,10 +46132,13 @@
       }
     },
     "@babel/parser": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
-      "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
-      "dev": true
+      "version": "7.25.3",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz",
+      "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.25.2"
+      }
     },
     "@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
       "version": "7.24.7",
@@ -46928,41 +46965,38 @@
       }
     },
     "@babel/template": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
-      "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
+      "version": "7.25.0",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
+      "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.24.7",
-        "@babel/parser": "^7.24.7",
-        "@babel/types": "^7.24.7"
+        "@babel/parser": "^7.25.0",
+        "@babel/types": "^7.25.0"
       }
     },
     "@babel/traverse": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
-      "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
+      "version": "7.25.3",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz",
+      "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.24.7",
-        "@babel/generator": "^7.24.7",
-        "@babel/helper-environment-visitor": "^7.24.7",
-        "@babel/helper-function-name": "^7.24.7",
-        "@babel/helper-hoist-variables": "^7.24.7",
-        "@babel/helper-split-export-declaration": "^7.24.7",
-        "@babel/parser": "^7.24.7",
-        "@babel/types": "^7.24.7",
+        "@babel/generator": "^7.25.0",
+        "@babel/parser": "^7.25.3",
+        "@babel/template": "^7.25.0",
+        "@babel/types": "^7.25.2",
         "debug": "^4.3.1",
         "globals": "^11.1.0"
       }
     },
     "@babel/types": {
-      "version": "7.24.7",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
-      "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
+      "version": "7.25.2",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz",
+      "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-string-parser": "^7.24.7",
+        "@babel/helper-string-parser": "^7.24.8",
         "@babel/helper-validator-identifier": "^7.24.7",
         "to-fast-properties": "^2.0.0"
       }
@@ -50118,7 +50152,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "cross-var": "1.1.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
@@ -50715,7 +50749,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "cross-var": "1.1.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
@@ -51421,13 +51455,13 @@
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@rollup/plugin-commonjs": "^26.0.0",
         "@rollup/plugin-node-resolve": "^15.2.3",
-        "@types/chai": "^4.3.17",
+        "@types/chai": "^4.3.10",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
         "@web/dev-server-esbuild": "^1.0.1",
-        "@web/dev-server-rollup": "^0.6.4",
-        "@web/test-runner": "^0.18.3",
+        "@web/dev-server-rollup": "^0.6.1",
+        "@web/test-runner": "^0.18.0",
         "chai": "^4.3.10",
         "sinon": "15.2.0",
         "typescript": "4.4.4"
@@ -51524,7 +51558,7 @@
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.20",
+        "@types/sinon": "^10.0.11",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.10",
@@ -51659,7 +51693,7 @@
         "@opentelemetry/semantic-conventions": "^1.24.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.20",
+        "@types/sinon": "^10.0.11",
         "kafkajs": "^2.2.4",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
@@ -51733,7 +51767,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "cross-var": "1.1.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
@@ -52677,8 +52711,8 @@
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.10",
-        "socket.io": "^4.7.5",
-        "socket.io-client": "^4.7.5",
+        "socket.io": "^4.1.3",
+        "socket.io-client": "^4.1.3",
         "test-all-versions": "6.1.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4"
@@ -53021,7 +53055,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "cross-var": "1.1.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
@@ -53545,7 +53579,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
         "karma-coverage": "2.2.1",
@@ -53986,7 +54020,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@types/mocha": "^9.1.1",
         "@types/node": "18.6.5",
-        "@types/sinon": "^10.0.20",
+        "@types/sinon": "^10.0.11",
         "expect": "29.2.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
@@ -54039,7 +54073,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "cross-var": "1.1.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
@@ -54467,7 +54501,7 @@
         "@types/webpack-env": "1.16.3",
         "assert": "2.0.0",
         "babel-loader": "8.3.0",
-        "babel-plugin-istanbul": "6.1.1",
+        "babel-plugin-istanbul": "7.0.0",
         "cross-var": "1.1.0",
         "karma": "6.4.4",
         "karma-chrome-launcher": "3.1.0",
@@ -55220,7 +55254,7 @@
         "sinon": "15.2.0",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "winston-transport": "^4.7.1"
+        "winston-transport": "4.*"
       },
       "dependencies": {
         "@types/triple-beam": {
@@ -58653,36 +58687,67 @@
       }
     },
     "babel-plugin-istanbul": {
-      "version": "6.1.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
-      "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.0.tgz",
+      "integrity": "sha512-C5OzENSx/A+gt7t4VH1I2XsflxyPUmXRFPKBxt33xncdOmq7oROVM3bZv9Ysjjkv8OJYDMa+tKuKMvqU/H3xdw==",
       "dev": true,
       "requires": {
         "@babel/helper-plugin-utils": "^7.0.0",
         "@istanbuljs/load-nyc-config": "^1.0.0",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-instrument": "^5.0.4",
+        "@istanbuljs/schema": "^0.1.3",
+        "istanbul-lib-instrument": "^6.0.2",
         "test-exclude": "^6.0.0"
       },
       "dependencies": {
-        "istanbul-lib-instrument": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
-          "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+        "@babel/core": {
+          "version": "7.25.2",
+          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz",
+          "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==",
           "dev": true,
           "requires": {
-            "@babel/core": "^7.12.3",
-            "@babel/parser": "^7.14.7",
-            "@istanbuljs/schema": "^0.1.2",
-            "istanbul-lib-coverage": "^3.2.0",
-            "semver": "^6.3.0"
+            "@ampproject/remapping": "^2.2.0",
+            "@babel/code-frame": "^7.24.7",
+            "@babel/generator": "^7.25.0",
+            "@babel/helper-compilation-targets": "^7.25.2",
+            "@babel/helper-module-transforms": "^7.25.2",
+            "@babel/helpers": "^7.25.0",
+            "@babel/parser": "^7.25.0",
+            "@babel/template": "^7.25.0",
+            "@babel/traverse": "^7.25.2",
+            "@babel/types": "^7.25.2",
+            "convert-source-map": "^2.0.0",
+            "debug": "^4.1.0",
+            "gensync": "^1.0.0-beta.2",
+            "json5": "^2.2.3",
+            "semver": "^6.3.1"
+          },
+          "dependencies": {
+            "semver": {
+              "version": "6.3.1",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+              "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+              "dev": true
+            }
           }
         },
-        "semver": {
-          "version": "6.3.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
-          "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+        "convert-source-map": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+          "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
           "dev": true
+        },
+        "istanbul-lib-instrument": {
+          "version": "6.0.3",
+          "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz",
+          "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==",
+          "dev": true,
+          "requires": {
+            "@babel/core": "^7.23.9",
+            "@babel/parser": "^7.23.9",
+            "@istanbuljs/schema": "^0.1.3",
+            "istanbul-lib-coverage": "^3.2.0",
+            "semver": "^7.5.4"
+          }
         }
       }
     },
@@ -59684,15 +59749,15 @@
       "dev": true
     },
     "browserslist": {
-      "version": "4.23.0",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
-      "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+      "version": "4.23.3",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz",
+      "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==",
       "dev": true,
       "requires": {
-        "caniuse-lite": "^1.0.30001587",
-        "electron-to-chromium": "^1.4.668",
-        "node-releases": "^2.0.14",
-        "update-browserslist-db": "^1.0.13"
+        "caniuse-lite": "^1.0.30001646",
+        "electron-to-chromium": "^1.5.4",
+        "node-releases": "^2.0.18",
+        "update-browserslist-db": "^1.1.0"
       }
     },
     "bson": {
@@ -59926,9 +59991,9 @@
       }
     },
     "caniuse-lite": {
-      "version": "1.0.30001589",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz",
-      "integrity": "sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==",
+      "version": "1.0.30001651",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz",
+      "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==",
       "dev": true
     },
     "capital-case": {
@@ -61472,9 +61537,9 @@
       }
     },
     "electron-to-chromium": {
-      "version": "1.4.681",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.681.tgz",
-      "integrity": "sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.8.tgz",
+      "integrity": "sha512-4Nx0gP2tPNBLTrFxBMHpkQbtn2hidPVr/+/FTtcCiBYTucqc70zRyVZiOLj17Ui3wTO7SQ1/N+hkHYzJjBzt6A==",
       "dev": true
     },
     "emoji-regex": {
@@ -69140,9 +69205,9 @@
       }
     },
     "node-releases": {
-      "version": "2.0.14",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
-      "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
+      "version": "2.0.18",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
+      "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
       "dev": true
     },
     "nopt": {
@@ -70695,9 +70760,9 @@
       }
     },
     "picocolors": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
-      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+      "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
       "dev": true
     },
     "picomatch": {
@@ -74585,13 +74650,13 @@
       "dev": true
     },
     "update-browserslist-db": {
-      "version": "1.0.13",
-      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
-      "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
+      "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
       "dev": true,
       "requires": {
-        "escalade": "^3.1.1",
-        "picocolors": "^1.0.0"
+        "escalade": "^3.1.2",
+        "picocolors": "^1.0.1"
       }
     },
     "upper-case-first": {
diff --git a/packages/opentelemetry-id-generator-aws-xray/package.json b/packages/opentelemetry-id-generator-aws-xray/package.json
index 81c6572c51..8f1110373e 100644
--- a/packages/opentelemetry-id-generator-aws-xray/package.json
+++ b/packages/opentelemetry-id-generator-aws-xray/package.json
@@ -60,7 +60,7 @@
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
-    "babel-plugin-istanbul": "6.1.1",
+    "babel-plugin-istanbul": "7.0.0",
     "cross-var": "1.1.0",
     "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/package.json b/plugins/web/opentelemetry-instrumentation-long-task/package.json
index 430dced455..ec378efb3d 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/package.json
+++ b/plugins/web/opentelemetry-instrumentation-long-task/package.json
@@ -59,7 +59,7 @@
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
-    "babel-plugin-istanbul": "6.1.1",
+    "babel-plugin-istanbul": "7.0.0",
     "cross-var": "1.1.0",
     "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
index 9831455db2..547ad84eda 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
@@ -62,7 +62,7 @@
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
-    "babel-plugin-istanbul": "6.1.1",
+    "babel-plugin-istanbul": "7.0.0",
     "cross-var": "1.1.0",
     "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
diff --git a/plugins/web/opentelemetry-plugin-react-load/package.json b/plugins/web/opentelemetry-plugin-react-load/package.json
index b3e85a9b0f..c787ae08f2 100644
--- a/plugins/web/opentelemetry-plugin-react-load/package.json
+++ b/plugins/web/opentelemetry-plugin-react-load/package.json
@@ -63,7 +63,7 @@
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
-    "babel-plugin-istanbul": "6.1.1",
+    "babel-plugin-istanbul": "7.0.0",
     "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
     "karma-coverage": "2.2.1",
diff --git a/propagators/opentelemetry-propagator-instana/package.json b/propagators/opentelemetry-propagator-instana/package.json
index 4b5d5967e1..d27041afce 100644
--- a/propagators/opentelemetry-propagator-instana/package.json
+++ b/propagators/opentelemetry-propagator-instana/package.json
@@ -56,7 +56,7 @@
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
-    "babel-plugin-istanbul": "6.1.1",
+    "babel-plugin-istanbul": "7.0.0",
     "cross-var": "1.1.0",
     "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",
diff --git a/propagators/opentelemetry-propagator-ot-trace/package.json b/propagators/opentelemetry-propagator-ot-trace/package.json
index 28a23b0abd..de1c0cc81e 100644
--- a/propagators/opentelemetry-propagator-ot-trace/package.json
+++ b/propagators/opentelemetry-propagator-ot-trace/package.json
@@ -56,7 +56,7 @@
     "@types/webpack-env": "1.16.3",
     "assert": "2.0.0",
     "babel-loader": "8.3.0",
-    "babel-plugin-istanbul": "6.1.1",
+    "babel-plugin-istanbul": "7.0.0",
     "cross-var": "1.1.0",
     "karma": "6.4.4",
     "karma-chrome-launcher": "3.1.0",

From 7e270395feca8a1b9a703491b189df41bcef5b79 Mon Sep 17 00:00:00 2001
From: Marylia Gutierrez <marylia.gutierrez@grafana.com>
Date: Wed, 21 Aug 2024 03:33:20 -0400
Subject: [PATCH 087/123] create test metric reader (#2388)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 .../src/test-utils.ts                         | 23 +++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/packages/opentelemetry-test-utils/src/test-utils.ts b/packages/opentelemetry-test-utils/src/test-utils.ts
index 6edcddf4a3..721ab6089f 100644
--- a/packages/opentelemetry-test-utils/src/test-utils.ts
+++ b/packages/opentelemetry-test-utils/src/test-utils.ts
@@ -24,12 +24,14 @@ import {
 } from '@opentelemetry/api';
 import * as assert from 'assert';
 import { ReadableSpan } from '@opentelemetry/sdk-trace-base';
+import { MetricReader, MeterProvider } from '@opentelemetry/sdk-metrics';
 import {
   hrTimeToMilliseconds,
   hrTimeToMicroseconds,
 } from '@opentelemetry/core';
 import * as path from 'path';
 import * as fs from 'fs';
+import { InstrumentationBase } from '@opentelemetry/instrumentation';
 
 const dockerRunCmds = {
   cassandra:
@@ -179,3 +181,24 @@ export const getPackageVersion = (packageName: string) => {
   );
   return JSON.parse(fs.readFileSync(pjPath, 'utf8')).version;
 };
+
+class TestMetricReader extends MetricReader {
+  constructor() {
+    super();
+  }
+
+  protected async onForceFlush(): Promise<void> {}
+  protected async onShutdown(): Promise<void> {}
+}
+
+export const initMeterProvider = (
+  instrumentation: InstrumentationBase
+): TestMetricReader => {
+  const metricReader = new TestMetricReader();
+  const meterProvider = new MeterProvider({
+    readers: [metricReader],
+  });
+  instrumentation.setMeterProvider(meterProvider);
+
+  return metricReader;
+};

From 7054bc14001843d32b2cc044ebc77caa3c94d1dd Mon Sep 17 00:00:00 2001
From: Marylia Gutierrez <marylia.gutierrez@grafana.com>
Date: Wed, 21 Aug 2024 12:06:37 -0400
Subject: [PATCH 088/123] export class TestMetricReader (#2393)

---
 packages/opentelemetry-test-utils/src/test-utils.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/opentelemetry-test-utils/src/test-utils.ts b/packages/opentelemetry-test-utils/src/test-utils.ts
index 721ab6089f..b6b6845677 100644
--- a/packages/opentelemetry-test-utils/src/test-utils.ts
+++ b/packages/opentelemetry-test-utils/src/test-utils.ts
@@ -182,7 +182,7 @@ export const getPackageVersion = (packageName: string) => {
   return JSON.parse(fs.readFileSync(pjPath, 'utf8')).version;
 };
 
-class TestMetricReader extends MetricReader {
+export class TestMetricReader extends MetricReader {
   constructor() {
     super();
   }

From ca70bb9c8cc8128bd202a8a9a29bb5c788ea5332 Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Thu, 22 Aug 2024 09:49:29 +0200
Subject: [PATCH 089/123] fix(instr-undici): fix issue with config in
 constructor (#2395)

Co-authored-by: Trent Mick <trentm@gmail.com>
---
 .../node/instrumentation-undici/src/undici.ts | 44 ++++++++--------
 .../instrumentation-undici/test/fetch.test.ts | 35 ++++++-------
 .../test/metrics.test.ts                      | 38 +++++++-------
 .../test/undici.test.ts                       | 50 +++++++++----------
 4 files changed, 76 insertions(+), 91 deletions(-)

diff --git a/plugins/node/instrumentation-undici/src/undici.ts b/plugins/node/instrumentation-undici/src/undici.ts
index 1d5445d60b..0d8ebedc73 100644
--- a/plugins/node/instrumentation-undici/src/undici.ts
+++ b/plugins/node/instrumentation-undici/src/undici.ts
@@ -68,7 +68,6 @@ export class UndiciInstrumentation extends InstrumentationBase<UndiciInstrumenta
   private _httpClientDurationHistogram!: Histogram;
   constructor(config: UndiciInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
-    this.setConfig(config);
   }
 
   // No need to instrument files/modules
@@ -77,26 +76,32 @@ export class UndiciInstrumentation extends InstrumentationBase<UndiciInstrumenta
   }
 
   override disable(): void {
-    if (!this.getConfig().enabled) {
-      return;
-    }
-
+    super.disable();
     this._channelSubs.forEach(sub => sub.channel.unsubscribe(sub.onMessage));
     this._channelSubs.length = 0;
-    super.disable();
-    this.setConfig({ ...this.getConfig(), enabled: false });
   }
 
   override enable(): void {
-    if (this.getConfig().enabled) {
-      return;
-    }
+    // "enabled" handling is currently a bit messy with InstrumentationBase.
+    // If constructed with `{enabled: false}`, this `.enable()` is still called,
+    // and `this.getConfig().enabled !== this.isEnabled()`, creating confusion.
+    //
+    // For now, this class will setup for instrumenting if `.enable()` is
+    // called, but use `this.getConfig().enabled` to determine if
+    // instrumentation should be generated. This covers the more likely common
+    // case of config being given a construction time, rather than later via
+    // `instance.enable()`, `.disable()`, or `.setConfig()` calls.
     super.enable();
-    this.setConfig({ ...this.getConfig(), enabled: true });
 
-    // This method is called by the `InstrumentationAbstract` constructor before
-    // ours is called. So we need to ensure the property is initalized
+    // This method is called by the super-class constructor before ours is
+    // called. So we need to ensure the property is initalized.
     this._channelSubs = this._channelSubs || [];
+
+    // Avoid to duplicate subscriptions
+    if (this._channelSubs.length > 0) {
+      return;
+    }
+
     this.subscribeToChannel(
       'undici:request:create',
       this.onRequestCreated.bind(this)
@@ -113,16 +118,6 @@ export class UndiciInstrumentation extends InstrumentationBase<UndiciInstrumenta
     this.subscribeToChannel('undici:request:error', this.onError.bind(this));
   }
 
-  override setConfig(config: UndiciInstrumentationConfig = {}): void {
-    super.setConfig(config);
-
-    if (config?.enabled) {
-      this.enable();
-    } else {
-      this.disable();
-    }
-  }
-
   protected override _updateMetricInstruments() {
     this._httpClientDurationHistogram = this.meter.createHistogram(
       'http.client.request.duration',
@@ -162,9 +157,10 @@ export class UndiciInstrumentation extends InstrumentationBase<UndiciInstrumenta
     // - ignored by config
     // - method is 'CONNECT'
     const config = this.getConfig();
+    const enabled = config.enabled !== false;
     const shouldIgnoreReq = safeExecuteInTheMiddle(
       () =>
-        !config.enabled ||
+        !enabled ||
         request.method === 'CONNECT' ||
         config.ignoreRequestHook?.(request),
       e => e && this._diag.error('caught ignoreRequestHook error: ', e),
diff --git a/plugins/node/instrumentation-undici/test/fetch.test.ts b/plugins/node/instrumentation-undici/test/fetch.test.ts
index fc369edead..9ef4e90767 100644
--- a/plugins/node/instrumentation-undici/test/fetch.test.ts
+++ b/plugins/node/instrumentation-undici/test/fetch.test.ts
@@ -35,19 +35,16 @@ import { MockPropagation } from './utils/mock-propagation';
 import { MockServer } from './utils/mock-server';
 import { assertSpan } from './utils/assertSpan';
 
-const instrumentation = new UndiciInstrumentation();
-instrumentation.enable();
-instrumentation.disable();
-
-const protocol = 'http';
-const hostname = 'localhost';
-const mockServer = new MockServer();
-const memoryExporter = new InMemorySpanExporter();
-const provider = new NodeTracerProvider();
-provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
-instrumentation.setTracerProvider(provider);
-
 describe('UndiciInstrumentation `fetch` tests', function () {
+  let instrumentation: UndiciInstrumentation;
+
+  const protocol = 'http';
+  const hostname = 'localhost';
+  const mockServer = new MockServer();
+  const memoryExporter = new InMemorySpanExporter();
+  const provider = new NodeTracerProvider();
+  provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
+
   before(function (done) {
     // Do not test if the `fetch` global API is not available
     // This applies to nodejs < v18 or nodejs < v16.15 wihtout the flag
@@ -57,6 +54,9 @@ describe('UndiciInstrumentation `fetch` tests', function () {
       this.skip();
     }
 
+    instrumentation = new UndiciInstrumentation();
+    instrumentation.setTracerProvider(provider);
+
     propagation.setGlobalPropagator(new MockPropagation());
     context.setGlobalContextManager(new AsyncHooksContextManager().enable());
     mockServer.start(done);
@@ -105,8 +105,8 @@ describe('UndiciInstrumentation `fetch` tests', function () {
       let spans = memoryExporter.getFinishedSpans();
       assert.strictEqual(spans.length, 0);
 
-      // Disable via config
-      instrumentation.setConfig({ enabled: false });
+      // Disable
+      instrumentation.disable();
 
       const fetchUrl = `${protocol}://${hostname}:${mockServer.port}/?query=test`;
       const response = await fetch(fetchUrl);
@@ -126,7 +126,8 @@ describe('UndiciInstrumentation `fetch` tests', function () {
     });
     afterEach(function () {
       // Empty configuration & disable
-      instrumentation.setConfig({ enabled: false });
+      instrumentation.setConfig({});
+      instrumentation.disable();
     });
 
     it('should create valid spans even if the configuration hooks fail', async function () {
@@ -135,7 +136,6 @@ describe('UndiciInstrumentation `fetch` tests', function () {
 
       // Set the bad configuration
       instrumentation.setConfig({
-        enabled: true,
         ignoreRequestHook: () => {
           throw new Error('ignoreRequestHook error');
         },
@@ -204,7 +204,6 @@ describe('UndiciInstrumentation `fetch` tests', function () {
 
       // Set configuration
       instrumentation.setConfig({
-        enabled: true,
         ignoreRequestHook: req => {
           return req.path.indexOf('/ignore/path') !== -1;
         },
@@ -302,7 +301,6 @@ describe('UndiciInstrumentation `fetch` tests', function () {
       assert.strictEqual(spans.length, 0);
 
       instrumentation.setConfig({
-        enabled: true,
         requireParentforSpans: true,
       });
 
@@ -322,7 +320,6 @@ describe('UndiciInstrumentation `fetch` tests', function () {
       assert.strictEqual(spans.length, 0);
 
       instrumentation.setConfig({
-        enabled: true,
         requireParentforSpans: true,
       });
 
diff --git a/plugins/node/instrumentation-undici/test/metrics.test.ts b/plugins/node/instrumentation-undici/test/metrics.test.ts
index 0fc633ef19..a903698385 100644
--- a/plugins/node/instrumentation-undici/test/metrics.test.ts
+++ b/plugins/node/instrumentation-undici/test/metrics.test.ts
@@ -31,24 +31,19 @@ import { MockServer } from './utils/mock-server';
 import { MockMetricsReader } from './utils/mock-metrics-reader';
 import { SemanticAttributes } from '../src/enums/SemanticAttributes';
 
-const instrumentation = new UndiciInstrumentation();
-instrumentation.enable();
-instrumentation.disable();
-
-const protocol = 'http';
-const hostname = 'localhost';
-const mockServer = new MockServer();
-const provider = new NodeTracerProvider();
-const meterProvider = new MeterProvider();
-const metricsMemoryExporter = new InMemoryMetricExporter(
-  AggregationTemporality.DELTA
-);
-const metricReader = new MockMetricsReader(metricsMemoryExporter);
-meterProvider.addMetricReader(metricReader);
-instrumentation.setTracerProvider(provider);
-instrumentation.setMeterProvider(meterProvider);
-
 describe('UndiciInstrumentation metrics tests', function () {
+  let instrumentation: UndiciInstrumentation;
+  const protocol = 'http';
+  const hostname = 'localhost';
+  const mockServer = new MockServer();
+  const provider = new NodeTracerProvider();
+  const meterProvider = new MeterProvider();
+  const metricsMemoryExporter = new InMemoryMetricExporter(
+    AggregationTemporality.DELTA
+  );
+  const metricReader = new MockMetricsReader(metricsMemoryExporter);
+  meterProvider.addMetricReader(metricReader);
+
   before(function (done) {
     // Do not test if the `fetch` global API is not available
     // This applies to nodejs < v18 or nodejs < v16.15 without the flag
@@ -58,6 +53,10 @@ describe('UndiciInstrumentation metrics tests', function () {
       this.skip();
     }
 
+    instrumentation = new UndiciInstrumentation();
+    instrumentation.setTracerProvider(provider);
+    instrumentation.setMeterProvider(meterProvider);
+
     context.setGlobalContextManager(new AsyncHooksContextManager().enable());
     mockServer.start(done);
     mockServer.mockListener((req, res) => {
@@ -67,13 +66,10 @@ describe('UndiciInstrumentation metrics tests', function () {
       res.write(JSON.stringify({ success: true }));
       res.end();
     });
-
-    // enable instrumentation for all tests
-    instrumentation.enable();
   });
 
   after(function (done) {
-    instrumentation.disable();
+    instrumentation?.disable();
     context.disable();
     propagation.disable();
     mockServer.mockListener(undefined);
diff --git a/plugins/node/instrumentation-undici/test/undici.test.ts b/plugins/node/instrumentation-undici/test/undici.test.ts
index b0bd088199..451bb71f3f 100644
--- a/plugins/node/instrumentation-undici/test/undici.test.ts
+++ b/plugins/node/instrumentation-undici/test/undici.test.ts
@@ -39,26 +39,6 @@ import { assertSpan } from './utils/assertSpan';
 
 import type { fetch, stream, request, Client, Dispatcher } from 'undici';
 
-const instrumentation = new UndiciInstrumentation();
-instrumentation.enable();
-instrumentation.disable();
-
-// Reference to the `undici` module
-let undici: {
-  fetch: typeof fetch;
-  request: typeof request;
-  stream: typeof stream;
-  Client: typeof Client;
-};
-
-const protocol = 'http';
-const hostname = 'localhost';
-const mockServer = new MockServer();
-const memoryExporter = new InMemorySpanExporter();
-const provider = new NodeTracerProvider();
-provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
-instrumentation.setTracerProvider(provider);
-
 // Undici docs (https://github.com/nodejs/undici#garbage-collection) suggest
 // that an undici response body should always be consumed.
 async function consumeResponseBody(body: Dispatcher.ResponseData['body']) {
@@ -74,6 +54,23 @@ async function consumeResponseBody(body: Dispatcher.ResponseData['body']) {
 }
 
 describe('UndiciInstrumentation `undici` tests', function () {
+  let instrumentation: UndiciInstrumentation;
+
+  // Reference to the `undici` module
+  let undici: {
+    fetch: typeof fetch;
+    request: typeof request;
+    stream: typeof stream;
+    Client: typeof Client;
+  };
+
+  const protocol = 'http';
+  const hostname = 'localhost';
+  const mockServer = new MockServer();
+  const memoryExporter = new InMemorySpanExporter();
+  const provider = new NodeTracerProvider();
+  provider.addSpanProcessor(new SimpleSpanProcessor(memoryExporter));
+
   before(function (done) {
     // Load `undici`. It may fail if nodejs version is <18 because the module uses
     // features only available from that version. In that case skip the test.
@@ -83,6 +80,9 @@ describe('UndiciInstrumentation `undici` tests', function () {
       this.skip();
     }
 
+    instrumentation = new UndiciInstrumentation();
+    instrumentation.setTracerProvider(provider);
+
     propagation.setGlobalPropagator(new MockPropagation());
     context.setGlobalContextManager(new AsyncHooksContextManager().enable());
     mockServer.start(done);
@@ -136,7 +136,7 @@ describe('UndiciInstrumentation `undici` tests', function () {
       assert.strictEqual(spans.length, 0);
 
       // Disable via config
-      instrumentation.setConfig({ enabled: false });
+      instrumentation.disable();
 
       const requestUrl = `${protocol}://${hostname}:${mockServer.port}/?query=test`;
       const { headers, body } = await undici.request(requestUrl);
@@ -157,7 +157,6 @@ describe('UndiciInstrumentation `undici` tests', function () {
       instrumentation.enable();
       // Set configuration
       instrumentation.setConfig({
-        enabled: true,
         ignoreRequestHook: req => {
           return req.path.indexOf('/ignore/path') !== -1;
         },
@@ -188,7 +187,8 @@ describe('UndiciInstrumentation `undici` tests', function () {
     });
     afterEach(function () {
       // Empty configuration & disable
-      instrumentation.setConfig({ enabled: false });
+      instrumentation.setConfig({});
+      instrumentation.disable();
     });
 
     it('should ignore requests based on the result of ignoreRequestHook', async function () {
@@ -595,7 +595,6 @@ describe('UndiciInstrumentation `undici` tests', function () {
 
       // Set the bad configuration
       instrumentation.setConfig({
-        enabled: true,
         ignoreRequestHook: () => {
           throw new Error('ignoreRequestHook error');
         },
@@ -639,7 +638,6 @@ describe('UndiciInstrumentation `undici` tests', function () {
       assert.strictEqual(spans.length, 0);
 
       instrumentation.setConfig({
-        enabled: true,
         requireParentforSpans: true,
       });
 
@@ -661,7 +659,6 @@ describe('UndiciInstrumentation `undici` tests', function () {
       assert.strictEqual(spans.length, 0);
 
       instrumentation.setConfig({
-        enabled: true,
         requireParentforSpans: true,
       });
 
@@ -685,7 +682,6 @@ describe('UndiciInstrumentation `undici` tests', function () {
       assert.strictEqual(spans.length, 0);
 
       instrumentation.setConfig({
-        enabled: true,
         requireParentforSpans: true,
       });
 

From de7a6cb77e643ed0de82e514510089fba5ae0405 Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Thu, 22 Aug 2024 08:43:05 -0700
Subject: [PATCH 090/123] fix(instrumentation-redis-4): avoid crash from
 incorrect this._diag ref (#2397)

Fixes: #2389
---
 .../src/instrumentation.ts                                      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-redis-4/src/instrumentation.ts
index d1459da8ff..b68a312a16 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/src/instrumentation.ts
@@ -335,7 +335,7 @@ export class RedisInstrumentation extends InstrumentationBase<RedisInstrumentati
       return function patchedConnect(this: any): Promise<void> {
         const options = this.options;
 
-        const attributes = getClientAttributes(this._diag, options);
+        const attributes = getClientAttributes(plugin._diag, options);
 
         const span = plugin.tracer.startSpan(
           `${RedisInstrumentation.COMPONENT}-connect`,

From d30c85ce4fb42dcd8a0f15e79fae1a72bf7578bf Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Mon, 26 Aug 2024 05:27:05 -0700
Subject: [PATCH 091/123] feat(instr-tedious): support tedious@19 (#2401)

https://github.com/tediousjs/tedious/releases/tag/v19.0.0
tedious@19 bumps the min supported Node.js to 18.17.0.

Refs: #2400
---
 plugins/node/instrumentation-tedious/.tav.yml              | 7 +++++++
 plugins/node/instrumentation-tedious/README.md             | 2 +-
 .../node/instrumentation-tedious/src/instrumentation.ts    | 2 +-
 .../instrumentation-tedious/test/instrumentation.test.ts   | 6 +++++-
 4 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/plugins/node/instrumentation-tedious/.tav.yml b/plugins/node/instrumentation-tedious/.tav.yml
index 3d86950ef7..f61f4456f7 100644
--- a/plugins/node/instrumentation-tedious/.tav.yml
+++ b/plugins/node/instrumentation-tedious/.tav.yml
@@ -24,3 +24,10 @@ tedious:
     # TypeScript v5 to use. This peerDependencies can be removed when this
     # package updates to TypeScript v5.
     peerDependencies: typescript@5
+  - versions:
+      include: ">=19 <20"
+      mode: latest-majors
+    node: '>=18.17'
+    commands: npm run test
+    # See typescript@5 note above.
+    peerDependencies: typescript@5
diff --git a/plugins/node/instrumentation-tedious/README.md b/plugins/node/instrumentation-tedious/README.md
index 457aac618a..740b4da52f 100644
--- a/plugins/node/instrumentation-tedious/README.md
+++ b/plugins/node/instrumentation-tedious/README.md
@@ -17,7 +17,7 @@ npm install --save @opentelemetry/instrumentation-tedious
 
 ## Supported Versions
 
-- [tedious](https://www.npmjs.com/package/tedious) `>=1.11.0 <19`
+- [tedious](https://www.npmjs.com/package/tedious) `>=1.11.0 <20`
 
 ## Usage
 
diff --git a/plugins/node/instrumentation-tedious/src/instrumentation.ts b/plugins/node/instrumentation-tedious/src/instrumentation.ts
index a1fcd25c4d..7313334193 100644
--- a/plugins/node/instrumentation-tedious/src/instrumentation.ts
+++ b/plugins/node/instrumentation-tedious/src/instrumentation.ts
@@ -78,7 +78,7 @@ export class TediousInstrumentation extends InstrumentationBase<TediousInstrumen
     return [
       new InstrumentationNodeModuleDefinition(
         TediousInstrumentation.COMPONENT,
-        ['>=1.11.0 <19'],
+        ['>=1.11.0 <20'],
         (moduleExports: typeof tedious) => {
           const ConnectionPrototype: any = moduleExports.Connection.prototype;
           for (const method of PATCHED_METHODS) {
diff --git a/plugins/node/instrumentation-tedious/test/instrumentation.test.ts b/plugins/node/instrumentation-tedious/test/instrumentation.test.ts
index ff9b8a5409..f9419cc4c6 100644
--- a/plugins/node/instrumentation-tedious/test/instrumentation.test.ts
+++ b/plugins/node/instrumentation-tedious/test/instrumentation.test.ts
@@ -79,7 +79,11 @@ const incompatVersions =
   (semver.lt(processVersion, '15.0.0') &&
     semver.gte(tediousVersion, '16.0.0')) ||
   // tedious@17 removed support for node v16 and v19 https://github.com/tediousjs/tedious/releases/tag/v17.0.0
-  (semver.lt(processVersion, '17.0.0') && semver.gte(tediousVersion, '17.0.0'));
+  (semver.lt(processVersion, '17.0.0') &&
+    semver.gte(tediousVersion, '17.0.0')) ||
+  // tedious@19 removed support for node <18.17.0 https://github.com/tediousjs/tedious/releases/tag/v19.0.0
+  (semver.lt(processVersion, '18.17.0') &&
+    semver.gte(tediousVersion, '19.0.0'));
 
 describe('tedious', () => {
   let tedious: any;

From d7a5bd45838f34bab45f4ba235093fa686032622 Mon Sep 17 00:00:00 2001
From: John <104479752@qq.com>
Date: Tue, 27 Aug 2024 18:31:51 +0800
Subject: [PATCH 092/123] fix(detectors): reduce diag level on detectors
 failing to detect (#2382)

* Squashed commit of the following:

commit 12890682884d14c8e7e6771373b3e1c854a26240
Author: John Li <john.li@fmr.com>
Date:   Tue Aug 6 13:54:15 2024 +0800

    fix: update detector log level

    Signed-off-by: John Li <john.li@fmr.com>

Signed-off-by: John Li <john.li@fmr.com>

* fix: reduce diag level on detectors

Signed-off-by: John Li <john.li@fmr.com>

---------

Signed-off-by: John Li <john.li@fmr.com>
---
 .../src/detectors/AwsEcsDetectorSync.ts                   | 2 +-
 .../src/detectors/AwsEksDetectorSync.ts                   | 8 ++++----
 .../src/detectors/ContainerDetector.ts                    | 4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetectorSync.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetectorSync.ts
index a89d46cb19..d45aa30c92 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetectorSync.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetectorSync.ts
@@ -137,7 +137,7 @@ export class AwsEcsDetectorSync implements DetectorSync {
         }
       }
     } catch (e) {
-      diag.warn('AwsEcsDetector failed to read container ID', e);
+      diag.debug('AwsEcsDetector failed to read container ID', e);
     }
 
     if (hostName || containerId) {
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetectorSync.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetectorSync.ts
index 9ac2b4345c..d9f326d041 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetectorSync.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetectorSync.ts
@@ -95,7 +95,7 @@ export class AwsEksDetectorSync implements DetectorSync {
             [SEMRESATTRS_CONTAINER_ID]: containerId || '',
           };
     } catch (e) {
-      diag.warn('Process is not running on K8S', e);
+      diag.debug('Process is not running on K8S', e);
       return {};
     }
   }
@@ -138,7 +138,7 @@ export class AwsEksDetectorSync implements DetectorSync {
     try {
       return JSON.parse(response).data['cluster.name'];
     } catch (e) {
-      diag.warn('Cannot get cluster name on EKS', e);
+      diag.debug('Cannot get cluster name on EKS', e);
     }
     return '';
   }
@@ -154,7 +154,7 @@ export class AwsEksDetectorSync implements DetectorSync {
       );
       return 'Bearer ' + content;
     } catch (e) {
-      diag.warn('Unable to read Kubernetes client token.', e);
+      diag.debug('Unable to read Kubernetes client token.', e);
     }
     return '';
   }
@@ -189,7 +189,7 @@ export class AwsEksDetectorSync implements DetectorSync {
         }
       }
     } catch (e: any) {
-      diag.warn(`AwsEksDetector failed to read container ID: ${e.message}`);
+      diag.debug(`AwsEksDetector failed to read container ID: ${e.message}`);
     }
     return undefined;
   }
diff --git a/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts b/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
index 8d92feda6c..3f0c346124 100644
--- a/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
@@ -62,7 +62,7 @@ export class ContainerDetector implements DetectorSync {
             [SEMRESATTRS_CONTAINER_ID]: containerId,
           };
     } catch (e) {
-      diag.info(
+      diag.debug(
         'Container Detector did not identify running inside a supported container, no container attributes will be added to resource: ',
         e
       );
@@ -128,7 +128,7 @@ export class ContainerDetector implements DetectorSync {
     } catch (e) {
       if (e instanceof Error) {
         const errorMessage = e.message;
-        diag.info(
+        diag.debug(
           'Container Detector failed to read the Container ID: ',
           errorMessage
         );

From 2105609ec5ba529fba0317c70f7d9d92f8ce4c8f Mon Sep 17 00:00:00 2001
From: Kaung Zin Hein <83657429+Zen-cronic@users.noreply.github.com>
Date: Tue, 27 Aug 2024 06:32:13 -0400
Subject: [PATCH 093/123] fix(instrumentation-generic-pool): update span name
 typo (#2405)

Should be 'generic-pool.acquire' instead of 'generic-pool.aquire'

Signed-off-by: Kaung Zin Hein <kaungzinhein113@gmail.com>
Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 .../src/instrumentation.ts                                    | 4 ++--
 .../test/index.test.ts                                        | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts
index 202fb2b411..d6787f9d46 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/src/instrumentation.ts
@@ -109,7 +109,7 @@ export class GenericPoolInstrumentation extends InstrumentationBase {
     ) {
       const parent = api.context.active();
       const span = instrumentation.tracer.startSpan(
-        'generic-pool.aquire',
+        'generic-pool.acquire',
         {},
         parent
       );
@@ -156,7 +156,7 @@ export class GenericPoolInstrumentation extends InstrumentationBase {
       }
       const parent = api.context.active();
       const span = instrumentation.tracer.startSpan(
-        'generic-pool.aquire',
+        'generic-pool.acquire',
         {},
         parent
       );
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/test/index.test.ts b/plugins/node/opentelemetry-instrumentation-generic-pool/test/index.test.ts
index d7453d204f..e2e634d4be 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/test/index.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/test/index.test.ts
@@ -94,7 +94,7 @@ describe('GenericPool instrumentation', () => {
     assert.strictEqual(await acquire(), CLIENT);
     const [span] = memoryExporter.getFinishedSpans();
     assert.strictEqual(memoryExporter.getFinishedSpans().length, 1);
-    assert.strictEqual(span.name, 'generic-pool.aquire');
+    assert.strictEqual(span.name, 'generic-pool.acquire');
   });
 
   it('should attach it to the parent span', async () => {
@@ -107,7 +107,7 @@ describe('GenericPool instrumentation', () => {
       assert.strictEqual(memoryExporter.getFinishedSpans().length, 2);
 
       const [span] = memoryExporter.getFinishedSpans();
-      assert.strictEqual(span.name, 'generic-pool.aquire');
+      assert.strictEqual(span.name, 'generic-pool.acquire');
       assert.strictEqual(span.parentSpanId, rootSpan.spanContext().spanId);
     });
   });

From 0f90b3d5c0b16903d23567eb724ce1edf9cf327d Mon Sep 17 00:00:00 2001
From: Aaron Abbott <aaronabbott@google.com>
Date: Tue, 27 Aug 2024 09:28:08 -0400
Subject: [PATCH 094/123] fix(auto-instrumentations-node): shutdown the SDK
 when the process exits normally (#2394)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 .../src/register.ts                           | 19 ++--
 .../test/register.test.ts                     | 98 ++++++++++++++-----
 .../test/test-app/app-server.js               | 38 +++++++
 3 files changed, 125 insertions(+), 30 deletions(-)
 create mode 100644 metapackages/auto-instrumentations-node/test/test-app/app-server.js

diff --git a/metapackages/auto-instrumentations-node/src/register.ts b/metapackages/auto-instrumentations-node/src/register.ts
index a14538da66..d47556f061 100644
--- a/metapackages/auto-instrumentations-node/src/register.ts
+++ b/metapackages/auto-instrumentations-node/src/register.ts
@@ -40,9 +40,16 @@ try {
   );
 }
 
-process.on('SIGTERM', () => {
-  sdk
-    .shutdown()
-    .then(() => diag.debug('OpenTelemetry SDK terminated'))
-    .catch(error => diag.error('Error terminating OpenTelemetry SDK', error));
-});
+async function shutdown(): Promise<void> {
+  try {
+    await sdk.shutdown();
+    diag.debug('OpenTelemetry SDK terminated');
+  } catch (error) {
+    diag.error('Error terminating OpenTelemetry SDK', error);
+  }
+}
+
+// Gracefully shutdown SDK if a SIGTERM is received
+process.on('SIGTERM', shutdown);
+// Gracefully shutdown SDK if Node.js is exiting normally
+process.once('beforeExit', shutdown);
diff --git a/metapackages/auto-instrumentations-node/test/register.test.ts b/metapackages/auto-instrumentations-node/test/register.test.ts
index 8476e0c340..2f952541db 100644
--- a/metapackages/auto-instrumentations-node/test/register.test.ts
+++ b/metapackages/auto-instrumentations-node/test/register.test.ts
@@ -14,42 +14,92 @@
  * limitations under the License.
  */
 
-import { spawnSync } from 'child_process';
+import { execFile, PromiseWithChild } from 'child_process';
 import * as assert from 'assert';
+import { promisify } from 'util';
+import { Readable } from 'stream';
 
-describe('Register', function () {
-  it('can load auto instrumentation from command line', () => {
-    const proc = spawnSync(
-      process.execPath,
-      ['--require', '../build/src/register.js', './test-app/app.js'],
-      {
-        cwd: __dirname,
-        timeout: 5000,
-        killSignal: 'SIGKILL', // SIGTERM is not sufficient to terminate some hangs
-        env: Object.assign({}, process.env, {
-          OTEL_NODE_RESOURCE_DETECTORS: 'none',
-          OTEL_TRACES_EXPORTER: 'console',
-          // nx (used by lerna run) defaults `FORCE_COLOR=true`, which in
-          // node v18.17.0, v20.3.0 and later results in ANSI color escapes
-          // in the ConsoleSpanExporter output that is checked below.
-          FORCE_COLOR: '0',
-        }),
+const execFilePromise = promisify(execFile);
+
+function runWithRegister(path: string): PromiseWithChild<{
+  stdout: string;
+  stderr: string;
+}> {
+  return execFilePromise(
+    process.execPath,
+    ['--require', '../build/src/register.js', path],
+    {
+      cwd: __dirname,
+      timeout: 1500,
+      killSignal: 'SIGKILL', // SIGTERM is not sufficient to terminate some hangs
+      env: Object.assign({}, process.env, {
+        OTEL_NODE_RESOURCE_DETECTORS: 'none',
+        OTEL_TRACES_EXPORTER: 'console',
+        OTEL_LOG_LEVEL: 'debug',
+        // nx (used by lerna run) defaults `FORCE_COLOR=true`, which in
+        // node v18.17.0, v20.3.0 and later results in ANSI color escapes
+        // in the ConsoleSpanExporter output that is checked below.
+        FORCE_COLOR: '0',
+      }),
+    }
+  );
+}
+
+function waitForString(stream: Readable, str: string): Promise<void> {
+  return new Promise((resolve, reject) => {
+    function check(chunk: Buffer): void {
+      if (chunk.includes(str)) {
+        resolve();
+        stream.off('data', check);
       }
+    }
+    stream.on('data', check);
+    stream.on('close', () =>
+      reject(`Stream closed without ever seeing "${str}"`)
+    );
+  });
+}
+
+describe('Register', function () {
+  it('can load auto instrumentation from command line', async () => {
+    const runPromise = runWithRegister('./test-app/app.js');
+    const { child } = runPromise;
+    const { stdout } = await runPromise;
+    assert.equal(child.exitCode, 0, `child.exitCode (${child.exitCode})`);
+    assert.equal(
+      child.signalCode,
+      null,
+      `child.signalCode (${child.signalCode})`
     );
-    assert.ifError(proc.error);
-    assert.equal(proc.status, 0, `proc.status (${proc.status})`);
-    assert.equal(proc.signal, null, `proc.signal (${proc.signal})`);
 
     assert.ok(
-      proc.stdout.includes(
+      stdout.includes(
         'OpenTelemetry automatic instrumentation started successfully'
       )
     );
 
+    assert.ok(
+      stdout.includes('OpenTelemetry SDK terminated'),
+      `Process output was missing message indicating successful shutdown, got stdout:\n${stdout}`
+    );
+
     // Check a span has been generated for the GET request done in app.js
+    assert.ok(stdout.includes("name: 'GET'"), 'console span output in stdout');
+  });
+
+  it('shuts down the NodeSDK when SIGTERM is received', async () => {
+    const runPromise = runWithRegister('./test-app/app-server.js');
+    const { child } = runPromise;
+    await waitForString(child.stdout!, 'Finshed request');
+    child.kill('SIGTERM');
+    const { stdout } = await runPromise;
+
     assert.ok(
-      proc.stdout.includes("name: 'GET'"),
-      'console span output in stdout'
+      stdout.includes('OpenTelemetry SDK terminated'),
+      `Process output was missing message indicating successful shutdown, got stdout:\n${stdout}`
     );
+
+    // Check a span has been generated for the GET request done in app.js
+    assert.ok(stdout.includes("name: 'GET'"), 'console span output in stdout');
   });
 });
diff --git a/metapackages/auto-instrumentations-node/test/test-app/app-server.js b/metapackages/auto-instrumentations-node/test/test-app/app-server.js
new file mode 100644
index 0000000000..489b4dfb7a
--- /dev/null
+++ b/metapackages/auto-instrumentations-node/test/test-app/app-server.js
@@ -0,0 +1,38 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//Used in register.test.ts to mimic a JS app that stays alive like a server.
+const http = require('http');
+
+const options = {
+  hostname: 'example.com',
+  port: 80,
+  path: '/',
+  method: 'GET',
+};
+
+const req = http.request(options);
+req.end();
+req.on('close', () => {
+  console.log('Finshed request');
+});
+
+// Make sure there is work on the event loop
+const handle = setInterval(() => {}, 1);
+// Gracefully shut down
+process.on('SIGTERM', () => {
+  clearInterval(handle);
+});

From 19454560b49b669c8f9c0cca9fcc3308b415f2b1 Mon Sep 17 00:00:00 2001
From: Daniel Dyla <dyladan@users.noreply.github.com>
Date: Tue, 27 Aug 2024 09:47:12 -0400
Subject: [PATCH 095/123] chore: release main (#2375)

* chore: release main

* chore: sync package-lock.json

---------

Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
---
 .release-please-manifest.json                 | 18 +++----
 .../CHANGELOG.md                              | 12 +++++
 .../package.json                              |  2 +-
 .../CHANGELOG.md                              |  7 +++
 .../package.json                              |  2 +-
 .../CHANGELOG.md                              | 17 +++++++
 .../package.json                              |  2 +-
 .../auto-instrumentations-node/CHANGELOG.md   | 21 ++++++++
 .../auto-instrumentations-node/package.json   | 18 +++----
 package-lock.json                             | 50 +++++++++----------
 .../instrumentation-mongoose/CHANGELOG.md     |  7 +++
 .../instrumentation-mongoose/package.json     |  2 +-
 .../node/instrumentation-tedious/CHANGELOG.md |  8 +++
 .../node/instrumentation-tedious/package.json |  2 +-
 .../node/instrumentation-undici/CHANGELOG.md  | 12 +++++
 .../node/instrumentation-undici/package.json  |  2 +-
 .../CHANGELOG.md                              |  7 +++
 .../package.json                              |  2 +-
 .../CHANGELOG.md                              |  7 +++
 .../package.json                              |  2 +-
 20 files changed, 149 insertions(+), 51 deletions(-)

diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index d17d841f61..dc7bdda780 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,13 +1,13 @@
 {
   "detectors/node/opentelemetry-resource-detector-alibaba-cloud": "0.29.0",
-  "detectors/node/opentelemetry-resource-detector-aws": "1.5.2",
-  "detectors/node/opentelemetry-resource-detector-azure": "0.2.9",
-  "detectors/node/opentelemetry-resource-detector-container": "0.3.11",
+  "detectors/node/opentelemetry-resource-detector-aws": "1.6.0",
+  "detectors/node/opentelemetry-resource-detector-azure": "0.2.10",
+  "detectors/node/opentelemetry-resource-detector-container": "0.4.0",
   "detectors/node/opentelemetry-resource-detector-gcp": "0.29.10",
   "detectors/node/opentelemetry-resource-detector-github": "0.29.0",
   "detectors/node/opentelemetry-resource-detector-instana": "0.11.0",
   "metapackages/auto-configuration-propagators": "0.2.0",
-  "metapackages/auto-instrumentations-node": "0.49.1",
+  "metapackages/auto-instrumentations-node": "0.49.2",
   "metapackages/auto-instrumentations-web": "0.40.0",
   "packages/baggage-span-processor": "0.3.1",
   "packages/opentelemetry-host-metrics": "0.35.3",
@@ -23,11 +23,11 @@
   "plugins/node/instrumentation-fs": "0.14.0",
   "plugins/node/instrumentation-kafkajs": "0.2.0",
   "plugins/node/instrumentation-lru-memoizer": "0.39.0",
-  "plugins/node/instrumentation-mongoose": "0.40.0",
+  "plugins/node/instrumentation-mongoose": "0.41.0",
   "plugins/node/instrumentation-runtime-node": "0.6.0",
   "plugins/node/instrumentation-socket.io": "0.41.0",
-  "plugins/node/instrumentation-tedious": "0.12.0",
-  "plugins/node/instrumentation-undici": "0.4.0",
+  "plugins/node/instrumentation-tedious": "0.13.0",
+  "plugins/node/instrumentation-undici": "0.5.0",
   "plugins/node/opentelemetry-instrumentation-aws-lambda": "0.43.0",
   "plugins/node/opentelemetry-instrumentation-aws-sdk": "0.43.1",
   "plugins/node/opentelemetry-instrumentation-bunyan": "0.40.0",
@@ -36,7 +36,7 @@
   "plugins/node/opentelemetry-instrumentation-dns": "0.38.0",
   "plugins/node/opentelemetry-instrumentation-express": "0.41.1",
   "plugins/node/opentelemetry-instrumentation-fastify": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-generic-pool": "0.38.0",
+  "plugins/node/opentelemetry-instrumentation-generic-pool": "0.38.1",
   "plugins/node/opentelemetry-instrumentation-graphql": "0.42.0",
   "plugins/node/opentelemetry-instrumentation-hapi": "0.40.0",
   "plugins/node/opentelemetry-instrumentation-ioredis": "0.42.0",
@@ -51,7 +51,7 @@
   "plugins/node/opentelemetry-instrumentation-pg": "0.43.0",
   "plugins/node/opentelemetry-instrumentation-pino": "0.41.0",
   "plugins/node/opentelemetry-instrumentation-redis": "0.41.0",
-  "plugins/node/opentelemetry-instrumentation-redis-4": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-redis-4": "0.41.1",
   "plugins/node/opentelemetry-instrumentation-restify": "0.40.0",
   "plugins/node/opentelemetry-instrumentation-router": "0.39.0",
   "plugins/node/opentelemetry-instrumentation-winston": "0.39.0",
diff --git a/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
index f09a23a4fa..bf4b66b094 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
@@ -1,5 +1,17 @@
 # Changelog
 
+## [1.6.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-aws-v1.5.2...resource-detector-aws-v1.6.0) (2024-08-27)
+
+
+### Features
+
+* **detector-aws:** add sync version for all detectors ([#2376](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2376)) ([167dced](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/167dced09de0d2104561542b4f83047fa656505f))
+
+
+### Bug Fixes
+
+* **detectors:** reduce diag level on detectors failing to detect ([#2382](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2382)) ([d7a5bd4](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/d7a5bd45838f34bab45f4ba235093fa686032622))
+
 ## [1.5.2](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-aws-v1.5.1...resource-detector-aws-v1.5.2) (2024-07-03)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-aws/package.json b/detectors/node/opentelemetry-resource-detector-aws/package.json
index a3d026ff9c..64d6b7b8bd 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/package.json
+++ b/detectors/node/opentelemetry-resource-detector-aws/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-aws",
-  "version": "1.5.2",
+  "version": "1.6.0",
   "description": "OpenTelemetry SDK resource detector for AWS",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
index a5c34216ff..96181c2a44 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.2.10](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-azure-v0.2.9...resource-detector-azure-v0.2.10) (2024-08-27)
+
+
+### Bug Fixes
+
+* **detector-azure:** suppress tracing for AzureVmDetector ([#2371](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2371)) ([5952127](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/595212739068c16c7ab9e407340983a0784efde6))
+
 ## [0.2.9](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-azure-v0.2.8...resource-detector-azure-v0.2.9) (2024-06-10)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-azure/package.json b/detectors/node/opentelemetry-resource-detector-azure/package.json
index a1d574a94e..aac32b7ae6 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/package.json
+++ b/detectors/node/opentelemetry-resource-detector-azure/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-azure",
-  "version": "0.2.9",
+  "version": "0.2.10",
   "description": "OpenTelemetry SDK resource detector for Azure",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
index 6ba1ceea56..a61c93bdbd 100644
--- a/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
@@ -1,5 +1,22 @@
 # Changelog
 
+## [0.4.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-container-v0.3.11...resource-detector-container-v0.4.0) (2024-08-27)
+
+
+### ⚠ BREAKING CHANGES
+
+* **detector-container:** change implementation to DetectorSync interface ([#2334](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2334))
+
+### Features
+
+* added prefix to look for containerid ([#2341](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2341)) ([1991aed](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/1991aed1e23a8def91d067e0ffaf75c2eee8c1b8))
+* **detector-container:** change implementation to DetectorSync interface ([#2334](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2334)) ([18a5731](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/18a5731a409551103bd8c9ed7bd02f2f59fe5536))
+
+
+### Bug Fixes
+
+* **detectors:** reduce diag level on detectors failing to detect ([#2382](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2382)) ([d7a5bd4](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/d7a5bd45838f34bab45f4ba235093fa686032622))
+
 ## [0.3.11](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-container-v0.3.10...resource-detector-container-v0.3.11) (2024-06-10)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-container/package.json b/detectors/node/opentelemetry-resource-detector-container/package.json
index 9b590e0b4e..45890eac0c 100644
--- a/detectors/node/opentelemetry-resource-detector-container/package.json
+++ b/detectors/node/opentelemetry-resource-detector-container/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-container",
-  "version": "0.3.11",
+  "version": "0.4.0",
   "description": "Opentelemetry resource detector to get container resource attributes",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/metapackages/auto-instrumentations-node/CHANGELOG.md b/metapackages/auto-instrumentations-node/CHANGELOG.md
index 80199825b3..6bb815c8e5 100644
--- a/metapackages/auto-instrumentations-node/CHANGELOG.md
+++ b/metapackages/auto-instrumentations-node/CHANGELOG.md
@@ -1,5 +1,26 @@
 # Changelog
 
+## [0.49.2](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.49.1...auto-instrumentations-node-v0.49.2) (2024-08-27)
+
+
+### Bug Fixes
+
+* **auto-instrumentations-node:** shutdown the SDK when the process exits normally ([#2394](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2394)) ([0f90b3d](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0f90b3d5c0b16903d23567eb724ce1edf9cf327d))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * dependencies
+    * @opentelemetry/instrumentation-generic-pool bumped from ^0.38.0 to ^0.38.1
+    * @opentelemetry/instrumentation-mongoose bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-redis-4 bumped from ^0.41.0 to ^0.41.1
+    * @opentelemetry/instrumentation-tedious bumped from ^0.12.0 to ^0.13.0
+    * @opentelemetry/instrumentation-undici bumped from ^0.4.0 to ^0.5.0
+    * @opentelemetry/resource-detector-aws bumped from ^1.5.2 to ^1.6.0
+    * @opentelemetry/resource-detector-azure bumped from ^0.2.9 to ^0.2.10
+    * @opentelemetry/resource-detector-container bumped from ^0.3.11 to ^0.4.0
+
 ## [0.49.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.49.0...auto-instrumentations-node-v0.49.1) (2024-08-05)
 
 
diff --git a/metapackages/auto-instrumentations-node/package.json b/metapackages/auto-instrumentations-node/package.json
index f3f27193b6..37b4fb086d 100644
--- a/metapackages/auto-instrumentations-node/package.json
+++ b/metapackages/auto-instrumentations-node/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/auto-instrumentations-node",
-  "version": "0.49.1",
+  "version": "0.49.2",
   "description": "Metapackage which bundles opentelemetry node core and contrib instrumentations",
   "author": "OpenTelemetry Authors",
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-instrumentations-node#readme",
@@ -62,7 +62,7 @@
     "@opentelemetry/instrumentation-express": "^0.41.1",
     "@opentelemetry/instrumentation-fastify": "^0.38.0",
     "@opentelemetry/instrumentation-fs": "^0.14.0",
-    "@opentelemetry/instrumentation-generic-pool": "^0.38.0",
+    "@opentelemetry/instrumentation-generic-pool": "^0.38.1",
     "@opentelemetry/instrumentation-graphql": "^0.42.0",
     "@opentelemetry/instrumentation-grpc": "^0.52.0",
     "@opentelemetry/instrumentation-hapi": "^0.40.0",
@@ -74,7 +74,7 @@
     "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
     "@opentelemetry/instrumentation-memcached": "^0.38.0",
     "@opentelemetry/instrumentation-mongodb": "^0.46.0",
-    "@opentelemetry/instrumentation-mongoose": "^0.40.0",
+    "@opentelemetry/instrumentation-mongoose": "^0.41.0",
     "@opentelemetry/instrumentation-mysql": "^0.40.0",
     "@opentelemetry/instrumentation-mysql2": "^0.40.0",
     "@opentelemetry/instrumentation-nestjs-core": "^0.39.0",
@@ -82,17 +82,17 @@
     "@opentelemetry/instrumentation-pg": "^0.43.0",
     "@opentelemetry/instrumentation-pino": "^0.41.0",
     "@opentelemetry/instrumentation-redis": "^0.41.0",
-    "@opentelemetry/instrumentation-redis-4": "^0.41.0",
+    "@opentelemetry/instrumentation-redis-4": "^0.41.1",
     "@opentelemetry/instrumentation-restify": "^0.40.0",
     "@opentelemetry/instrumentation-router": "^0.39.0",
     "@opentelemetry/instrumentation-socket.io": "^0.41.0",
-    "@opentelemetry/instrumentation-tedious": "^0.12.0",
-    "@opentelemetry/instrumentation-undici": "^0.4.0",
+    "@opentelemetry/instrumentation-tedious": "^0.13.0",
+    "@opentelemetry/instrumentation-undici": "^0.5.0",
     "@opentelemetry/instrumentation-winston": "^0.39.0",
     "@opentelemetry/resource-detector-alibaba-cloud": "^0.29.0",
-    "@opentelemetry/resource-detector-aws": "^1.5.2",
-    "@opentelemetry/resource-detector-azure": "^0.2.9",
-    "@opentelemetry/resource-detector-container": "^0.3.11",
+    "@opentelemetry/resource-detector-aws": "^1.6.0",
+    "@opentelemetry/resource-detector-azure": "^0.2.10",
+    "@opentelemetry/resource-detector-container": "^0.4.0",
     "@opentelemetry/resource-detector-gcp": "^0.29.10",
     "@opentelemetry/resources": "^1.24.0",
     "@opentelemetry/sdk-node": "^0.52.0"
diff --git a/package-lock.json b/package-lock.json
index 257cb45c88..e9d5dce8a8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -74,7 +74,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-aws": {
       "name": "@opentelemetry/resource-detector-aws",
-      "version": "1.5.2",
+      "version": "1.6.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
@@ -110,7 +110,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-azure": {
       "name": "@opentelemetry/resource-detector-azure",
-      "version": "0.2.9",
+      "version": "0.2.10",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.25.1",
@@ -145,7 +145,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-container": {
       "name": "@opentelemetry/resource-detector-container",
-      "version": "0.3.11",
+      "version": "0.4.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.10.0",
@@ -315,7 +315,7 @@
     },
     "metapackages/auto-instrumentations-node": {
       "name": "@opentelemetry/auto-instrumentations-node",
-      "version": "0.49.1",
+      "version": "0.49.2",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -331,7 +331,7 @@
         "@opentelemetry/instrumentation-express": "^0.41.1",
         "@opentelemetry/instrumentation-fastify": "^0.38.0",
         "@opentelemetry/instrumentation-fs": "^0.14.0",
-        "@opentelemetry/instrumentation-generic-pool": "^0.38.0",
+        "@opentelemetry/instrumentation-generic-pool": "^0.38.1",
         "@opentelemetry/instrumentation-graphql": "^0.42.0",
         "@opentelemetry/instrumentation-grpc": "^0.52.0",
         "@opentelemetry/instrumentation-hapi": "^0.40.0",
@@ -343,7 +343,7 @@
         "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
         "@opentelemetry/instrumentation-memcached": "^0.38.0",
         "@opentelemetry/instrumentation-mongodb": "^0.46.0",
-        "@opentelemetry/instrumentation-mongoose": "^0.40.0",
+        "@opentelemetry/instrumentation-mongoose": "^0.41.0",
         "@opentelemetry/instrumentation-mysql": "^0.40.0",
         "@opentelemetry/instrumentation-mysql2": "^0.40.0",
         "@opentelemetry/instrumentation-nestjs-core": "^0.39.0",
@@ -351,17 +351,17 @@
         "@opentelemetry/instrumentation-pg": "^0.43.0",
         "@opentelemetry/instrumentation-pino": "^0.41.0",
         "@opentelemetry/instrumentation-redis": "^0.41.0",
-        "@opentelemetry/instrumentation-redis-4": "^0.41.0",
+        "@opentelemetry/instrumentation-redis-4": "^0.41.1",
         "@opentelemetry/instrumentation-restify": "^0.40.0",
         "@opentelemetry/instrumentation-router": "^0.39.0",
         "@opentelemetry/instrumentation-socket.io": "^0.41.0",
-        "@opentelemetry/instrumentation-tedious": "^0.12.0",
-        "@opentelemetry/instrumentation-undici": "^0.4.0",
+        "@opentelemetry/instrumentation-tedious": "^0.13.0",
+        "@opentelemetry/instrumentation-undici": "^0.5.0",
         "@opentelemetry/instrumentation-winston": "^0.39.0",
         "@opentelemetry/resource-detector-alibaba-cloud": "^0.29.0",
-        "@opentelemetry/resource-detector-aws": "^1.5.2",
-        "@opentelemetry/resource-detector-azure": "^0.2.9",
-        "@opentelemetry/resource-detector-container": "^0.3.11",
+        "@opentelemetry/resource-detector-aws": "^1.6.0",
+        "@opentelemetry/resource-detector-azure": "^0.2.10",
+        "@opentelemetry/resource-detector-container": "^0.4.0",
         "@opentelemetry/resource-detector-gcp": "^0.29.10",
         "@opentelemetry/resources": "^1.24.0",
         "@opentelemetry/sdk-node": "^0.52.0"
@@ -37937,7 +37937,7 @@
     },
     "plugins/node/instrumentation-mongoose": {
       "name": "@opentelemetry/instrumentation-mongoose",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38263,7 +38263,7 @@
     },
     "plugins/node/instrumentation-tedious": {
       "name": "@opentelemetry/instrumentation-tedious",
-      "version": "0.12.0",
+      "version": "0.13.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -38464,7 +38464,7 @@
     },
     "plugins/node/instrumentation-undici": {
       "name": "@opentelemetry/instrumentation-undici",
-      "version": "0.4.0",
+      "version": "0.5.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38800,7 +38800,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-generic-pool": {
       "name": "@opentelemetry/instrumentation-generic-pool",
-      "version": "0.38.0",
+      "version": "0.38.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0"
@@ -39472,7 +39472,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-redis-4": {
       "name": "@opentelemetry/instrumentation-redis-4",
-      "version": "0.41.0",
+      "version": "0.41.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.52.0",
@@ -50090,7 +50090,7 @@
         "@opentelemetry/instrumentation-express": "^0.41.1",
         "@opentelemetry/instrumentation-fastify": "^0.38.0",
         "@opentelemetry/instrumentation-fs": "^0.14.0",
-        "@opentelemetry/instrumentation-generic-pool": "^0.38.0",
+        "@opentelemetry/instrumentation-generic-pool": "^0.38.1",
         "@opentelemetry/instrumentation-graphql": "^0.42.0",
         "@opentelemetry/instrumentation-grpc": "^0.52.0",
         "@opentelemetry/instrumentation-hapi": "^0.40.0",
@@ -50102,7 +50102,7 @@
         "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
         "@opentelemetry/instrumentation-memcached": "^0.38.0",
         "@opentelemetry/instrumentation-mongodb": "^0.46.0",
-        "@opentelemetry/instrumentation-mongoose": "^0.40.0",
+        "@opentelemetry/instrumentation-mongoose": "^0.41.0",
         "@opentelemetry/instrumentation-mysql": "^0.40.0",
         "@opentelemetry/instrumentation-mysql2": "^0.40.0",
         "@opentelemetry/instrumentation-nestjs-core": "^0.39.0",
@@ -50110,17 +50110,17 @@
         "@opentelemetry/instrumentation-pg": "^0.43.0",
         "@opentelemetry/instrumentation-pino": "^0.41.0",
         "@opentelemetry/instrumentation-redis": "^0.41.0",
-        "@opentelemetry/instrumentation-redis-4": "^0.41.0",
+        "@opentelemetry/instrumentation-redis-4": "^0.41.1",
         "@opentelemetry/instrumentation-restify": "^0.40.0",
         "@opentelemetry/instrumentation-router": "^0.39.0",
         "@opentelemetry/instrumentation-socket.io": "^0.41.0",
-        "@opentelemetry/instrumentation-tedious": "^0.12.0",
-        "@opentelemetry/instrumentation-undici": "^0.4.0",
+        "@opentelemetry/instrumentation-tedious": "^0.13.0",
+        "@opentelemetry/instrumentation-undici": "^0.5.0",
         "@opentelemetry/instrumentation-winston": "^0.39.0",
         "@opentelemetry/resource-detector-alibaba-cloud": "^0.29.0",
-        "@opentelemetry/resource-detector-aws": "^1.5.2",
-        "@opentelemetry/resource-detector-azure": "^0.2.9",
-        "@opentelemetry/resource-detector-container": "^0.3.11",
+        "@opentelemetry/resource-detector-aws": "^1.6.0",
+        "@opentelemetry/resource-detector-azure": "^0.2.10",
+        "@opentelemetry/resource-detector-container": "^0.4.0",
         "@opentelemetry/resource-detector-gcp": "^0.29.10",
         "@opentelemetry/resources": "^1.24.0",
         "@opentelemetry/sdk-node": "^0.52.0",
diff --git a/plugins/node/instrumentation-mongoose/CHANGELOG.md b/plugins/node/instrumentation-mongoose/CHANGELOG.md
index 54a89fccd7..81d3dacff0 100644
--- a/plugins/node/instrumentation-mongoose/CHANGELOG.md
+++ b/plugins/node/instrumentation-mongoose/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongoose-v0.40.0...instrumentation-mongoose-v0.41.0) (2024-08-27)
+
+
+### Features
+
+* **instrumentation-mongoose:** Support v7 and v8 ([#2353](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2353)) ([770130a](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/770130a7a41125dbf8a8c18b3384e5fcc370deef))
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongoose-v0.39.0...instrumentation-mongoose-v0.40.0) (2024-07-03)
 
 
diff --git a/plugins/node/instrumentation-mongoose/package.json b/plugins/node/instrumentation-mongoose/package.json
index a66d69abe7..d23196b227 100644
--- a/plugins/node/instrumentation-mongoose/package.json
+++ b/plugins/node/instrumentation-mongoose/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mongoose",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `mongoose` database object data modeling (ODM) library for MongoDB",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-tedious/CHANGELOG.md b/plugins/node/instrumentation-tedious/CHANGELOG.md
index fcd7a0fa8f..0f2c9231be 100644
--- a/plugins/node/instrumentation-tedious/CHANGELOG.md
+++ b/plugins/node/instrumentation-tedious/CHANGELOG.md
@@ -1,5 +1,13 @@
 # Changelog
 
+## [0.13.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-tedious-v0.12.0...instrumentation-tedious-v0.13.0) (2024-08-27)
+
+
+### Features
+
+* **instr-tedious:** support tedious@18 ([#2381](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2381)) ([0e9791a](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/0e9791ad7a812268cc3416448316a5f2adeb8f32)), closes [#2266](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2266)
+* **instr-tedious:** support tedious@19 ([#2401](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2401)) ([d30c85c](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/d30c85ce4fb42dcd8a0f15e79fae1a72bf7578bf)), closes [#2400](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2400)
+
 ## [0.12.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-tedious-v0.11.0...instrumentation-tedious-v0.12.0) (2024-07-03)
 
 
diff --git a/plugins/node/instrumentation-tedious/package.json b/plugins/node/instrumentation-tedious/package.json
index 6d4aac8b16..b4352dbf5d 100644
--- a/plugins/node/instrumentation-tedious/package.json
+++ b/plugins/node/instrumentation-tedious/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-tedious",
-  "version": "0.12.0",
+  "version": "0.13.0",
   "description": "OpenTelemetry instrumentation for `tedious` database client for Microsoft SQL Server",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-undici/CHANGELOG.md b/plugins/node/instrumentation-undici/CHANGELOG.md
index db89015398..a8b63ce213 100644
--- a/plugins/node/instrumentation-undici/CHANGELOG.md
+++ b/plugins/node/instrumentation-undici/CHANGELOG.md
@@ -1,5 +1,17 @@
 # Changelog
 
+## [0.5.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-undici-v0.4.0...instrumentation-undici-v0.5.0) (2024-08-27)
+
+
+### Features
+
+* **instrumentation-undici:** Add `responseHook` ([#2356](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2356)) ([60a99c9](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/60a99c98fd3a5594c7c2234184f06166b375e707))
+
+
+### Bug Fixes
+
+* **instr-undici:** fix issue with config in constructor ([#2395](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2395)) ([ca70bb9](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/ca70bb9c8cc8128bd202a8a9a29bb5c788ea5332))
+
 ## [0.4.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-undici-v0.3.0...instrumentation-undici-v0.4.0) (2024-07-03)
 
 
diff --git a/plugins/node/instrumentation-undici/package.json b/plugins/node/instrumentation-undici/package.json
index f190c64b91..ffc2442776 100644
--- a/plugins/node/instrumentation-undici/package.json
+++ b/plugins/node/instrumentation-undici/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-undici",
-  "version": "0.4.0",
+  "version": "0.5.0",
   "description": "OpenTelemetry instrumentation for `undici` http client and Node.js fetch()",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md
index 78023b8da0..43b06c973c 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.38.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-generic-pool-v0.38.0...instrumentation-generic-pool-v0.38.1) (2024-08-27)
+
+
+### Bug Fixes
+
+* **instrumentation-generic-pool:** update span name typo ([#2405](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2405)) ([2105609](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/2105609ec5ba529fba0317c70f7d9d92f8ce4c8f))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-generic-pool-v0.37.0...instrumentation-generic-pool-v0.38.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
index e2fea54b42..faaecfe5a2 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-generic-pool",
-  "version": "0.38.0",
+  "version": "0.38.1",
   "description": "OpenTelemetry instrumentation for `generic-pool` resource pool for managing expensive resources",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
index b1d8889179..1661f8ee2a 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.41.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-4-v0.41.0...instrumentation-redis-4-v0.41.1) (2024-08-27)
+
+
+### Bug Fixes
+
+* **instrumentation-redis-4:** avoid crash from incorrect this._diag ref ([#2397](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2397)) ([de7a6cb](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/de7a6cb77e643ed0de82e514510089fba5ae0405)), closes [#2389](https://github.com/open-telemetry/opentelemetry-js-contrib/issues/2389)
+
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-4-v0.40.0...instrumentation-redis-4-v0.41.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/package.json b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
index 25761be4a0..b1ac88e7a6 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-redis-4",
-  "version": "0.41.0",
+  "version": "0.41.1",
   "description": "OpenTelemetry instrumentation for `redis` v4 database client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",

From 9fa058ebb919de4e2a4e1af95b3c792c6ea962ac Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Fri, 30 Aug 2024 12:55:19 +0200
Subject: [PATCH 096/123] chore(deps): update deps matching "@opentelemetry/"
 (#2408)

---
 .../package.json                              |    2 +-
 .../package.json                              |    4 +-
 .../auto-instrumentations-node/package.json   |    8 +-
 .../auto-instrumentations-web/package.json    |    6 +-
 package-lock.json                             | 1087 +++++++++--------
 .../opentelemetry-test-utils/package.json     |    4 +-
 .../src/test-fixtures.ts                      |    9 +
 packages/winston-transport/package.json       |    2 +-
 .../node/instrumentation-amqplib/package.json |    2 +-
 .../instrumentation-cucumber/package.json     |    2 +-
 .../instrumentation-dataloader/package.json   |    2 +-
 plugins/node/instrumentation-fs/package.json  |    2 +-
 .../node/instrumentation-kafkajs/package.json |    2 +-
 .../instrumentation-lru-memoizer/package.json |    2 +-
 .../instrumentation-mongoose/package.json     |    2 +-
 .../instrumentation-runtime-node/package.json |    2 +-
 .../instrumentation-socket.io/package.json    |    2 +-
 .../node/instrumentation-tedious/package.json |    2 +-
 .../node/instrumentation-undici/package.json  |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    6 +-
 .../src/instrumentation.ts                    |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../test/express.test.ts                      |  148 +--
 .../package.json                              |    4 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    4 +-
 .../test/koa.test.ts                          |   18 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    4 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    4 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    4 +-
 .../package.json                              |    2 +-
 53 files changed, 764 insertions(+), 624 deletions(-)

diff --git a/detectors/node/opentelemetry-resource-detector-instana/package.json b/detectors/node/opentelemetry-resource-detector-instana/package.json
index 860b8a51a0..945647e17c 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/package.json
+++ b/detectors/node/opentelemetry-resource-detector-instana/package.json
@@ -39,7 +39,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/contrib-test-utils": "^0.40.0",
-    "@opentelemetry/sdk-node": "^0.52.0",
+    "@opentelemetry/sdk-node": "^0.53.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "@types/semver": "7.5.8",
diff --git a/metapackages/auto-configuration-propagators/package.json b/metapackages/auto-configuration-propagators/package.json
index 9a2d66007a..91d087855e 100644
--- a/metapackages/auto-configuration-propagators/package.json
+++ b/metapackages/auto-configuration-propagators/package.json
@@ -46,10 +46,10 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.25.1",
+    "@opentelemetry/propagator-aws-xray": "^1.25.1",
+    "@opentelemetry/propagator-aws-xray-lambda": "^0.53.0",
     "@opentelemetry/propagator-b3": "^1.25.1",
     "@opentelemetry/propagator-jaeger": "^1.25.1",
-    "@opentelemetry/propagator-aws-xray": "^1.25.1",
-    "@opentelemetry/propagator-aws-xray-lambda": "^0.52.1",
     "@opentelemetry/propagator-ot-trace": "^0.27.2"
   },
   "files": [
diff --git a/metapackages/auto-instrumentations-node/package.json b/metapackages/auto-instrumentations-node/package.json
index 37b4fb086d..01b4e5eb4c 100644
--- a/metapackages/auto-instrumentations-node/package.json
+++ b/metapackages/auto-instrumentations-node/package.json
@@ -49,7 +49,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/instrumentation-amqplib": "^0.41.0",
     "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
     "@opentelemetry/instrumentation-aws-sdk": "^0.43.1",
@@ -64,9 +64,9 @@
     "@opentelemetry/instrumentation-fs": "^0.14.0",
     "@opentelemetry/instrumentation-generic-pool": "^0.38.1",
     "@opentelemetry/instrumentation-graphql": "^0.42.0",
-    "@opentelemetry/instrumentation-grpc": "^0.52.0",
+    "@opentelemetry/instrumentation-grpc": "^0.53.0",
     "@opentelemetry/instrumentation-hapi": "^0.40.0",
-    "@opentelemetry/instrumentation-http": "^0.52.0",
+    "@opentelemetry/instrumentation-http": "^0.53.0",
     "@opentelemetry/instrumentation-ioredis": "^0.42.0",
     "@opentelemetry/instrumentation-kafkajs": "^0.2.0",
     "@opentelemetry/instrumentation-knex": "^0.39.0",
@@ -95,7 +95,7 @@
     "@opentelemetry/resource-detector-container": "^0.4.0",
     "@opentelemetry/resource-detector-gcp": "^0.29.10",
     "@opentelemetry/resources": "^1.24.0",
-    "@opentelemetry/sdk-node": "^0.52.0"
+    "@opentelemetry/sdk-node": "^0.53.0"
   },
   "files": [
     "build/src/**/*.js",
diff --git a/metapackages/auto-instrumentations-web/package.json b/metapackages/auto-instrumentations-web/package.json
index d7a6743167..134a54872c 100644
--- a/metapackages/auto-instrumentations-web/package.json
+++ b/metapackages/auto-instrumentations-web/package.json
@@ -64,11 +64,11 @@
     "webpack-merge": "5.10.0"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/instrumentation-document-load": "^0.39.0",
-    "@opentelemetry/instrumentation-fetch": "^0.52.0",
+    "@opentelemetry/instrumentation-fetch": "^0.53.0",
     "@opentelemetry/instrumentation-user-interaction": "^0.39.0",
-    "@opentelemetry/instrumentation-xml-http-request": "^0.52.0"
+    "@opentelemetry/instrumentation-xml-http-request": "^0.53.0"
   },
   "files": [
     "build/src/**/*.js",
diff --git a/package-lock.json b/package-lock.json
index e9d5dce8a8..ed8d81b322 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -258,7 +258,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/sdk-node": "^0.52.0",
+        "@opentelemetry/sdk-node": "^0.53.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/semver": "7.5.8",
@@ -289,7 +289,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.25.1",
         "@opentelemetry/propagator-aws-xray": "^1.25.1",
-        "@opentelemetry/propagator-aws-xray-lambda": "^0.52.1",
+        "@opentelemetry/propagator-aws-xray-lambda": "^0.53.0",
         "@opentelemetry/propagator-b3": "^1.25.1",
         "@opentelemetry/propagator-jaeger": "^1.25.1",
         "@opentelemetry/propagator-ot-trace": "^0.27.2"
@@ -318,7 +318,7 @@
       "version": "0.49.2",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/instrumentation-amqplib": "^0.41.0",
         "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
         "@opentelemetry/instrumentation-aws-sdk": "^0.43.1",
@@ -333,9 +333,9 @@
         "@opentelemetry/instrumentation-fs": "^0.14.0",
         "@opentelemetry/instrumentation-generic-pool": "^0.38.1",
         "@opentelemetry/instrumentation-graphql": "^0.42.0",
-        "@opentelemetry/instrumentation-grpc": "^0.52.0",
+        "@opentelemetry/instrumentation-grpc": "^0.53.0",
         "@opentelemetry/instrumentation-hapi": "^0.40.0",
-        "@opentelemetry/instrumentation-http": "^0.52.0",
+        "@opentelemetry/instrumentation-http": "^0.53.0",
         "@opentelemetry/instrumentation-ioredis": "^0.42.0",
         "@opentelemetry/instrumentation-kafkajs": "^0.2.0",
         "@opentelemetry/instrumentation-knex": "^0.39.0",
@@ -364,7 +364,7 @@
         "@opentelemetry/resource-detector-container": "^0.4.0",
         "@opentelemetry/resource-detector-gcp": "^0.29.10",
         "@opentelemetry/resources": "^1.24.0",
-        "@opentelemetry/sdk-node": "^0.52.0"
+        "@opentelemetry/sdk-node": "^0.53.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.4.1",
@@ -390,11 +390,11 @@
       "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/instrumentation-document-load": "^0.39.0",
-        "@opentelemetry/instrumentation-fetch": "^0.52.0",
+        "@opentelemetry/instrumentation-fetch": "^0.53.0",
         "@opentelemetry/instrumentation-user-interaction": "^0.39.0",
-        "@opentelemetry/instrumentation-xml-http-request": "^0.52.0"
+        "@opentelemetry/instrumentation-xml-http-request": "^0.53.0"
       },
       "devDependencies": {
         "@babel/core": "7.24.6",
@@ -10241,9 +10241,9 @@
       }
     },
     "node_modules/@opentelemetry/api-logs": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.1.tgz",
-      "integrity": "sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.53.0.tgz",
+      "integrity": "sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw==",
       "dependencies": {
         "@opentelemetry/api": "^1.0.0"
       },
@@ -10268,9 +10268,9 @@
       "link": true
     },
     "node_modules/@opentelemetry/context-async-hooks": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.1.tgz",
-      "integrity": "sha512-UW/ge9zjvAEmRWVapOP0qyCvPulWU6cQxGxDbWEFfGOj1VBBZAuOqTo3X6yWmDTD3Xe15ysCZChHncr2xFMIfQ==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.26.0.tgz",
+      "integrity": "sha512-HedpXXYzzbaoutw6DFLWLDket2FwLkLpil4hGCZ1xYEIMTcivdfwEOISgdbLEWyG3HW52gTq2V9mOVJrONgiwg==",
       "engines": {
         "node": ">=14"
       },
@@ -10279,11 +10279,11 @@
       }
     },
     "node_modules/@opentelemetry/context-zone": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.25.1.tgz",
-      "integrity": "sha512-kHbMs95mKNJPpfd1LE1/IRxUw5D1fyTOM+0R1yDOOzffs9ZZsQqgQ1Q7q0bWZ/kVLWjL43fiALe+rPtQvRShdg==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.26.0.tgz",
+      "integrity": "sha512-ckBEUKo7jZnZ2jARcntv365413cTe9Ra7uMQWvdk10K3tWOUsLnBG8dSMRbkaA+XL9hWGrZ1MMI8UXrwnbp0FA==",
       "dependencies": {
-        "@opentelemetry/context-zone-peer-dep": "1.25.1",
+        "@opentelemetry/context-zone-peer-dep": "1.26.0",
         "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0"
       },
       "engines": {
@@ -10291,9 +10291,9 @@
       }
     },
     "node_modules/@opentelemetry/context-zone-peer-dep": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.25.1.tgz",
-      "integrity": "sha512-UxSY9K90xOg2eI7qZStx0HV6DZT6tcRX+IiAWTvROi6h9Td2c2vlQhBZ9F1JH7kINmNCZN1f1//O9rSioPEMlg==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.26.0.tgz",
+      "integrity": "sha512-Mgdy0WsHR52h5AnN2nhZJrelDK6unOFr8aSn3ToETk6DLSOijayOi0M0SZM72qhWr7iFrJ1oxGEIK8uzVaSC8Q==",
       "engines": {
         "node": ">=14"
       },
@@ -10307,11 +10307,12 @@
       "link": true
     },
     "node_modules/@opentelemetry/core": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.1.tgz",
-      "integrity": "sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.26.0.tgz",
+      "integrity": "sha512-1iKxXXE8415Cdv0yjG3G6hQnB5eVEsJce3QaawX8SjDn0mAS0ZM8fAbZZJD4ajvhC15cePvosSCut404KrIIvQ==",
+      "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/semantic-conventions": "1.27.0"
       },
       "engines": {
         "node": ">=14"
@@ -10321,13 +10322,13 @@
       }
     },
     "node_modules/@opentelemetry/exporter-jaeger": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.25.1.tgz",
-      "integrity": "sha512-6/HwzrwUx0fpkFXrouF0IJp+hpN8xkx8RqEk+BZfeoMAHydpyigyYsKyAtAZRwfJe45WWJbJUqoK8aBjiC9iLQ==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.26.0.tgz",
+      "integrity": "sha512-l5NMFwFr5NWWRNcURUS8/RdkBmR3+dPGE33f51XfamKXsEfZUkRC8V1L2D7hzKhXxcFmYLcprg4/sYpeKtYoAQ==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0",
         "jaeger-client": "^3.15.0"
       },
       "engines": {
@@ -10337,17 +10338,73 @@
         "@opentelemetry/api": "^1.0.0"
       }
     },
+    "node_modules/@opentelemetry/exporter-logs-otlp-grpc": {
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-grpc/-/exporter-logs-otlp-grpc-0.53.0.tgz",
+      "integrity": "sha512-x5ygAQgWAQOI+UOhyV3z9eW7QU2dCfnfOuIBiyYmC2AWr74f6x/3JBnP27IAcEx6aihpqBYWKnpoUTztkVPAZw==",
+      "dependencies": {
+        "@grpc/grpc-js": "^1.7.1",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-grpc-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0",
+        "@opentelemetry/sdk-logs": "0.53.0"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
+      }
+    },
+    "node_modules/@opentelemetry/exporter-logs-otlp-http": {
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.53.0.tgz",
+      "integrity": "sha512-cSRKgD/n8rb+Yd+Cif6EnHEL/VZg1o8lEcEwFji1lwene6BdH51Zh3feAD9p2TyVoBKrl6Q9Zm2WltSp2k9gWQ==",
+      "dependencies": {
+        "@opentelemetry/api-logs": "0.53.0",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0",
+        "@opentelemetry/sdk-logs": "0.53.0"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
+      }
+    },
+    "node_modules/@opentelemetry/exporter-logs-otlp-proto": {
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-proto/-/exporter-logs-otlp-proto-0.53.0.tgz",
+      "integrity": "sha512-jhEcVL1deeWNmTUP05UZMriZPSWUBcfg94ng7JuBb1q2NExgnADQFl1VQQ+xo62/JepK+MxQe4xAwlsDQFbISA==",
+      "dependencies": {
+        "@opentelemetry/api-logs": "0.53.0",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-logs": "0.53.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "peerDependencies": {
+        "@opentelemetry/api": "^1.0.0"
+      }
+    },
     "node_modules/@opentelemetry/exporter-trace-otlp-grpc": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.52.1.tgz",
-      "integrity": "sha512-pVkSH20crBwMTqB3nIN4jpQKUEoB0Z94drIHpYyEqs7UBr+I0cpYyOR3bqjA/UasQUMROb3GX8ZX4/9cVRqGBQ==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.53.0.tgz",
+      "integrity": "sha512-m6KSh6OBDwfDjpzPVbuJbMgMbkoZfpxYH2r262KckgX9cMYvooWXEKzlJYsNDC6ADr28A1rtRoUVRwNfIN4tUg==",
       "dependencies": {
         "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/otlp-grpc-exporter-base": "0.52.1",
-        "@opentelemetry/otlp-transformer": "0.52.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-grpc-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0"
       },
       "engines": {
         "node": ">=14"
@@ -10357,15 +10414,15 @@
       }
     },
     "node_modules/@opentelemetry/exporter-trace-otlp-http": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.52.1.tgz",
-      "integrity": "sha512-05HcNizx0BxcFKKnS5rwOV+2GevLTVIRA0tRgWYyw4yCgR53Ic/xk83toYKts7kbzcI+dswInUg/4s8oyA+tqg==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.53.0.tgz",
+      "integrity": "sha512-m7F5ZTq+V9mKGWYpX8EnZ7NjoqAU7VemQ1E2HAG+W/u0wpY1x0OmbxAXfGKFHCspdJk8UKlwPGrpcB8nay3P8A==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/otlp-exporter-base": "0.52.1",
-        "@opentelemetry/otlp-transformer": "0.52.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0"
       },
       "engines": {
         "node": ">=14"
@@ -10375,15 +10432,15 @@
       }
     },
     "node_modules/@opentelemetry/exporter-trace-otlp-proto": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.52.1.tgz",
-      "integrity": "sha512-pt6uX0noTQReHXNeEslQv7x311/F1gJzMnp1HD2qgypLRPbXDeMzzeTngRTUaUbP6hqWNtPxuLr4DEoZG+TcEQ==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.53.0.tgz",
+      "integrity": "sha512-T/bdXslwRKj23S96qbvGtaYOdfyew3TjPEKOk5mHjkCmkVl1O9C/YMdejwSsdLdOq2YW30KjR9kVi0YMxZushQ==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/otlp-exporter-base": "0.52.1",
-        "@opentelemetry/otlp-transformer": "0.52.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0"
       },
       "engines": {
         "node": ">=14"
@@ -10393,14 +10450,14 @@
       }
     },
     "node_modules/@opentelemetry/exporter-zipkin": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.25.1.tgz",
-      "integrity": "sha512-RmOwSvkimg7ETwJbUOPTMhJm9A9bG1U8s7Zo3ajDh4zM7eYcycQ0dM7FbLD6NXWbI2yj7UY4q8BKinKYBQksyw==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.26.0.tgz",
+      "integrity": "sha512-PW5R34n3SJHO4t0UetyHKiXL6LixIqWN6lWncg3eRXhKuT30x+b7m5sDJS0kEWRfHeS+kG7uCw2vBzmB2lk3Dw==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       },
       "engines": {
         "node": ">=14"
@@ -10418,12 +10475,12 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz",
-      "integrity": "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.53.0.tgz",
+      "integrity": "sha512-DMwg0hy4wzf7K73JJtl95m/e0boSoWhH07rfvHvYzQtBD3Bmv0Wc1x733vyZBqmFm8OjJD0/pfiUg1W3JjFX0A==",
       "dependencies": {
-        "@opentelemetry/api-logs": "0.52.1",
-        "@types/shimmer": "^1.0.2",
+        "@opentelemetry/api-logs": "0.53.0",
+        "@types/shimmer": "^1.2.0",
         "import-in-the-middle": "^1.8.1",
         "require-in-the-middle": "^7.1.1",
         "semver": "^7.5.2",
@@ -10485,14 +10542,14 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation-fetch": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.52.1.tgz",
-      "integrity": "sha512-EJDQXdv1ZGyBifox+8BK+hP0tg29abNPdScE+lW77bUVrThD5vn2dOo+blAS3Z8Od+eqTUTDzXVDIFjGgTK01w==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.53.0.tgz",
+      "integrity": "sha512-Sayp/Oypr0lyTgOKide/Dz4ovqDWPdmazapCMyfsVpXpV9zrH2kbdO2vAKUMx9vF98vxsqcxXucf4z54WXWZ8A==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/instrumentation": "0.52.1",
-        "@opentelemetry/sdk-trace-web": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/instrumentation": "0.53.0",
+        "@opentelemetry/sdk-trace-web": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       },
       "engines": {
         "node": ">=14"
@@ -10514,12 +10571,12 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation-grpc": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.1.tgz",
-      "integrity": "sha512-EdSDiDSAO+XRXk/ZN128qQpBo1I51+Uay/LUPcPQhSRGf7fBPIEUBeOLQiItguGsug5MGOYjql2w/1wCQF3fdQ==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.53.0.tgz",
+      "integrity": "sha512-Ss338T92yE1UCgr9zXSY3cPuaAy27uQw+wAC5IwsQKCXL5wwkiOgkd+2Ngksa9EGsgUEMwGeHi76bDdHFJ5Rrw==",
       "dependencies": {
-        "@opentelemetry/instrumentation": "0.52.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/instrumentation": "0.53.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       },
       "engines": {
         "node": ">=14"
@@ -10533,13 +10590,13 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation-http": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.52.1.tgz",
-      "integrity": "sha512-dG/aevWhaP+7OLv4BQQSEKMJv8GyeOp3Wxl31NHqE8xo9/fYMfEljiZphUHIfyg4gnZ9swMyWjfOQs5GUQe54Q==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.53.0.tgz",
+      "integrity": "sha512-H74ErMeDuZfj7KgYCTOFGWF5W9AfaPnqLQQxeFq85+D29wwV2yqHbz2IKLYpkOh7EI6QwDEl7rZCIxjJLyc/CQ==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/instrumentation": "0.52.1",
-        "@opentelemetry/semantic-conventions": "1.25.1",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/instrumentation": "0.53.0",
+        "@opentelemetry/semantic-conventions": "1.27.0",
         "semver": "^7.5.2"
       },
       "engines": {
@@ -10650,14 +10707,14 @@
       "link": true
     },
     "node_modules/@opentelemetry/instrumentation-xml-http-request": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.52.1.tgz",
-      "integrity": "sha512-4a7WpbN+prdyIxoTqCA3m+ZuqQVrksWWeOP5iEyof9yrzEY1NJgM+plrPrzb5nn7U5T7RGkkpvaTPm08qfFu7w==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.53.0.tgz",
+      "integrity": "sha512-vkALs8zdEUU3GnGvq1rzP0RK3+Fsk2jyzY6X/a+ibbo/miCmmeQNHX+fBRNs/3Offquj19M0qD+olNU9CJloqg==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/instrumentation": "0.52.1",
-        "@opentelemetry/sdk-trace-web": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/instrumentation": "0.53.0",
+        "@opentelemetry/sdk-trace-web": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       },
       "engines": {
         "node": ">=14"
@@ -10666,13 +10723,18 @@
         "@opentelemetry/api": "^1.0.0"
       }
     },
+    "node_modules/@opentelemetry/instrumentation/node_modules/@types/shimmer": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.2.0.tgz",
+      "integrity": "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg=="
+    },
     "node_modules/@opentelemetry/otlp-exporter-base": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.52.1.tgz",
-      "integrity": "sha512-z175NXOtX5ihdlshtYBe5RpGeBoTXVCKPPLiQlD6FHvpM4Ch+p2B0yWKYSrBfLH24H9zjJiBdTrtD+hLlfnXEQ==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.53.0.tgz",
+      "integrity": "sha512-UCWPreGQEhD6FjBaeDuXhiMf6kkBODF0ZQzrk/tuQcaVDJ+dDQ/xhJp192H9yWnKxVpEjFrSSLnpqmX4VwX+eA==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/otlp-transformer": "0.52.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-transformer": "0.53.0"
       },
       "engines": {
         "node": ">=14"
@@ -10682,14 +10744,14 @@
       }
     },
     "node_modules/@opentelemetry/otlp-grpc-exporter-base": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.52.1.tgz",
-      "integrity": "sha512-zo/YrSDmKMjG+vPeA9aBBrsQM9Q/f2zo6N04WMB3yNldJRsgpRBeLLwvAt/Ba7dpehDLOEFBd1i2JCoaFtpCoQ==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.53.0.tgz",
+      "integrity": "sha512-F7RCN8VN+lzSa4fGjewit8Z5fEUpY/lmMVy5EWn2ZpbAabg3EE3sCLuTNfOiooNGnmvzimUPruoeqeko/5/TzQ==",
       "dependencies": {
         "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/otlp-exporter-base": "0.52.1",
-        "@opentelemetry/otlp-transformer": "0.52.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0"
       },
       "engines": {
         "node": ">=14"
@@ -10699,23 +10761,23 @@
       }
     },
     "node_modules/@opentelemetry/otlp-transformer": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.1.tgz",
-      "integrity": "sha512-I88uCZSZZtVa0XniRqQWKbjAUm73I8tpEy/uJYPPYw5d7BRdVk0RfTBQw8kSUl01oVWEuqxLDa802222MYyWHg==",
-      "dependencies": {
-        "@opentelemetry/api-logs": "0.52.1",
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/sdk-logs": "0.52.1",
-        "@opentelemetry/sdk-metrics": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.53.0.tgz",
+      "integrity": "sha512-rM0sDA9HD8dluwuBxLetUmoqGJKSAbWenwD65KY9iZhUxdBHRLrIdrABfNDP7aiTjcgK8XFyTn5fhDz7N+W6DA==",
+      "dependencies": {
+        "@opentelemetry/api-logs": "0.53.0",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-logs": "0.53.0",
+        "@opentelemetry/sdk-metrics": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0",
         "protobufjs": "^7.3.0"
       },
       "engines": {
         "node": ">=14"
       },
       "peerDependencies": {
-        "@opentelemetry/api": ">=1.3.0 <1.10.0"
+        "@opentelemetry/api": "^1.3.0"
       }
     },
     "node_modules/@opentelemetry/plugin-react-load": {
@@ -10727,11 +10789,11 @@
       "link": true
     },
     "node_modules/@opentelemetry/propagator-aws-xray": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.25.1.tgz",
-      "integrity": "sha512-soZQdO9EAROMwa9bL2C0VLadbrfRjSA9t7g6X8sL0X1B8V59pzOayYMyTW9qTECn9uuJV98A7qOnJm6KH6yk8w==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.26.0.tgz",
+      "integrity": "sha512-Sex+JyEZ/xX328TArBqQjh1NZSfNyw5NdASUIi9hnPsnMBMSBaDe7B9JRnXv0swz7niNyAnXa6MY7yOCV76EvA==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1"
+        "@opentelemetry/core": "1.26.0"
       },
       "engines": {
         "node": ">=14"
@@ -10741,11 +10803,11 @@
       }
     },
     "node_modules/@opentelemetry/propagator-aws-xray-lambda": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray-lambda/-/propagator-aws-xray-lambda-0.52.1.tgz",
-      "integrity": "sha512-LBAu/1SRVuWrsWTzqUxZmzWinsS76UH/qApgYjmaN6Q8RcObXeZOmR0+FLSwkRX7OLGhLLQKiu3CQmlgXbpNCw==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray-lambda/-/propagator-aws-xray-lambda-0.53.0.tgz",
+      "integrity": "sha512-B0+Cob9nmT49AjgMXCXn+bvvA/TsQ+vjc1tx3y7oXgq/VwJAFIq7NBoWZHMArtcC4yt3gXpUd/CRN6LzUa0ORA==",
       "dependencies": {
-        "@opentelemetry/propagator-aws-xray": "1.25.1"
+        "@opentelemetry/propagator-aws-xray": "1.26.0"
       },
       "engines": {
         "node": ">=14"
@@ -10755,11 +10817,12 @@
       }
     },
     "node_modules/@opentelemetry/propagator-b3": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.1.tgz",
-      "integrity": "sha512-p6HFscpjrv7//kE+7L+3Vn00VEDUJB0n6ZrjkTYHrJ58QZ8B3ajSJhRbCcY6guQ3PDjTbxWklyvIN2ojVbIb1A==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.26.0.tgz",
+      "integrity": "sha512-vvVkQLQ/lGGyEy9GT8uFnI047pajSOVnZI2poJqVGD3nJ+B9sFGdlHNnQKophE3lHfnIH0pw2ubrCTjZCgIj+Q==",
+      "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1"
+        "@opentelemetry/core": "1.26.0"
       },
       "engines": {
         "node": ">=14"
@@ -10773,11 +10836,11 @@
       "link": true
     },
     "node_modules/@opentelemetry/propagator-jaeger": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.1.tgz",
-      "integrity": "sha512-nBprRf0+jlgxks78G/xq72PipVK+4or9Ypntw0gVZYNTCSK8rg5SeaGV19tV920CMqBD/9UIOiFr23Li/Q8tiA==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.26.0.tgz",
+      "integrity": "sha512-DelFGkCdaxA1C/QA0Xilszfr0t4YbGd3DjxiCDPh34lfnFr+VkkrjV9S8ZTJvAzfdKERXhfOxIKBoGPJwoSz7Q==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1"
+        "@opentelemetry/core": "1.26.0"
       },
       "engines": {
         "node": ">=14"
@@ -10823,12 +10886,12 @@
       "link": true
     },
     "node_modules/@opentelemetry/resources": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.1.tgz",
-      "integrity": "sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.26.0.tgz",
+      "integrity": "sha512-CPNYchBE7MBecCSVy0HKpUISEeJOniWqcHaAHpmasZ3j9o6V3AyBzhRc90jdmemq0HOxDr6ylhUbDhBqqPpeNw==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       },
       "engines": {
         "node": ">=14"
@@ -10838,13 +10901,13 @@
       }
     },
     "node_modules/@opentelemetry/sdk-logs": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.1.tgz",
-      "integrity": "sha512-MBYh+WcPPsN8YpRHRmK1Hsca9pVlyyKd4BxOC4SsgHACnl/bPp4Cri9hWhVm5+2tiQ9Zf4qSc1Jshw9tOLGWQA==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.53.0.tgz",
+      "integrity": "sha512-dhSisnEgIj/vJZXZV6f6KcTnyLDx/VuQ6l3ejuZpMpPlh9S1qMHiZU9NMmOkVkwwHkMy3G6mEBwdP23vUZVr4g==",
       "dependencies": {
-        "@opentelemetry/api-logs": "0.52.1",
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/resources": "1.25.1"
+        "@opentelemetry/api-logs": "0.53.0",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/resources": "1.26.0"
       },
       "engines": {
         "node": ">=14"
@@ -10854,13 +10917,12 @@
       }
     },
     "node_modules/@opentelemetry/sdk-metrics": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.1.tgz",
-      "integrity": "sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.26.0.tgz",
+      "integrity": "sha512-0SvDXmou/JjzSDOjUmetAAvcKQW6ZrvosU0rkbDGpXvvZN+pQF6JbK/Kd4hNdK4q/22yeruqvukXEJyySTzyTQ==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/resources": "1.25.1",
-        "lodash.merge": "^4.6.2"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/resources": "1.26.0"
       },
       "engines": {
         "node": ">=14"
@@ -10870,23 +10932,26 @@
       }
     },
     "node_modules/@opentelemetry/sdk-node": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.52.1.tgz",
-      "integrity": "sha512-uEG+gtEr6eKd8CVWeKMhH2olcCHM9dEK68pe0qE0be32BcCRsvYURhHaD1Srngh1SQcnQzZ4TP324euxqtBOJA==",
-      "dependencies": {
-        "@opentelemetry/api-logs": "0.52.1",
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/exporter-trace-otlp-grpc": "0.52.1",
-        "@opentelemetry/exporter-trace-otlp-http": "0.52.1",
-        "@opentelemetry/exporter-trace-otlp-proto": "0.52.1",
-        "@opentelemetry/exporter-zipkin": "1.25.1",
-        "@opentelemetry/instrumentation": "0.52.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/sdk-logs": "0.52.1",
-        "@opentelemetry/sdk-metrics": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1",
-        "@opentelemetry/sdk-trace-node": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.53.0.tgz",
+      "integrity": "sha512-0hsxfq3BKy05xGktwG8YdGdxV978++x40EAKyKr1CaHZRh8uqVlXnclnl7OMi9xLMJEcXUw7lGhiRlArFcovyg==",
+      "dependencies": {
+        "@opentelemetry/api-logs": "0.53.0",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/exporter-logs-otlp-grpc": "0.53.0",
+        "@opentelemetry/exporter-logs-otlp-http": "0.53.0",
+        "@opentelemetry/exporter-logs-otlp-proto": "0.53.0",
+        "@opentelemetry/exporter-trace-otlp-grpc": "0.53.0",
+        "@opentelemetry/exporter-trace-otlp-http": "0.53.0",
+        "@opentelemetry/exporter-trace-otlp-proto": "0.53.0",
+        "@opentelemetry/exporter-zipkin": "1.26.0",
+        "@opentelemetry/instrumentation": "0.53.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-logs": "0.53.0",
+        "@opentelemetry/sdk-metrics": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0",
+        "@opentelemetry/sdk-trace-node": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       },
       "engines": {
         "node": ">=14"
@@ -10896,13 +10961,13 @@
       }
     },
     "node_modules/@opentelemetry/sdk-trace-base": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.1.tgz",
-      "integrity": "sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.26.0.tgz",
+      "integrity": "sha512-olWQldtvbK4v22ymrKLbIcBi9L2SpMO84sCPY54IVsJhP9fRsxJT194C/AVaAuJzLE30EdhhM1VmvVYR7az+cw==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       },
       "engines": {
         "node": ">=14"
@@ -10912,15 +10977,15 @@
       }
     },
     "node_modules/@opentelemetry/sdk-trace-node": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.1.tgz",
-      "integrity": "sha512-nMcjFIKxnFqoez4gUmihdBrbpsEnAX/Xj16sGvZm+guceYE0NE00vLhpDVK6f3q8Q4VFI5xG8JjlXKMB/SkTTQ==",
-      "dependencies": {
-        "@opentelemetry/context-async-hooks": "1.25.1",
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/propagator-b3": "1.25.1",
-        "@opentelemetry/propagator-jaeger": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.26.0.tgz",
+      "integrity": "sha512-Fj5IVKrj0yeUwlewCRwzOVcr5avTuNnMHWf7GPc1t6WaT78J6CJyF3saZ/0RkZfdeNO8IcBl/bNcWMVZBMRW8Q==",
+      "dependencies": {
+        "@opentelemetry/context-async-hooks": "1.26.0",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/propagator-b3": "1.26.0",
+        "@opentelemetry/propagator-jaeger": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0",
         "semver": "^7.5.2"
       },
       "engines": {
@@ -10931,13 +10996,13 @@
       }
     },
     "node_modules/@opentelemetry/sdk-trace-web": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.25.1.tgz",
-      "integrity": "sha512-SS6JaSkHngcBCNdWGthzcvaKGRnDw2AeP57HyTEileLToJ7WLMeV+064iRlVyoT4+e77MRp2T2dDSrmaUyxoNg==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.26.0.tgz",
+      "integrity": "sha512-sxeKPcG/gUyxZ8iB8X1MI8/grfSCGgo1n2kxOE73zjVaO9yW/7JuVC3gqUaWRjtZ6VD/V3lo2/ZSwMlm6n2mdg==",
       "dependencies": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       },
       "engines": {
         "node": ">=14"
@@ -10947,9 +11012,10 @@
       }
     },
     "node_modules/@opentelemetry/semantic-conventions": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.1.tgz",
-      "integrity": "sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==",
+      "version": "1.27.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.27.0.tgz",
+      "integrity": "sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg==",
+      "license": "Apache-2.0",
       "engines": {
         "node": ">=14"
       }
@@ -12965,7 +13031,8 @@
     "node_modules/@types/shimmer": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.0.3.tgz",
-      "integrity": "sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA=="
+      "integrity": "sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA==",
+      "dev": true
     },
     "node_modules/@types/sinon": {
       "version": "10.0.20",
@@ -25632,7 +25699,8 @@
     "node_modules/lodash.merge": {
       "version": "4.6.2",
       "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
-      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+      "dev": true
     },
     "node_modules/lodash.mergewith": {
       "version": "4.6.2",
@@ -37687,9 +37755,9 @@
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
         "@opentelemetry/exporter-jaeger": "^1.3.1",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/sdk-node": "^0.52.0",
+        "@opentelemetry/sdk-node": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
@@ -37711,7 +37779,7 @@
       "version": "0.5.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/api-logs": "^0.52.0",
+        "@opentelemetry/api-logs": "^0.53.0",
         "winston-transport": "4.*"
       },
       "devDependencies": {
@@ -37742,7 +37810,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -37781,7 +37849,7 @@
       "version": "0.8.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -37815,7 +37883,7 @@
       "version": "0.11.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/instrumentation": "^0.53.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -37845,7 +37913,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/instrumentation": "^0.53.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -37875,7 +37943,7 @@
       "version": "0.2.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.24.0"
       },
       "devDependencies": {
@@ -37905,7 +37973,7 @@
       "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/instrumentation": "^0.53.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -37941,7 +38009,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -37977,7 +38045,7 @@
       "version": "0.6.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/instrumentation": "^0.53.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -38017,7 +38085,7 @@
       "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -38266,7 +38334,7 @@
       "version": "0.13.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/tedious": "^4.0.14"
       },
@@ -38468,7 +38536,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/instrumentation": "^0.53.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.7.0",
@@ -38498,7 +38566,7 @@
       "version": "0.43.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/propagator-aws-xray": "^1.3.1",
         "@opentelemetry/resources": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -38531,7 +38599,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/propagation-utils": "^0.30.10",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
@@ -38578,14 +38646,14 @@
       "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/api-logs": "^0.52.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/api-logs": "^0.53.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@types/bunyan": "1.8.9"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/sdk-logs": "^0.52.0",
+        "@opentelemetry/sdk-logs": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.23.0",
@@ -38621,7 +38689,7 @@
       "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -38655,7 +38723,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/connect": "3.4.36"
       },
@@ -38693,7 +38761,7 @@
       "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "semver": "^7.5.4"
       },
       "devDependencies": {
@@ -38726,7 +38794,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -38761,7 +38829,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -38769,7 +38837,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation-http": "^0.52.0",
+        "@opentelemetry/instrumentation-http": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/express": "4.17.21",
@@ -38803,7 +38871,7 @@
       "version": "0.38.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/instrumentation": "^0.53.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -38834,7 +38902,7 @@
       "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/instrumentation": "^0.53.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -38869,7 +38937,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -38901,7 +38969,7 @@
       "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/semantic-conventions": "^1.23.0"
       },
@@ -38937,7 +39005,7 @@
       "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -38968,7 +39036,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -38976,7 +39044,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation-http": "^0.52.0",
+        "@opentelemetry/instrumentation-http": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/koa": "2.15.0",
@@ -39005,7 +39073,7 @@
       "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.23.0",
         "@types/memcached": "^2.2.6"
       },
@@ -39037,7 +39105,7 @@
       "version": "0.46.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-metrics": "^1.9.1",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
@@ -39230,7 +39298,7 @@
       "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mysql": "2.15.26"
       },
@@ -39263,7 +39331,7 @@
       "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@opentelemetry/sql-common": "^0.40.1"
       },
@@ -39296,7 +39364,7 @@
       "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.23.0"
       },
       "devDependencies": {
@@ -39336,7 +39404,7 @@
       "version": "0.38.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.23.0"
       },
       "devDependencies": {
@@ -39366,7 +39434,7 @@
       "version": "0.43.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@opentelemetry/sql-common": "^0.40.1",
         "@types/pg": "8.6.1",
@@ -39405,9 +39473,9 @@
       "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/api-logs": "^0.52.0",
+        "@opentelemetry/api-logs": "^0.53.0",
         "@opentelemetry/core": "^1.25.0",
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/instrumentation": "^0.53.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39441,7 +39509,7 @@
       "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
@@ -39475,7 +39543,7 @@
       "version": "0.41.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
@@ -39524,7 +39592,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -39557,7 +39625,7 @@
       "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
       },
       "devDependencies": {
@@ -39586,8 +39654,8 @@
       "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/api-logs": "^0.52.0",
-        "@opentelemetry/instrumentation": "^0.52.0"
+        "@opentelemetry/api-logs": "^0.53.0",
+        "@opentelemetry/instrumentation": "^0.53.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39622,7 +39690,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.0.0",
         "@opentelemetry/sdk-trace-web": "^1.15.0",
         "@opentelemetry/semantic-conventions": "^1.22.0"
@@ -39663,7 +39731,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-web": "^1.8.0"
       },
       "devDependencies": {
@@ -40274,7 +40342,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-web": "^1.8.0"
       },
       "devDependencies": {
@@ -40282,7 +40350,7 @@
         "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-zone-peer-dep": "^1.8.0",
-        "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
+        "@opentelemetry/instrumentation-xml-http-request": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/jquery": "3.5.30",
         "@types/mocha": "10.0.6",
@@ -40898,7 +40966,7 @@
         "@babel/core": "7.24.6",
         "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/propagator-b3": "1.25.1",
+        "@opentelemetry/propagator-b3": "1.26.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
         "@types/react": "17.0.80",
@@ -50045,9 +50113,9 @@
       "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="
     },
     "@opentelemetry/api-logs": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.1.tgz",
-      "integrity": "sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.53.0.tgz",
+      "integrity": "sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw==",
       "requires": {
         "@opentelemetry/api": "^1.0.0"
       }
@@ -50058,7 +50126,7 @@
         "@opentelemetry/api": "^1.4.1",
         "@opentelemetry/core": "^1.25.1",
         "@opentelemetry/propagator-aws-xray": "^1.25.1",
-        "@opentelemetry/propagator-aws-xray-lambda": "^0.52.1",
+        "@opentelemetry/propagator-aws-xray-lambda": "^0.53.0",
         "@opentelemetry/propagator-b3": "^1.25.1",
         "@opentelemetry/propagator-jaeger": "^1.25.1",
         "@opentelemetry/propagator-ot-trace": "^0.27.2",
@@ -50077,7 +50145,7 @@
       "version": "file:metapackages/auto-instrumentations-node",
       "requires": {
         "@opentelemetry/api": "^1.4.1",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/instrumentation-amqplib": "^0.41.0",
         "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
         "@opentelemetry/instrumentation-aws-sdk": "^0.43.1",
@@ -50092,9 +50160,9 @@
         "@opentelemetry/instrumentation-fs": "^0.14.0",
         "@opentelemetry/instrumentation-generic-pool": "^0.38.1",
         "@opentelemetry/instrumentation-graphql": "^0.42.0",
-        "@opentelemetry/instrumentation-grpc": "^0.52.0",
+        "@opentelemetry/instrumentation-grpc": "^0.53.0",
         "@opentelemetry/instrumentation-hapi": "^0.40.0",
-        "@opentelemetry/instrumentation-http": "^0.52.0",
+        "@opentelemetry/instrumentation-http": "^0.53.0",
         "@opentelemetry/instrumentation-ioredis": "^0.42.0",
         "@opentelemetry/instrumentation-kafkajs": "^0.2.0",
         "@opentelemetry/instrumentation-knex": "^0.39.0",
@@ -50123,7 +50191,7 @@
         "@opentelemetry/resource-detector-container": "^0.4.0",
         "@opentelemetry/resource-detector-gcp": "^0.29.10",
         "@opentelemetry/resources": "^1.24.0",
-        "@opentelemetry/sdk-node": "^0.52.0",
+        "@opentelemetry/sdk-node": "^0.53.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -50141,11 +50209,11 @@
         "@babel/core": "7.24.6",
         "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/instrumentation-document-load": "^0.39.0",
-        "@opentelemetry/instrumentation-fetch": "^0.52.0",
+        "@opentelemetry/instrumentation-fetch": "^0.53.0",
         "@opentelemetry/instrumentation-user-interaction": "^0.39.0",
-        "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
+        "@opentelemetry/instrumentation-xml-http-request": "^0.53.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -50608,24 +50676,24 @@
       }
     },
     "@opentelemetry/context-async-hooks": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.1.tgz",
-      "integrity": "sha512-UW/ge9zjvAEmRWVapOP0qyCvPulWU6cQxGxDbWEFfGOj1VBBZAuOqTo3X6yWmDTD3Xe15ysCZChHncr2xFMIfQ==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.26.0.tgz",
+      "integrity": "sha512-HedpXXYzzbaoutw6DFLWLDket2FwLkLpil4hGCZ1xYEIMTcivdfwEOISgdbLEWyG3HW52gTq2V9mOVJrONgiwg==",
       "requires": {}
     },
     "@opentelemetry/context-zone": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.25.1.tgz",
-      "integrity": "sha512-kHbMs95mKNJPpfd1LE1/IRxUw5D1fyTOM+0R1yDOOzffs9ZZsQqgQ1Q7q0bWZ/kVLWjL43fiALe+rPtQvRShdg==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone/-/context-zone-1.26.0.tgz",
+      "integrity": "sha512-ckBEUKo7jZnZ2jARcntv365413cTe9Ra7uMQWvdk10K3tWOUsLnBG8dSMRbkaA+XL9hWGrZ1MMI8UXrwnbp0FA==",
       "requires": {
-        "@opentelemetry/context-zone-peer-dep": "1.25.1",
+        "@opentelemetry/context-zone-peer-dep": "1.26.0",
         "zone.js": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0"
       }
     },
     "@opentelemetry/context-zone-peer-dep": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.25.1.tgz",
-      "integrity": "sha512-UxSY9K90xOg2eI7qZStx0HV6DZT6tcRX+IiAWTvROi6h9Td2c2vlQhBZ9F1JH7kINmNCZN1f1//O9rSioPEMlg==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.26.0.tgz",
+      "integrity": "sha512-Mgdy0WsHR52h5AnN2nhZJrelDK6unOFr8aSn3ToETk6DLSOijayOi0M0SZM72qhWr7iFrJ1oxGEIK8uzVaSC8Q==",
       "requires": {}
     },
     "@opentelemetry/contrib-test-utils": {
@@ -50634,9 +50702,9 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/core": "^1.0.0",
         "@opentelemetry/exporter-jaeger": "^1.3.1",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/sdk-node": "^0.52.0",
+        "@opentelemetry/sdk-node": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -50645,70 +50713,108 @@
       }
     },
     "@opentelemetry/core": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.25.1.tgz",
-      "integrity": "sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.26.0.tgz",
+      "integrity": "sha512-1iKxXXE8415Cdv0yjG3G6hQnB5eVEsJce3QaawX8SjDn0mAS0ZM8fAbZZJD4ajvhC15cePvosSCut404KrIIvQ==",
       "requires": {
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/semantic-conventions": "1.27.0"
       }
     },
     "@opentelemetry/exporter-jaeger": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.25.1.tgz",
-      "integrity": "sha512-6/HwzrwUx0fpkFXrouF0IJp+hpN8xkx8RqEk+BZfeoMAHydpyigyYsKyAtAZRwfJe45WWJbJUqoK8aBjiC9iLQ==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.26.0.tgz",
+      "integrity": "sha512-l5NMFwFr5NWWRNcURUS8/RdkBmR3+dPGE33f51XfamKXsEfZUkRC8V1L2D7hzKhXxcFmYLcprg4/sYpeKtYoAQ==",
       "requires": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0",
         "jaeger-client": "^3.15.0"
       }
     },
+    "@opentelemetry/exporter-logs-otlp-grpc": {
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-grpc/-/exporter-logs-otlp-grpc-0.53.0.tgz",
+      "integrity": "sha512-x5ygAQgWAQOI+UOhyV3z9eW7QU2dCfnfOuIBiyYmC2AWr74f6x/3JBnP27IAcEx6aihpqBYWKnpoUTztkVPAZw==",
+      "requires": {
+        "@grpc/grpc-js": "^1.7.1",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-grpc-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0",
+        "@opentelemetry/sdk-logs": "0.53.0"
+      }
+    },
+    "@opentelemetry/exporter-logs-otlp-http": {
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.53.0.tgz",
+      "integrity": "sha512-cSRKgD/n8rb+Yd+Cif6EnHEL/VZg1o8lEcEwFji1lwene6BdH51Zh3feAD9p2TyVoBKrl6Q9Zm2WltSp2k9gWQ==",
+      "requires": {
+        "@opentelemetry/api-logs": "0.53.0",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0",
+        "@opentelemetry/sdk-logs": "0.53.0"
+      }
+    },
+    "@opentelemetry/exporter-logs-otlp-proto": {
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-proto/-/exporter-logs-otlp-proto-0.53.0.tgz",
+      "integrity": "sha512-jhEcVL1deeWNmTUP05UZMriZPSWUBcfg94ng7JuBb1q2NExgnADQFl1VQQ+xo62/JepK+MxQe4xAwlsDQFbISA==",
+      "requires": {
+        "@opentelemetry/api-logs": "0.53.0",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-logs": "0.53.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0"
+      }
+    },
     "@opentelemetry/exporter-trace-otlp-grpc": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.52.1.tgz",
-      "integrity": "sha512-pVkSH20crBwMTqB3nIN4jpQKUEoB0Z94drIHpYyEqs7UBr+I0cpYyOR3bqjA/UasQUMROb3GX8ZX4/9cVRqGBQ==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.53.0.tgz",
+      "integrity": "sha512-m6KSh6OBDwfDjpzPVbuJbMgMbkoZfpxYH2r262KckgX9cMYvooWXEKzlJYsNDC6ADr28A1rtRoUVRwNfIN4tUg==",
       "requires": {
         "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/otlp-grpc-exporter-base": "0.52.1",
-        "@opentelemetry/otlp-transformer": "0.52.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-grpc-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0"
       }
     },
     "@opentelemetry/exporter-trace-otlp-http": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.52.1.tgz",
-      "integrity": "sha512-05HcNizx0BxcFKKnS5rwOV+2GevLTVIRA0tRgWYyw4yCgR53Ic/xk83toYKts7kbzcI+dswInUg/4s8oyA+tqg==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.53.0.tgz",
+      "integrity": "sha512-m7F5ZTq+V9mKGWYpX8EnZ7NjoqAU7VemQ1E2HAG+W/u0wpY1x0OmbxAXfGKFHCspdJk8UKlwPGrpcB8nay3P8A==",
       "requires": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/otlp-exporter-base": "0.52.1",
-        "@opentelemetry/otlp-transformer": "0.52.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0"
       }
     },
     "@opentelemetry/exporter-trace-otlp-proto": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.52.1.tgz",
-      "integrity": "sha512-pt6uX0noTQReHXNeEslQv7x311/F1gJzMnp1HD2qgypLRPbXDeMzzeTngRTUaUbP6hqWNtPxuLr4DEoZG+TcEQ==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.53.0.tgz",
+      "integrity": "sha512-T/bdXslwRKj23S96qbvGtaYOdfyew3TjPEKOk5mHjkCmkVl1O9C/YMdejwSsdLdOq2YW30KjR9kVi0YMxZushQ==",
       "requires": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/otlp-exporter-base": "0.52.1",
-        "@opentelemetry/otlp-transformer": "0.52.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0"
       }
     },
     "@opentelemetry/exporter-zipkin": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.25.1.tgz",
-      "integrity": "sha512-RmOwSvkimg7ETwJbUOPTMhJm9A9bG1U8s7Zo3ajDh4zM7eYcycQ0dM7FbLD6NXWbI2yj7UY4q8BKinKYBQksyw==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.26.0.tgz",
+      "integrity": "sha512-PW5R34n3SJHO4t0UetyHKiXL6LixIqWN6lWncg3eRXhKuT30x+b7m5sDJS0kEWRfHeS+kG7uCw2vBzmB2lk3Dw==",
       "requires": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       }
     },
     "@opentelemetry/host-metrics": {
@@ -51182,16 +51288,23 @@
       }
     },
     "@opentelemetry/instrumentation": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz",
-      "integrity": "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.53.0.tgz",
+      "integrity": "sha512-DMwg0hy4wzf7K73JJtl95m/e0boSoWhH07rfvHvYzQtBD3Bmv0Wc1x733vyZBqmFm8OjJD0/pfiUg1W3JjFX0A==",
       "requires": {
-        "@opentelemetry/api-logs": "0.52.1",
-        "@types/shimmer": "^1.0.2",
+        "@opentelemetry/api-logs": "0.53.0",
+        "@types/shimmer": "^1.2.0",
         "import-in-the-middle": "^1.8.1",
         "require-in-the-middle": "^7.1.1",
         "semver": "^7.5.2",
         "shimmer": "^1.2.1"
+      },
+      "dependencies": {
+        "@types/shimmer": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.2.0.tgz",
+          "integrity": "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg=="
+        }
       }
     },
     "@opentelemetry/instrumentation-amqplib": {
@@ -51200,7 +51313,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/amqplib": "^0.5.17",
         "@types/lodash": "4.14.199",
@@ -51231,7 +51344,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/propagator-aws-xray": "^1.3.1",
         "@opentelemetry/resources": "^1.8.0",
         "@opentelemetry/sdk-metrics": "^1.8.0",
@@ -51260,7 +51373,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/propagation-utils": "^0.30.10",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -51292,10 +51405,10 @@
       "version": "file:plugins/node/opentelemetry-instrumentation-bunyan",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/api-logs": "^0.52.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/api-logs": "^0.53.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/sdk-logs": "^0.52.0",
+        "@opentelemetry/sdk-logs": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.23.0",
@@ -51329,7 +51442,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -51352,7 +51465,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -51383,7 +51496,7 @@
         "@cucumber/cucumber": "^9.0.0",
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/core": "^1.3.1",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.3.1",
         "@opentelemetry/sdk-trace-node": "^1.3.1",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -51406,7 +51519,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -51425,7 +51538,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -51449,7 +51562,7 @@
         "@jsdevtools/coverage-istanbul-loader": "3.0.5",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.0.0",
         "@opentelemetry/sdk-trace-web": "^1.15.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -51482,7 +51595,7 @@
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -51508,8 +51621,8 @@
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-http": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
+        "@opentelemetry/instrumentation-http": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -51536,14 +51649,14 @@
       }
     },
     "@opentelemetry/instrumentation-fetch": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.52.1.tgz",
-      "integrity": "sha512-EJDQXdv1ZGyBifox+8BK+hP0tg29abNPdScE+lW77bUVrThD5vn2dOo+blAS3Z8Od+eqTUTDzXVDIFjGgTK01w==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.53.0.tgz",
+      "integrity": "sha512-Sayp/Oypr0lyTgOKide/Dz4ovqDWPdmazapCMyfsVpXpV9zrH2kbdO2vAKUMx9vF98vxsqcxXucf4z54WXWZ8A==",
       "requires": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/instrumentation": "0.52.1",
-        "@opentelemetry/sdk-trace-web": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/instrumentation": "0.53.0",
+        "@opentelemetry/sdk-trace-web": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       }
     },
     "@opentelemetry/instrumentation-fs": {
@@ -51552,7 +51665,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/resources": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -51572,7 +51685,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/generic-pool": "^3.1.9",
@@ -51592,7 +51705,7 @@
       "version": "file:plugins/node/opentelemetry-instrumentation-graphql",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
@@ -51615,12 +51728,12 @@
       }
     },
     "@opentelemetry/instrumentation-grpc": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.1.tgz",
-      "integrity": "sha512-EdSDiDSAO+XRXk/ZN128qQpBo1I51+Uay/LUPcPQhSRGf7fBPIEUBeOLQiItguGsug5MGOYjql2w/1wCQF3fdQ==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.53.0.tgz",
+      "integrity": "sha512-Ss338T92yE1UCgr9zXSY3cPuaAy27uQw+wAC5IwsQKCXL5wwkiOgkd+2Ngksa9EGsgUEMwGeHi76bDdHFJ5Rrw==",
       "requires": {
-        "@opentelemetry/instrumentation": "0.52.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/instrumentation": "0.53.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       }
     },
     "@opentelemetry/instrumentation-hapi": {
@@ -51631,7 +51744,7 @@
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -51647,13 +51760,13 @@
       }
     },
     "@opentelemetry/instrumentation-http": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.52.1.tgz",
-      "integrity": "sha512-dG/aevWhaP+7OLv4BQQSEKMJv8GyeOp3Wxl31NHqE8xo9/fYMfEljiZphUHIfyg4gnZ9swMyWjfOQs5GUQe54Q==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.53.0.tgz",
+      "integrity": "sha512-H74ErMeDuZfj7KgYCTOFGWF5W9AfaPnqLQQxeFq85+D29wwV2yqHbz2IKLYpkOh7EI6QwDEl7rZCIxjJLyc/CQ==",
       "requires": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/instrumentation": "0.52.1",
-        "@opentelemetry/semantic-conventions": "1.25.1",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/instrumentation": "0.53.0",
+        "@opentelemetry/semantic-conventions": "1.27.0",
         "semver": "^7.5.2"
       }
     },
@@ -51663,7 +51776,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -51688,7 +51801,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.24.0",
         "@opentelemetry/semantic-conventions": "^1.24.0",
         "@types/mocha": "7.0.2",
@@ -51708,7 +51821,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -51731,8 +51844,8 @@
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-http": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
+        "@opentelemetry/instrumentation-http": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -51758,7 +51871,7 @@
         "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-web": "^1.8.0",
         "@types/mocha": "10.0.6",
@@ -52205,7 +52318,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@types/lru-cache": "7.10.10",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -52233,7 +52346,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.23.0",
@@ -52255,7 +52368,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-metrics": "^1.9.1",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -52384,7 +52497,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
@@ -52413,7 +52526,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-metrics": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -52436,7 +52549,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@opentelemetry/sql-common": "^0.40.1",
@@ -52463,7 +52576,7 @@
         "@nestjs/websockets": "9.4.3",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.23.0",
@@ -52488,7 +52601,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.23.0",
@@ -52509,7 +52622,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -52536,10 +52649,10 @@
       "version": "file:plugins/node/opentelemetry-instrumentation-pino",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/api-logs": "^0.52.0",
+        "@opentelemetry/api-logs": "^0.53.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.25.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -52564,7 +52677,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -52589,7 +52702,7 @@
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -52628,7 +52741,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -52651,7 +52764,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
@@ -52669,7 +52782,7 @@
       "version": "file:plugins/node/instrumentation-runtime-node",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-metrics": "^1.20.0",
         "@types/mocha": "^10.0.6",
         "@types/node": "^20.11.2",
@@ -52702,7 +52815,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
@@ -52895,7 +53008,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "7.0.2",
@@ -53020,7 +53133,7 @@
       "requires": {
         "@opentelemetry/api": "^1.7.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-metrics": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -53044,8 +53157,8 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-zone-peer-dep": "^1.8.0",
         "@opentelemetry/core": "^1.8.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
-        "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
+        "@opentelemetry/instrumentation-xml-http-request": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-web": "^1.8.0",
         "@types/jquery": "3.5.30",
@@ -53492,9 +53605,9 @@
       "version": "file:plugins/node/opentelemetry-instrumentation-winston",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/api-logs": "^0.52.0",
+        "@opentelemetry/api-logs": "^0.53.0",
         "@opentelemetry/context-async-hooks": "^1.21.0",
-        "@opentelemetry/instrumentation": "^0.52.0",
+        "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.21.0",
         "@opentelemetry/sdk-trace-node": "^1.21.0",
         "@opentelemetry/winston-transport": "^0.5.0",
@@ -53514,47 +53627,47 @@
       }
     },
     "@opentelemetry/instrumentation-xml-http-request": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.52.1.tgz",
-      "integrity": "sha512-4a7WpbN+prdyIxoTqCA3m+ZuqQVrksWWeOP5iEyof9yrzEY1NJgM+plrPrzb5nn7U5T7RGkkpvaTPm08qfFu7w==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-xml-http-request/-/instrumentation-xml-http-request-0.53.0.tgz",
+      "integrity": "sha512-vkALs8zdEUU3GnGvq1rzP0RK3+Fsk2jyzY6X/a+ibbo/miCmmeQNHX+fBRNs/3Offquj19M0qD+olNU9CJloqg==",
       "requires": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/instrumentation": "0.52.1",
-        "@opentelemetry/sdk-trace-web": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/instrumentation": "0.53.0",
+        "@opentelemetry/sdk-trace-web": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       }
     },
     "@opentelemetry/otlp-exporter-base": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.52.1.tgz",
-      "integrity": "sha512-z175NXOtX5ihdlshtYBe5RpGeBoTXVCKPPLiQlD6FHvpM4Ch+p2B0yWKYSrBfLH24H9zjJiBdTrtD+hLlfnXEQ==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.53.0.tgz",
+      "integrity": "sha512-UCWPreGQEhD6FjBaeDuXhiMf6kkBODF0ZQzrk/tuQcaVDJ+dDQ/xhJp192H9yWnKxVpEjFrSSLnpqmX4VwX+eA==",
       "requires": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/otlp-transformer": "0.52.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-transformer": "0.53.0"
       }
     },
     "@opentelemetry/otlp-grpc-exporter-base": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.52.1.tgz",
-      "integrity": "sha512-zo/YrSDmKMjG+vPeA9aBBrsQM9Q/f2zo6N04WMB3yNldJRsgpRBeLLwvAt/Ba7dpehDLOEFBd1i2JCoaFtpCoQ==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.53.0.tgz",
+      "integrity": "sha512-F7RCN8VN+lzSa4fGjewit8Z5fEUpY/lmMVy5EWn2ZpbAabg3EE3sCLuTNfOiooNGnmvzimUPruoeqeko/5/TzQ==",
       "requires": {
         "@grpc/grpc-js": "^1.7.1",
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/otlp-exporter-base": "0.52.1",
-        "@opentelemetry/otlp-transformer": "0.52.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/otlp-exporter-base": "0.53.0",
+        "@opentelemetry/otlp-transformer": "0.53.0"
       }
     },
     "@opentelemetry/otlp-transformer": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.1.tgz",
-      "integrity": "sha512-I88uCZSZZtVa0XniRqQWKbjAUm73I8tpEy/uJYPPYw5d7BRdVk0RfTBQw8kSUl01oVWEuqxLDa802222MYyWHg==",
-      "requires": {
-        "@opentelemetry/api-logs": "0.52.1",
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/sdk-logs": "0.52.1",
-        "@opentelemetry/sdk-metrics": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.53.0.tgz",
+      "integrity": "sha512-rM0sDA9HD8dluwuBxLetUmoqGJKSAbWenwD65KY9iZhUxdBHRLrIdrABfNDP7aiTjcgK8XFyTn5fhDz7N+W6DA==",
+      "requires": {
+        "@opentelemetry/api-logs": "0.53.0",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-logs": "0.53.0",
+        "@opentelemetry/sdk-metrics": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0",
         "protobufjs": "^7.3.0"
       }
     },
@@ -53566,7 +53679,7 @@
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/context-zone": "^1.0.0",
         "@opentelemetry/core": "^1.0.0",
-        "@opentelemetry/propagator-b3": "1.25.1",
+        "@opentelemetry/propagator-b3": "1.26.0",
         "@opentelemetry/sdk-trace-base": "^1.0.0",
         "@opentelemetry/sdk-trace-web": "^1.0.0",
         "@types/mocha": "10.0.6",
@@ -54038,27 +54151,27 @@
       }
     },
     "@opentelemetry/propagator-aws-xray": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.25.1.tgz",
-      "integrity": "sha512-soZQdO9EAROMwa9bL2C0VLadbrfRjSA9t7g6X8sL0X1B8V59pzOayYMyTW9qTECn9uuJV98A7qOnJm6KH6yk8w==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-1.26.0.tgz",
+      "integrity": "sha512-Sex+JyEZ/xX328TArBqQjh1NZSfNyw5NdASUIi9hnPsnMBMSBaDe7B9JRnXv0swz7niNyAnXa6MY7yOCV76EvA==",
       "requires": {
-        "@opentelemetry/core": "1.25.1"
+        "@opentelemetry/core": "1.26.0"
       }
     },
     "@opentelemetry/propagator-aws-xray-lambda": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray-lambda/-/propagator-aws-xray-lambda-0.52.1.tgz",
-      "integrity": "sha512-LBAu/1SRVuWrsWTzqUxZmzWinsS76UH/qApgYjmaN6Q8RcObXeZOmR0+FLSwkRX7OLGhLLQKiu3CQmlgXbpNCw==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray-lambda/-/propagator-aws-xray-lambda-0.53.0.tgz",
+      "integrity": "sha512-B0+Cob9nmT49AjgMXCXn+bvvA/TsQ+vjc1tx3y7oXgq/VwJAFIq7NBoWZHMArtcC4yt3gXpUd/CRN6LzUa0ORA==",
       "requires": {
-        "@opentelemetry/propagator-aws-xray": "1.25.1"
+        "@opentelemetry/propagator-aws-xray": "1.26.0"
       }
     },
     "@opentelemetry/propagator-b3": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.25.1.tgz",
-      "integrity": "sha512-p6HFscpjrv7//kE+7L+3Vn00VEDUJB0n6ZrjkTYHrJ58QZ8B3ajSJhRbCcY6guQ3PDjTbxWklyvIN2ojVbIb1A==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.26.0.tgz",
+      "integrity": "sha512-vvVkQLQ/lGGyEy9GT8uFnI047pajSOVnZI2poJqVGD3nJ+B9sFGdlHNnQKophE3lHfnIH0pw2ubrCTjZCgIj+Q==",
       "requires": {
-        "@opentelemetry/core": "1.25.1"
+        "@opentelemetry/core": "1.26.0"
       }
     },
     "@opentelemetry/propagator-instana": {
@@ -54482,11 +54595,11 @@
       }
     },
     "@opentelemetry/propagator-jaeger": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.1.tgz",
-      "integrity": "sha512-nBprRf0+jlgxks78G/xq72PipVK+4or9Ypntw0gVZYNTCSK8rg5SeaGV19tV920CMqBD/9UIOiFr23Li/Q8tiA==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.26.0.tgz",
+      "integrity": "sha512-DelFGkCdaxA1C/QA0Xilszfr0t4YbGd3DjxiCDPh34lfnFr+VkkrjV9S8ZTJvAzfdKERXhfOxIKBoGPJwoSz7Q==",
       "requires": {
-        "@opentelemetry/core": "1.25.1"
+        "@opentelemetry/core": "1.26.0"
       }
     },
     "@opentelemetry/propagator-ot-trace": {
@@ -55119,7 +55232,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/resources": "^1.10.0",
-        "@opentelemetry/sdk-node": "^0.52.0",
+        "@opentelemetry/sdk-node": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.22.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -55141,91 +55254,93 @@
       }
     },
     "@opentelemetry/resources": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.25.1.tgz",
-      "integrity": "sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.26.0.tgz",
+      "integrity": "sha512-CPNYchBE7MBecCSVy0HKpUISEeJOniWqcHaAHpmasZ3j9o6V3AyBzhRc90jdmemq0HOxDr6ylhUbDhBqqPpeNw==",
       "requires": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       }
     },
     "@opentelemetry/sdk-logs": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.1.tgz",
-      "integrity": "sha512-MBYh+WcPPsN8YpRHRmK1Hsca9pVlyyKd4BxOC4SsgHACnl/bPp4Cri9hWhVm5+2tiQ9Zf4qSc1Jshw9tOLGWQA==",
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.53.0.tgz",
+      "integrity": "sha512-dhSisnEgIj/vJZXZV6f6KcTnyLDx/VuQ6l3ejuZpMpPlh9S1qMHiZU9NMmOkVkwwHkMy3G6mEBwdP23vUZVr4g==",
       "requires": {
-        "@opentelemetry/api-logs": "0.52.1",
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/resources": "1.25.1"
+        "@opentelemetry/api-logs": "0.53.0",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/resources": "1.26.0"
       }
     },
     "@opentelemetry/sdk-metrics": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.1.tgz",
-      "integrity": "sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.26.0.tgz",
+      "integrity": "sha512-0SvDXmou/JjzSDOjUmetAAvcKQW6ZrvosU0rkbDGpXvvZN+pQF6JbK/Kd4hNdK4q/22yeruqvukXEJyySTzyTQ==",
       "requires": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/resources": "1.25.1",
-        "lodash.merge": "^4.6.2"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/resources": "1.26.0"
       }
     },
     "@opentelemetry/sdk-node": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.52.1.tgz",
-      "integrity": "sha512-uEG+gtEr6eKd8CVWeKMhH2olcCHM9dEK68pe0qE0be32BcCRsvYURhHaD1Srngh1SQcnQzZ4TP324euxqtBOJA==",
-      "requires": {
-        "@opentelemetry/api-logs": "0.52.1",
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/exporter-trace-otlp-grpc": "0.52.1",
-        "@opentelemetry/exporter-trace-otlp-http": "0.52.1",
-        "@opentelemetry/exporter-trace-otlp-proto": "0.52.1",
-        "@opentelemetry/exporter-zipkin": "1.25.1",
-        "@opentelemetry/instrumentation": "0.52.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/sdk-logs": "0.52.1",
-        "@opentelemetry/sdk-metrics": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1",
-        "@opentelemetry/sdk-trace-node": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+      "version": "0.53.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.53.0.tgz",
+      "integrity": "sha512-0hsxfq3BKy05xGktwG8YdGdxV978++x40EAKyKr1CaHZRh8uqVlXnclnl7OMi9xLMJEcXUw7lGhiRlArFcovyg==",
+      "requires": {
+        "@opentelemetry/api-logs": "0.53.0",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/exporter-logs-otlp-grpc": "0.53.0",
+        "@opentelemetry/exporter-logs-otlp-http": "0.53.0",
+        "@opentelemetry/exporter-logs-otlp-proto": "0.53.0",
+        "@opentelemetry/exporter-trace-otlp-grpc": "0.53.0",
+        "@opentelemetry/exporter-trace-otlp-http": "0.53.0",
+        "@opentelemetry/exporter-trace-otlp-proto": "0.53.0",
+        "@opentelemetry/exporter-zipkin": "1.26.0",
+        "@opentelemetry/instrumentation": "0.53.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/sdk-logs": "0.53.0",
+        "@opentelemetry/sdk-metrics": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0",
+        "@opentelemetry/sdk-trace-node": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       }
     },
     "@opentelemetry/sdk-trace-base": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.1.tgz",
-      "integrity": "sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.26.0.tgz",
+      "integrity": "sha512-olWQldtvbK4v22ymrKLbIcBi9L2SpMO84sCPY54IVsJhP9fRsxJT194C/AVaAuJzLE30EdhhM1VmvVYR7az+cw==",
       "requires": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/resources": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/resources": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       }
     },
     "@opentelemetry/sdk-trace-node": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.1.tgz",
-      "integrity": "sha512-nMcjFIKxnFqoez4gUmihdBrbpsEnAX/Xj16sGvZm+guceYE0NE00vLhpDVK6f3q8Q4VFI5xG8JjlXKMB/SkTTQ==",
-      "requires": {
-        "@opentelemetry/context-async-hooks": "1.25.1",
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/propagator-b3": "1.25.1",
-        "@opentelemetry/propagator-jaeger": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.26.0.tgz",
+      "integrity": "sha512-Fj5IVKrj0yeUwlewCRwzOVcr5avTuNnMHWf7GPc1t6WaT78J6CJyF3saZ/0RkZfdeNO8IcBl/bNcWMVZBMRW8Q==",
+      "requires": {
+        "@opentelemetry/context-async-hooks": "1.26.0",
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/propagator-b3": "1.26.0",
+        "@opentelemetry/propagator-jaeger": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0",
         "semver": "^7.5.2"
       }
     },
     "@opentelemetry/sdk-trace-web": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.25.1.tgz",
-      "integrity": "sha512-SS6JaSkHngcBCNdWGthzcvaKGRnDw2AeP57HyTEileLToJ7WLMeV+064iRlVyoT4+e77MRp2T2dDSrmaUyxoNg==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.26.0.tgz",
+      "integrity": "sha512-sxeKPcG/gUyxZ8iB8X1MI8/grfSCGgo1n2kxOE73zjVaO9yW/7JuVC3gqUaWRjtZ6VD/V3lo2/ZSwMlm6n2mdg==",
       "requires": {
-        "@opentelemetry/core": "1.25.1",
-        "@opentelemetry/sdk-trace-base": "1.25.1",
-        "@opentelemetry/semantic-conventions": "1.25.1"
+        "@opentelemetry/core": "1.26.0",
+        "@opentelemetry/sdk-trace-base": "1.26.0",
+        "@opentelemetry/semantic-conventions": "1.27.0"
       }
     },
     "@opentelemetry/semantic-conventions": {
-      "version": "1.25.1",
-      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.1.tgz",
-      "integrity": "sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ=="
+      "version": "1.27.0",
+      "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.27.0.tgz",
+      "integrity": "sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg=="
     },
     "@opentelemetry/sql-common": {
       "version": "file:packages/opentelemetry-sql-common",
@@ -55243,7 +55358,7 @@
     "@opentelemetry/winston-transport": {
       "version": "file:packages/winston-transport",
       "requires": {
-        "@opentelemetry/api-logs": "^0.52.0",
+        "@opentelemetry/api-logs": "^0.53.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -56952,7 +57067,8 @@
     "@types/shimmer": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.0.3.tgz",
-      "integrity": "sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA=="
+      "integrity": "sha512-F/IjUGnV6pIN7R4ZV4npHJVoNtaLZWvb+2/9gctxjb99wkpI7Ozg8VPogwDiTRyjLwZXAYxjvdg1KS8LTHKdDA==",
+      "dev": true
     },
     "@types/sinon": {
       "version": "10.0.20",
@@ -66988,7 +67104,8 @@
     "lodash.merge": {
       "version": "4.6.2",
       "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
-      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+      "dev": true
     },
     "lodash.mergewith": {
       "version": "4.6.2",
diff --git a/packages/opentelemetry-test-utils/package.json b/packages/opentelemetry-test-utils/package.json
index 3228db3c5f..9944bca678 100644
--- a/packages/opentelemetry-test-utils/package.json
+++ b/packages/opentelemetry-test-utils/package.json
@@ -46,9 +46,9 @@
   "dependencies": {
     "@opentelemetry/core": "^1.0.0",
     "@opentelemetry/exporter-jaeger": "^1.3.1",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/resources": "^1.8.0",
-    "@opentelemetry/sdk-node": "^0.52.0",
+    "@opentelemetry/sdk-node": "^0.53.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
diff --git a/packages/opentelemetry-test-utils/src/test-fixtures.ts b/packages/opentelemetry-test-utils/src/test-fixtures.ts
index 21064bc193..6a3563978f 100644
--- a/packages/opentelemetry-test-utils/src/test-fixtures.ts
+++ b/packages/opentelemetry-test-utils/src/test-fixtures.ts
@@ -55,6 +55,15 @@ export function createTestNodeSdk(opts: {
   return sdk;
 }
 
+export enum OtlpSpanKind {
+  UNSPECIFIED = 0,
+  INTERNAL = 1,
+  SERVER = 2,
+  CLIENT = 3,
+  PRODUCER = 4,
+  CONSUMER = 5,
+}
+
 // TestSpan is an OTLP span plus references to `resource` and
 // `instrumentationScope` that are shared between multiple spans in the
 // protocol.
diff --git a/packages/winston-transport/package.json b/packages/winston-transport/package.json
index 8eadd94128..4dcae26132 100644
--- a/packages/winston-transport/package.json
+++ b/packages/winston-transport/package.json
@@ -50,7 +50,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/api-logs": "^0.52.0",
+    "@opentelemetry/api-logs": "^0.53.0",
     "winston-transport": "4.*"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/winston-transport#readme"
diff --git a/plugins/node/instrumentation-amqplib/package.json b/plugins/node/instrumentation-amqplib/package.json
index 742d3253cc..fb7ad2fdf6 100644
--- a/plugins/node/instrumentation-amqplib/package.json
+++ b/plugins/node/instrumentation-amqplib/package.json
@@ -46,7 +46,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "devDependencies": {
diff --git a/plugins/node/instrumentation-cucumber/package.json b/plugins/node/instrumentation-cucumber/package.json
index 2869f5e48b..40dc85145d 100644
--- a/plugins/node/instrumentation-cucumber/package.json
+++ b/plugins/node/instrumentation-cucumber/package.json
@@ -63,7 +63,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-cucumber#readme"
diff --git a/plugins/node/instrumentation-dataloader/package.json b/plugins/node/instrumentation-dataloader/package.json
index ddfe89aa0b..f023293619 100644
--- a/plugins/node/instrumentation-dataloader/package.json
+++ b/plugins/node/instrumentation-dataloader/package.json
@@ -58,7 +58,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0"
+    "@opentelemetry/instrumentation": "^0.53.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-dataloader#readme"
 }
diff --git a/plugins/node/instrumentation-fs/package.json b/plugins/node/instrumentation-fs/package.json
index abf822a404..5f953e0974 100644
--- a/plugins/node/instrumentation-fs/package.json
+++ b/plugins/node/instrumentation-fs/package.json
@@ -60,7 +60,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0"
+    "@opentelemetry/instrumentation": "^0.53.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-fs#readme"
 }
diff --git a/plugins/node/instrumentation-kafkajs/package.json b/plugins/node/instrumentation-kafkajs/package.json
index 4ff06a4bd4..653660b08c 100644
--- a/plugins/node/instrumentation-kafkajs/package.json
+++ b/plugins/node/instrumentation-kafkajs/package.json
@@ -58,7 +58,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.24.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-kafkajs#readme"
diff --git a/plugins/node/instrumentation-lru-memoizer/package.json b/plugins/node/instrumentation-lru-memoizer/package.json
index fce267cab0..4b6d6a5309 100644
--- a/plugins/node/instrumentation-lru-memoizer/package.json
+++ b/plugins/node/instrumentation-lru-memoizer/package.json
@@ -58,7 +58,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0"
+    "@opentelemetry/instrumentation": "^0.53.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-lru-memoizer#readme"
 }
diff --git a/plugins/node/instrumentation-mongoose/package.json b/plugins/node/instrumentation-mongoose/package.json
index d23196b227..68d9b18495 100644
--- a/plugins/node/instrumentation-mongoose/package.json
+++ b/plugins/node/instrumentation-mongoose/package.json
@@ -64,7 +64,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-mongoose#readme"
diff --git a/plugins/node/instrumentation-runtime-node/package.json b/plugins/node/instrumentation-runtime-node/package.json
index 12a16ac514..9b55a32254 100644
--- a/plugins/node/instrumentation-runtime-node/package.json
+++ b/plugins/node/instrumentation-runtime-node/package.json
@@ -39,7 +39,7 @@
     "access": "public"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0"
+    "@opentelemetry/instrumentation": "^0.53.0"
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
diff --git a/plugins/node/instrumentation-socket.io/package.json b/plugins/node/instrumentation-socket.io/package.json
index cf64fa9482..e08167ef2e 100644
--- a/plugins/node/instrumentation-socket.io/package.json
+++ b/plugins/node/instrumentation-socket.io/package.json
@@ -59,7 +59,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-socket.io#readme"
diff --git a/plugins/node/instrumentation-tedious/package.json b/plugins/node/instrumentation-tedious/package.json
index b4352dbf5d..f9d5cf11b0 100644
--- a/plugins/node/instrumentation-tedious/package.json
+++ b/plugins/node/instrumentation-tedious/package.json
@@ -63,7 +63,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@types/tedious": "^4.0.14"
   },
diff --git a/plugins/node/instrumentation-undici/package.json b/plugins/node/instrumentation-undici/package.json
index ffc2442776..43e6667d65 100644
--- a/plugins/node/instrumentation-undici/package.json
+++ b/plugins/node/instrumentation-undici/package.json
@@ -61,7 +61,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0"
+    "@opentelemetry/instrumentation": "^0.53.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-undici",
   "sideEffects": false
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
index 432a6aa334..2a5d5f5f02 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
@@ -57,7 +57,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/propagator-aws-xray": "^1.3.1",
     "@opentelemetry/resources": "^1.8.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
index 29aa9a5a3a..75d3d5dd2e 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
@@ -46,7 +46,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/propagation-utils": "^0.30.10",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/package.json b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
index 68e10afc46..5de12ac0d0 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/package.json
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
@@ -46,7 +46,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/resources": "^1.8.0",
-    "@opentelemetry/sdk-logs": "^0.52.0",
+    "@opentelemetry/sdk-logs": "^0.53.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@opentelemetry/semantic-conventions": "^1.23.0",
@@ -63,8 +63,8 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/api-logs": "^0.52.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/api-logs": "^0.53.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@types/bunyan": "1.8.9"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-bunyan#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts
index ed32f31142..4bb9fb0b68 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/src/instrumentation.ts
@@ -96,7 +96,7 @@ export class BunyanInstrumentation extends InstrumentationBase<BunyanInstrumenta
   }
 
   override setConfig(config: BunyanInstrumentationConfig = {}) {
-    this._config = { ...DEFAULT_CONFIG, ...config };
+    super.setConfig({ ...DEFAULT_CONFIG, ...config });
   }
 
   private _getPatchedEmit() {
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/package.json b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
index e270938a96..02b64e8a8b 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/package.json
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
@@ -62,7 +62,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-cassandra#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-connect/package.json b/plugins/node/opentelemetry-instrumentation-connect/package.json
index c85ad8fb0f..393f10a26c 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/package.json
+++ b/plugins/node/opentelemetry-instrumentation-connect/package.json
@@ -58,7 +58,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@types/connect": "3.4.36"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-dns/package.json b/plugins/node/opentelemetry-instrumentation-dns/package.json
index 20978761d0..63f4e122d7 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/package.json
+++ b/plugins/node/opentelemetry-instrumentation-dns/package.json
@@ -60,7 +60,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "semver": "^7.5.4"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-dns#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-express/package.json b/plugins/node/opentelemetry-instrumentation-express/package.json
index fc6173a502..dbab38a67c 100644
--- a/plugins/node/opentelemetry-instrumentation-express/package.json
+++ b/plugins/node/opentelemetry-instrumentation-express/package.json
@@ -65,7 +65,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-express#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts b/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
index 43b5da1324..0ae9a53a78 100644
--- a/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
@@ -620,20 +620,23 @@ describe('ExpressInstrumentation', () => {
         //     `- span 'middleware - simpleMiddleware'
         //     `- span 'request handler - /post/:id'
         const spans = collector.sortedSpans;
-        assert.strictEqual(spans[0].name, 'GET /post/:id');
-        assert.strictEqual(spans[0].kind, SpanKind.CLIENT);
-        assert.strictEqual(spans[1].name, 'middleware - query');
-        assert.strictEqual(spans[1].kind, SpanKind.SERVER);
+        assert.strictEqual(spans[0].name, 'GET');
+        assert.strictEqual(spans[0].kind, testUtils.OtlpSpanKind.CLIENT);
+        assert.strictEqual(spans[1].name, 'GET /post/:id');
+        assert.strictEqual(spans[1].kind, testUtils.OtlpSpanKind.SERVER);
         assert.strictEqual(spans[1].parentSpanId, spans[0].spanId);
-        assert.strictEqual(spans[2].name, 'middleware - expressInit');
-        assert.strictEqual(spans[2].kind, SpanKind.SERVER);
-        assert.strictEqual(spans[2].parentSpanId, spans[0].spanId);
-        assert.strictEqual(spans[3].name, 'middleware - simpleMiddleware');
-        assert.strictEqual(spans[3].kind, SpanKind.SERVER);
-        assert.strictEqual(spans[3].parentSpanId, spans[0].spanId);
-        assert.strictEqual(spans[4].name, 'request handler - /post/:id');
-        assert.strictEqual(spans[4].kind, SpanKind.SERVER);
-        assert.strictEqual(spans[4].parentSpanId, spans[0].spanId);
+        assert.strictEqual(spans[2].name, 'middleware - query');
+        assert.strictEqual(spans[2].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[2].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[3].name, 'middleware - expressInit');
+        assert.strictEqual(spans[3].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[3].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[4].name, 'middleware - simpleMiddleware');
+        assert.strictEqual(spans[4].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[4].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[5].name, 'request handler - /post/:id');
+        assert.strictEqual(spans[5].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[5].parentSpanId, spans[1].spanId);
       },
     });
   });
@@ -654,23 +657,26 @@ describe('ExpressInstrumentation', () => {
       checkCollector: (collector: testUtils.TestCollector) => {
         const spans = collector.sortedSpans;
 
-        assert.strictEqual(spans[0].name, 'GET /\\/test\\/regex/');
-        assert.strictEqual(spans[0].kind, SpanKind.CLIENT);
-        assert.strictEqual(spans[1].name, 'middleware - query');
-        assert.strictEqual(spans[1].kind, SpanKind.SERVER);
+        assert.strictEqual(spans[0].name, 'GET');
+        assert.strictEqual(spans[0].kind, testUtils.OtlpSpanKind.CLIENT);
+        assert.strictEqual(spans[1].name, 'GET /\\/test\\/regex/');
         assert.strictEqual(spans[1].parentSpanId, spans[0].spanId);
-        assert.strictEqual(spans[2].name, 'middleware - expressInit');
-        assert.strictEqual(spans[2].kind, SpanKind.SERVER);
-        assert.strictEqual(spans[2].parentSpanId, spans[0].spanId);
-        assert.strictEqual(spans[3].name, 'middleware - simpleMiddleware');
-        assert.strictEqual(spans[3].kind, SpanKind.SERVER);
-        assert.strictEqual(spans[3].parentSpanId, spans[0].spanId);
+        assert.strictEqual(spans[1].kind, testUtils.OtlpSpanKind.SERVER);
+        assert.strictEqual(spans[2].name, 'middleware - query');
+        assert.strictEqual(spans[2].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[2].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[3].name, 'middleware - expressInit');
+        assert.strictEqual(spans[3].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[3].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[4].name, 'middleware - simpleMiddleware');
+        assert.strictEqual(spans[4].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[4].parentSpanId, spans[1].spanId);
         assert.strictEqual(
-          spans[4].name,
+          spans[5].name,
           'request handler - /\\/test\\/regex/'
         );
-        assert.strictEqual(spans[4].kind, SpanKind.SERVER);
-        assert.strictEqual(spans[4].parentSpanId, spans[0].spanId);
+        assert.strictEqual(spans[5].kind, SpanKind.SERVER);
+        assert.strictEqual(spans[5].parentSpanId, spans[1].spanId);
       },
     });
   });
@@ -691,20 +697,22 @@ describe('ExpressInstrumentation', () => {
       checkCollector: (collector: testUtils.TestCollector) => {
         const spans = collector.sortedSpans;
 
-        assert.strictEqual(spans[0].name, 'GET /test,6,/test/');
-        assert.strictEqual(spans[0].kind, SpanKind.CLIENT);
-        assert.strictEqual(spans[1].name, 'middleware - query');
-        assert.strictEqual(spans[1].kind, SpanKind.SERVER);
-        assert.strictEqual(spans[1].parentSpanId, spans[0].spanId);
-        assert.strictEqual(spans[2].name, 'middleware - expressInit');
-        assert.strictEqual(spans[2].kind, SpanKind.SERVER);
-        assert.strictEqual(spans[2].parentSpanId, spans[0].spanId);
-        assert.strictEqual(spans[3].name, 'middleware - simpleMiddleware');
-        assert.strictEqual(spans[3].kind, SpanKind.SERVER);
-        assert.strictEqual(spans[3].parentSpanId, spans[0].spanId);
-        assert.strictEqual(spans[4].name, 'request handler - /test,6,/test/');
-        assert.strictEqual(spans[4].kind, SpanKind.SERVER);
-        assert.strictEqual(spans[4].parentSpanId, spans[0].spanId);
+        assert.strictEqual(spans[0].name, 'GET');
+        assert.strictEqual(spans[0].kind, testUtils.OtlpSpanKind.CLIENT);
+        assert.strictEqual(spans[1].name, 'GET /test,6,/test/');
+        assert.strictEqual(spans[1].kind, testUtils.OtlpSpanKind.SERVER);
+        assert.strictEqual(spans[2].name, 'middleware - query');
+        assert.strictEqual(spans[2].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[2].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[3].name, 'middleware - expressInit');
+        assert.strictEqual(spans[3].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[3].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[4].name, 'middleware - simpleMiddleware');
+        assert.strictEqual(spans[4].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[4].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[5].name, 'request handler - /test,6,/test/');
+        assert.strictEqual(spans[5].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[5].parentSpanId, spans[1].spanId);
       },
     });
   });
@@ -726,26 +734,28 @@ describe('ExpressInstrumentation', () => {
         checkCollector: (collector: testUtils.TestCollector) => {
           const spans = collector.sortedSpans;
 
+          assert.strictEqual(spans[0].name, 'GET');
+          assert.strictEqual(spans[0].kind, testUtils.OtlpSpanKind.CLIENT);
           assert.strictEqual(
-            spans[0].name,
+            spans[1].name,
             'GET /test/array1,/\\/test\\/array[2-9]/'
           );
-          assert.strictEqual(spans[0].kind, SpanKind.CLIENT);
-          assert.strictEqual(spans[1].name, 'middleware - query');
-          assert.strictEqual(spans[1].kind, SpanKind.SERVER);
-          assert.strictEqual(spans[1].parentSpanId, spans[0].spanId);
-          assert.strictEqual(spans[2].name, 'middleware - expressInit');
-          assert.strictEqual(spans[2].kind, SpanKind.SERVER);
-          assert.strictEqual(spans[2].parentSpanId, spans[0].spanId);
-          assert.strictEqual(spans[3].name, 'middleware - simpleMiddleware');
-          assert.strictEqual(spans[3].kind, SpanKind.SERVER);
-          assert.strictEqual(spans[3].parentSpanId, spans[0].spanId);
+          assert.strictEqual(spans[1].kind, testUtils.OtlpSpanKind.SERVER);
+          assert.strictEqual(spans[2].name, 'middleware - query');
+          assert.strictEqual(spans[2].kind, testUtils.OtlpSpanKind.INTERNAL);
+          assert.strictEqual(spans[2].parentSpanId, spans[1].spanId);
+          assert.strictEqual(spans[3].name, 'middleware - expressInit');
+          assert.strictEqual(spans[3].kind, testUtils.OtlpSpanKind.INTERNAL);
+          assert.strictEqual(spans[3].parentSpanId, spans[1].spanId);
+          assert.strictEqual(spans[4].name, 'middleware - simpleMiddleware');
+          assert.strictEqual(spans[4].kind, testUtils.OtlpSpanKind.INTERNAL);
+          assert.strictEqual(spans[4].parentSpanId, spans[1].spanId);
           assert.strictEqual(
-            spans[4].name,
+            spans[5].name,
             'request handler - /test/array1,/\\/test\\/array[2-9]/'
           );
-          assert.strictEqual(spans[4].kind, SpanKind.SERVER);
-          assert.strictEqual(spans[4].parentSpanId, spans[0].spanId);
+          assert.strictEqual(spans[5].kind, testUtils.OtlpSpanKind.INTERNAL);
+          assert.strictEqual(spans[5].parentSpanId, spans[1].spanId);
         },
       });
     });
@@ -777,26 +787,28 @@ describe('ExpressInstrumentation', () => {
         checkCollector: (collector: testUtils.TestCollector) => {
           const spans = collector.sortedSpans;
 
+          assert.strictEqual(spans[0].name, 'GET');
+          assert.strictEqual(spans[0].kind, testUtils.OtlpSpanKind.CLIENT);
           assert.strictEqual(
-            spans[0].name,
+            spans[1].name,
             'GET /test/arr/:id,/\\/test\\/arr[0-9]*\\/required(path)?(\\/optionalPath)?\\/(lastParam)?/'
           );
-          assert.strictEqual(spans[0].kind, SpanKind.CLIENT);
-          assert.strictEqual(spans[1].name, 'middleware - query');
-          assert.strictEqual(spans[1].kind, SpanKind.SERVER);
-          assert.strictEqual(spans[1].parentSpanId, spans[0].spanId);
-          assert.strictEqual(spans[2].name, 'middleware - expressInit');
-          assert.strictEqual(spans[2].kind, SpanKind.SERVER);
-          assert.strictEqual(spans[2].parentSpanId, spans[0].spanId);
-          assert.strictEqual(spans[3].name, 'middleware - simpleMiddleware');
-          assert.strictEqual(spans[3].kind, SpanKind.SERVER);
-          assert.strictEqual(spans[3].parentSpanId, spans[0].spanId);
+          assert.strictEqual(spans[1].kind, testUtils.OtlpSpanKind.SERVER);
+          assert.strictEqual(spans[2].name, 'middleware - query');
+          assert.strictEqual(spans[2].kind, testUtils.OtlpSpanKind.INTERNAL);
+          assert.strictEqual(spans[2].parentSpanId, spans[1].spanId);
+          assert.strictEqual(spans[3].name, 'middleware - expressInit');
+          assert.strictEqual(spans[3].kind, testUtils.OtlpSpanKind.INTERNAL);
+          assert.strictEqual(spans[3].parentSpanId, spans[1].spanId);
+          assert.strictEqual(spans[4].name, 'middleware - simpleMiddleware');
+          assert.strictEqual(spans[4].kind, testUtils.OtlpSpanKind.INTERNAL);
+          assert.strictEqual(spans[4].parentSpanId, spans[1].spanId);
           assert.strictEqual(
-            spans[4].name,
+            spans[5].name,
             'request handler - /test/arr/:id,/\\/test\\/arr[0-9]*\\/required(path)?(\\/optionalPath)?\\/(lastParam)?/'
           );
-          assert.strictEqual(spans[4].kind, SpanKind.SERVER);
-          assert.strictEqual(spans[4].parentSpanId, spans[0].spanId);
+          assert.strictEqual(spans[5].kind, testUtils.OtlpSpanKind.INTERNAL);
+          assert.strictEqual(spans[5].parentSpanId, spans[1].spanId);
         },
       });
     });
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/package.json b/plugins/node/opentelemetry-instrumentation-fastify/package.json
index 5488bd2259..7018de9832 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-fastify/package.json
@@ -48,7 +48,7 @@
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
     "@opentelemetry/contrib-test-utils": "^0.40.0",
-    "@opentelemetry/instrumentation-http": "^0.52.0",
+    "@opentelemetry/instrumentation-http": "^0.53.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/express": "4.17.21",
@@ -66,7 +66,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-fastify#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
index faaecfe5a2..f8cd75d70b 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
@@ -60,7 +60,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0"
+    "@opentelemetry/instrumentation": "^0.53.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-generic-pool#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/package.json b/plugins/node/opentelemetry-instrumentation-graphql/package.json
index f99be9c4e0..d2a0065a05 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-graphql/package.json
@@ -59,7 +59,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0"
+    "@opentelemetry/instrumentation": "^0.53.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-graphql#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/package.json b/plugins/node/opentelemetry-instrumentation-hapi/package.json
index adbb2d9239..d903b81cd6 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/package.json
+++ b/plugins/node/opentelemetry-instrumentation-hapi/package.json
@@ -62,7 +62,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-hapi#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/package.json b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
index f3f417e5e2..489a9e9261 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
@@ -68,7 +68,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/redis-common": "^0.36.2",
     "@opentelemetry/semantic-conventions": "^1.23.0"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-knex/package.json b/plugins/node/opentelemetry-instrumentation-knex/package.json
index 2f2bb2e481..276531f690 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/package.json
+++ b/plugins/node/opentelemetry-instrumentation-knex/package.json
@@ -58,7 +58,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-knex#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-koa/package.json b/plugins/node/opentelemetry-instrumentation-koa/package.json
index 84fc2f27c3..8640ef7631 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/package.json
+++ b/plugins/node/opentelemetry-instrumentation-koa/package.json
@@ -50,7 +50,7 @@
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
     "@opentelemetry/contrib-test-utils": "^0.40.0",
-    "@opentelemetry/instrumentation-http": "^0.52.0",
+    "@opentelemetry/instrumentation-http": "^0.53.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/koa": "2.15.0",
@@ -69,7 +69,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-koa#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-koa/test/koa.test.ts b/plugins/node/opentelemetry-instrumentation-koa/test/koa.test.ts
index 9a527e48f7..a40cd033c1 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/test/koa.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-koa/test/koa.test.ts
@@ -17,7 +17,7 @@
 import type { Middleware, ParameterizedContext, DefaultState } from 'koa';
 import type { RouterParamContext } from '@koa/router';
 import * as KoaRouter from '@koa/router';
-import { context, trace, Span, SpanKind } from '@opentelemetry/api';
+import { context, trace, Span } from '@opentelemetry/api';
 import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
 import { AsyncHooksContextManager } from '@opentelemetry/context-async-hooks';
 import * as testUtils from '@opentelemetry/contrib-test-utils';
@@ -741,14 +741,16 @@ describe('Koa Instrumentation', () => {
         //    `- span 'middleware - simpleMiddleware'
         //       `- span 'router - /post/:id'
         const spans = collector.sortedSpans;
-        assert.strictEqual(spans[0].name, 'GET /post/:id');
-        assert.strictEqual(spans[0].kind, SpanKind.CLIENT);
-        assert.strictEqual(spans[1].name, 'middleware - simpleMiddleware');
-        assert.strictEqual(spans[1].kind, SpanKind.SERVER);
-        assert.strictEqual(spans[1].parentSpanId, spans[0].spanId);
-        assert.strictEqual(spans[2].name, 'router - /post/:id');
-        assert.strictEqual(spans[2].kind, SpanKind.SERVER);
+        assert.strictEqual(spans[0].name, 'GET');
+        assert.strictEqual(spans[0].kind, testUtils.OtlpSpanKind.CLIENT);
+        assert.strictEqual(spans[1].name, 'GET /post/:id');
+        assert.strictEqual(spans[1].kind, testUtils.OtlpSpanKind.SERVER);
+        assert.strictEqual(spans[2].name, 'middleware - simpleMiddleware');
+        assert.strictEqual(spans[2].kind, testUtils.OtlpSpanKind.INTERNAL);
         assert.strictEqual(spans[2].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[3].name, 'router - /post/:id');
+        assert.strictEqual(spans[3].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[3].parentSpanId, spans[2].spanId);
       },
     });
   });
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/package.json b/plugins/node/opentelemetry-instrumentation-memcached/package.json
index 30dc10397c..6a2bf8d1be 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/package.json
+++ b/plugins/node/opentelemetry-instrumentation-memcached/package.json
@@ -60,7 +60,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.23.0",
     "@types/memcached": "^2.2.6"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/package.json b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
index 46b8bbadaa..8a78631ddc 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
@@ -66,7 +66,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/sdk-metrics": "^1.9.1",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/package.json b/plugins/node/opentelemetry-instrumentation-mysql/package.json
index 45672fdf9b..e03d6fea73 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql/package.json
@@ -59,7 +59,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@types/mysql": "2.15.26"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/package.json b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
index 4191d73968..91a16796d6 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
@@ -61,7 +61,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@opentelemetry/sql-common": "^0.40.1"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
index 8093f72af2..f807e572ac 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
@@ -70,7 +70,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.23.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-nestjs-core#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-net/package.json b/plugins/node/opentelemetry-instrumentation-net/package.json
index b24b2c007e..9c9563d710 100644
--- a/plugins/node/opentelemetry-instrumentation-net/package.json
+++ b/plugins/node/opentelemetry-instrumentation-net/package.json
@@ -59,7 +59,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.23.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-net#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-pg/package.json b/plugins/node/opentelemetry-instrumentation-pg/package.json
index 98b84927d1..902915b689 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pg/package.json
@@ -72,7 +72,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0",
     "@opentelemetry/sql-common": "^0.40.1",
     "@types/pg": "8.6.1",
diff --git a/plugins/node/opentelemetry-instrumentation-pino/package.json b/plugins/node/opentelemetry-instrumentation-pino/package.json
index 4199a9f2a9..1f0fc0a225 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pino/package.json
@@ -65,9 +65,9 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/api-logs": "^0.52.0",
+    "@opentelemetry/api-logs": "^0.53.0",
     "@opentelemetry/core": "^1.25.0",
-    "@opentelemetry/instrumentation": "^0.52.0"
+    "@opentelemetry/instrumentation": "^0.53.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-pino#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/package.json b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
index b1ac88e7a6..a18e4e440b 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
@@ -67,7 +67,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/redis-common": "^0.36.2",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-redis/package.json b/plugins/node/opentelemetry-instrumentation-redis/package.json
index 730904916d..fa87fb114b 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis/package.json
@@ -67,7 +67,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/redis-common": "^0.36.2",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
diff --git a/plugins/node/opentelemetry-instrumentation-restify/package.json b/plugins/node/opentelemetry-instrumentation-restify/package.json
index 1e1c2c1e56..7d53887f84 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-restify/package.json
@@ -63,7 +63,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-restify#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-router/package.json b/plugins/node/opentelemetry-instrumentation-router/package.json
index 213354a5b3..8f5cdecaee 100644
--- a/plugins/node/opentelemetry-instrumentation-router/package.json
+++ b/plugins/node/opentelemetry-instrumentation-router/package.json
@@ -57,7 +57,7 @@
     "typescript": "4.4.4"
   },
   "dependencies": {
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-router#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-winston/package.json b/plugins/node/opentelemetry-instrumentation-winston/package.json
index 9864fb9acc..8e9c693f9c 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/package.json
+++ b/plugins/node/opentelemetry-instrumentation-winston/package.json
@@ -65,8 +65,8 @@
     "winston2": "npm:winston@2.4.7"
   },
   "dependencies": {
-    "@opentelemetry/api-logs": "^0.52.0",
-    "@opentelemetry/instrumentation": "^0.52.0"
+    "@opentelemetry/api-logs": "^0.53.0",
+    "@opentelemetry/instrumentation": "^0.53.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-winston#readme"
 }
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/package.json b/plugins/web/opentelemetry-instrumentation-document-load/package.json
index f467226ea0..c6d8eac082 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/package.json
+++ b/plugins/web/opentelemetry-instrumentation-document-load/package.json
@@ -70,7 +70,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/sdk-trace-base": "^1.0.0",
     "@opentelemetry/sdk-trace-web": "^1.15.0",
     "@opentelemetry/semantic-conventions": "^1.22.0"
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/package.json b/plugins/web/opentelemetry-instrumentation-long-task/package.json
index ec378efb3d..5516d4a622 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/package.json
+++ b/plugins/web/opentelemetry-instrumentation-long-task/package.json
@@ -81,7 +81,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/sdk-trace-web": "^1.8.0"
   },
   "peerDependencies": {
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
index 547ad84eda..3c26701675 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
@@ -53,7 +53,7 @@
     "@babel/preset-env": "7.24.6",
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-zone-peer-dep": "^1.8.0",
-    "@opentelemetry/instrumentation-xml-http-request": "^0.52.0",
+    "@opentelemetry/instrumentation-xml-http-request": "^0.53.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/jquery": "3.5.30",
     "@types/mocha": "10.0.6",
@@ -84,7 +84,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
-    "@opentelemetry/instrumentation": "^0.52.0",
+    "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/sdk-trace-web": "^1.8.0"
   },
   "peerDependencies": {
diff --git a/plugins/web/opentelemetry-plugin-react-load/package.json b/plugins/web/opentelemetry-plugin-react-load/package.json
index c787ae08f2..9db66c5a9d 100644
--- a/plugins/web/opentelemetry-plugin-react-load/package.json
+++ b/plugins/web/opentelemetry-plugin-react-load/package.json
@@ -52,7 +52,7 @@
     "@babel/core": "7.24.6",
     "@babel/preset-env": "7.24.6",
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/propagator-b3": "1.25.1",
+    "@opentelemetry/propagator-b3": "1.26.0",
     "@types/mocha": "10.0.6",
     "@types/node": "18.6.5",
     "@types/react": "17.0.80",

From fa0139c048d21fabf94947f7313e44f6dbc1f79e Mon Sep 17 00:00:00 2001
From: Marylia Gutierrez <marylia.gutierrez@grafana.com>
Date: Mon, 2 Sep 2024 05:14:03 -0400
Subject: [PATCH 097/123] chore(deps): update deps
 @opentelemetry/semantic-conventions to 1.27 (#2409)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 examples/connect/package.json                 |   2 +-
 examples/express/package.json                 |   2 +-
 examples/fastify/package.json                 |   2 +-
 examples/graphql/package.json                 |   2 +-
 examples/koa/package.json                     |   2 +-
 examples/memcached/package.json               |   2 +-
 examples/mongodb/package.json                 |   2 +-
 examples/mysql/package.json                   |   2 +-
 examples/react-load/react/package.json        |   2 +-
 examples/redis/package.json                   |   2 +-
 examples/web/package.json                     |   2 +-
 package-lock.json                             | 152 +++++++++---------
 .../opentelemetry-test-utils/package.json     |   2 +-
 .../node/instrumentation-amqplib/package.json |   2 +-
 .../instrumentation-cucumber/package.json     |   2 +-
 .../node/instrumentation-kafkajs/package.json |   2 +-
 .../instrumentation-mongoose/package.json     |   2 +-
 .../instrumentation-socket.io/package.json    |   2 +-
 .../node/instrumentation-tedious/package.json |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 .../package.json                              |   2 +-
 51 files changed, 126 insertions(+), 126 deletions(-)

diff --git a/archive/opentelemetry-browser-extension-autoinjection/package.json b/archive/opentelemetry-browser-extension-autoinjection/package.json
index 1efd629ff2..1ca53d6aaf 100644
--- a/archive/opentelemetry-browser-extension-autoinjection/package.json
+++ b/archive/opentelemetry-browser-extension-autoinjection/package.json
@@ -76,7 +76,7 @@
     "@opentelemetry/resources": "^1.8.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-web": "^1.8.0",
-    "@opentelemetry/semantic-conventions": "^1.0.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "change-case": "4.1.2",
     "json5": "2.2.0",
     "react": "17.0.2",
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
index 2c75e81979..ffa63d46a7 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
@@ -57,7 +57,7 @@
   },
   "dependencies": {
     "@opentelemetry/resources": "^1.0.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-alibaba-cloud#readme"
 }
diff --git a/detectors/node/opentelemetry-resource-detector-aws/package.json b/detectors/node/opentelemetry-resource-detector-aws/package.json
index 64d6b7b8bd..b8a20b9bd5 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/package.json
+++ b/detectors/node/opentelemetry-resource-detector-aws/package.json
@@ -57,7 +57,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.0.0",
     "@opentelemetry/resources": "^1.10.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-aws#readme"
 }
diff --git a/detectors/node/opentelemetry-resource-detector-azure/package.json b/detectors/node/opentelemetry-resource-detector-azure/package.json
index aac32b7ae6..1c9ff97865 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/package.json
+++ b/detectors/node/opentelemetry-resource-detector-azure/package.json
@@ -49,7 +49,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.25.1",
     "@opentelemetry/resources": "^1.10.1",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-azure#readme"
 }
diff --git a/detectors/node/opentelemetry-resource-detector-container/package.json b/detectors/node/opentelemetry-resource-detector-container/package.json
index 45890eac0c..79be710a36 100644
--- a/detectors/node/opentelemetry-resource-detector-container/package.json
+++ b/detectors/node/opentelemetry-resource-detector-container/package.json
@@ -52,7 +52,7 @@
   },
   "dependencies": {
     "@opentelemetry/resources": "^1.10.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-container#readme"
 }
diff --git a/detectors/node/opentelemetry-resource-detector-gcp/package.json b/detectors/node/opentelemetry-resource-detector-gcp/package.json
index af59a59068..c9a2cd475b 100644
--- a/detectors/node/opentelemetry-resource-detector-gcp/package.json
+++ b/detectors/node/opentelemetry-resource-detector-gcp/package.json
@@ -56,7 +56,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.0.0",
     "@opentelemetry/resources": "^1.0.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "gcp-metadata": "^6.0.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-gcp#readme"
diff --git a/detectors/node/opentelemetry-resource-detector-instana/package.json b/detectors/node/opentelemetry-resource-detector-instana/package.json
index 945647e17c..144fb4a93e 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/package.json
+++ b/detectors/node/opentelemetry-resource-detector-instana/package.json
@@ -52,7 +52,7 @@
   },
   "dependencies": {
     "@opentelemetry/resources": "^1.10.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "peerDependencies": {
     "@opentelemetry/api": "^1.3.0"
diff --git a/examples/connect/package.json b/examples/connect/package.json
index 4acf0fcf9a..55d36afffb 100644
--- a/examples/connect/package.json
+++ b/examples/connect/package.json
@@ -45,7 +45,7 @@
     "@opentelemetry/instrumentation-http": "^0.25.0",
     "@opentelemetry/sdk-trace-node": "^0.25.0",
     "@opentelemetry/resources": "^0.25.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@opentelemetry/sdk-trace-base": "^0.25.0",
     "axios": "^0.21.1",
     "cross-env": "^7.0.3",
diff --git a/examples/express/package.json b/examples/express/package.json
index 61442eeac2..ab47e5bb3a 100644
--- a/examples/express/package.json
+++ b/examples/express/package.json
@@ -40,7 +40,7 @@
     "@opentelemetry/resources": "^1.18.1",
     "@opentelemetry/sdk-trace-base": "^1.18.1",
     "@opentelemetry/sdk-trace-node": "^1.18.1",
-    "@opentelemetry/semantic-conventions": "^1.23.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "axios": "^1.6.0",
     "cross-env": "^7.0.3",
     "express": "^4.17.1"
diff --git a/examples/fastify/package.json b/examples/fastify/package.json
index f30eef6fa5..7df877be80 100644
--- a/examples/fastify/package.json
+++ b/examples/fastify/package.json
@@ -45,7 +45,7 @@
     "@opentelemetry/instrumentation-fastify": "^0.32.6",
     "@opentelemetry/sdk-trace-node": "~1.19.0",
     "@opentelemetry/resources": "~1.19.0",
-    "@opentelemetry/semantic-conventions": "~1.19.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@opentelemetry/sdk-trace-base": "~1.19.0",
     "cross-env": "^7.0.3",
     "axios": "^1.6.4",
diff --git a/examples/graphql/package.json b/examples/graphql/package.json
index 6ca5a0371b..1d09a9fe18 100644
--- a/examples/graphql/package.json
+++ b/examples/graphql/package.json
@@ -44,7 +44,7 @@
     "@opentelemetry/resources": "~1.0.0",
     "@opentelemetry/sdk-trace-base": "~1.0.0",
     "@opentelemetry/sdk-trace-node": "~1.0.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "apollo-server": "^2.18.1",
     "cross-fetch": "^3.0.5",
     "express": "^4.17.1",
diff --git a/examples/koa/package.json b/examples/koa/package.json
index 9165d6ebdd..978e433367 100644
--- a/examples/koa/package.json
+++ b/examples/koa/package.json
@@ -39,7 +39,7 @@
     "@opentelemetry/instrumentation-koa": "^0.31.0",
     "@opentelemetry/sdk-trace-node": "^1.0.0",
     "@opentelemetry/sdk-trace-base": "^1.0.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "axios": "^1.6.0",
     "koa": "^2.13.0"
   },
diff --git a/examples/memcached/package.json b/examples/memcached/package.json
index 858393ab71..fb48295596 100644
--- a/examples/memcached/package.json
+++ b/examples/memcached/package.json
@@ -34,7 +34,7 @@
     "@opentelemetry/resources": "^1.23.0",
     "@opentelemetry/sdk-trace-base": "^0.25.0",
     "@opentelemetry/sdk-trace-node": "^0.25.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "memcached": "^2.2.2"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib#readme"
diff --git a/examples/mongodb/package.json b/examples/mongodb/package.json
index 7bf097e553..fac44e38b9 100644
--- a/examples/mongodb/package.json
+++ b/examples/mongodb/package.json
@@ -38,7 +38,7 @@
     "@opentelemetry/instrumentation-mongodb": "^0.32.0",
     "@opentelemetry/sdk-trace-node": "^1.0.0",
     "@opentelemetry/sdk-trace-base": "^1.0.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "mongodb": "^3.6.11"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib#readme",
diff --git a/examples/mysql/package.json b/examples/mysql/package.json
index 8455f63678..80becff747 100644
--- a/examples/mysql/package.json
+++ b/examples/mysql/package.json
@@ -39,7 +39,7 @@
     "@opentelemetry/instrumentation-mysql": "^0.31.0",
     "@opentelemetry/sdk-trace-base": "^1.0.0",
     "@opentelemetry/sdk-trace-node": "^1.0.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@opentelemetry/exporter-metrics-otlp-grpc": "^0.48.0",
     "mysql": "^2.18.1"
   },
diff --git a/examples/react-load/react/package.json b/examples/react-load/react/package.json
index 9c9ce0281a..c6fb74216c 100644
--- a/examples/react-load/react/package.json
+++ b/examples/react-load/react/package.json
@@ -43,7 +43,7 @@
     "@opentelemetry/plugin-react-load": "^0.23.0",
     "@opentelemetry/sdk-trace-base": "^0.25.0",
     "@opentelemetry/sdk-trace-web": "^0.25.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "react": "^16.13.1",
     "react-dom": "^16.13.1",
     "react-router-dom": "^5.2.0",
diff --git a/examples/redis/package.json b/examples/redis/package.json
index 5e989b9fd2..72ba46e9ca 100644
--- a/examples/redis/package.json
+++ b/examples/redis/package.json
@@ -39,7 +39,7 @@
     "@opentelemetry/instrumentation-redis": "^0.32.0",
     "@opentelemetry/sdk-trace-base": "^1.0.0",
     "@opentelemetry/sdk-trace-node": "^1.0.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "axios": "^1.6.0",
     "express": "^4.17.1",
     "redis": "^3.1.1"
diff --git a/examples/web/package.json b/examples/web/package.json
index 6d0005489f..af7ca620c9 100644
--- a/examples/web/package.json
+++ b/examples/web/package.json
@@ -46,7 +46,7 @@
     "@opentelemetry/instrumentation-xml-http-request": "^0.39.1",
     "@opentelemetry/propagator-b3": "^1.13.0",
     "@opentelemetry/sdk-trace-web": "^1.13.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib#readme"
 }
diff --git a/package-lock.json b/package-lock.json
index ed8d81b322..8671533395 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -43,7 +43,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.0.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
@@ -79,7 +79,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
         "@opentelemetry/resources": "^1.10.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
@@ -115,7 +115,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.25.1",
         "@opentelemetry/resources": "^1.10.1",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
@@ -149,7 +149,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.10.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
@@ -186,7 +186,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
         "@opentelemetry/resources": "^1.0.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "gcp-metadata": "^6.0.0"
       },
       "devDependencies": {
@@ -253,7 +253,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.10.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -37760,7 +37760,7 @@
         "@opentelemetry/sdk-node": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -37811,7 +37811,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -37850,7 +37850,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@cucumber/cucumber": "^9.0.0",
@@ -37944,7 +37944,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.24.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -38010,7 +38010,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -38086,7 +38086,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -38335,7 +38335,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/tedious": "^4.0.14"
       },
       "devDependencies": {
@@ -38569,7 +38569,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/propagator-aws-xray": "^1.3.1",
         "@opentelemetry/resources": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/aws-lambda": "8.10.143"
       },
       "devDependencies": {
@@ -38601,7 +38601,7 @@
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/propagation-utils": "^0.30.10",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@aws-sdk/client-dynamodb": "3.85.0",
@@ -38656,7 +38656,7 @@
         "@opentelemetry/sdk-logs": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -38690,7 +38690,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -38724,7 +38724,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/connect": "3.4.36"
       },
       "devDependencies": {
@@ -38795,7 +38795,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -38830,7 +38830,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@fastify/express": "^3.0.0",
@@ -38907,7 +38907,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "graphql": "^16.5.0",
@@ -38938,7 +38938,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@hapi/hapi": "21.3.10",
@@ -38971,7 +38971,7 @@
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/redis-common": "^0.36.2",
-        "@opentelemetry/semantic-conventions": "^1.23.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39006,7 +39006,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39037,7 +39037,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@koa/router": "12.0.1",
@@ -39074,7 +39074,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/memcached": "^2.2.6"
       },
       "devDependencies": {
@@ -39107,7 +39107,7 @@
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-metrics": "^1.9.1",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39299,7 +39299,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mysql": "2.15.26"
       },
       "devDependencies": {
@@ -39332,7 +39332,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@opentelemetry/sql-common": "^0.40.1"
       },
       "devDependencies": {
@@ -39365,7 +39365,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@nestjs/common": "9.4.3",
@@ -39405,7 +39405,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39435,7 +39435,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@opentelemetry/sql-common": "^0.40.1",
         "@types/pg": "8.6.1",
         "@types/pg-pool": "2.0.6"
@@ -39482,7 +39482,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/semver": "7.5.8",
@@ -39511,7 +39511,7 @@
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/redis-common": "^0.36.2",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39545,7 +39545,7 @@
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/redis-common": "^0.36.2",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39593,7 +39593,7 @@
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39626,7 +39626,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
@@ -39693,7 +39693,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.0.0",
         "@opentelemetry/sdk-trace-web": "^1.15.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0"
+        "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
         "@babel/core": "7.22.17",
@@ -50707,7 +50707,7 @@
         "@opentelemetry/sdk-node": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/node": "18.6.5",
         "typescript": "4.4.4"
       }
@@ -51314,7 +51314,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/amqplib": "^0.5.17",
         "@types/lodash": "4.14.199",
         "@types/mocha": "8.2.3",
@@ -51350,7 +51350,7 @@
         "@opentelemetry/sdk-metrics": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/aws-lambda": "8.10.143",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -51376,7 +51376,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/propagation-utils": "^0.30.10",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -51411,7 +51411,7 @@
         "@opentelemetry/sdk-logs": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/bunyan": "1.8.9",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -51445,7 +51445,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/semver": "7.5.8",
@@ -51468,7 +51468,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/connect": "3.4.36",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -51499,7 +51499,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.3.1",
         "@opentelemetry/sdk-trace-node": "^1.3.1",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/semver": "7.5.8",
         "@types/shimmer": "1.0.3",
@@ -51565,7 +51565,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.0.0",
         "@opentelemetry/sdk-trace-web": "^1.15.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@rollup/plugin-commonjs": "^26.0.0",
         "@rollup/plugin-node-resolve": "^15.2.3",
         "@types/chai": "^4.3.10",
@@ -51598,7 +51598,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/express": "4.17.21",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -51625,7 +51625,7 @@
         "@opentelemetry/instrumentation-http": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/express": "4.17.21",
         "@types/mocha": "7.0.2",
         "@types/node": "18.15.3",
@@ -51707,7 +51707,7 @@
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "graphql": "^16.5.0",
@@ -51747,7 +51747,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "joi": "17.12.2",
@@ -51780,7 +51780,7 @@
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/ioredis4": "npm:@types/ioredis@4.28.10",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -51803,7 +51803,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.24.0",
-        "@opentelemetry/semantic-conventions": "^1.24.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "^10.0.11",
@@ -51824,7 +51824,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "knex": "0.95.9",
@@ -51848,7 +51848,7 @@
         "@opentelemetry/instrumentation-http": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/koa": "2.15.0",
         "@types/koa__router": "12.0.4",
         "@types/mocha": "7.0.2",
@@ -52349,7 +52349,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/memcached": "^2.2.6",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -52372,7 +52372,7 @@
         "@opentelemetry/sdk-metrics": "^1.9.1",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/bson": "4.0.5",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -52499,7 +52499,7 @@
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "expect": "29.2.0",
@@ -52529,7 +52529,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-metrics": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/mysql": "2.15.26",
         "@types/node": "18.6.5",
@@ -52551,7 +52551,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@opentelemetry/sql-common": "^0.40.1",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -52579,7 +52579,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/semver": "7.5.8",
@@ -52604,7 +52604,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.23.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -52625,7 +52625,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@opentelemetry/sql-common": "^0.40.1",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -52655,7 +52655,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/semver": "7.5.8",
@@ -52681,7 +52681,7 @@
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/redis": "2.8.32",
@@ -52706,7 +52706,7 @@
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "cross-env": "7.0.3",
@@ -52744,7 +52744,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/restify": "4.3.12",
@@ -52767,7 +52767,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "mocha": "7.2.0",
@@ -52817,7 +52817,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "expect": "27.4.2",
@@ -53010,7 +53010,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/tedious": "^4.0.14",
@@ -55070,7 +55070,7 @@
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/resources": "^1.0.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -55098,7 +55098,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.0.0",
         "@opentelemetry/resources": "^1.10.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -55126,7 +55126,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.25.1",
         "@opentelemetry/resources": "^1.10.1",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -55152,7 +55152,7 @@
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/resources": "^1.10.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -55181,7 +55181,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/core": "^1.0.0",
         "@opentelemetry/resources": "^1.0.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/semver": "7.5.8",
@@ -55233,7 +55233,7 @@
         "@opentelemetry/contrib-test-utils": "^0.40.0",
         "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/sdk-node": "^0.53.0",
-        "@opentelemetry/semantic-conventions": "^1.22.0",
+        "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/semver": "7.5.8",
diff --git a/packages/opentelemetry-test-utils/package.json b/packages/opentelemetry-test-utils/package.json
index 9944bca678..05b4f8d0ed 100644
--- a/packages/opentelemetry-test-utils/package.json
+++ b/packages/opentelemetry-test-utils/package.json
@@ -51,6 +51,6 @@
     "@opentelemetry/sdk-node": "^0.53.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   }
 }
diff --git a/plugins/node/instrumentation-amqplib/package.json b/plugins/node/instrumentation-amqplib/package.json
index fb7ad2fdf6..06653c12d4 100644
--- a/plugins/node/instrumentation-amqplib/package.json
+++ b/plugins/node/instrumentation-amqplib/package.json
@@ -47,7 +47,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
diff --git a/plugins/node/instrumentation-cucumber/package.json b/plugins/node/instrumentation-cucumber/package.json
index 40dc85145d..167b140ee6 100644
--- a/plugins/node/instrumentation-cucumber/package.json
+++ b/plugins/node/instrumentation-cucumber/package.json
@@ -64,7 +64,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-cucumber#readme"
 }
diff --git a/plugins/node/instrumentation-kafkajs/package.json b/plugins/node/instrumentation-kafkajs/package.json
index 653660b08c..5876de5fa9 100644
--- a/plugins/node/instrumentation-kafkajs/package.json
+++ b/plugins/node/instrumentation-kafkajs/package.json
@@ -59,7 +59,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.24.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-kafkajs#readme"
 }
diff --git a/plugins/node/instrumentation-mongoose/package.json b/plugins/node/instrumentation-mongoose/package.json
index 68d9b18495..1a217c43b2 100644
--- a/plugins/node/instrumentation-mongoose/package.json
+++ b/plugins/node/instrumentation-mongoose/package.json
@@ -65,7 +65,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-mongoose#readme"
 }
diff --git a/plugins/node/instrumentation-socket.io/package.json b/plugins/node/instrumentation-socket.io/package.json
index e08167ef2e..6bce78c2fa 100644
--- a/plugins/node/instrumentation-socket.io/package.json
+++ b/plugins/node/instrumentation-socket.io/package.json
@@ -60,7 +60,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-socket.io#readme"
 }
diff --git a/plugins/node/instrumentation-tedious/package.json b/plugins/node/instrumentation-tedious/package.json
index f9d5cf11b0..476ffdcbfa 100644
--- a/plugins/node/instrumentation-tedious/package.json
+++ b/plugins/node/instrumentation-tedious/package.json
@@ -64,7 +64,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@types/tedious": "^4.0.14"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-tedious#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
index 2a5d5f5f02..31f8c46f5d 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
@@ -60,7 +60,7 @@
     "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/propagator-aws-xray": "^1.3.1",
     "@opentelemetry/resources": "^1.8.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@types/aws-lambda": "8.10.143"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-aws-lambda#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
index 75d3d5dd2e..1e4e624ffc 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
@@ -48,7 +48,7 @@
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/propagation-utils": "^0.30.10",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "devDependencies": {
     "@aws-sdk/client-dynamodb": "3.85.0",
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/package.json b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
index 5de12ac0d0..09a321d842 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/package.json
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
@@ -49,7 +49,7 @@
     "@opentelemetry/sdk-logs": "^0.53.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.20",
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/package.json b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
index 02b64e8a8b..3ace201d90 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/package.json
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
@@ -63,7 +63,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-cassandra#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-connect/package.json b/plugins/node/opentelemetry-instrumentation-connect/package.json
index 393f10a26c..63644c4f8a 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/package.json
+++ b/plugins/node/opentelemetry-instrumentation-connect/package.json
@@ -59,7 +59,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@types/connect": "3.4.36"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-connect#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-express/package.json b/plugins/node/opentelemetry-instrumentation-express/package.json
index dbab38a67c..3892fc0c40 100644
--- a/plugins/node/opentelemetry-instrumentation-express/package.json
+++ b/plugins/node/opentelemetry-instrumentation-express/package.json
@@ -66,7 +66,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-express#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/package.json b/plugins/node/opentelemetry-instrumentation-fastify/package.json
index 7018de9832..d105887eb8 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-fastify/package.json
@@ -67,7 +67,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-fastify#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/package.json b/plugins/node/opentelemetry-instrumentation-graphql/package.json
index d2a0065a05..2ac651c430 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-graphql/package.json
@@ -47,7 +47,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "graphql": "^16.5.0",
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/package.json b/plugins/node/opentelemetry-instrumentation-hapi/package.json
index d903b81cd6..dbc421d91c 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/package.json
+++ b/plugins/node/opentelemetry-instrumentation-hapi/package.json
@@ -63,7 +63,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-hapi#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/package.json b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
index 489a9e9261..d0f324eb6a 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
@@ -70,7 +70,7 @@
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/redis-common": "^0.36.2",
-    "@opentelemetry/semantic-conventions": "^1.23.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-ioredis#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-knex/package.json b/plugins/node/opentelemetry-instrumentation-knex/package.json
index 276531f690..485abf6c48 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/package.json
+++ b/plugins/node/opentelemetry-instrumentation-knex/package.json
@@ -59,7 +59,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-knex#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-koa/package.json b/plugins/node/opentelemetry-instrumentation-koa/package.json
index 8640ef7631..c2bccd100b 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/package.json
+++ b/plugins/node/opentelemetry-instrumentation-koa/package.json
@@ -70,7 +70,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-koa#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/package.json b/plugins/node/opentelemetry-instrumentation-memcached/package.json
index 6a2bf8d1be..2e26cbdb23 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/package.json
+++ b/plugins/node/opentelemetry-instrumentation-memcached/package.json
@@ -61,7 +61,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@types/memcached": "^2.2.6"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-memcached#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/package.json b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
index 8a78631ddc..35228c285e 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
@@ -68,7 +68,7 @@
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/sdk-metrics": "^1.9.1",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-mongodb#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/package.json b/plugins/node/opentelemetry-instrumentation-mysql/package.json
index e03d6fea73..30174da1c0 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql/package.json
@@ -60,7 +60,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@types/mysql": "2.15.26"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-mysql#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/package.json b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
index 91a16796d6..12466d4f26 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
@@ -62,7 +62,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@opentelemetry/sql-common": "^0.40.1"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-mysql2#readme"
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
index f807e572ac..8584ace33f 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
@@ -71,7 +71,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-nestjs-core#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-net/package.json b/plugins/node/opentelemetry-instrumentation-net/package.json
index 9c9563d710..bd0d4e0e4d 100644
--- a/plugins/node/opentelemetry-instrumentation-net/package.json
+++ b/plugins/node/opentelemetry-instrumentation-net/package.json
@@ -60,7 +60,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.23.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-net#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-pg/package.json b/plugins/node/opentelemetry-instrumentation-pg/package.json
index 902915b689..102d27d77e 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pg/package.json
@@ -73,7 +73,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@opentelemetry/sql-common": "^0.40.1",
     "@types/pg": "8.6.1",
     "@types/pg-pool": "2.0.6"
diff --git a/plugins/node/opentelemetry-instrumentation-pino/package.json b/plugins/node/opentelemetry-instrumentation-pino/package.json
index 1f0fc0a225..7660f2a2d2 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pino/package.json
@@ -49,7 +49,7 @@
     "@opentelemetry/contrib-test-utils": "^0.40.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0",
+    "@opentelemetry/semantic-conventions": "^1.27.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
     "@types/semver": "7.5.8",
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/package.json b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
index a18e4e440b..772d401efa 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
@@ -69,7 +69,7 @@
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/redis-common": "^0.36.2",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-redis-4#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-redis/package.json b/plugins/node/opentelemetry-instrumentation-redis/package.json
index fa87fb114b..6cbdbb81f6 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis/package.json
@@ -69,7 +69,7 @@
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/redis-common": "^0.36.2",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-redis#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-restify/package.json b/plugins/node/opentelemetry-instrumentation-restify/package.json
index 7d53887f84..96d9ce691a 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-restify/package.json
@@ -64,7 +64,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-restify#readme"
 }
diff --git a/plugins/node/opentelemetry-instrumentation-router/package.json b/plugins/node/opentelemetry-instrumentation-router/package.json
index 8f5cdecaee..5c3ee46d54 100644
--- a/plugins/node/opentelemetry-instrumentation-router/package.json
+++ b/plugins/node/opentelemetry-instrumentation-router/package.json
@@ -58,7 +58,7 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-router#readme"
 }
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/package.json b/plugins/web/opentelemetry-instrumentation-document-load/package.json
index c6d8eac082..1fb63a2387 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/package.json
+++ b/plugins/web/opentelemetry-instrumentation-document-load/package.json
@@ -73,7 +73,7 @@
     "@opentelemetry/instrumentation": "^0.53.0",
     "@opentelemetry/sdk-trace-base": "^1.0.0",
     "@opentelemetry/sdk-trace-web": "^1.15.0",
-    "@opentelemetry/semantic-conventions": "^1.22.0"
+    "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/web/opentelemetry-instrumentation-document-load#readme"
 }

From 9dc58afed8134f95908331bcff35c5d9ec46fe9a Mon Sep 17 00:00:00 2001
From: Daniel Dyla <dyladan@users.noreply.github.com>
Date: Mon, 2 Sep 2024 08:55:48 -0400
Subject: [PATCH 098/123] chore: release main (#2406)

Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
---
 .release-please-manifest.json                 | 108 ++---
 .../CHANGELOG.md                              |   9 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   9 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   9 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   9 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   9 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../auto-instrumentations-node/CHANGELOG.md   |  55 +++
 .../auto-instrumentations-node/package.json   |  86 ++--
 .../auto-instrumentations-web/CHANGELOG.md    |  15 +
 .../auto-instrumentations-web/package.json    |   6 +-
 package-lock.json                             | 404 +++++++++---------
 .../CHANGELOG.md                              |   9 +
 .../package.json                              |   4 +-
 .../opentelemetry-test-utils/CHANGELOG.md     |   9 +
 .../opentelemetry-test-utils/package.json     |   2 +-
 packages/winston-transport/CHANGELOG.md       |   7 +
 packages/winston-transport/package.json       |   2 +-
 .../node/instrumentation-amqplib/CHANGELOG.md |  14 +
 .../node/instrumentation-amqplib/package.json |   4 +-
 .../instrumentation-cucumber/CHANGELOG.md     |   7 +
 .../instrumentation-cucumber/package.json     |   2 +-
 .../instrumentation-dataloader/CHANGELOG.md   |   7 +
 .../instrumentation-dataloader/package.json   |   2 +-
 plugins/node/instrumentation-fs/CHANGELOG.md  |   7 +
 plugins/node/instrumentation-fs/package.json  |   2 +-
 .../node/instrumentation-kafkajs/CHANGELOG.md |  14 +
 .../node/instrumentation-kafkajs/package.json |   4 +-
 .../instrumentation-lru-memoizer/CHANGELOG.md |  14 +
 .../instrumentation-lru-memoizer/package.json |   4 +-
 .../instrumentation-mongoose/CHANGELOG.md     |  14 +
 .../instrumentation-mongoose/package.json     |   4 +-
 .../instrumentation-runtime-node/CHANGELOG.md |   7 +
 .../instrumentation-runtime-node/package.json |   2 +-
 .../instrumentation-socket.io/CHANGELOG.md    |  14 +
 .../instrumentation-socket.io/package.json    |   4 +-
 .../node/instrumentation-tedious/CHANGELOG.md |  14 +
 .../node/instrumentation-tedious/package.json |   4 +-
 .../node/instrumentation-undici/CHANGELOG.md  |   7 +
 .../node/instrumentation-undici/package.json  |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  16 +
 .../package.json                              |   6 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |  14 +
 .../package.json                              |   4 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 .../CHANGELOG.md                              |   7 +
 .../package.json                              |   2 +-
 110 files changed, 995 insertions(+), 384 deletions(-)

diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index dc7bdda780..6856de05b1 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,64 +1,64 @@
 {
-  "detectors/node/opentelemetry-resource-detector-alibaba-cloud": "0.29.0",
-  "detectors/node/opentelemetry-resource-detector-aws": "1.6.0",
-  "detectors/node/opentelemetry-resource-detector-azure": "0.2.10",
-  "detectors/node/opentelemetry-resource-detector-container": "0.4.0",
-  "detectors/node/opentelemetry-resource-detector-gcp": "0.29.10",
+  "detectors/node/opentelemetry-resource-detector-alibaba-cloud": "0.29.1",
+  "detectors/node/opentelemetry-resource-detector-aws": "1.6.1",
+  "detectors/node/opentelemetry-resource-detector-azure": "0.2.11",
+  "detectors/node/opentelemetry-resource-detector-container": "0.4.1",
+  "detectors/node/opentelemetry-resource-detector-gcp": "0.29.11",
   "detectors/node/opentelemetry-resource-detector-github": "0.29.0",
-  "detectors/node/opentelemetry-resource-detector-instana": "0.11.0",
-  "metapackages/auto-configuration-propagators": "0.2.0",
-  "metapackages/auto-instrumentations-node": "0.49.2",
-  "metapackages/auto-instrumentations-web": "0.40.0",
+  "detectors/node/opentelemetry-resource-detector-instana": "0.12.0",
+  "metapackages/auto-configuration-propagators": "0.3.0",
+  "metapackages/auto-instrumentations-node": "0.50.0",
+  "metapackages/auto-instrumentations-web": "0.41.0",
   "packages/baggage-span-processor": "0.3.1",
   "packages/opentelemetry-host-metrics": "0.35.3",
   "packages/opentelemetry-id-generator-aws-xray": "1.2.2",
-  "packages/opentelemetry-propagation-utils": "0.30.10",
+  "packages/opentelemetry-propagation-utils": "0.30.11",
   "packages/opentelemetry-redis-common": "0.36.2",
   "packages/opentelemetry-sql-common": "0.40.1",
-  "packages/opentelemetry-test-utils": "0.40.0",
-  "packages/winston-transport": "0.5.0",
-  "plugins/node/instrumentation-amqplib": "0.41.0",
-  "plugins/node/instrumentation-cucumber": "0.8.0",
-  "plugins/node/instrumentation-dataloader": "0.11.0",
-  "plugins/node/instrumentation-fs": "0.14.0",
-  "plugins/node/instrumentation-kafkajs": "0.2.0",
-  "plugins/node/instrumentation-lru-memoizer": "0.39.0",
-  "plugins/node/instrumentation-mongoose": "0.41.0",
-  "plugins/node/instrumentation-runtime-node": "0.6.0",
-  "plugins/node/instrumentation-socket.io": "0.41.0",
-  "plugins/node/instrumentation-tedious": "0.13.0",
-  "plugins/node/instrumentation-undici": "0.5.0",
-  "plugins/node/opentelemetry-instrumentation-aws-lambda": "0.43.0",
-  "plugins/node/opentelemetry-instrumentation-aws-sdk": "0.43.1",
-  "plugins/node/opentelemetry-instrumentation-bunyan": "0.40.0",
-  "plugins/node/opentelemetry-instrumentation-cassandra": "0.40.0",
-  "plugins/node/opentelemetry-instrumentation-connect": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-dns": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-express": "0.41.1",
-  "plugins/node/opentelemetry-instrumentation-fastify": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-generic-pool": "0.38.1",
-  "plugins/node/opentelemetry-instrumentation-graphql": "0.42.0",
-  "plugins/node/opentelemetry-instrumentation-hapi": "0.40.0",
-  "plugins/node/opentelemetry-instrumentation-ioredis": "0.42.0",
-  "plugins/node/opentelemetry-instrumentation-knex": "0.39.0",
-  "plugins/node/opentelemetry-instrumentation-koa": "0.42.0",
-  "plugins/node/opentelemetry-instrumentation-memcached": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-mongodb": "0.46.0",
-  "plugins/node/opentelemetry-instrumentation-mysql": "0.40.0",
-  "plugins/node/opentelemetry-instrumentation-mysql2": "0.40.0",
-  "plugins/node/opentelemetry-instrumentation-nestjs-core": "0.39.0",
-  "plugins/node/opentelemetry-instrumentation-net": "0.38.0",
-  "plugins/node/opentelemetry-instrumentation-pg": "0.43.0",
-  "plugins/node/opentelemetry-instrumentation-pino": "0.41.0",
-  "plugins/node/opentelemetry-instrumentation-redis": "0.41.0",
-  "plugins/node/opentelemetry-instrumentation-redis-4": "0.41.1",
-  "plugins/node/opentelemetry-instrumentation-restify": "0.40.0",
-  "plugins/node/opentelemetry-instrumentation-router": "0.39.0",
-  "plugins/node/opentelemetry-instrumentation-winston": "0.39.0",
-  "plugins/web/opentelemetry-instrumentation-document-load": "0.39.0",
-  "plugins/web/opentelemetry-instrumentation-long-task": "0.39.0",
-  "plugins/web/opentelemetry-instrumentation-user-interaction": "0.39.0",
-  "plugins/web/opentelemetry-plugin-react-load": "0.30.1",
+  "packages/opentelemetry-test-utils": "0.41.0",
+  "packages/winston-transport": "0.6.0",
+  "plugins/node/instrumentation-amqplib": "0.42.0",
+  "plugins/node/instrumentation-cucumber": "0.9.0",
+  "plugins/node/instrumentation-dataloader": "0.12.0",
+  "plugins/node/instrumentation-fs": "0.15.0",
+  "plugins/node/instrumentation-kafkajs": "0.3.0",
+  "plugins/node/instrumentation-lru-memoizer": "0.40.0",
+  "plugins/node/instrumentation-mongoose": "0.42.0",
+  "plugins/node/instrumentation-runtime-node": "0.7.0",
+  "plugins/node/instrumentation-socket.io": "0.42.0",
+  "plugins/node/instrumentation-tedious": "0.14.0",
+  "plugins/node/instrumentation-undici": "0.6.0",
+  "plugins/node/opentelemetry-instrumentation-aws-lambda": "0.44.0",
+  "plugins/node/opentelemetry-instrumentation-aws-sdk": "0.44.0",
+  "plugins/node/opentelemetry-instrumentation-bunyan": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-cassandra": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-connect": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-dns": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-express": "0.42.0",
+  "plugins/node/opentelemetry-instrumentation-fastify": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-generic-pool": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-graphql": "0.43.0",
+  "plugins/node/opentelemetry-instrumentation-hapi": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-ioredis": "0.43.0",
+  "plugins/node/opentelemetry-instrumentation-knex": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-koa": "0.43.0",
+  "plugins/node/opentelemetry-instrumentation-memcached": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-mongodb": "0.47.0",
+  "plugins/node/opentelemetry-instrumentation-mysql": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-mysql2": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-nestjs-core": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-net": "0.39.0",
+  "plugins/node/opentelemetry-instrumentation-pg": "0.44.0",
+  "plugins/node/opentelemetry-instrumentation-pino": "0.42.0",
+  "plugins/node/opentelemetry-instrumentation-redis": "0.42.0",
+  "plugins/node/opentelemetry-instrumentation-redis-4": "0.42.0",
+  "plugins/node/opentelemetry-instrumentation-restify": "0.41.0",
+  "plugins/node/opentelemetry-instrumentation-router": "0.40.0",
+  "plugins/node/opentelemetry-instrumentation-winston": "0.40.0",
+  "plugins/web/opentelemetry-instrumentation-document-load": "0.40.0",
+  "plugins/web/opentelemetry-instrumentation-long-task": "0.40.0",
+  "plugins/web/opentelemetry-instrumentation-user-interaction": "0.40.0",
+  "plugins/web/opentelemetry-plugin-react-load": "0.31.0",
   "propagators/opentelemetry-propagator-instana": "0.3.2",
   "propagators/opentelemetry-propagator-ot-trace": "0.27.2"
 }
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md
index 29295a2944..a9241efad0 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## [0.29.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-alibaba-cloud-v0.29.0...resource-detector-alibaba-cloud-v0.29.1) (2024-09-02)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.29.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-alibaba-cloud-v0.28.10...resource-detector-alibaba-cloud-v0.29.0) (2024-08-05)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
index ffa63d46a7..abbd650695 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-alibaba-cloud",
-  "version": "0.29.0",
+  "version": "0.29.1",
   "description": "OpenTelemetry resource detector for Alibaba Cloud",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -40,7 +40,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.20",
diff --git a/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
index bf4b66b094..6230e9c04f 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-aws/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## [1.6.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-aws-v1.6.0...resource-detector-aws-v1.6.1) (2024-09-02)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [1.6.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-aws-v1.5.2...resource-detector-aws-v1.6.0) (2024-08-27)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-aws/package.json b/detectors/node/opentelemetry-resource-detector-aws/package.json
index b8a20b9bd5..c4a7049721 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/package.json
+++ b/detectors/node/opentelemetry-resource-detector-aws/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-aws",
-  "version": "1.6.0",
+  "version": "1.6.1",
   "description": "OpenTelemetry SDK resource detector for AWS",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -39,7 +39,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.20",
diff --git a/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
index 96181c2a44..5ada1c8429 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-azure/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## [0.2.11](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-azure-v0.2.10...resource-detector-azure-v0.2.11) (2024-09-02)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.2.10](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-azure-v0.2.9...resource-detector-azure-v0.2.10) (2024-08-27)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-azure/package.json b/detectors/node/opentelemetry-resource-detector-azure/package.json
index 1c9ff97865..bed9420cd7 100644
--- a/detectors/node/opentelemetry-resource-detector-azure/package.json
+++ b/detectors/node/opentelemetry-resource-detector-azure/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-azure",
-  "version": "0.2.10",
+  "version": "0.2.11",
   "description": "OpenTelemetry SDK resource detector for Azure",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -32,7 +32,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.20",
diff --git a/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
index a61c93bdbd..04b36a997c 100644
--- a/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-container/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## [0.4.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-container-v0.4.0...resource-detector-container-v0.4.1) (2024-09-02)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.4.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-container-v0.3.11...resource-detector-container-v0.4.0) (2024-08-27)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-container/package.json b/detectors/node/opentelemetry-resource-detector-container/package.json
index 79be710a36..f9e55cdaea 100644
--- a/detectors/node/opentelemetry-resource-detector-container/package.json
+++ b/detectors/node/opentelemetry-resource-detector-container/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-container",
-  "version": "0.4.0",
+  "version": "0.4.1",
   "description": "Opentelemetry resource detector to get container resource attributes",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -34,7 +34,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.20",
diff --git a/detectors/node/opentelemetry-resource-detector-gcp/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-gcp/CHANGELOG.md
index 912b55eea0..35d39a84bb 100644
--- a/detectors/node/opentelemetry-resource-detector-gcp/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-gcp/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## [0.29.11](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-gcp-v0.29.10...resource-detector-gcp-v0.29.11) (2024-09-02)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.29.10](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-gcp-v0.29.9...resource-detector-gcp-v0.29.10) (2024-06-06)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-gcp/package.json b/detectors/node/opentelemetry-resource-detector-gcp/package.json
index c9a2cd475b..e2e2a76f73 100644
--- a/detectors/node/opentelemetry-resource-detector-gcp/package.json
+++ b/detectors/node/opentelemetry-resource-detector-gcp/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-gcp",
-  "version": "0.29.10",
+  "version": "0.29.11",
   "description": "OpenTelemetry SDK resource detector for GCP",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -39,7 +39,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
     "@types/semver": "7.5.8",
diff --git a/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md b/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md
index 7e8afbad5e..1bf3ecdb13 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md
+++ b/detectors/node/opentelemetry-resource-detector-instana/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.12.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-instana-v0.11.0...resource-detector-instana-v0.12.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.11.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/resource-detector-instana-v0.10.0...resource-detector-instana-v0.11.0) (2024-08-05)
 
 
diff --git a/detectors/node/opentelemetry-resource-detector-instana/package.json b/detectors/node/opentelemetry-resource-detector-instana/package.json
index 144fb4a93e..bc719ec74a 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/package.json
+++ b/detectors/node/opentelemetry-resource-detector-instana/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/resource-detector-instana",
-  "version": "0.11.0",
+  "version": "0.12.0",
   "description": "OpenTelemetry SDK resource detector for Instana",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -38,7 +38,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-node": "^0.53.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
diff --git a/metapackages/auto-configuration-propagators/CHANGELOG.md b/metapackages/auto-configuration-propagators/CHANGELOG.md
index 7c00bb5f2b..dab2fae9ed 100644
--- a/metapackages/auto-configuration-propagators/CHANGELOG.md
+++ b/metapackages/auto-configuration-propagators/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.3.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-configuration-propagators-v0.2.0...auto-configuration-propagators-v0.3.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.2.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-configuration-propagators-v0.1.0...auto-configuration-propagators-v0.2.0) (2024-07-23)
 
 
diff --git a/metapackages/auto-configuration-propagators/package.json b/metapackages/auto-configuration-propagators/package.json
index 91d087855e..575857c891 100644
--- a/metapackages/auto-configuration-propagators/package.json
+++ b/metapackages/auto-configuration-propagators/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/auto-configuration-propagators",
-  "version": "0.2.0",
+  "version": "0.3.0",
   "description": "Metapackage which bundles known propagators for configuration via an env variable.",
   "author": "OpenTelemetry Authors",
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-configuration-propagators#readme",
diff --git a/metapackages/auto-instrumentations-node/CHANGELOG.md b/metapackages/auto-instrumentations-node/CHANGELOG.md
index 6bb815c8e5..510ece05f2 100644
--- a/metapackages/auto-instrumentations-node/CHANGELOG.md
+++ b/metapackages/auto-instrumentations-node/CHANGELOG.md
@@ -1,5 +1,60 @@
 # Changelog
 
+## [0.50.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.49.2...auto-instrumentations-node-v0.50.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * dependencies
+    * @opentelemetry/instrumentation-amqplib bumped from ^0.41.0 to ^0.42.0
+    * @opentelemetry/instrumentation-aws-lambda bumped from ^0.43.0 to ^0.44.0
+    * @opentelemetry/instrumentation-aws-sdk bumped from ^0.43.1 to ^0.44.0
+    * @opentelemetry/instrumentation-bunyan bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-cassandra-driver bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-connect bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-cucumber bumped from ^0.8.0 to ^0.9.0
+    * @opentelemetry/instrumentation-dataloader bumped from ^0.11.0 to ^0.12.0
+    * @opentelemetry/instrumentation-dns bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-express bumped from ^0.41.1 to ^0.42.0
+    * @opentelemetry/instrumentation-fastify bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-fs bumped from ^0.14.0 to ^0.15.0
+    * @opentelemetry/instrumentation-generic-pool bumped from ^0.38.1 to ^0.39.0
+    * @opentelemetry/instrumentation-graphql bumped from ^0.42.0 to ^0.43.0
+    * @opentelemetry/instrumentation-hapi bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-ioredis bumped from ^0.42.0 to ^0.43.0
+    * @opentelemetry/instrumentation-kafkajs bumped from ^0.2.0 to ^0.3.0
+    * @opentelemetry/instrumentation-knex bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-koa bumped from ^0.42.0 to ^0.43.0
+    * @opentelemetry/instrumentation-lru-memoizer bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-memcached bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-mongodb bumped from ^0.46.0 to ^0.47.0
+    * @opentelemetry/instrumentation-mongoose bumped from ^0.41.0 to ^0.42.0
+    * @opentelemetry/instrumentation-mysql bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-mysql2 bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-nestjs-core bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-net bumped from ^0.38.0 to ^0.39.0
+    * @opentelemetry/instrumentation-pg bumped from ^0.43.0 to ^0.44.0
+    * @opentelemetry/instrumentation-pino bumped from ^0.41.0 to ^0.42.0
+    * @opentelemetry/instrumentation-redis bumped from ^0.41.0 to ^0.42.0
+    * @opentelemetry/instrumentation-redis-4 bumped from ^0.41.1 to ^0.42.0
+    * @opentelemetry/instrumentation-restify bumped from ^0.40.0 to ^0.41.0
+    * @opentelemetry/instrumentation-router bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-socket.io bumped from ^0.41.0 to ^0.42.0
+    * @opentelemetry/instrumentation-tedious bumped from ^0.13.0 to ^0.14.0
+    * @opentelemetry/instrumentation-undici bumped from ^0.5.0 to ^0.6.0
+    * @opentelemetry/instrumentation-winston bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/resource-detector-alibaba-cloud bumped from ^0.29.0 to ^0.29.1
+    * @opentelemetry/resource-detector-aws bumped from ^1.6.0 to ^1.6.1
+    * @opentelemetry/resource-detector-azure bumped from ^0.2.10 to ^0.2.11
+    * @opentelemetry/resource-detector-container bumped from ^0.4.0 to ^0.4.1
+    * @opentelemetry/resource-detector-gcp bumped from ^0.29.10 to ^0.29.11
+
 ## [0.49.2](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.49.1...auto-instrumentations-node-v0.49.2) (2024-08-27)
 
 
diff --git a/metapackages/auto-instrumentations-node/package.json b/metapackages/auto-instrumentations-node/package.json
index 01b4e5eb4c..fa5fef637e 100644
--- a/metapackages/auto-instrumentations-node/package.json
+++ b/metapackages/auto-instrumentations-node/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/auto-instrumentations-node",
-  "version": "0.49.2",
+  "version": "0.50.0",
   "description": "Metapackage which bundles opentelemetry node core and contrib instrumentations",
   "author": "OpenTelemetry Authors",
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-instrumentations-node#readme",
@@ -50,50 +50,50 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/instrumentation-amqplib": "^0.41.0",
-    "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
-    "@opentelemetry/instrumentation-aws-sdk": "^0.43.1",
-    "@opentelemetry/instrumentation-bunyan": "^0.40.0",
-    "@opentelemetry/instrumentation-cassandra-driver": "^0.40.0",
-    "@opentelemetry/instrumentation-connect": "^0.38.0",
-    "@opentelemetry/instrumentation-cucumber": "^0.8.0",
-    "@opentelemetry/instrumentation-dataloader": "^0.11.0",
-    "@opentelemetry/instrumentation-dns": "^0.38.0",
-    "@opentelemetry/instrumentation-express": "^0.41.1",
-    "@opentelemetry/instrumentation-fastify": "^0.38.0",
-    "@opentelemetry/instrumentation-fs": "^0.14.0",
-    "@opentelemetry/instrumentation-generic-pool": "^0.38.1",
-    "@opentelemetry/instrumentation-graphql": "^0.42.0",
+    "@opentelemetry/instrumentation-amqplib": "^0.42.0",
+    "@opentelemetry/instrumentation-aws-lambda": "^0.44.0",
+    "@opentelemetry/instrumentation-aws-sdk": "^0.44.0",
+    "@opentelemetry/instrumentation-bunyan": "^0.41.0",
+    "@opentelemetry/instrumentation-cassandra-driver": "^0.41.0",
+    "@opentelemetry/instrumentation-connect": "^0.39.0",
+    "@opentelemetry/instrumentation-cucumber": "^0.9.0",
+    "@opentelemetry/instrumentation-dataloader": "^0.12.0",
+    "@opentelemetry/instrumentation-dns": "^0.39.0",
+    "@opentelemetry/instrumentation-express": "^0.42.0",
+    "@opentelemetry/instrumentation-fastify": "^0.39.0",
+    "@opentelemetry/instrumentation-fs": "^0.15.0",
+    "@opentelemetry/instrumentation-generic-pool": "^0.39.0",
+    "@opentelemetry/instrumentation-graphql": "^0.43.0",
     "@opentelemetry/instrumentation-grpc": "^0.53.0",
-    "@opentelemetry/instrumentation-hapi": "^0.40.0",
+    "@opentelemetry/instrumentation-hapi": "^0.41.0",
     "@opentelemetry/instrumentation-http": "^0.53.0",
-    "@opentelemetry/instrumentation-ioredis": "^0.42.0",
-    "@opentelemetry/instrumentation-kafkajs": "^0.2.0",
-    "@opentelemetry/instrumentation-knex": "^0.39.0",
-    "@opentelemetry/instrumentation-koa": "^0.42.0",
-    "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
-    "@opentelemetry/instrumentation-memcached": "^0.38.0",
-    "@opentelemetry/instrumentation-mongodb": "^0.46.0",
-    "@opentelemetry/instrumentation-mongoose": "^0.41.0",
-    "@opentelemetry/instrumentation-mysql": "^0.40.0",
-    "@opentelemetry/instrumentation-mysql2": "^0.40.0",
-    "@opentelemetry/instrumentation-nestjs-core": "^0.39.0",
-    "@opentelemetry/instrumentation-net": "^0.38.0",
-    "@opentelemetry/instrumentation-pg": "^0.43.0",
-    "@opentelemetry/instrumentation-pino": "^0.41.0",
-    "@opentelemetry/instrumentation-redis": "^0.41.0",
-    "@opentelemetry/instrumentation-redis-4": "^0.41.1",
-    "@opentelemetry/instrumentation-restify": "^0.40.0",
-    "@opentelemetry/instrumentation-router": "^0.39.0",
-    "@opentelemetry/instrumentation-socket.io": "^0.41.0",
-    "@opentelemetry/instrumentation-tedious": "^0.13.0",
-    "@opentelemetry/instrumentation-undici": "^0.5.0",
-    "@opentelemetry/instrumentation-winston": "^0.39.0",
-    "@opentelemetry/resource-detector-alibaba-cloud": "^0.29.0",
-    "@opentelemetry/resource-detector-aws": "^1.6.0",
-    "@opentelemetry/resource-detector-azure": "^0.2.10",
-    "@opentelemetry/resource-detector-container": "^0.4.0",
-    "@opentelemetry/resource-detector-gcp": "^0.29.10",
+    "@opentelemetry/instrumentation-ioredis": "^0.43.0",
+    "@opentelemetry/instrumentation-kafkajs": "^0.3.0",
+    "@opentelemetry/instrumentation-knex": "^0.40.0",
+    "@opentelemetry/instrumentation-koa": "^0.43.0",
+    "@opentelemetry/instrumentation-lru-memoizer": "^0.40.0",
+    "@opentelemetry/instrumentation-memcached": "^0.39.0",
+    "@opentelemetry/instrumentation-mongodb": "^0.47.0",
+    "@opentelemetry/instrumentation-mongoose": "^0.42.0",
+    "@opentelemetry/instrumentation-mysql": "^0.41.0",
+    "@opentelemetry/instrumentation-mysql2": "^0.41.0",
+    "@opentelemetry/instrumentation-nestjs-core": "^0.40.0",
+    "@opentelemetry/instrumentation-net": "^0.39.0",
+    "@opentelemetry/instrumentation-pg": "^0.44.0",
+    "@opentelemetry/instrumentation-pino": "^0.42.0",
+    "@opentelemetry/instrumentation-redis": "^0.42.0",
+    "@opentelemetry/instrumentation-redis-4": "^0.42.0",
+    "@opentelemetry/instrumentation-restify": "^0.41.0",
+    "@opentelemetry/instrumentation-router": "^0.40.0",
+    "@opentelemetry/instrumentation-socket.io": "^0.42.0",
+    "@opentelemetry/instrumentation-tedious": "^0.14.0",
+    "@opentelemetry/instrumentation-undici": "^0.6.0",
+    "@opentelemetry/instrumentation-winston": "^0.40.0",
+    "@opentelemetry/resource-detector-alibaba-cloud": "^0.29.1",
+    "@opentelemetry/resource-detector-aws": "^1.6.1",
+    "@opentelemetry/resource-detector-azure": "^0.2.11",
+    "@opentelemetry/resource-detector-container": "^0.4.1",
+    "@opentelemetry/resource-detector-gcp": "^0.29.11",
     "@opentelemetry/resources": "^1.24.0",
     "@opentelemetry/sdk-node": "^0.53.0"
   },
diff --git a/metapackages/auto-instrumentations-web/CHANGELOG.md b/metapackages/auto-instrumentations-web/CHANGELOG.md
index a096fe3011..af542b5be4 100644
--- a/metapackages/auto-instrumentations-web/CHANGELOG.md
+++ b/metapackages/auto-instrumentations-web/CHANGELOG.md
@@ -1,5 +1,20 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-web-v0.40.0...auto-instrumentations-web-v0.41.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * dependencies
+    * @opentelemetry/instrumentation-document-load bumped from ^0.39.0 to ^0.40.0
+    * @opentelemetry/instrumentation-user-interaction bumped from ^0.39.0 to ^0.40.0
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-web-v0.39.0...auto-instrumentations-web-v0.40.0) (2024-06-06)
 
 
diff --git a/metapackages/auto-instrumentations-web/package.json b/metapackages/auto-instrumentations-web/package.json
index 134a54872c..d564273946 100644
--- a/metapackages/auto-instrumentations-web/package.json
+++ b/metapackages/auto-instrumentations-web/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/auto-instrumentations-web",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "Metapackage which bundles opentelemetry node core and contrib instrumentations",
   "author": "OpenTelemetry Authors",
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-instrumentations-web#readme",
@@ -65,9 +65,9 @@
   },
   "dependencies": {
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/instrumentation-document-load": "^0.39.0",
+    "@opentelemetry/instrumentation-document-load": "^0.40.0",
     "@opentelemetry/instrumentation-fetch": "^0.53.0",
-    "@opentelemetry/instrumentation-user-interaction": "^0.39.0",
+    "@opentelemetry/instrumentation-user-interaction": "^0.40.0",
     "@opentelemetry/instrumentation-xml-http-request": "^0.53.0"
   },
   "files": [
diff --git a/package-lock.json b/package-lock.json
index 8671533395..918ae0e6d2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -39,7 +39,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-alibaba-cloud": {
       "name": "@opentelemetry/resource-detector-alibaba-cloud",
-      "version": "0.29.0",
+      "version": "0.29.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.0.0",
@@ -47,7 +47,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -74,7 +74,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-aws": {
       "name": "@opentelemetry/resource-detector-aws",
-      "version": "1.6.0",
+      "version": "1.6.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
@@ -83,7 +83,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -110,7 +110,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-azure": {
       "name": "@opentelemetry/resource-detector-azure",
-      "version": "0.2.10",
+      "version": "0.2.11",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.25.1",
@@ -119,7 +119,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -145,7 +145,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-container": {
       "name": "@opentelemetry/resource-detector-container",
-      "version": "0.4.0",
+      "version": "0.4.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.10.0",
@@ -153,7 +153,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -181,7 +181,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-gcp": {
       "name": "@opentelemetry/resource-detector-gcp",
-      "version": "0.29.10",
+      "version": "0.29.11",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
@@ -191,7 +191,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
         "@types/semver": "7.5.8",
@@ -249,7 +249,7 @@
     },
     "detectors/node/opentelemetry-resource-detector-instana": {
       "name": "@opentelemetry/resource-detector-instana",
-      "version": "0.11.0",
+      "version": "0.12.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/resources": "^1.10.0",
@@ -257,7 +257,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-node": "^0.53.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -284,7 +284,7 @@
     },
     "metapackages/auto-configuration-propagators": {
       "name": "@opentelemetry/auto-configuration-propagators",
-      "version": "0.2.0",
+      "version": "0.3.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.25.1",
@@ -315,54 +315,54 @@
     },
     "metapackages/auto-instrumentations-node": {
       "name": "@opentelemetry/auto-instrumentations-node",
-      "version": "0.49.2",
+      "version": "0.50.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/instrumentation-amqplib": "^0.41.0",
-        "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
-        "@opentelemetry/instrumentation-aws-sdk": "^0.43.1",
-        "@opentelemetry/instrumentation-bunyan": "^0.40.0",
-        "@opentelemetry/instrumentation-cassandra-driver": "^0.40.0",
-        "@opentelemetry/instrumentation-connect": "^0.38.0",
-        "@opentelemetry/instrumentation-cucumber": "^0.8.0",
-        "@opentelemetry/instrumentation-dataloader": "^0.11.0",
-        "@opentelemetry/instrumentation-dns": "^0.38.0",
-        "@opentelemetry/instrumentation-express": "^0.41.1",
-        "@opentelemetry/instrumentation-fastify": "^0.38.0",
-        "@opentelemetry/instrumentation-fs": "^0.14.0",
-        "@opentelemetry/instrumentation-generic-pool": "^0.38.1",
-        "@opentelemetry/instrumentation-graphql": "^0.42.0",
+        "@opentelemetry/instrumentation-amqplib": "^0.42.0",
+        "@opentelemetry/instrumentation-aws-lambda": "^0.44.0",
+        "@opentelemetry/instrumentation-aws-sdk": "^0.44.0",
+        "@opentelemetry/instrumentation-bunyan": "^0.41.0",
+        "@opentelemetry/instrumentation-cassandra-driver": "^0.41.0",
+        "@opentelemetry/instrumentation-connect": "^0.39.0",
+        "@opentelemetry/instrumentation-cucumber": "^0.9.0",
+        "@opentelemetry/instrumentation-dataloader": "^0.12.0",
+        "@opentelemetry/instrumentation-dns": "^0.39.0",
+        "@opentelemetry/instrumentation-express": "^0.42.0",
+        "@opentelemetry/instrumentation-fastify": "^0.39.0",
+        "@opentelemetry/instrumentation-fs": "^0.15.0",
+        "@opentelemetry/instrumentation-generic-pool": "^0.39.0",
+        "@opentelemetry/instrumentation-graphql": "^0.43.0",
         "@opentelemetry/instrumentation-grpc": "^0.53.0",
-        "@opentelemetry/instrumentation-hapi": "^0.40.0",
+        "@opentelemetry/instrumentation-hapi": "^0.41.0",
         "@opentelemetry/instrumentation-http": "^0.53.0",
-        "@opentelemetry/instrumentation-ioredis": "^0.42.0",
-        "@opentelemetry/instrumentation-kafkajs": "^0.2.0",
-        "@opentelemetry/instrumentation-knex": "^0.39.0",
-        "@opentelemetry/instrumentation-koa": "^0.42.0",
-        "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
-        "@opentelemetry/instrumentation-memcached": "^0.38.0",
-        "@opentelemetry/instrumentation-mongodb": "^0.46.0",
-        "@opentelemetry/instrumentation-mongoose": "^0.41.0",
-        "@opentelemetry/instrumentation-mysql": "^0.40.0",
-        "@opentelemetry/instrumentation-mysql2": "^0.40.0",
-        "@opentelemetry/instrumentation-nestjs-core": "^0.39.0",
-        "@opentelemetry/instrumentation-net": "^0.38.0",
-        "@opentelemetry/instrumentation-pg": "^0.43.0",
-        "@opentelemetry/instrumentation-pino": "^0.41.0",
-        "@opentelemetry/instrumentation-redis": "^0.41.0",
-        "@opentelemetry/instrumentation-redis-4": "^0.41.1",
-        "@opentelemetry/instrumentation-restify": "^0.40.0",
-        "@opentelemetry/instrumentation-router": "^0.39.0",
-        "@opentelemetry/instrumentation-socket.io": "^0.41.0",
-        "@opentelemetry/instrumentation-tedious": "^0.13.0",
-        "@opentelemetry/instrumentation-undici": "^0.5.0",
-        "@opentelemetry/instrumentation-winston": "^0.39.0",
-        "@opentelemetry/resource-detector-alibaba-cloud": "^0.29.0",
-        "@opentelemetry/resource-detector-aws": "^1.6.0",
-        "@opentelemetry/resource-detector-azure": "^0.2.10",
-        "@opentelemetry/resource-detector-container": "^0.4.0",
-        "@opentelemetry/resource-detector-gcp": "^0.29.10",
+        "@opentelemetry/instrumentation-ioredis": "^0.43.0",
+        "@opentelemetry/instrumentation-kafkajs": "^0.3.0",
+        "@opentelemetry/instrumentation-knex": "^0.40.0",
+        "@opentelemetry/instrumentation-koa": "^0.43.0",
+        "@opentelemetry/instrumentation-lru-memoizer": "^0.40.0",
+        "@opentelemetry/instrumentation-memcached": "^0.39.0",
+        "@opentelemetry/instrumentation-mongodb": "^0.47.0",
+        "@opentelemetry/instrumentation-mongoose": "^0.42.0",
+        "@opentelemetry/instrumentation-mysql": "^0.41.0",
+        "@opentelemetry/instrumentation-mysql2": "^0.41.0",
+        "@opentelemetry/instrumentation-nestjs-core": "^0.40.0",
+        "@opentelemetry/instrumentation-net": "^0.39.0",
+        "@opentelemetry/instrumentation-pg": "^0.44.0",
+        "@opentelemetry/instrumentation-pino": "^0.42.0",
+        "@opentelemetry/instrumentation-redis": "^0.42.0",
+        "@opentelemetry/instrumentation-redis-4": "^0.42.0",
+        "@opentelemetry/instrumentation-restify": "^0.41.0",
+        "@opentelemetry/instrumentation-router": "^0.40.0",
+        "@opentelemetry/instrumentation-socket.io": "^0.42.0",
+        "@opentelemetry/instrumentation-tedious": "^0.14.0",
+        "@opentelemetry/instrumentation-undici": "^0.6.0",
+        "@opentelemetry/instrumentation-winston": "^0.40.0",
+        "@opentelemetry/resource-detector-alibaba-cloud": "^0.29.1",
+        "@opentelemetry/resource-detector-aws": "^1.6.1",
+        "@opentelemetry/resource-detector-azure": "^0.2.11",
+        "@opentelemetry/resource-detector-container": "^0.4.1",
+        "@opentelemetry/resource-detector-gcp": "^0.29.11",
         "@opentelemetry/resources": "^1.24.0",
         "@opentelemetry/sdk-node": "^0.53.0"
       },
@@ -387,13 +387,13 @@
     },
     "metapackages/auto-instrumentations-web": {
       "name": "@opentelemetry/auto-instrumentations-web",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/instrumentation-document-load": "^0.39.0",
+        "@opentelemetry/instrumentation-document-load": "^0.40.0",
         "@opentelemetry/instrumentation-fetch": "^0.53.0",
-        "@opentelemetry/instrumentation-user-interaction": "^0.39.0",
+        "@opentelemetry/instrumentation-user-interaction": "^0.40.0",
         "@opentelemetry/instrumentation-xml-http-request": "^0.53.0"
       },
       "devDependencies": {
@@ -37675,11 +37675,11 @@
     },
     "packages/opentelemetry-propagation-utils": {
       "name": "@opentelemetry/propagation-utils",
-      "version": "0.30.10",
+      "version": "0.30.11",
       "license": "Apache-2.0",
       "devDependencies": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@types/mocha": "^9.1.1",
         "@types/node": "18.6.5",
         "@types/sinon": "^10.0.11",
@@ -37750,7 +37750,7 @@
     },
     "packages/opentelemetry-test-utils": {
       "name": "@opentelemetry/contrib-test-utils",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
@@ -37776,7 +37776,7 @@
     },
     "packages/winston-transport": {
       "name": "@opentelemetry/winston-transport",
-      "version": "0.5.0",
+      "version": "0.6.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.53.0",
@@ -37806,7 +37806,7 @@
     },
     "plugins/node/instrumentation-amqplib": {
       "name": "@opentelemetry/instrumentation-amqplib",
-      "version": "0.41.0",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -37815,7 +37815,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@types/amqplib": "^0.5.17",
         "@types/lodash": "4.14.199",
         "@types/mocha": "8.2.3",
@@ -37846,7 +37846,7 @@
     },
     "plugins/node/instrumentation-cucumber": {
       "name": "@opentelemetry/instrumentation-cucumber",
-      "version": "0.8.0",
+      "version": "0.9.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -37880,7 +37880,7 @@
     },
     "plugins/node/instrumentation-dataloader": {
       "name": "@opentelemetry/instrumentation-dataloader",
-      "version": "0.11.0",
+      "version": "0.12.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0"
@@ -37909,7 +37909,7 @@
     },
     "plugins/node/instrumentation-fs": {
       "name": "@opentelemetry/instrumentation-fs",
-      "version": "0.14.0",
+      "version": "0.15.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -37940,7 +37940,7 @@
     },
     "plugins/node/instrumentation-kafkajs": {
       "name": "@opentelemetry/instrumentation-kafkajs",
-      "version": "0.2.0",
+      "version": "0.3.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -37948,7 +37948,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.24.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -37970,14 +37970,14 @@
     },
     "plugins/node/instrumentation-lru-memoizer": {
       "name": "@opentelemetry/instrumentation-lru-memoizer",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0"
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@types/lru-cache": "7.10.10",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -38005,7 +38005,7 @@
     },
     "plugins/node/instrumentation-mongoose": {
       "name": "@opentelemetry/instrumentation-mongoose",
-      "version": "0.41.0",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38014,7 +38014,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -38042,7 +38042,7 @@
     },
     "plugins/node/instrumentation-runtime-node": {
       "name": "@opentelemetry/instrumentation-runtime-node",
-      "version": "0.6.0",
+      "version": "0.7.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0"
@@ -38082,7 +38082,7 @@
     },
     "plugins/node/instrumentation-socket.io": {
       "name": "@opentelemetry/instrumentation-socket.io",
-      "version": "0.41.0",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -38090,7 +38090,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -38331,7 +38331,7 @@
     },
     "plugins/node/instrumentation-tedious": {
       "name": "@opentelemetry/instrumentation-tedious",
-      "version": "0.13.0",
+      "version": "0.14.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -38341,7 +38341,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -38532,7 +38532,7 @@
     },
     "plugins/node/instrumentation-undici": {
       "name": "@opentelemetry/instrumentation-undici",
-      "version": "0.5.0",
+      "version": "0.6.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38563,7 +38563,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-aws-lambda": {
       "name": "@opentelemetry/instrumentation-aws-lambda",
-      "version": "0.43.0",
+      "version": "0.44.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -38595,12 +38595,12 @@
     },
     "plugins/node/opentelemetry-instrumentation-aws-sdk": {
       "name": "@opentelemetry/instrumentation-aws-sdk",
-      "version": "0.43.1",
+      "version": "0.44.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/propagation-utils": "^0.30.10",
+        "@opentelemetry/propagation-utils": "^0.30.11",
         "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
@@ -38611,7 +38611,7 @@
         "@aws-sdk/client-sqs": "3.85.0",
         "@aws-sdk/types": "3.78.0",
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -38643,7 +38643,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-bunyan": {
       "name": "@opentelemetry/instrumentation-bunyan",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.53.0",
@@ -38686,7 +38686,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-cassandra": {
       "name": "@opentelemetry/instrumentation-cassandra-driver",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -38695,7 +38695,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -38719,7 +38719,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-connect": {
       "name": "@opentelemetry/instrumentation-connect",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38758,7 +38758,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-dns": {
       "name": "@opentelemetry/instrumentation-dns",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -38790,7 +38790,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-express": {
       "name": "@opentelemetry/instrumentation-express",
-      "version": "0.41.1",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38800,7 +38800,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/express": "4.17.21",
@@ -38825,7 +38825,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-fastify": {
       "name": "@opentelemetry/instrumentation-fastify",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38836,7 +38836,7 @@
         "@fastify/express": "^3.0.0",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation-http": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -38868,7 +38868,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-generic-pool": {
       "name": "@opentelemetry/instrumentation-generic-pool",
-      "version": "0.38.1",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0"
@@ -38899,7 +38899,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-graphql": {
       "name": "@opentelemetry/instrumentation-graphql",
-      "version": "0.42.0",
+      "version": "0.43.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0"
@@ -38933,7 +38933,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-hapi": {
       "name": "@opentelemetry/instrumentation-hapi",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -38944,7 +38944,7 @@
         "@hapi/hapi": "21.3.10",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -38966,7 +38966,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-ioredis": {
       "name": "@opentelemetry/instrumentation-ioredis",
-      "version": "0.42.0",
+      "version": "0.43.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -38976,7 +38976,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/ioredis4": "npm:@types/ioredis@4.28.10",
@@ -39002,7 +39002,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-knex": {
       "name": "@opentelemetry/instrumentation-knex",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -39032,7 +39032,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-koa": {
       "name": "@opentelemetry/instrumentation-koa",
-      "version": "0.42.0",
+      "version": "0.43.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -39043,7 +39043,7 @@
         "@koa/router": "12.0.1",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation-http": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -39070,7 +39070,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-memcached": {
       "name": "@opentelemetry/instrumentation-memcached",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -39080,7 +39080,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -39102,7 +39102,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-mongodb": {
       "name": "@opentelemetry/instrumentation-mongodb",
-      "version": "0.46.0",
+      "version": "0.47.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -39112,7 +39112,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/bson": "4.0.5",
@@ -39295,7 +39295,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-mysql": {
       "name": "@opentelemetry/instrumentation-mysql",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -39305,7 +39305,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-metrics": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -39328,7 +39328,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-mysql2": {
       "name": "@opentelemetry/instrumentation-mysql2",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -39338,7 +39338,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
@@ -39361,7 +39361,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-nestjs-core": {
       "name": "@opentelemetry/instrumentation-nestjs-core",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -39401,7 +39401,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-net": {
       "name": "@opentelemetry/instrumentation-net",
-      "version": "0.38.0",
+      "version": "0.39.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -39431,7 +39431,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-pg": {
       "name": "@opentelemetry/instrumentation-pg",
-      "version": "0.43.0",
+      "version": "0.44.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -39443,7 +39443,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -39470,7 +39470,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-pino": {
       "name": "@opentelemetry/instrumentation-pino",
-      "version": "0.41.0",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.53.0",
@@ -39479,7 +39479,7 @@
       },
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
@@ -39506,7 +39506,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-redis": {
       "name": "@opentelemetry/instrumentation-redis",
-      "version": "0.41.0",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -39516,7 +39516,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
         "@types/mocha": "7.0.2",
@@ -39540,7 +39540,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-redis-4": {
       "name": "@opentelemetry/instrumentation-redis-4",
-      "version": "0.41.1",
+      "version": "0.42.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -39550,7 +39550,7 @@
       "devDependencies": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -39588,7 +39588,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-restify": {
       "name": "@opentelemetry/instrumentation-restify",
-      "version": "0.40.0",
+      "version": "0.41.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -39622,7 +39622,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-router": {
       "name": "@opentelemetry/instrumentation-router",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/instrumentation": "^0.53.0",
@@ -39651,7 +39651,7 @@
     },
     "plugins/node/opentelemetry-instrumentation-winston": {
       "name": "@opentelemetry/instrumentation-winston",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/api-logs": "^0.53.0",
@@ -39662,7 +39662,7 @@
         "@opentelemetry/context-async-hooks": "^1.21.0",
         "@opentelemetry/sdk-trace-base": "^1.21.0",
         "@opentelemetry/sdk-trace-node": "^1.21.0",
-        "@opentelemetry/winston-transport": "^0.5.0",
+        "@opentelemetry/winston-transport": "^0.6.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -39686,7 +39686,7 @@
     },
     "plugins/web/opentelemetry-instrumentation-document-load": {
       "name": "@opentelemetry/instrumentation-document-load",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -39727,7 +39727,7 @@
     },
     "plugins/web/opentelemetry-instrumentation-long-task": {
       "name": "@opentelemetry/instrumentation-long-task",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -40338,7 +40338,7 @@
     },
     "plugins/web/opentelemetry-instrumentation-user-interaction": {
       "name": "@opentelemetry/instrumentation-user-interaction",
-      "version": "0.39.0",
+      "version": "0.40.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.8.0",
@@ -40953,7 +40953,7 @@
     },
     "plugins/web/opentelemetry-plugin-react-load": {
       "name": "@opentelemetry/plugin-react-load",
-      "version": "0.30.1",
+      "version": "0.31.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/context-zone": "^1.0.0",
@@ -50146,50 +50146,50 @@
       "requires": {
         "@opentelemetry/api": "^1.4.1",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/instrumentation-amqplib": "^0.41.0",
-        "@opentelemetry/instrumentation-aws-lambda": "^0.43.0",
-        "@opentelemetry/instrumentation-aws-sdk": "^0.43.1",
-        "@opentelemetry/instrumentation-bunyan": "^0.40.0",
-        "@opentelemetry/instrumentation-cassandra-driver": "^0.40.0",
-        "@opentelemetry/instrumentation-connect": "^0.38.0",
-        "@opentelemetry/instrumentation-cucumber": "^0.8.0",
-        "@opentelemetry/instrumentation-dataloader": "^0.11.0",
-        "@opentelemetry/instrumentation-dns": "^0.38.0",
-        "@opentelemetry/instrumentation-express": "^0.41.1",
-        "@opentelemetry/instrumentation-fastify": "^0.38.0",
-        "@opentelemetry/instrumentation-fs": "^0.14.0",
-        "@opentelemetry/instrumentation-generic-pool": "^0.38.1",
-        "@opentelemetry/instrumentation-graphql": "^0.42.0",
+        "@opentelemetry/instrumentation-amqplib": "^0.42.0",
+        "@opentelemetry/instrumentation-aws-lambda": "^0.44.0",
+        "@opentelemetry/instrumentation-aws-sdk": "^0.44.0",
+        "@opentelemetry/instrumentation-bunyan": "^0.41.0",
+        "@opentelemetry/instrumentation-cassandra-driver": "^0.41.0",
+        "@opentelemetry/instrumentation-connect": "^0.39.0",
+        "@opentelemetry/instrumentation-cucumber": "^0.9.0",
+        "@opentelemetry/instrumentation-dataloader": "^0.12.0",
+        "@opentelemetry/instrumentation-dns": "^0.39.0",
+        "@opentelemetry/instrumentation-express": "^0.42.0",
+        "@opentelemetry/instrumentation-fastify": "^0.39.0",
+        "@opentelemetry/instrumentation-fs": "^0.15.0",
+        "@opentelemetry/instrumentation-generic-pool": "^0.39.0",
+        "@opentelemetry/instrumentation-graphql": "^0.43.0",
         "@opentelemetry/instrumentation-grpc": "^0.53.0",
-        "@opentelemetry/instrumentation-hapi": "^0.40.0",
+        "@opentelemetry/instrumentation-hapi": "^0.41.0",
         "@opentelemetry/instrumentation-http": "^0.53.0",
-        "@opentelemetry/instrumentation-ioredis": "^0.42.0",
-        "@opentelemetry/instrumentation-kafkajs": "^0.2.0",
-        "@opentelemetry/instrumentation-knex": "^0.39.0",
-        "@opentelemetry/instrumentation-koa": "^0.42.0",
-        "@opentelemetry/instrumentation-lru-memoizer": "^0.39.0",
-        "@opentelemetry/instrumentation-memcached": "^0.38.0",
-        "@opentelemetry/instrumentation-mongodb": "^0.46.0",
-        "@opentelemetry/instrumentation-mongoose": "^0.41.0",
-        "@opentelemetry/instrumentation-mysql": "^0.40.0",
-        "@opentelemetry/instrumentation-mysql2": "^0.40.0",
-        "@opentelemetry/instrumentation-nestjs-core": "^0.39.0",
-        "@opentelemetry/instrumentation-net": "^0.38.0",
-        "@opentelemetry/instrumentation-pg": "^0.43.0",
-        "@opentelemetry/instrumentation-pino": "^0.41.0",
-        "@opentelemetry/instrumentation-redis": "^0.41.0",
-        "@opentelemetry/instrumentation-redis-4": "^0.41.1",
-        "@opentelemetry/instrumentation-restify": "^0.40.0",
-        "@opentelemetry/instrumentation-router": "^0.39.0",
-        "@opentelemetry/instrumentation-socket.io": "^0.41.0",
-        "@opentelemetry/instrumentation-tedious": "^0.13.0",
-        "@opentelemetry/instrumentation-undici": "^0.5.0",
-        "@opentelemetry/instrumentation-winston": "^0.39.0",
-        "@opentelemetry/resource-detector-alibaba-cloud": "^0.29.0",
-        "@opentelemetry/resource-detector-aws": "^1.6.0",
-        "@opentelemetry/resource-detector-azure": "^0.2.10",
-        "@opentelemetry/resource-detector-container": "^0.4.0",
-        "@opentelemetry/resource-detector-gcp": "^0.29.10",
+        "@opentelemetry/instrumentation-ioredis": "^0.43.0",
+        "@opentelemetry/instrumentation-kafkajs": "^0.3.0",
+        "@opentelemetry/instrumentation-knex": "^0.40.0",
+        "@opentelemetry/instrumentation-koa": "^0.43.0",
+        "@opentelemetry/instrumentation-lru-memoizer": "^0.40.0",
+        "@opentelemetry/instrumentation-memcached": "^0.39.0",
+        "@opentelemetry/instrumentation-mongodb": "^0.47.0",
+        "@opentelemetry/instrumentation-mongoose": "^0.42.0",
+        "@opentelemetry/instrumentation-mysql": "^0.41.0",
+        "@opentelemetry/instrumentation-mysql2": "^0.41.0",
+        "@opentelemetry/instrumentation-nestjs-core": "^0.40.0",
+        "@opentelemetry/instrumentation-net": "^0.39.0",
+        "@opentelemetry/instrumentation-pg": "^0.44.0",
+        "@opentelemetry/instrumentation-pino": "^0.42.0",
+        "@opentelemetry/instrumentation-redis": "^0.42.0",
+        "@opentelemetry/instrumentation-redis-4": "^0.42.0",
+        "@opentelemetry/instrumentation-restify": "^0.41.0",
+        "@opentelemetry/instrumentation-router": "^0.40.0",
+        "@opentelemetry/instrumentation-socket.io": "^0.42.0",
+        "@opentelemetry/instrumentation-tedious": "^0.14.0",
+        "@opentelemetry/instrumentation-undici": "^0.6.0",
+        "@opentelemetry/instrumentation-winston": "^0.40.0",
+        "@opentelemetry/resource-detector-alibaba-cloud": "^0.29.1",
+        "@opentelemetry/resource-detector-aws": "^1.6.1",
+        "@opentelemetry/resource-detector-azure": "^0.2.11",
+        "@opentelemetry/resource-detector-container": "^0.4.1",
+        "@opentelemetry/resource-detector-gcp": "^0.29.11",
         "@opentelemetry/resources": "^1.24.0",
         "@opentelemetry/sdk-node": "^0.53.0",
         "@types/mocha": "7.0.2",
@@ -50210,9 +50210,9 @@
         "@babel/preset-env": "7.24.6",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/instrumentation-document-load": "^0.39.0",
+        "@opentelemetry/instrumentation-document-load": "^0.40.0",
         "@opentelemetry/instrumentation-fetch": "^0.53.0",
-        "@opentelemetry/instrumentation-user-interaction": "^0.39.0",
+        "@opentelemetry/instrumentation-user-interaction": "^0.40.0",
         "@opentelemetry/instrumentation-xml-http-request": "^0.53.0",
         "@types/mocha": "10.0.6",
         "@types/node": "18.6.5",
@@ -51311,7 +51311,7 @@
       "version": "file:plugins/node/instrumentation-amqplib",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
@@ -51371,10 +51371,10 @@
         "@aws-sdk/client-sqs": "3.85.0",
         "@aws-sdk/types": "3.78.0",
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
-        "@opentelemetry/propagation-utils": "^0.30.10",
+        "@opentelemetry/propagation-utils": "^0.30.11",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
@@ -51441,7 +51441,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -51593,7 +51593,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -51619,7 +51619,7 @@
         "@fastify/express": "^3.0.0",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/instrumentation-http": "^0.53.0",
@@ -51742,7 +51742,7 @@
         "@hapi/hapi": "21.3.10",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -51775,7 +51775,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -51800,7 +51800,7 @@
       "version": "file:plugins/node/instrumentation-kafkajs",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.24.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
@@ -51842,7 +51842,7 @@
         "@koa/router": "12.0.1",
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/instrumentation-http": "^0.53.0",
@@ -52317,7 +52317,7 @@
       "version": "file:plugins/node/instrumentation-lru-memoizer",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@types/lru-cache": "7.10.10",
         "@types/mocha": "8.2.3",
@@ -52345,7 +52345,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -52367,7 +52367,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-metrics": "^1.9.1",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -52495,7 +52495,7 @@
       "version": "file:plugins/node/instrumentation-mongoose",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -52525,7 +52525,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-metrics": "^1.8.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -52548,7 +52548,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
@@ -52621,7 +52621,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/sdk-trace-node": "^1.8.0",
@@ -52650,7 +52650,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/api-logs": "^0.53.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.25.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -52676,7 +52676,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/redis-common": "^0.36.2",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
@@ -52700,7 +52700,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.8.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/redis-common": "^0.36.2",
@@ -52814,7 +52814,7 @@
       "version": "file:plugins/node/instrumentation-socket.io",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
@@ -53007,7 +53007,7 @@
       "requires": {
         "@opentelemetry/api": "^1.3.0",
         "@opentelemetry/context-async-hooks": "^1.8.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.8.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
@@ -53610,7 +53610,7 @@
         "@opentelemetry/instrumentation": "^0.53.0",
         "@opentelemetry/sdk-trace-base": "^1.21.0",
         "@opentelemetry/sdk-trace-node": "^1.21.0",
-        "@opentelemetry/winston-transport": "^0.5.0",
+        "@opentelemetry/winston-transport": "^0.6.0",
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
@@ -54130,7 +54130,7 @@
       "version": "file:packages/opentelemetry-propagation-utils",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@types/mocha": "^9.1.1",
         "@types/node": "18.6.5",
         "@types/sinon": "^10.0.11",
@@ -55068,7 +55068,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-alibaba-cloud",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/resources": "^1.0.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
@@ -55095,7 +55095,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-aws",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.0.0",
         "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
@@ -55123,7 +55123,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-azure",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.25.1",
         "@opentelemetry/resources": "^1.10.1",
         "@opentelemetry/semantic-conventions": "^1.27.0",
@@ -55150,7 +55150,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-container",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
@@ -55178,7 +55178,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-gcp",
       "requires": {
         "@opentelemetry/api": "^1.0.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.0.0",
         "@opentelemetry/resources": "^1.0.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
@@ -55230,7 +55230,7 @@
       "version": "file:detectors/node/opentelemetry-resource-detector-instana",
       "requires": {
         "@opentelemetry/api": "^1.3.0",
-        "@opentelemetry/contrib-test-utils": "^0.40.0",
+        "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/sdk-node": "^0.53.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
diff --git a/packages/opentelemetry-propagation-utils/CHANGELOG.md b/packages/opentelemetry-propagation-utils/CHANGELOG.md
index 8b378afad8..abc1f6da23 100644
--- a/packages/opentelemetry-propagation-utils/CHANGELOG.md
+++ b/packages/opentelemetry-propagation-utils/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## [0.30.11](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/propagation-utils-v0.30.10...propagation-utils-v0.30.11) (2024-09-02)
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.30.10](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/propagation-utils-v0.30.9...propagation-utils-v0.30.10) (2024-06-06)
 
 
diff --git a/packages/opentelemetry-propagation-utils/package.json b/packages/opentelemetry-propagation-utils/package.json
index ca0cd27bee..ad2a037d44 100644
--- a/packages/opentelemetry-propagation-utils/package.json
+++ b/packages/opentelemetry-propagation-utils/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/propagation-utils",
-  "version": "0.30.10",
+  "version": "0.30.11",
   "description": "Propagation utilities for opentelemetry instrumentations",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -43,7 +43,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.0.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@types/mocha": "^9.1.1",
     "@types/node": "18.6.5",
     "@types/sinon": "^10.0.11",
diff --git a/packages/opentelemetry-test-utils/CHANGELOG.md b/packages/opentelemetry-test-utils/CHANGELOG.md
index d3d0cc41d4..a27e5e8bcf 100644
--- a/packages/opentelemetry-test-utils/CHANGELOG.md
+++ b/packages/opentelemetry-test-utils/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/contrib-test-utils-v0.40.0...contrib-test-utils-v0.41.0) (2024-09-02)
+
+
+### Features
+
+* **opentelemetry-test-utils:** export class TestMetricReader ([7054bc1](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/7054bc14001843d32b2cc044ebc77caa3c94d1dd))
+* **opentelemetry-test-utils:** export class TestMetricReader ([7e27039](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/7e270395feca8a1b9a703491b189df41bcef5b79))
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/contrib-test-utils-v0.39.0...contrib-test-utils-v0.40.0) (2024-06-06)
 
 
diff --git a/packages/opentelemetry-test-utils/package.json b/packages/opentelemetry-test-utils/package.json
index 05b4f8d0ed..2a95242b77 100644
--- a/packages/opentelemetry-test-utils/package.json
+++ b/packages/opentelemetry-test-utils/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/contrib-test-utils",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "Test utilities for opentelemetry components",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/packages/winston-transport/CHANGELOG.md b/packages/winston-transport/CHANGELOG.md
index 737c65cb55..e6c6a38b78 100644
--- a/packages/winston-transport/CHANGELOG.md
+++ b/packages/winston-transport/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.6.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/winston-transport-v0.5.0...winston-transport-v0.6.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.5.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/winston-transport-v0.4.0...winston-transport-v0.5.0) (2024-07-03)
 
 
diff --git a/packages/winston-transport/package.json b/packages/winston-transport/package.json
index 4dcae26132..9c77f19592 100644
--- a/packages/winston-transport/package.json
+++ b/packages/winston-transport/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/winston-transport",
-  "version": "0.5.0",
+  "version": "0.6.0",
   "description": "OpenTelemetry Transport for winston",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-amqplib/CHANGELOG.md b/plugins/node/instrumentation-amqplib/CHANGELOG.md
index 4e16078ba0..5adb4fdcc2 100644
--- a/plugins/node/instrumentation-amqplib/CHANGELOG.md
+++ b/plugins/node/instrumentation-amqplib/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-amqplib-v0.41.0...instrumentation-amqplib-v0.42.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-amqplib-v0.40.0...instrumentation-amqplib-v0.41.0) (2024-08-05)
 
 
diff --git a/plugins/node/instrumentation-amqplib/package.json b/plugins/node/instrumentation-amqplib/package.json
index 06653c12d4..b4b855c1dc 100644
--- a/plugins/node/instrumentation-amqplib/package.json
+++ b/plugins/node/instrumentation-amqplib/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-amqplib",
-  "version": "0.41.0",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for the `amqplib` messaging client for RabbitMQ",
   "keywords": [
     "amqplib",
@@ -51,7 +51,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@types/amqplib": "^0.5.17",
     "@types/lodash": "4.14.199",
     "@types/mocha": "8.2.3",
diff --git a/plugins/node/instrumentation-cucumber/CHANGELOG.md b/plugins/node/instrumentation-cucumber/CHANGELOG.md
index 22e477c7d1..ecf7dc7190 100644
--- a/plugins/node/instrumentation-cucumber/CHANGELOG.md
+++ b/plugins/node/instrumentation-cucumber/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.9.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cucumber-v0.8.0...instrumentation-cucumber-v0.9.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.8.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cucumber-v0.7.0...instrumentation-cucumber-v0.8.0) (2024-07-03)
 
 
diff --git a/plugins/node/instrumentation-cucumber/package.json b/plugins/node/instrumentation-cucumber/package.json
index 167b140ee6..ba2329ba73 100644
--- a/plugins/node/instrumentation-cucumber/package.json
+++ b/plugins/node/instrumentation-cucumber/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-cucumber",
-  "version": "0.8.0",
+  "version": "0.9.0",
   "description": "OpenTelemetry instrumentation for `@cucumber/cucumber` automated tests runner",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-dataloader/CHANGELOG.md b/plugins/node/instrumentation-dataloader/CHANGELOG.md
index dfa106a1bb..86c5b29711 100644
--- a/plugins/node/instrumentation-dataloader/CHANGELOG.md
+++ b/plugins/node/instrumentation-dataloader/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.12.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-dataloader-v0.11.0...instrumentation-dataloader-v0.12.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.11.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-dataloader-v0.10.0...instrumentation-dataloader-v0.11.0) (2024-07-03)
 
 
diff --git a/plugins/node/instrumentation-dataloader/package.json b/plugins/node/instrumentation-dataloader/package.json
index f023293619..458c818ad7 100644
--- a/plugins/node/instrumentation-dataloader/package.json
+++ b/plugins/node/instrumentation-dataloader/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-dataloader",
-  "version": "0.11.0",
+  "version": "0.12.0",
   "description": "OpenTelemetry instrumentation for `dataloader` data fetching layer",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-fs/CHANGELOG.md b/plugins/node/instrumentation-fs/CHANGELOG.md
index bfe3c530a7..dae482f9bb 100644
--- a/plugins/node/instrumentation-fs/CHANGELOG.md
+++ b/plugins/node/instrumentation-fs/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.15.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-fs-v0.14.0...instrumentation-fs-v0.15.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.14.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-fs-v0.13.0...instrumentation-fs-v0.14.0) (2024-07-03)
 
 
diff --git a/plugins/node/instrumentation-fs/package.json b/plugins/node/instrumentation-fs/package.json
index 5f953e0974..014813c5cb 100644
--- a/plugins/node/instrumentation-fs/package.json
+++ b/plugins/node/instrumentation-fs/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-fs",
-  "version": "0.14.0",
+  "version": "0.15.0",
   "description": "OpenTelemetry instrumentation for `node:fs` file system interactions module",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-kafkajs/CHANGELOG.md b/plugins/node/instrumentation-kafkajs/CHANGELOG.md
index 33d87bea56..2ad0367c52 100644
--- a/plugins/node/instrumentation-kafkajs/CHANGELOG.md
+++ b/plugins/node/instrumentation-kafkajs/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.3.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-kafkajs-v0.2.0...instrumentation-kafkajs-v0.3.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.2.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-kafkajs-v0.1.0...instrumentation-kafkajs-v0.2.0) (2024-07-03)
 
 
diff --git a/plugins/node/instrumentation-kafkajs/package.json b/plugins/node/instrumentation-kafkajs/package.json
index 5876de5fa9..c8f51836fd 100644
--- a/plugins/node/instrumentation-kafkajs/package.json
+++ b/plugins/node/instrumentation-kafkajs/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-kafkajs",
-  "version": "0.2.0",
+  "version": "0.3.0",
   "description": "OpenTelemetry instrumentation for `kafkajs` messaging client for Apache Kafka",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -44,7 +44,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.24.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
diff --git a/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md b/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md
index b04a8bcfe6..0b6c8514a2 100644
--- a/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md
+++ b/plugins/node/instrumentation-lru-memoizer/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-lru-memoizer-v0.39.0...instrumentation-lru-memoizer-v0.40.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-lru-memoizer-v0.38.0...instrumentation-lru-memoizer-v0.39.0) (2024-07-03)
 
 
diff --git a/plugins/node/instrumentation-lru-memoizer/package.json b/plugins/node/instrumentation-lru-memoizer/package.json
index 4b6d6a5309..a883cca70d 100644
--- a/plugins/node/instrumentation-lru-memoizer/package.json
+++ b/plugins/node/instrumentation-lru-memoizer/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-lru-memoizer",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `lru-memoizer` function memoization using lru-cache",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -44,7 +44,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@types/lru-cache": "7.10.10",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
diff --git a/plugins/node/instrumentation-mongoose/CHANGELOG.md b/plugins/node/instrumentation-mongoose/CHANGELOG.md
index 81d3dacff0..e1b2e3e926 100644
--- a/plugins/node/instrumentation-mongoose/CHANGELOG.md
+++ b/plugins/node/instrumentation-mongoose/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongoose-v0.41.0...instrumentation-mongoose-v0.42.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongoose-v0.40.0...instrumentation-mongoose-v0.41.0) (2024-08-27)
 
 
diff --git a/plugins/node/instrumentation-mongoose/package.json b/plugins/node/instrumentation-mongoose/package.json
index 1a217c43b2..b7094349ec 100644
--- a/plugins/node/instrumentation-mongoose/package.json
+++ b/plugins/node/instrumentation-mongoose/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mongoose",
-  "version": "0.41.0",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for `mongoose` database object data modeling (ODM) library for MongoDB",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -49,7 +49,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
diff --git a/plugins/node/instrumentation-runtime-node/CHANGELOG.md b/plugins/node/instrumentation-runtime-node/CHANGELOG.md
index de24ffb539..fabd01708c 100644
--- a/plugins/node/instrumentation-runtime-node/CHANGELOG.md
+++ b/plugins/node/instrumentation-runtime-node/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.7.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-runtime-node-v0.6.0...instrumentation-runtime-node-v0.7.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.6.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-runtime-node-v0.5.0...instrumentation-runtime-node-v0.6.0) (2024-07-03)
 
 
diff --git a/plugins/node/instrumentation-runtime-node/package.json b/plugins/node/instrumentation-runtime-node/package.json
index 9b55a32254..703628d776 100644
--- a/plugins/node/instrumentation-runtime-node/package.json
+++ b/plugins/node/instrumentation-runtime-node/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-runtime-node",
-  "version": "0.6.0",
+  "version": "0.7.0",
   "description": "OpenTelemetry instrumentation for Node.js Performance measurement API",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/instrumentation-socket.io/CHANGELOG.md b/plugins/node/instrumentation-socket.io/CHANGELOG.md
index 2e121e1ffb..57f3715263 100644
--- a/plugins/node/instrumentation-socket.io/CHANGELOG.md
+++ b/plugins/node/instrumentation-socket.io/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-socket.io-v0.41.0...instrumentation-socket.io-v0.42.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-socket.io-v0.40.0...instrumentation-socket.io-v0.41.0) (2024-07-03)
 
 
diff --git a/plugins/node/instrumentation-socket.io/package.json b/plugins/node/instrumentation-socket.io/package.json
index 6bce78c2fa..17d48c91cc 100644
--- a/plugins/node/instrumentation-socket.io/package.json
+++ b/plugins/node/instrumentation-socket.io/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-socket.io",
-  "version": "0.41.0",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for `socket.io` messaging server implementation for Socket.IO communication",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -44,7 +44,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
diff --git a/plugins/node/instrumentation-tedious/CHANGELOG.md b/plugins/node/instrumentation-tedious/CHANGELOG.md
index 0f2c9231be..2b54b8c384 100644
--- a/plugins/node/instrumentation-tedious/CHANGELOG.md
+++ b/plugins/node/instrumentation-tedious/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.14.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-tedious-v0.13.0...instrumentation-tedious-v0.14.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.13.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-tedious-v0.12.0...instrumentation-tedious-v0.13.0) (2024-08-27)
 
 
diff --git a/plugins/node/instrumentation-tedious/package.json b/plugins/node/instrumentation-tedious/package.json
index 476ffdcbfa..6c3afa2f9b 100644
--- a/plugins/node/instrumentation-tedious/package.json
+++ b/plugins/node/instrumentation-tedious/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-tedious",
-  "version": "0.13.0",
+  "version": "0.14.0",
   "description": "OpenTelemetry instrumentation for `tedious` database client for Microsoft SQL Server",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -49,7 +49,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
diff --git a/plugins/node/instrumentation-undici/CHANGELOG.md b/plugins/node/instrumentation-undici/CHANGELOG.md
index a8b63ce213..cbe3e90a53 100644
--- a/plugins/node/instrumentation-undici/CHANGELOG.md
+++ b/plugins/node/instrumentation-undici/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.6.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-undici-v0.5.0...instrumentation-undici-v0.6.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.5.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-undici-v0.4.0...instrumentation-undici-v0.5.0) (2024-08-27)
 
 
diff --git a/plugins/node/instrumentation-undici/package.json b/plugins/node/instrumentation-undici/package.json
index 43e6667d65..c6200cacb4 100644
--- a/plugins/node/instrumentation-undici/package.json
+++ b/plugins/node/instrumentation-undici/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-undici",
-  "version": "0.5.0",
+  "version": "0.6.0",
   "description": "OpenTelemetry instrumentation for `undici` http client and Node.js fetch()",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-aws-lambda/CHANGELOG.md
index 263191a923..5b228e623b 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.44.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-lambda-v0.43.0...instrumentation-aws-lambda-v0.44.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.43.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-lambda-v0.42.0...instrumentation-aws-lambda-v0.43.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
index 31f8c46f5d..72bdf8a59c 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-aws-lambda",
-  "version": "0.43.0",
+  "version": "0.44.0",
   "description": "OpenTelemetry instrumentation for AWS Lambda function invocations",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md
index ef8adb1119..5354e4be1c 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md
@@ -1,5 +1,21 @@
 # Changelog
 
+## [0.44.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-sdk-v0.43.1...instrumentation-aws-sdk-v0.44.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * dependencies
+    * @opentelemetry/propagation-utils bumped from ^0.30.10 to ^0.30.11
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.43.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-aws-sdk-v0.43.0...instrumentation-aws-sdk-v0.43.1) (2024-07-23)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
index 1e4e624ffc..c28fdb1a5f 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
+++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-aws-sdk",
-  "version": "0.43.1",
+  "version": "0.44.0",
   "description": "OpenTelemetry instrumentation for `aws-sdk` and `@aws-sdk/client-*` clients for various AWS services",
   "keywords": [
     "aws",
@@ -47,7 +47,7 @@
   "dependencies": {
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/instrumentation": "^0.53.0",
-    "@opentelemetry/propagation-utils": "^0.30.10",
+    "@opentelemetry/propagation-utils": "^0.30.11",
     "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "devDependencies": {
@@ -58,7 +58,7 @@
     "@aws-sdk/client-sqs": "3.85.0",
     "@aws-sdk/types": "3.78.0",
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "8.2.3",
     "@types/node": "18.6.5",
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-bunyan/CHANGELOG.md
index 02ee583a5a..ffe8445775 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-bunyan-v0.40.0...instrumentation-bunyan-v0.41.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-bunyan-v0.39.0...instrumentation-bunyan-v0.40.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-bunyan/package.json b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
index 09a321d842..bb16d82e3c 100644
--- a/plugins/node/opentelemetry-instrumentation-bunyan/package.json
+++ b/plugins/node/opentelemetry-instrumentation-bunyan/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-bunyan",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `bunyan` logger",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md
index dc2e4d6b26..29a10c1ade 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cassandra-driver-v0.40.0...instrumentation-cassandra-driver-v0.41.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-cassandra-driver-v0.39.0...instrumentation-cassandra-driver-v0.40.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-cassandra/package.json b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
index 3ace201d90..237d53c8ac 100644
--- a/plugins/node/opentelemetry-instrumentation-cassandra/package.json
+++ b/plugins/node/opentelemetry-instrumentation-cassandra/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-cassandra-driver",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `cassandra-driver` database client library for Apache Cassandra",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -46,7 +46,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-connect/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-connect/CHANGELOG.md
index ad0932d705..0fb839d89a 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-connect/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-connect-v0.38.0...instrumentation-connect-v0.39.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-connect-v0.37.0...instrumentation-connect-v0.38.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-connect/package.json b/plugins/node/opentelemetry-instrumentation-connect/package.json
index 63644c4f8a..f473b7f531 100644
--- a/plugins/node/opentelemetry-instrumentation-connect/package.json
+++ b/plugins/node/opentelemetry-instrumentation-connect/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-connect",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `connect` http middleware framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-dns/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-dns/CHANGELOG.md
index c319a425a7..60cd876305 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-dns/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-dns-v0.38.0...instrumentation-dns-v0.39.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-dns-v0.37.0...instrumentation-dns-v0.38.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-dns/package.json b/plugins/node/opentelemetry-instrumentation-dns/package.json
index 63f4e122d7..f43d5c139f 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/package.json
+++ b/plugins/node/opentelemetry-instrumentation-dns/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-dns",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `node:dns` name resolution module",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
index 37743347b3..4f2283ab84 100644
--- a/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-express/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-express-v0.41.1...instrumentation-express-v0.42.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.41.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-express-v0.41.0...instrumentation-express-v0.41.1) (2024-07-23)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-express/package.json b/plugins/node/opentelemetry-instrumentation-express/package.json
index 3892fc0c40..1d42ab6c88 100644
--- a/plugins/node/opentelemetry-instrumentation-express/package.json
+++ b/plugins/node/opentelemetry-instrumentation-express/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-express",
-  "version": "0.41.1",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for `express` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -47,7 +47,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/express": "4.17.21",
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-fastify/CHANGELOG.md
index 23470582e7..1349fad75c 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-fastify/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-fastify-v0.38.0...instrumentation-fastify-v0.39.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-fastify-v0.37.0...instrumentation-fastify-v0.38.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/package.json b/plugins/node/opentelemetry-instrumentation-fastify/package.json
index d105887eb8..778b0b8779 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-fastify/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-fastify",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `fastify` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -47,7 +47,7 @@
     "@fastify/express": "^3.0.0",
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/instrumentation-http": "^0.53.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md
index 43b06c973c..01e0af5e65 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-generic-pool-v0.38.1...instrumentation-generic-pool-v0.39.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.38.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-generic-pool-v0.38.0...instrumentation-generic-pool-v0.38.1) (2024-08-27)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
index f8cd75d70b..f32c72e203 100644
--- a/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
+++ b/plugins/node/opentelemetry-instrumentation-generic-pool/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-generic-pool",
-  "version": "0.38.1",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `generic-pool` resource pool for managing expensive resources",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-graphql/CHANGELOG.md
index 4aba11968f..e7968bb6ee 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-graphql/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.43.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-graphql-v0.42.0...instrumentation-graphql-v0.43.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-graphql-v0.41.0...instrumentation-graphql-v0.42.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-graphql/package.json b/plugins/node/opentelemetry-instrumentation-graphql/package.json
index 2ac651c430..8d827a1ff0 100644
--- a/plugins/node/opentelemetry-instrumentation-graphql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-graphql/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-graphql",
-  "version": "0.42.0",
+  "version": "0.43.0",
   "description": "OpenTelemetry instrumentation for `graphql` gql query language and runtime for GraphQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-hapi/CHANGELOG.md
index cd9b90c5d5..8762cf7821 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-hapi/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-hapi-v0.40.0...instrumentation-hapi-v0.41.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-hapi-v0.39.0...instrumentation-hapi-v0.40.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-hapi/package.json b/plugins/node/opentelemetry-instrumentation-hapi/package.json
index dbc421d91c..42a76534a1 100644
--- a/plugins/node/opentelemetry-instrumentation-hapi/package.json
+++ b/plugins/node/opentelemetry-instrumentation-hapi/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-hapi",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `@hapi/hapi` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -47,7 +47,7 @@
     "@hapi/hapi": "21.3.10",
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-ioredis/CHANGELOG.md
index 7ebcbc73be..56cb0ab10a 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.43.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-ioredis-v0.42.0...instrumentation-ioredis-v0.43.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-ioredis-v0.41.0...instrumentation-ioredis-v0.42.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-ioredis/package.json b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
index d0f324eb6a..451e2cfbb8 100644
--- a/plugins/node/opentelemetry-instrumentation-ioredis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-ioredis/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-ioredis",
-  "version": "0.42.0",
+  "version": "0.43.0",
   "description": "OpenTelemetry instrumentation for `ioredis` database redis client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -50,7 +50,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/ioredis4": "npm:@types/ioredis@4.28.10",
diff --git a/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md
index 336e40d1d6..de18b3b6ec 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-knex/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-knex-v0.39.0...instrumentation-knex-v0.40.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-knex-v0.38.0...instrumentation-knex-v0.39.0) (2024-07-23)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-knex/package.json b/plugins/node/opentelemetry-instrumentation-knex/package.json
index 485abf6c48..8a896cb1ff 100644
--- a/plugins/node/opentelemetry-instrumentation-knex/package.json
+++ b/plugins/node/opentelemetry-instrumentation-knex/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-knex",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `knex` database SQL query builder",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-koa/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-koa/CHANGELOG.md
index da8be1ac11..8e581c06e5 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-koa/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.43.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-koa-v0.42.0...instrumentation-koa-v0.43.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-koa-v0.41.0...instrumentation-koa-v0.42.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-koa/package.json b/plugins/node/opentelemetry-instrumentation-koa/package.json
index c2bccd100b..50ee6a7459 100644
--- a/plugins/node/opentelemetry-instrumentation-koa/package.json
+++ b/plugins/node/opentelemetry-instrumentation-koa/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-koa",
-  "version": "0.42.0",
+  "version": "0.43.0",
   "description": "OpenTelemetry instrumentation for `koa` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -49,7 +49,7 @@
     "@koa/router": "12.0.1",
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/instrumentation-http": "^0.53.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md
index 1dd0d57bdf..c1e6ea9540 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-memcached/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-memcached-v0.38.0...instrumentation-memcached-v0.39.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-memcached-v0.37.0...instrumentation-memcached-v0.38.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-memcached/package.json b/plugins/node/opentelemetry-instrumentation-memcached/package.json
index 2e26cbdb23..7686dd11c9 100644
--- a/plugins/node/opentelemetry-instrumentation-memcached/package.json
+++ b/plugins/node/opentelemetry-instrumentation-memcached/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-memcached",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `memcached` database client for memcached",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -46,7 +46,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
index 692d78e222..8b19b322dc 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.47.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongodb-v0.46.0...instrumentation-mongodb-v0.47.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.46.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mongodb-v0.45.0...instrumentation-mongodb-v0.46.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mongodb/package.json b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
index 35228c285e..ed206aacb2 100644
--- a/plugins/node/opentelemetry-instrumentation-mongodb/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mongodb/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mongodb",
-  "version": "0.46.0",
+  "version": "0.47.0",
   "description": "OpenTelemetry instrumentation for `mongodb` database client for MongoDB",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -51,7 +51,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/bson": "4.0.5",
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md
index eb018260f8..60fe8e4e3a 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mysql/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql-v0.40.0...instrumentation-mysql-v0.41.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql-v0.39.0...instrumentation-mysql-v0.40.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mysql/package.json b/plugins/node/opentelemetry-instrumentation-mysql/package.json
index 30174da1c0..18e98d4c22 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mysql",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `mysql` database client for MySQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -44,7 +44,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-metrics": "^1.8.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md
index 357b3affc7..ad25efb168 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql2-v0.40.0...instrumentation-mysql2-v0.41.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-mysql2-v0.39.0...instrumentation-mysql2-v0.40.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-mysql2/package.json b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
index 12466d4f26..108241e7b4 100644
--- a/plugins/node/opentelemetry-instrumentation-mysql2/package.json
+++ b/plugins/node/opentelemetry-instrumentation-mysql2/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-mysql2",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `mysql2` database client for MySQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -46,7 +46,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-nestjs-core/CHANGELOG.md
index bd8b6d3964..dad592e4bc 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-nestjs-core-v0.39.0...instrumentation-nestjs-core-v0.40.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-nestjs-core-v0.38.0...instrumentation-nestjs-core-v0.39.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
index 8584ace33f..369269ccbf 100644
--- a/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
+++ b/plugins/node/opentelemetry-instrumentation-nestjs-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-nestjs-core",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for NestJS server side applications framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-net/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-net/CHANGELOG.md
index 0bf24cf8e4..1ac4c25d3d 100644
--- a/plugins/node/opentelemetry-instrumentation-net/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-net/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-net-v0.38.0...instrumentation-net-v0.39.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-net-v0.37.0...instrumentation-net-v0.38.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-net/package.json b/plugins/node/opentelemetry-instrumentation-net/package.json
index bd0d4e0e4d..3b82fa5e16 100644
--- a/plugins/node/opentelemetry-instrumentation-net/package.json
+++ b/plugins/node/opentelemetry-instrumentation-net/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-net",
-  "version": "0.38.0",
+  "version": "0.39.0",
   "description": "OpenTelemetry instrumentation for `node:net` network API module",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md
index 761026381a..2f3fef73ca 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-pg/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.44.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pg-v0.43.0...instrumentation-pg-v0.44.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.43.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pg-v0.42.0...instrumentation-pg-v0.43.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-pg/package.json b/plugins/node/opentelemetry-instrumentation-pg/package.json
index 102d27d77e..26063bd213 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pg/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-pg",
-  "version": "0.43.0",
+  "version": "0.44.0",
   "description": "OpenTelemetry instrumentation for `pg` and `pg-pool` database client for PostgreSQL",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -53,7 +53,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-pino/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-pino/CHANGELOG.md
index 72f8d5c6fd..ef51e984d1 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-pino/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pino-v0.41.0...instrumentation-pino-v0.42.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-pino-v0.40.0...instrumentation-pino-v0.41.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-pino/package.json b/plugins/node/opentelemetry-instrumentation-pino/package.json
index 7660f2a2d2..0a525b5cd9 100644
--- a/plugins/node/opentelemetry-instrumentation-pino/package.json
+++ b/plugins/node/opentelemetry-instrumentation-pino/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-pino",
-  "version": "0.41.0",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for `pino` logger",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -46,7 +46,7 @@
   },
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@opentelemetry/semantic-conventions": "^1.27.0",
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
index 1661f8ee2a..b07ac655ae 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-4-v0.41.1...instrumentation-redis-4-v0.42.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.41.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-4-v0.41.0...instrumentation-redis-4-v0.41.1) (2024-08-27)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/package.json b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
index 772d401efa..78dca20af0 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-redis-4",
-  "version": "0.41.1",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for `redis` v4 database client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -51,7 +51,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/core": "^1.8.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
diff --git a/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md
index fe2c8ed6e5..f08bc7ed46 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-redis/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-v0.41.0...instrumentation-redis-v0.42.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/contrib-test-utils bumped from ^0.40.0 to ^0.41.0
+
 ## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-redis-v0.40.0...instrumentation-redis-v0.41.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-redis/package.json b/plugins/node/opentelemetry-instrumentation-redis/package.json
index 6cbdbb81f6..c81f70099b 100644
--- a/plugins/node/opentelemetry-instrumentation-redis/package.json
+++ b/plugins/node/opentelemetry-instrumentation-redis/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-redis",
-  "version": "0.41.0",
+  "version": "0.42.0",
   "description": "OpenTelemetry instrumentation for `redis` v2 and v3 database client for Redis",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -51,7 +51,7 @@
   "devDependencies": {
     "@opentelemetry/api": "^1.3.0",
     "@opentelemetry/context-async-hooks": "^1.8.0",
-    "@opentelemetry/contrib-test-utils": "^0.40.0",
+    "@opentelemetry/contrib-test-utils": "^0.41.0",
     "@opentelemetry/sdk-trace-base": "^1.8.0",
     "@opentelemetry/sdk-trace-node": "^1.8.0",
     "@types/mocha": "7.0.2",
diff --git a/plugins/node/opentelemetry-instrumentation-restify/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-restify/CHANGELOG.md
index b723e9f0ee..2260169e72 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-restify/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-restify-v0.40.0...instrumentation-restify-v0.41.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-restify-v0.39.0...instrumentation-restify-v0.40.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-restify/package.json b/plugins/node/opentelemetry-instrumentation-restify/package.json
index 96d9ce691a..4bdc603f46 100644
--- a/plugins/node/opentelemetry-instrumentation-restify/package.json
+++ b/plugins/node/opentelemetry-instrumentation-restify/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-restify",
-  "version": "0.40.0",
+  "version": "0.41.0",
   "description": "OpenTelemetry instrumentation for `restify` http web application framework",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-router/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-router/CHANGELOG.md
index b393d0cdf1..0fca352c97 100644
--- a/plugins/node/opentelemetry-instrumentation-router/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-router/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-router-v0.39.0...instrumentation-router-v0.40.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-router-v0.38.0...instrumentation-router-v0.39.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-router/package.json b/plugins/node/opentelemetry-instrumentation-router/package.json
index 5c3ee46d54..35fd31de45 100644
--- a/plugins/node/opentelemetry-instrumentation-router/package.json
+++ b/plugins/node/opentelemetry-instrumentation-router/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-router",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `router` http middleware router",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
diff --git a/plugins/node/opentelemetry-instrumentation-winston/CHANGELOG.md b/plugins/node/opentelemetry-instrumentation-winston/CHANGELOG.md
index 37990c003b..b1d426c590 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/CHANGELOG.md
+++ b/plugins/node/opentelemetry-instrumentation-winston/CHANGELOG.md
@@ -1,5 +1,19 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-winston-v0.39.0...instrumentation-winston-v0.40.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
+
+### Dependencies
+
+* The following workspace dependencies were updated
+  * devDependencies
+    * @opentelemetry/winston-transport bumped from ^0.5.0 to ^0.6.0
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-winston-v0.38.0...instrumentation-winston-v0.39.0) (2024-07-03)
 
 
diff --git a/plugins/node/opentelemetry-instrumentation-winston/package.json b/plugins/node/opentelemetry-instrumentation-winston/package.json
index 8e9c693f9c..e91910b3bc 100644
--- a/plugins/node/opentelemetry-instrumentation-winston/package.json
+++ b/plugins/node/opentelemetry-instrumentation-winston/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-winston",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for `winston` logger",
   "main": "build/src/index.js",
   "types": "build/src/index.d.ts",
@@ -49,7 +49,7 @@
     "@opentelemetry/context-async-hooks": "^1.21.0",
     "@opentelemetry/sdk-trace-base": "^1.21.0",
     "@opentelemetry/sdk-trace-node": "^1.21.0",
-    "@opentelemetry/winston-transport": "^0.5.0",
+    "@opentelemetry/winston-transport": "^0.6.0",
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.20",
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/CHANGELOG.md b/plugins/web/opentelemetry-instrumentation-document-load/CHANGELOG.md
index a43dfb0895..a1c1f0bc06 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/CHANGELOG.md
+++ b/plugins/web/opentelemetry-instrumentation-document-load/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-document-load-v0.39.0...instrumentation-document-load-v0.40.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-document-load-v0.38.0...instrumentation-document-load-v0.39.0) (2024-06-06)
 
 
diff --git a/plugins/web/opentelemetry-instrumentation-document-load/package.json b/plugins/web/opentelemetry-instrumentation-document-load/package.json
index 1fb63a2387..b8d6042b40 100644
--- a/plugins/web/opentelemetry-instrumentation-document-load/package.json
+++ b/plugins/web/opentelemetry-instrumentation-document-load/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-document-load",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for document load operations in browser applications",
   "main": "build/src/index.js",
   "module": "build/esm/index.js",
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/CHANGELOG.md b/plugins/web/opentelemetry-instrumentation-long-task/CHANGELOG.md
index 023f9b770b..a93a40e2bd 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/CHANGELOG.md
+++ b/plugins/web/opentelemetry-instrumentation-long-task/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-long-task-v0.39.0...instrumentation-long-task-v0.40.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-long-task-v0.38.0...instrumentation-long-task-v0.39.0) (2024-06-06)
 
 
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/package.json b/plugins/web/opentelemetry-instrumentation-long-task/package.json
index 5516d4a622..9416a07ce9 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/package.json
+++ b/plugins/web/opentelemetry-instrumentation-long-task/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-long-task",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for long task Web API",
   "main": "build/src/index.js",
   "module": "build/esm/index.js",
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/CHANGELOG.md b/plugins/web/opentelemetry-instrumentation-user-interaction/CHANGELOG.md
index 78a39fbae4..7d776355da 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/CHANGELOG.md
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-user-interaction-v0.39.0...instrumentation-user-interaction-v0.40.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/instrumentation-user-interaction-v0.38.0...instrumentation-user-interaction-v0.39.0) (2024-06-06)
 
 
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
index 3c26701675..e04e8e08c8 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/instrumentation-user-interaction",
-  "version": "0.39.0",
+  "version": "0.40.0",
   "description": "OpenTelemetry instrumentation for user interactions as click events in a web application",
   "main": "build/src/index.js",
   "module": "build/esm/index.js",
diff --git a/plugins/web/opentelemetry-plugin-react-load/CHANGELOG.md b/plugins/web/opentelemetry-plugin-react-load/CHANGELOG.md
index 20e4ba31cb..a040f12dcf 100644
--- a/plugins/web/opentelemetry-plugin-react-load/CHANGELOG.md
+++ b/plugins/web/opentelemetry-plugin-react-load/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## [0.31.0](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/plugin-react-load-v0.30.1...plugin-react-load-v0.31.0) (2024-09-02)
+
+
+### Features
+
+* update deps matching "@opentelemetry/" ([9fa058e](https://github.com/open-telemetry/opentelemetry-js-contrib/commit/9fa058ebb919de4e2a4e1af95b3c792c6ea962ac))
+
 ## [0.30.1](https://github.com/open-telemetry/opentelemetry-js-contrib/compare/plugin-react-load-v0.30.0...plugin-react-load-v0.30.1) (2024-04-25)
 
 
diff --git a/plugins/web/opentelemetry-plugin-react-load/package.json b/plugins/web/opentelemetry-plugin-react-load/package.json
index 9db66c5a9d..60b2cf4c2a 100644
--- a/plugins/web/opentelemetry-plugin-react-load/package.json
+++ b/plugins/web/opentelemetry-plugin-react-load/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@opentelemetry/plugin-react-load",
-  "version": "0.30.1",
+  "version": "0.31.0",
   "description": "OpenTelemetry instrumentation for React class component lifecycle methods",
   "main": "build/src/index.js",
   "module": "build/esm/index.js",

From 53bf776898acf2b9abb86bd929b5f4bb6bf73fca Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Wed, 4 Sep 2024 16:29:12 +0200
Subject: [PATCH 099/123] fix: actually exempt releases from
 unmaintained-autoclose (#2414)

---
 .github/workflows/close-stale.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/close-stale.yml b/.github/workflows/close-stale.yml
index 3af93ec81d..f598902d27 100644
--- a/.github/workflows/close-stale.yml
+++ b/.github/workflows/close-stale.yml
@@ -42,5 +42,5 @@ jobs:
           close-pr-message: 'This issue was closed because no owner or sponsor has been found after 14 days'
           stale-pr-label: pkg-status:unmaintained:autoclose-scheduled
           only-labels: pkg-status:unmaintained
-          exempt-pr-labels: bug,has:sponsor,type:semconv-update,dependencies,autorelease:pending
+          exempt-pr-labels: 'bug,has:sponsor,type:semconv-update,dependencies,autorelease: pending'
           remove-stale-when-updated: false

From c00080a13ce6606e2884f9b5d09f94b37287ebe3 Mon Sep 17 00:00:00 2001
From: Mend Renovate <bot@renovateapp.com>
Date: Wed, 4 Sep 2024 17:09:01 +0200
Subject: [PATCH 100/123] chore(deps): update dependency webpack to v5.94.0
 [security] (#2419)

---
 .../auto-instrumentations-web/package.json    |    2 +-
 package-lock.json                             | 1411 +----------------
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 .../package.json                              |    2 +-
 8 files changed, 72 insertions(+), 1353 deletions(-)

diff --git a/metapackages/auto-instrumentations-web/package.json b/metapackages/auto-instrumentations-web/package.json
index d564273946..554b37ccb6 100644
--- a/metapackages/auto-instrumentations-web/package.json
+++ b/metapackages/auto-instrumentations-web/package.json
@@ -59,7 +59,7 @@
     "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "5.89.0",
+    "webpack": "5.94.0",
     "webpack-cli": "5.1.4",
     "webpack-merge": "5.10.0"
   },
diff --git a/package-lock.json b/package-lock.json
index 918ae0e6d2..820a1917ca 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -421,7 +421,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0"
       },
@@ -632,19 +632,6 @@
         "node": ">=0.3.1"
       }
     },
-    "metapackages/auto-instrumentations-web/node_modules/enhanced-resolve": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.4",
-        "tapable": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
     "metapackages/auto-instrumentations-web/node_modules/escape-string-regexp": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -657,15 +644,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "metapackages/auto-instrumentations-web/node_modules/events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.x"
-      }
-    },
     "metapackages/auto-instrumentations-web/node_modules/glob": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -720,12 +698,6 @@
         "node": ">=8"
       }
     },
-    "metapackages/auto-instrumentations-web/node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true
-    },
     "metapackages/auto-instrumentations-web/node_modules/log-symbols": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -821,24 +793,6 @@
         "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "metapackages/auto-instrumentations-web/node_modules/schema-utils": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
     "metapackages/auto-instrumentations-web/node_modules/sinon": {
       "version": "15.1.2",
       "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
@@ -888,15 +842,6 @@
         "node": ">= 8"
       }
     },
-    "metapackages/auto-instrumentations-web/node_modules/tapable": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "metapackages/auto-instrumentations-web/node_modules/ts-loader": {
       "version": "9.5.1",
       "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -917,53 +862,6 @@
         "webpack": "^5.0.0"
       }
     },
-    "metapackages/auto-instrumentations-web/node_modules/webpack": {
-      "version": "5.89.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-      "dev": true,
-      "dependencies": {
-        "@types/eslint-scope": "^3.7.3",
-        "@types/estree": "^1.0.0",
-        "@webassemblyjs/ast": "^1.11.5",
-        "@webassemblyjs/wasm-edit": "^1.11.5",
-        "@webassemblyjs/wasm-parser": "^1.11.5",
-        "acorn": "^8.7.1",
-        "acorn-import-assertions": "^1.9.0",
-        "browserslist": "^4.14.5",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.15.0",
-        "es-module-lexer": "^1.2.1",
-        "eslint-scope": "5.1.1",
-        "events": "^3.2.0",
-        "glob-to-regexp": "^0.4.1",
-        "graceful-fs": "^4.2.9",
-        "json-parse-even-better-errors": "^2.3.1",
-        "loader-runner": "^4.2.0",
-        "mime-types": "^2.1.27",
-        "neo-async": "^2.6.2",
-        "schema-utils": "^3.2.0",
-        "tapable": "^2.1.1",
-        "terser-webpack-plugin": "^5.3.7",
-        "watchpack": "^2.4.0",
-        "webpack-sources": "^3.2.3"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        }
-      }
-    },
     "metapackages/auto-instrumentations-web/node_modules/yargs": {
       "version": "16.2.0",
       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -12637,26 +12535,6 @@
       "integrity": "sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw==",
       "dev": true
     },
-    "node_modules/@types/eslint": {
-      "version": "8.56.10",
-      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz",
-      "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/estree": "*",
-        "@types/json-schema": "*"
-      }
-    },
-    "node_modules/@types/eslint-scope": {
-      "version": "3.7.7",
-      "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
-      "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
-      "dev": true,
-      "dependencies": {
-        "@types/eslint": "*",
-        "@types/estree": "*"
-      }
-    },
     "node_modules/@types/estree": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
@@ -14063,15 +13941,6 @@
         "node": ">=0.4.0"
       }
     },
-    "node_modules/acorn-import-assertions": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
-      "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
-      "dev": true,
-      "peerDependencies": {
-        "acorn": "^8"
-      }
-    },
     "node_modules/acorn-import-attributes": {
       "version": "1.9.5",
       "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
@@ -18799,6 +18668,19 @@
         "node": ">= 0.6"
       }
     },
+    "node_modules/enhanced-resolve": {
+      "version": "5.17.1",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+      "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
     "node_modules/enquirer": {
       "version": "2.3.6",
       "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
@@ -34250,6 +34132,15 @@
         "node": ">=12.17"
       }
     },
+    "node_modules/tapable": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
     "node_modules/tar": {
       "version": "6.1.11",
       "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
@@ -35933,22 +35824,20 @@
       }
     },
     "node_modules/webpack": {
-      "version": "5.91.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz",
-      "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==",
+      "version": "5.94.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz",
+      "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
       "dev": true,
-      "peer": true,
       "dependencies": {
-        "@types/eslint-scope": "^3.7.3",
         "@types/estree": "^1.0.5",
         "@webassemblyjs/ast": "^1.12.1",
         "@webassemblyjs/wasm-edit": "^1.12.1",
         "@webassemblyjs/wasm-parser": "^1.12.1",
         "acorn": "^8.7.1",
-        "acorn-import-assertions": "^1.9.0",
+        "acorn-import-attributes": "^1.9.5",
         "browserslist": "^4.21.10",
         "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.16.0",
+        "enhanced-resolve": "^5.17.1",
         "es-module-lexer": "^1.2.1",
         "eslint-scope": "5.1.1",
         "events": "^3.2.0",
@@ -36057,26 +35946,11 @@
         "node": ">=10.13.0"
       }
     },
-    "node_modules/webpack/node_modules/enhanced-resolve": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.4",
-        "tapable": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
     "node_modules/webpack/node_modules/events": {
       "version": "3.3.0",
       "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
       "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
       "dev": true,
-      "peer": true,
       "engines": {
         "node": ">=0.8.x"
       }
@@ -36085,15 +35959,13 @@
       "version": "2.3.1",
       "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
       "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true,
-      "peer": true
+      "dev": true
     },
     "node_modules/webpack/node_modules/schema-utils": {
       "version": "3.3.0",
       "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
       "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
       "dev": true,
-      "peer": true,
       "dependencies": {
         "@types/json-schema": "^7.0.8",
         "ajv": "^6.12.5",
@@ -36107,16 +35979,6 @@
         "url": "https://opencollective.com/webpack"
       }
     },
-    "node_modules/webpack/node_modules/tapable": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "node_modules/whatwg-url": {
       "version": "11.0.0",
       "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
@@ -37098,7 +36960,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0"
       },
@@ -37308,19 +37170,6 @@
         "node": ">=0.3.1"
       }
     },
-    "packages/opentelemetry-id-generator-aws-xray/node_modules/enhanced-resolve": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.4",
-        "tapable": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
     "packages/opentelemetry-id-generator-aws-xray/node_modules/escape-string-regexp": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -37333,15 +37182,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "packages/opentelemetry-id-generator-aws-xray/node_modules/events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.x"
-      }
-    },
     "packages/opentelemetry-id-generator-aws-xray/node_modules/glob": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -37396,12 +37236,6 @@
         "node": ">=8"
       }
     },
-    "packages/opentelemetry-id-generator-aws-xray/node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true
-    },
     "packages/opentelemetry-id-generator-aws-xray/node_modules/log-symbols": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -37497,24 +37331,6 @@
         "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "packages/opentelemetry-id-generator-aws-xray/node_modules/schema-utils": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
     "packages/opentelemetry-id-generator-aws-xray/node_modules/sinon": {
       "version": "15.1.2",
       "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
@@ -37564,15 +37380,6 @@
         "node": ">= 8"
       }
     },
-    "packages/opentelemetry-id-generator-aws-xray/node_modules/tapable": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "packages/opentelemetry-id-generator-aws-xray/node_modules/ts-loader": {
       "version": "9.5.1",
       "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -37593,53 +37400,6 @@
         "webpack": "^5.0.0"
       }
     },
-    "packages/opentelemetry-id-generator-aws-xray/node_modules/webpack": {
-      "version": "5.89.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-      "dev": true,
-      "dependencies": {
-        "@types/eslint-scope": "^3.7.3",
-        "@types/estree": "^1.0.0",
-        "@webassemblyjs/ast": "^1.11.5",
-        "@webassemblyjs/wasm-edit": "^1.11.5",
-        "@webassemblyjs/wasm-parser": "^1.11.5",
-        "acorn": "^8.7.1",
-        "acorn-import-assertions": "^1.9.0",
-        "browserslist": "^4.14.5",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.15.0",
-        "es-module-lexer": "^1.2.1",
-        "eslint-scope": "5.1.1",
-        "events": "^3.2.0",
-        "glob-to-regexp": "^0.4.1",
-        "graceful-fs": "^4.2.9",
-        "json-parse-even-better-errors": "^2.3.1",
-        "loader-runner": "^4.2.0",
-        "mime-types": "^2.1.27",
-        "neo-async": "^2.6.2",
-        "schema-utils": "^3.2.0",
-        "tapable": "^2.1.1",
-        "terser-webpack-plugin": "^5.3.7",
-        "watchpack": "^2.4.0",
-        "webpack-sources": "^3.2.3"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        }
-      }
-    },
     "packages/opentelemetry-id-generator-aws-xray/node_modules/yargs": {
       "version": "16.2.0",
       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -39760,7 +39520,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0",
         "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
@@ -39971,19 +39731,6 @@
         "node": ">=0.3.1"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/enhanced-resolve": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.4",
-        "tapable": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
     "plugins/web/opentelemetry-instrumentation-long-task/node_modules/escape-string-regexp": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -39996,15 +39743,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.x"
-      }
-    },
     "plugins/web/opentelemetry-instrumentation-long-task/node_modules/glob": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -40059,12 +39797,6 @@
         "node": ">=8"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true
-    },
     "plugins/web/opentelemetry-instrumentation-long-task/node_modules/log-symbols": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -40160,24 +39892,6 @@
         "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/schema-utils": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
     "plugins/web/opentelemetry-instrumentation-long-task/node_modules/sinon": {
       "version": "15.1.2",
       "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
@@ -40227,15 +39941,6 @@
         "node": ">= 8"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/tapable": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "plugins/web/opentelemetry-instrumentation-long-task/node_modules/ts-loader": {
       "version": "9.5.1",
       "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -40256,53 +39961,6 @@
         "webpack": "^5.0.0"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-long-task/node_modules/webpack": {
-      "version": "5.89.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-      "dev": true,
-      "dependencies": {
-        "@types/eslint-scope": "^3.7.3",
-        "@types/estree": "^1.0.0",
-        "@webassemblyjs/ast": "^1.11.5",
-        "@webassemblyjs/wasm-edit": "^1.11.5",
-        "@webassemblyjs/wasm-parser": "^1.11.5",
-        "acorn": "^8.7.1",
-        "acorn-import-assertions": "^1.9.0",
-        "browserslist": "^4.14.5",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.15.0",
-        "es-module-lexer": "^1.2.1",
-        "eslint-scope": "5.1.1",
-        "events": "^3.2.0",
-        "glob-to-regexp": "^0.4.1",
-        "graceful-fs": "^4.2.9",
-        "json-parse-even-better-errors": "^2.3.1",
-        "loader-runner": "^4.2.0",
-        "mime-types": "^2.1.27",
-        "neo-async": "^2.6.2",
-        "schema-utils": "^3.2.0",
-        "tapable": "^2.1.1",
-        "terser-webpack-plugin": "^5.3.7",
-        "watchpack": "^2.4.0",
-        "webpack-sources": "^3.2.3"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        }
-      }
-    },
     "plugins/web/opentelemetry-instrumentation-long-task/node_modules/yargs": {
       "version": "16.2.0",
       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -40374,7 +40032,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0",
         "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
@@ -40586,19 +40244,6 @@
         "node": ">=0.3.1"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/enhanced-resolve": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.4",
-        "tapable": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
     "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/escape-string-regexp": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -40611,15 +40256,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.x"
-      }
-    },
     "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/glob": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -40674,12 +40310,6 @@
         "node": ">=8"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true
-    },
     "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/log-symbols": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -40775,24 +40405,6 @@
         "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/schema-utils": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
     "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/sinon": {
       "version": "15.1.2",
       "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
@@ -40842,15 +40454,6 @@
         "node": ">= 8"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/tapable": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/ts-loader": {
       "version": "9.5.1",
       "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -40871,53 +40474,6 @@
         "webpack": "^5.0.0"
       }
     },
-    "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/webpack": {
-      "version": "5.89.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-      "dev": true,
-      "dependencies": {
-        "@types/eslint-scope": "^3.7.3",
-        "@types/estree": "^1.0.0",
-        "@webassemblyjs/ast": "^1.11.5",
-        "@webassemblyjs/wasm-edit": "^1.11.5",
-        "@webassemblyjs/wasm-parser": "^1.11.5",
-        "acorn": "^8.7.1",
-        "acorn-import-assertions": "^1.9.0",
-        "browserslist": "^4.14.5",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.15.0",
-        "es-module-lexer": "^1.2.1",
-        "eslint-scope": "5.1.1",
-        "events": "^3.2.0",
-        "glob-to-regexp": "^0.4.1",
-        "graceful-fs": "^4.2.9",
-        "json-parse-even-better-errors": "^2.3.1",
-        "loader-runner": "^4.2.0",
-        "mime-types": "^2.1.27",
-        "neo-async": "^2.6.2",
-        "schema-utils": "^3.2.0",
-        "tapable": "^2.1.1",
-        "terser-webpack-plugin": "^5.3.7",
-        "watchpack": "^2.4.0",
-        "webpack-sources": "^3.2.3"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        }
-      }
-    },
     "plugins/web/opentelemetry-instrumentation-user-interaction/node_modules/yargs": {
       "version": "16.2.0",
       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -40993,7 +40549,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0"
       },
@@ -41204,19 +40760,6 @@
         "node": ">=0.3.1"
       }
     },
-    "plugins/web/opentelemetry-plugin-react-load/node_modules/enhanced-resolve": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.4",
-        "tapable": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
     "plugins/web/opentelemetry-plugin-react-load/node_modules/escape-string-regexp": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -41229,15 +40772,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "plugins/web/opentelemetry-plugin-react-load/node_modules/events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.x"
-      }
-    },
     "plugins/web/opentelemetry-plugin-react-load/node_modules/glob": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -41292,12 +40826,6 @@
         "node": ">=8"
       }
     },
-    "plugins/web/opentelemetry-plugin-react-load/node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true
-    },
     "plugins/web/opentelemetry-plugin-react-load/node_modules/log-symbols": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -41393,24 +40921,6 @@
         "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "plugins/web/opentelemetry-plugin-react-load/node_modules/schema-utils": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
     "plugins/web/opentelemetry-plugin-react-load/node_modules/sinon": {
       "version": "15.1.2",
       "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
@@ -41460,15 +40970,6 @@
         "node": ">= 8"
       }
     },
-    "plugins/web/opentelemetry-plugin-react-load/node_modules/tapable": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "plugins/web/opentelemetry-plugin-react-load/node_modules/ts-loader": {
       "version": "9.5.1",
       "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -41489,53 +40990,6 @@
         "webpack": "^5.0.0"
       }
     },
-    "plugins/web/opentelemetry-plugin-react-load/node_modules/webpack": {
-      "version": "5.89.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-      "dev": true,
-      "dependencies": {
-        "@types/eslint-scope": "^3.7.3",
-        "@types/estree": "^1.0.0",
-        "@webassemblyjs/ast": "^1.11.5",
-        "@webassemblyjs/wasm-edit": "^1.11.5",
-        "@webassemblyjs/wasm-parser": "^1.11.5",
-        "acorn": "^8.7.1",
-        "acorn-import-assertions": "^1.9.0",
-        "browserslist": "^4.14.5",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.15.0",
-        "es-module-lexer": "^1.2.1",
-        "eslint-scope": "5.1.1",
-        "events": "^3.2.0",
-        "glob-to-regexp": "^0.4.1",
-        "graceful-fs": "^4.2.9",
-        "json-parse-even-better-errors": "^2.3.1",
-        "loader-runner": "^4.2.0",
-        "mime-types": "^2.1.27",
-        "neo-async": "^2.6.2",
-        "schema-utils": "^3.2.0",
-        "tapable": "^2.1.1",
-        "terser-webpack-plugin": "^5.3.7",
-        "watchpack": "^2.4.0",
-        "webpack-sources": "^3.2.3"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        }
-      }
-    },
     "plugins/web/opentelemetry-plugin-react-load/node_modules/yargs": {
       "version": "16.2.0",
       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -41621,7 +41075,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0"
       },
@@ -41822,19 +41276,6 @@
         "node": ">=0.3.1"
       }
     },
-    "propagators/opentelemetry-propagator-instana/node_modules/enhanced-resolve": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.4",
-        "tapable": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
     "propagators/opentelemetry-propagator-instana/node_modules/escape-string-regexp": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -41847,15 +41288,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "propagators/opentelemetry-propagator-instana/node_modules/events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.x"
-      }
-    },
     "propagators/opentelemetry-propagator-instana/node_modules/glob": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -41910,12 +41342,6 @@
         "node": ">=8"
       }
     },
-    "propagators/opentelemetry-propagator-instana/node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true
-    },
     "propagators/opentelemetry-propagator-instana/node_modules/karma-chrome-launcher": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz",
@@ -42020,24 +41446,6 @@
         "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "propagators/opentelemetry-propagator-instana/node_modules/schema-utils": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
     "propagators/opentelemetry-propagator-instana/node_modules/source-map": {
       "version": "0.7.4",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
@@ -42047,15 +41455,6 @@
         "node": ">= 8"
       }
     },
-    "propagators/opentelemetry-propagator-instana/node_modules/tapable": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "propagators/opentelemetry-propagator-instana/node_modules/ts-loader": {
       "version": "9.5.1",
       "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -42076,53 +41475,6 @@
         "webpack": "^5.0.0"
       }
     },
-    "propagators/opentelemetry-propagator-instana/node_modules/webpack": {
-      "version": "5.89.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-      "dev": true,
-      "dependencies": {
-        "@types/eslint-scope": "^3.7.3",
-        "@types/estree": "^1.0.0",
-        "@webassemblyjs/ast": "^1.11.5",
-        "@webassemblyjs/wasm-edit": "^1.11.5",
-        "@webassemblyjs/wasm-parser": "^1.11.5",
-        "acorn": "^8.7.1",
-        "acorn-import-assertions": "^1.9.0",
-        "browserslist": "^4.14.5",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.15.0",
-        "es-module-lexer": "^1.2.1",
-        "eslint-scope": "5.1.1",
-        "events": "^3.2.0",
-        "glob-to-regexp": "^0.4.1",
-        "graceful-fs": "^4.2.9",
-        "json-parse-even-better-errors": "^2.3.1",
-        "loader-runner": "^4.2.0",
-        "mime-types": "^2.1.27",
-        "neo-async": "^2.6.2",
-        "schema-utils": "^3.2.0",
-        "tapable": "^2.1.1",
-        "terser-webpack-plugin": "^5.3.7",
-        "watchpack": "^2.4.0",
-        "webpack-sources": "^3.2.3"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        }
-      }
-    },
     "propagators/opentelemetry-propagator-instana/node_modules/which": {
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -42196,7 +41548,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0"
       },
@@ -42406,19 +41758,6 @@
         "node": ">=0.3.1"
       }
     },
-    "propagators/opentelemetry-propagator-ot-trace/node_modules/enhanced-resolve": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.4",
-        "tapable": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
     "propagators/opentelemetry-propagator-ot-trace/node_modules/escape-string-regexp": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -42431,15 +41770,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "propagators/opentelemetry-propagator-ot-trace/node_modules/events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.x"
-      }
-    },
     "propagators/opentelemetry-propagator-ot-trace/node_modules/glob": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -42494,12 +41824,6 @@
         "node": ">=8"
       }
     },
-    "propagators/opentelemetry-propagator-ot-trace/node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true
-    },
     "propagators/opentelemetry-propagator-ot-trace/node_modules/log-symbols": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -42595,24 +41919,6 @@
         "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "propagators/opentelemetry-propagator-ot-trace/node_modules/schema-utils": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
     "propagators/opentelemetry-propagator-ot-trace/node_modules/sinon": {
       "version": "15.1.2",
       "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
@@ -42662,15 +41968,6 @@
         "node": ">= 8"
       }
     },
-    "propagators/opentelemetry-propagator-ot-trace/node_modules/tapable": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "propagators/opentelemetry-propagator-ot-trace/node_modules/ts-loader": {
       "version": "9.5.1",
       "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -42691,53 +41988,6 @@
         "webpack": "^5.0.0"
       }
     },
-    "propagators/opentelemetry-propagator-ot-trace/node_modules/webpack": {
-      "version": "5.89.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-      "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-      "dev": true,
-      "dependencies": {
-        "@types/eslint-scope": "^3.7.3",
-        "@types/estree": "^1.0.0",
-        "@webassemblyjs/ast": "^1.11.5",
-        "@webassemblyjs/wasm-edit": "^1.11.5",
-        "@webassemblyjs/wasm-parser": "^1.11.5",
-        "acorn": "^8.7.1",
-        "acorn-import-assertions": "^1.9.0",
-        "browserslist": "^4.14.5",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.15.0",
-        "es-module-lexer": "^1.2.1",
-        "eslint-scope": "5.1.1",
-        "events": "^3.2.0",
-        "glob-to-regexp": "^0.4.1",
-        "graceful-fs": "^4.2.9",
-        "json-parse-even-better-errors": "^2.3.1",
-        "loader-runner": "^4.2.0",
-        "mime-types": "^2.1.27",
-        "neo-async": "^2.6.2",
-        "schema-utils": "^3.2.0",
-        "tapable": "^2.1.1",
-        "terser-webpack-plugin": "^5.3.7",
-        "watchpack": "^2.4.0",
-        "webpack-sources": "^3.2.3"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        }
-      }
-    },
     "propagators/opentelemetry-propagator-ot-trace/node_modules/yargs": {
       "version": "16.2.0",
       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -50235,7 +49485,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0"
       },
@@ -50385,28 +49635,12 @@
           "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
           "dev": true
         },
-        "enhanced-resolve": {
-          "version": "5.17.0",
-          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.2.4",
-            "tapable": "^2.2.0"
-          }
-        },
         "escape-string-regexp": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
           "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
           "dev": true
         },
-        "events": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-          "dev": true
-        },
         "glob": {
           "version": "7.2.0",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -50447,12 +49681,6 @@
           "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
           "dev": true
         },
-        "json-parse-even-better-errors": {
-          "version": "2.3.1",
-          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-          "dev": true
-        },
         "log-symbols": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -50524,17 +49752,6 @@
           "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
           "dev": true
         },
-        "schema-utils": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
-          }
-        },
         "sinon": {
           "version": "15.1.2",
           "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
@@ -50572,12 +49789,6 @@
           "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
           "dev": true
         },
-        "tapable": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-          "dev": true
-        },
         "ts-loader": {
           "version": "9.5.1",
           "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -50591,38 +49802,6 @@
             "source-map": "^0.7.4"
           }
         },
-        "webpack": {
-          "version": "5.89.0",
-          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-          "dev": true,
-          "requires": {
-            "@types/eslint-scope": "^3.7.3",
-            "@types/estree": "^1.0.0",
-            "@webassemblyjs/ast": "^1.11.5",
-            "@webassemblyjs/wasm-edit": "^1.11.5",
-            "@webassemblyjs/wasm-parser": "^1.11.5",
-            "acorn": "^8.7.1",
-            "acorn-import-assertions": "^1.9.0",
-            "browserslist": "^4.14.5",
-            "chrome-trace-event": "^1.0.2",
-            "enhanced-resolve": "^5.15.0",
-            "es-module-lexer": "^1.2.1",
-            "eslint-scope": "5.1.1",
-            "events": "^3.2.0",
-            "glob-to-regexp": "^0.4.1",
-            "graceful-fs": "^4.2.9",
-            "json-parse-even-better-errors": "^2.3.1",
-            "loader-runner": "^4.2.0",
-            "mime-types": "^2.1.27",
-            "neo-async": "^2.6.2",
-            "schema-utils": "^3.2.0",
-            "tapable": "^2.1.1",
-            "terser-webpack-plugin": "^5.3.7",
-            "watchpack": "^2.4.0",
-            "webpack-sources": "^3.2.3"
-          }
-        },
         "yargs": {
           "version": "16.2.0",
           "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -50870,7 +50049,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0"
       },
@@ -51020,28 +50199,12 @@
           "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
           "dev": true
         },
-        "enhanced-resolve": {
-          "version": "5.17.0",
-          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.2.4",
-            "tapable": "^2.2.0"
-          }
-        },
         "escape-string-regexp": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
           "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
           "dev": true
         },
-        "events": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-          "dev": true
-        },
         "glob": {
           "version": "7.2.0",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -51082,12 +50245,6 @@
           "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
           "dev": true
         },
-        "json-parse-even-better-errors": {
-          "version": "2.3.1",
-          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-          "dev": true
-        },
         "log-symbols": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -51159,17 +50316,6 @@
           "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
           "dev": true
         },
-        "schema-utils": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
-          }
-        },
         "sinon": {
           "version": "15.1.2",
           "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
@@ -51207,12 +50353,6 @@
           "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
           "dev": true
         },
-        "tapable": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-          "dev": true
-        },
         "ts-loader": {
           "version": "9.5.1",
           "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -51226,38 +50366,6 @@
             "source-map": "^0.7.4"
           }
         },
-        "webpack": {
-          "version": "5.89.0",
-          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-          "dev": true,
-          "requires": {
-            "@types/eslint-scope": "^3.7.3",
-            "@types/estree": "^1.0.0",
-            "@webassemblyjs/ast": "^1.11.5",
-            "@webassemblyjs/wasm-edit": "^1.11.5",
-            "@webassemblyjs/wasm-parser": "^1.11.5",
-            "acorn": "^8.7.1",
-            "acorn-import-assertions": "^1.9.0",
-            "browserslist": "^4.14.5",
-            "chrome-trace-event": "^1.0.2",
-            "enhanced-resolve": "^5.15.0",
-            "es-module-lexer": "^1.2.1",
-            "eslint-scope": "5.1.1",
-            "events": "^3.2.0",
-            "glob-to-regexp": "^0.4.1",
-            "graceful-fs": "^4.2.9",
-            "json-parse-even-better-errors": "^2.3.1",
-            "loader-runner": "^4.2.0",
-            "mime-types": "^2.1.27",
-            "neo-async": "^2.6.2",
-            "schema-utils": "^3.2.0",
-            "tapable": "^2.1.1",
-            "terser-webpack-plugin": "^5.3.7",
-            "watchpack": "^2.4.0",
-            "webpack-sources": "^3.2.3"
-          }
-        },
         "yargs": {
           "version": "16.2.0",
           "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -51895,7 +51003,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0",
         "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
@@ -52046,28 +51154,12 @@
           "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
           "dev": true
         },
-        "enhanced-resolve": {
-          "version": "5.17.0",
-          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.2.4",
-            "tapable": "^2.2.0"
-          }
-        },
         "escape-string-regexp": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
           "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
           "dev": true
         },
-        "events": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-          "dev": true
-        },
         "glob": {
           "version": "7.2.0",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -52108,12 +51200,6 @@
           "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
           "dev": true
         },
-        "json-parse-even-better-errors": {
-          "version": "2.3.1",
-          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-          "dev": true
-        },
         "log-symbols": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -52185,17 +51271,6 @@
           "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
           "dev": true
         },
-        "schema-utils": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
-          }
-        },
         "sinon": {
           "version": "15.1.2",
           "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
@@ -52233,12 +51308,6 @@
           "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
           "dev": true
         },
-        "tapable": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-          "dev": true
-        },
         "ts-loader": {
           "version": "9.5.1",
           "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -52252,38 +51321,6 @@
             "source-map": "^0.7.4"
           }
         },
-        "webpack": {
-          "version": "5.89.0",
-          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-          "dev": true,
-          "requires": {
-            "@types/eslint-scope": "^3.7.3",
-            "@types/estree": "^1.0.0",
-            "@webassemblyjs/ast": "^1.11.5",
-            "@webassemblyjs/wasm-edit": "^1.11.5",
-            "@webassemblyjs/wasm-parser": "^1.11.5",
-            "acorn": "^8.7.1",
-            "acorn-import-assertions": "^1.9.0",
-            "browserslist": "^4.14.5",
-            "chrome-trace-event": "^1.0.2",
-            "enhanced-resolve": "^5.15.0",
-            "es-module-lexer": "^1.2.1",
-            "eslint-scope": "5.1.1",
-            "events": "^3.2.0",
-            "glob-to-regexp": "^0.4.1",
-            "graceful-fs": "^4.2.9",
-            "json-parse-even-better-errors": "^2.3.1",
-            "loader-runner": "^4.2.0",
-            "mime-types": "^2.1.27",
-            "neo-async": "^2.6.2",
-            "schema-utils": "^3.2.0",
-            "tapable": "^2.1.1",
-            "terser-webpack-plugin": "^5.3.7",
-            "watchpack": "^2.4.0",
-            "webpack-sources": "^3.2.3"
-          }
-        },
         "yargs": {
           "version": "16.2.0",
           "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -53183,7 +52220,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0",
         "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
@@ -53334,28 +52371,12 @@
           "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
           "dev": true
         },
-        "enhanced-resolve": {
-          "version": "5.17.0",
-          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.2.4",
-            "tapable": "^2.2.0"
-          }
-        },
         "escape-string-regexp": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
           "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
           "dev": true
         },
-        "events": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-          "dev": true
-        },
         "glob": {
           "version": "7.2.0",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -53396,12 +52417,6 @@
           "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
           "dev": true
         },
-        "json-parse-even-better-errors": {
-          "version": "2.3.1",
-          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-          "dev": true
-        },
         "log-symbols": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -53473,17 +52488,6 @@
           "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
           "dev": true
         },
-        "schema-utils": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
-          }
-        },
         "sinon": {
           "version": "15.1.2",
           "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
@@ -53521,12 +52525,6 @@
           "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
           "dev": true
         },
-        "tapable": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-          "dev": true
-        },
         "ts-loader": {
           "version": "9.5.1",
           "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -53540,38 +52538,6 @@
             "source-map": "^0.7.4"
           }
         },
-        "webpack": {
-          "version": "5.89.0",
-          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-          "dev": true,
-          "requires": {
-            "@types/eslint-scope": "^3.7.3",
-            "@types/estree": "^1.0.0",
-            "@webassemblyjs/ast": "^1.11.5",
-            "@webassemblyjs/wasm-edit": "^1.11.5",
-            "@webassemblyjs/wasm-parser": "^1.11.5",
-            "acorn": "^8.7.1",
-            "acorn-import-assertions": "^1.9.0",
-            "browserslist": "^4.14.5",
-            "chrome-trace-event": "^1.0.2",
-            "enhanced-resolve": "^5.15.0",
-            "es-module-lexer": "^1.2.1",
-            "eslint-scope": "5.1.1",
-            "events": "^3.2.0",
-            "glob-to-regexp": "^0.4.1",
-            "graceful-fs": "^4.2.9",
-            "json-parse-even-better-errors": "^2.3.1",
-            "loader-runner": "^4.2.0",
-            "mime-types": "^2.1.27",
-            "neo-async": "^2.6.2",
-            "schema-utils": "^3.2.0",
-            "tapable": "^2.1.1",
-            "terser-webpack-plugin": "^5.3.7",
-            "watchpack": "^2.4.0",
-            "webpack-sources": "^3.2.3"
-          }
-        },
         "yargs": {
           "version": "16.2.0",
           "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -53709,7 +52675,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0"
       },
@@ -53859,28 +52825,12 @@
           "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
           "dev": true
         },
-        "enhanced-resolve": {
-          "version": "5.17.0",
-          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.2.4",
-            "tapable": "^2.2.0"
-          }
-        },
         "escape-string-regexp": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
           "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
           "dev": true
         },
-        "events": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-          "dev": true
-        },
         "glob": {
           "version": "7.2.0",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -53921,12 +52871,6 @@
           "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
           "dev": true
         },
-        "json-parse-even-better-errors": {
-          "version": "2.3.1",
-          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-          "dev": true
-        },
         "log-symbols": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -53998,17 +52942,6 @@
           "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
           "dev": true
         },
-        "schema-utils": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
-          }
-        },
         "sinon": {
           "version": "15.1.2",
           "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
@@ -54046,12 +52979,6 @@
           "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
           "dev": true
         },
-        "tapable": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-          "dev": true
-        },
         "ts-loader": {
           "version": "9.5.1",
           "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -54065,38 +52992,6 @@
             "source-map": "^0.7.4"
           }
         },
-        "webpack": {
-          "version": "5.89.0",
-          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-          "dev": true,
-          "requires": {
-            "@types/eslint-scope": "^3.7.3",
-            "@types/estree": "^1.0.0",
-            "@webassemblyjs/ast": "^1.11.5",
-            "@webassemblyjs/wasm-edit": "^1.11.5",
-            "@webassemblyjs/wasm-parser": "^1.11.5",
-            "acorn": "^8.7.1",
-            "acorn-import-assertions": "^1.9.0",
-            "browserslist": "^4.14.5",
-            "chrome-trace-event": "^1.0.2",
-            "enhanced-resolve": "^5.15.0",
-            "es-module-lexer": "^1.2.1",
-            "eslint-scope": "5.1.1",
-            "events": "^3.2.0",
-            "glob-to-regexp": "^0.4.1",
-            "graceful-fs": "^4.2.9",
-            "json-parse-even-better-errors": "^2.3.1",
-            "loader-runner": "^4.2.0",
-            "mime-types": "^2.1.27",
-            "neo-async": "^2.6.2",
-            "schema-utils": "^3.2.0",
-            "tapable": "^2.1.1",
-            "terser-webpack-plugin": "^5.3.7",
-            "watchpack": "^2.4.0",
-            "webpack-sources": "^3.2.3"
-          }
-        },
         "yargs": {
           "version": "16.2.0",
           "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -54200,7 +53095,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0"
       },
@@ -54341,28 +53236,12 @@
           "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
           "dev": true
         },
-        "enhanced-resolve": {
-          "version": "5.17.0",
-          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.2.4",
-            "tapable": "^2.2.0"
-          }
-        },
         "escape-string-regexp": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
           "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
           "dev": true
         },
-        "events": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-          "dev": true
-        },
         "glob": {
           "version": "7.2.0",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -54403,12 +53282,6 @@
           "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
           "dev": true
         },
-        "json-parse-even-better-errors": {
-          "version": "2.3.1",
-          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-          "dev": true
-        },
         "karma-chrome-launcher": {
           "version": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz",
           "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==",
@@ -54488,29 +53361,12 @@
           "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
           "dev": true
         },
-        "schema-utils": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
-          }
-        },
         "source-map": {
           "version": "0.7.4",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
           "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
           "dev": true
         },
-        "tapable": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-          "dev": true
-        },
         "ts-loader": {
           "version": "9.5.1",
           "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -54524,38 +53380,6 @@
             "source-map": "^0.7.4"
           }
         },
-        "webpack": {
-          "version": "5.89.0",
-          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-          "dev": true,
-          "requires": {
-            "@types/eslint-scope": "^3.7.3",
-            "@types/estree": "^1.0.0",
-            "@webassemblyjs/ast": "^1.11.5",
-            "@webassemblyjs/wasm-edit": "^1.11.5",
-            "@webassemblyjs/wasm-parser": "^1.11.5",
-            "acorn": "^8.7.1",
-            "acorn-import-assertions": "^1.9.0",
-            "browserslist": "^4.14.5",
-            "chrome-trace-event": "^1.0.2",
-            "enhanced-resolve": "^5.15.0",
-            "es-module-lexer": "^1.2.1",
-            "eslint-scope": "5.1.1",
-            "events": "^3.2.0",
-            "glob-to-regexp": "^0.4.1",
-            "graceful-fs": "^4.2.9",
-            "json-parse-even-better-errors": "^2.3.1",
-            "loader-runner": "^4.2.0",
-            "mime-types": "^2.1.27",
-            "neo-async": "^2.6.2",
-            "schema-utils": "^3.2.0",
-            "tapable": "^2.1.1",
-            "terser-webpack-plugin": "^5.3.7",
-            "watchpack": "^2.4.0",
-            "webpack-sources": "^3.2.3"
-          }
-        },
         "which": {
           "version": "1.3.1",
           "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -54628,7 +53452,7 @@
         "ts-loader": "9.5.1",
         "ts-mocha": "10.0.0",
         "typescript": "4.4.4",
-        "webpack": "5.89.0",
+        "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-merge": "5.10.0"
       },
@@ -54778,28 +53602,12 @@
           "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
           "dev": true
         },
-        "enhanced-resolve": {
-          "version": "5.17.0",
-          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.2.4",
-            "tapable": "^2.2.0"
-          }
-        },
         "escape-string-regexp": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
           "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
           "dev": true
         },
-        "events": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-          "dev": true
-        },
         "glob": {
           "version": "7.2.0",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -54840,12 +53648,6 @@
           "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
           "dev": true
         },
-        "json-parse-even-better-errors": {
-          "version": "2.3.1",
-          "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-          "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-          "dev": true
-        },
         "log-symbols": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -54917,17 +53719,6 @@
           "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
           "dev": true
         },
-        "schema-utils": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
-          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
-          }
-        },
         "sinon": {
           "version": "15.1.2",
           "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz",
@@ -54965,12 +53756,6 @@
           "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
           "dev": true
         },
-        "tapable": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-          "dev": true
-        },
         "ts-loader": {
           "version": "9.5.1",
           "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
@@ -54984,38 +53769,6 @@
             "source-map": "^0.7.4"
           }
         },
-        "webpack": {
-          "version": "5.89.0",
-          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
-          "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
-          "dev": true,
-          "requires": {
-            "@types/eslint-scope": "^3.7.3",
-            "@types/estree": "^1.0.0",
-            "@webassemblyjs/ast": "^1.11.5",
-            "@webassemblyjs/wasm-edit": "^1.11.5",
-            "@webassemblyjs/wasm-parser": "^1.11.5",
-            "acorn": "^8.7.1",
-            "acorn-import-assertions": "^1.9.0",
-            "browserslist": "^4.14.5",
-            "chrome-trace-event": "^1.0.2",
-            "enhanced-resolve": "^5.15.0",
-            "es-module-lexer": "^1.2.1",
-            "eslint-scope": "5.1.1",
-            "events": "^3.2.0",
-            "glob-to-regexp": "^0.4.1",
-            "graceful-fs": "^4.2.9",
-            "json-parse-even-better-errors": "^2.3.1",
-            "loader-runner": "^4.2.0",
-            "mime-types": "^2.1.27",
-            "neo-async": "^2.6.2",
-            "schema-utils": "^3.2.0",
-            "tapable": "^2.1.1",
-            "terser-webpack-plugin": "^5.3.7",
-            "watchpack": "^2.4.0",
-            "webpack-sources": "^3.2.3"
-          }
-        },
         "yargs": {
           "version": "16.2.0",
           "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -56674,26 +55427,6 @@
       "integrity": "sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw==",
       "dev": true
     },
-    "@types/eslint": {
-      "version": "8.56.10",
-      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz",
-      "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==",
-      "dev": true,
-      "requires": {
-        "@types/estree": "*",
-        "@types/json-schema": "*"
-      }
-    },
-    "@types/eslint-scope": {
-      "version": "3.7.7",
-      "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
-      "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
-      "dev": true,
-      "requires": {
-        "@types/eslint": "*",
-        "@types/estree": "*"
-      }
-    },
     "@types/estree": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
@@ -57872,13 +56605,6 @@
       "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
       "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg=="
     },
-    "acorn-import-assertions": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
-      "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
-      "dev": true,
-      "requires": {}
-    },
     "acorn-import-attributes": {
       "version": "1.9.5",
       "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
@@ -61755,6 +60481,16 @@
       "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==",
       "dev": true
     },
+    "enhanced-resolve": {
+      "version": "5.17.1",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+      "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "^4.2.4",
+        "tapable": "^2.2.0"
+      }
+    },
     "enquirer": {
       "version": "2.3.6",
       "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
@@ -73745,6 +72481,12 @@
         }
       }
     },
+    "tapable": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+      "dev": true
+    },
     "tar": {
       "version": "6.1.11",
       "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
@@ -75014,22 +73756,20 @@
       "dev": true
     },
     "webpack": {
-      "version": "5.91.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz",
-      "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==",
+      "version": "5.94.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz",
+      "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
       "dev": true,
-      "peer": true,
       "requires": {
-        "@types/eslint-scope": "^3.7.3",
         "@types/estree": "^1.0.5",
         "@webassemblyjs/ast": "^1.12.1",
         "@webassemblyjs/wasm-edit": "^1.12.1",
         "@webassemblyjs/wasm-parser": "^1.12.1",
         "acorn": "^8.7.1",
-        "acorn-import-assertions": "^1.9.0",
+        "acorn-import-attributes": "^1.9.5",
         "browserslist": "^4.21.10",
         "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.16.0",
+        "enhanced-resolve": "^5.17.1",
         "es-module-lexer": "^1.2.1",
         "eslint-scope": "5.1.1",
         "events": "^3.2.0",
@@ -75046,49 +73786,28 @@
         "webpack-sources": "^3.2.3"
       },
       "dependencies": {
-        "enhanced-resolve": {
-          "version": "5.17.0",
-          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-          "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
-          "dev": true,
-          "peer": true,
-          "requires": {
-            "graceful-fs": "^4.2.4",
-            "tapable": "^2.2.0"
-          }
-        },
         "events": {
           "version": "3.3.0",
           "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
           "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-          "dev": true,
-          "peer": true
+          "dev": true
         },
         "json-parse-even-better-errors": {
           "version": "2.3.1",
           "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
           "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-          "dev": true,
-          "peer": true
+          "dev": true
         },
         "schema-utils": {
           "version": "3.3.0",
           "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
           "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
           "dev": true,
-          "peer": true,
           "requires": {
             "@types/json-schema": "^7.0.8",
             "ajv": "^6.12.5",
             "ajv-keywords": "^3.5.2"
           }
-        },
-        "tapable": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-          "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-          "dev": true,
-          "peer": true
         }
       }
     },
diff --git a/packages/opentelemetry-id-generator-aws-xray/package.json b/packages/opentelemetry-id-generator-aws-xray/package.json
index 8f1110373e..97fa152a1c 100644
--- a/packages/opentelemetry-id-generator-aws-xray/package.json
+++ b/packages/opentelemetry-id-generator-aws-xray/package.json
@@ -75,7 +75,7 @@
     "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "5.89.0",
+    "webpack": "5.94.0",
     "webpack-cli": "5.1.4",
     "webpack-merge": "5.10.0"
   },
diff --git a/plugins/web/opentelemetry-instrumentation-long-task/package.json b/plugins/web/opentelemetry-instrumentation-long-task/package.json
index 9416a07ce9..35642185ee 100644
--- a/plugins/web/opentelemetry-instrumentation-long-task/package.json
+++ b/plugins/web/opentelemetry-instrumentation-long-task/package.json
@@ -74,7 +74,7 @@
     "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "5.89.0",
+    "webpack": "5.94.0",
     "webpack-cli": "5.1.4",
     "webpack-merge": "5.10.0",
     "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
index e04e8e08c8..ee8815d617 100644
--- a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
+++ b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json
@@ -77,7 +77,7 @@
     "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "5.89.0",
+    "webpack": "5.94.0",
     "webpack-cli": "5.1.4",
     "webpack-merge": "5.10.0",
     "zone.js": "^0.11.4 || ^0.13.0 || ^0.14.0"
diff --git a/plugins/web/opentelemetry-plugin-react-load/package.json b/plugins/web/opentelemetry-plugin-react-load/package.json
index 60b2cf4c2a..f0ed27eda1 100644
--- a/plugins/web/opentelemetry-plugin-react-load/package.json
+++ b/plugins/web/opentelemetry-plugin-react-load/package.json
@@ -79,7 +79,7 @@
     "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "5.89.0",
+    "webpack": "5.94.0",
     "webpack-cli": "5.1.4",
     "webpack-merge": "5.10.0"
   },
diff --git a/propagators/opentelemetry-propagator-instana/package.json b/propagators/opentelemetry-propagator-instana/package.json
index d27041afce..a4b9e08b62 100644
--- a/propagators/opentelemetry-propagator-instana/package.json
+++ b/propagators/opentelemetry-propagator-instana/package.json
@@ -70,7 +70,7 @@
     "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "5.89.0",
+    "webpack": "5.94.0",
     "webpack-cli": "5.1.4",
     "webpack-merge": "5.10.0"
   },
diff --git a/propagators/opentelemetry-propagator-ot-trace/package.json b/propagators/opentelemetry-propagator-ot-trace/package.json
index de1c0cc81e..f3ddd22be1 100644
--- a/propagators/opentelemetry-propagator-ot-trace/package.json
+++ b/propagators/opentelemetry-propagator-ot-trace/package.json
@@ -70,7 +70,7 @@
     "ts-loader": "9.5.1",
     "ts-mocha": "10.0.0",
     "typescript": "4.4.4",
-    "webpack": "5.89.0",
+    "webpack": "5.94.0",
     "webpack-cli": "5.1.4",
     "webpack-merge": "5.10.0"
   },

From 0503b660332d9dd76e06aa20a95af6b45f861866 Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Wed, 4 Sep 2024 17:09:33 +0200
Subject: [PATCH 101/123] chore: mark AWS vendor packages as unmaintained
 (#2415)

---
 .github/component_owners.yml                    | 17 ++++++++---------
 .../README.md                                   |  8 ++++----
 .../opentelemetry-sampler-aws-xray/README.md    |  2 +-
 .../README.md                                   |  6 +++---
 .../README.md                                   |  2 +-
 5 files changed, 17 insertions(+), 18 deletions(-)

diff --git a/.github/component_owners.yml b/.github/component_owners.yml
index f13d45b523..1fb7378f73 100644
--- a/.github/component_owners.yml
+++ b/.github/component_owners.yml
@@ -2,8 +2,8 @@
 components:
   detectors/node/opentelemetry-resource-detector-alibaba-cloud:
     - legendecas
-  detectors/node/opentelemetry-resource-detector-aws:
-    - carolabadeer
+  detectors/node/opentelemetry-resource-detector-aws: []
+    # Unmaintained
   detectors/node/opentelemetry-resource-detector-azure:
     - jacksonweber
     - hectorhdzg
@@ -16,8 +16,8 @@ components:
     # Unmaintained
   detectors/node/opentelemetry-resource-detector-instana:
     - kirrg001
-  incubator/opentelemetry-sampler-aws-xray:
-    - carolabadeer
+  incubator/opentelemetry-sampler-aws-xray: []
+    # Unmaintained
   metapackages/auto-configuration-propagators:
     - pichlermarc
   metapackages/auto-instrumentations-node:
@@ -35,8 +35,8 @@ components:
     - jamiedanielson
   packages/opentelemetry-host-metrics:
     - legendecas
-  packages/opentelemetry-id-generator-aws-xray:
-    - carolabadeer
+  packages/opentelemetry-id-generator-aws-xray: []
+    # Unmaintained
   packages/opentelemetry-propagation-utils:
     - dyladan
     - pichlermarc
@@ -69,10 +69,9 @@ components:
     - mottibec
   plugins/node/instrumentation-tedious: []
     # Unmaintained
-  plugins/node/opentelemetry-instrumentation-aws-lambda:
-    - carolabadeer
+  plugins/node/opentelemetry-instrumentation-aws-lambda: []
+    # Unmaintained
   plugins/node/opentelemetry-instrumentation-aws-sdk:
-    - carolabadeer
     - blumamir
   plugins/node/opentelemetry-instrumentation-bunyan:
     - seemk
diff --git a/detectors/node/opentelemetry-resource-detector-aws/README.md b/detectors/node/opentelemetry-resource-detector-aws/README.md
index e903be6fef..e18097f227 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/README.md
+++ b/detectors/node/opentelemetry-resource-detector-aws/README.md
@@ -3,15 +3,15 @@
 [![NPM Published Version][npm-img]][npm-url]
 [![Apache License][license-image]][license-image]
 
-[component owners](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/.github/component_owners.yml): @carolabadeer
+[component owners](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/.github/component_owners.yml): N/A
 
 Resource detector for Amazon Web Services.
 
 ## Status
 
-| Maturity                                  | [Component Owner](../../.github/component_owners.yml) | Compatibility         |
-| ----------------------------------------- | ----------------------------------------------------- | --------------------- |
-| [Stable](../../../CONTRIBUTING.md#stable) | @carolabadeer                                         | API 1.0+<br/>SDK 1.0+ |
+| Maturity                                              | [Component Owner](../../.github/component_owners.yml) | Compatibility         |
+|-------------------------------------------------------|-------------------------------------------------------|-----------------------|
+| [Unmaintained](../../../CONTRIBUTING.md#unmaintained) | N/A                                                   | API 1.0+<br/>SDK 1.0+ |
 
 ## Installation
 
diff --git a/incubator/opentelemetry-sampler-aws-xray/README.md b/incubator/opentelemetry-sampler-aws-xray/README.md
index 3656050787..7ea1ef91e4 100644
--- a/incubator/opentelemetry-sampler-aws-xray/README.md
+++ b/incubator/opentelemetry-sampler-aws-xray/README.md
@@ -2,7 +2,7 @@
 
 > This component is still in development and has not been released as an npm package.
 
-component owner: @carolabadeer
+component owner: N/A
 
 This module provides the remote/centralized sampler for AWS X-Ray.
 
diff --git a/packages/opentelemetry-id-generator-aws-xray/README.md b/packages/opentelemetry-id-generator-aws-xray/README.md
index 8c7d77604d..4493bc887b 100644
--- a/packages/opentelemetry-id-generator-aws-xray/README.md
+++ b/packages/opentelemetry-id-generator-aws-xray/README.md
@@ -10,9 +10,9 @@ enabling compatibility with AWS X-Ray.
 
 ## Status
 
-| Maturity                               | [Component Owner](../../.github/component_owners.yml) | Compatibility         |
-| -------------------------------------- | ----------------------------------------------------- | --------------------- |
-| [Stable](../../CONTRIBUTING.md#stable) | @carolabadeer                                         | API 1.0+<br/>SDK 1.0+ |
+| Maturity                                              | [Component Owner](../../.github/component_owners.yml) | Compatibility         |
+|-------------------------------------------------------|-------------------------------------------------------|-----------------------|
+| [Unmaintained](../../../CONTRIBUTING.md#unmaintained) | N/A                                                   | API 1.0+<br/>SDK 1.0+ |
 
 ## Installation
 
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/README.md b/plugins/node/opentelemetry-instrumentation-aws-lambda/README.md
index 3893a552fb..20d4eb9a1b 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/README.md
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/README.md
@@ -3,7 +3,7 @@
 [![NPM Published Version][npm-img]][npm-url]
 [![Apache License][license-image]][license-image]
 
-[component owners](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/.github/component_owners.yml): @carolabadeer
+[component owners](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/.github/component_owners.yml): N/A
 
 This module provides automatic instrumentation for the [`AWS Lambda`](https://docs.aws.amazon.com/lambda/latest/dg/nodejs-handler.html) module, which may be loaded using the [`@opentelemetry/sdk-trace-node`](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) package and is included in the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle.
 

From ec3b9c87aa2c79dc8cdcb4023df71dcafc6f08a4 Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Wed, 4 Sep 2024 08:29:12 -0700
Subject: [PATCH 102/123] fix(instrumentation-redis-4): avoid diag.error spam
 when configured client URL is the empty string (#2399)

Issue #2389 showed that this instrumentation would crash on a Redis
client configured with {url: ''} (an empty string). The crash was
fixed in #2397. This change avoids the once-crashy code, and hence
the diag.error spam, by using the same guard before attempting to parse
the configured client URL that the Redis client itself does, if (options?.url),

Refs: #2389
---
 .../src/utils.ts                              |  2 +-
 .../test/redis.test.ts                        | 32 +++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/src/utils.ts b/plugins/node/opentelemetry-instrumentation-redis-4/src/utils.ts
index 7bdbf768ac..b7cc79628d 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/src/utils.ts
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/src/utils.ts
@@ -46,7 +46,7 @@ function removeCredentialsFromDBConnectionStringAttribute(
   diag: DiagLogger,
   url?: unknown
 ): string | undefined {
-  if (typeof url !== 'string') {
+  if (typeof url !== 'string' || !url) {
     return;
   }
 
diff --git a/plugins/node/opentelemetry-instrumentation-redis-4/test/redis.test.ts b/plugins/node/opentelemetry-instrumentation-redis-4/test/redis.test.ts
index 6200b4c1eb..14b439e797 100644
--- a/plugins/node/opentelemetry-instrumentation-redis-4/test/redis.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-redis-4/test/redis.test.ts
@@ -13,6 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
+import { diag, DiagLogLevel } from '@opentelemetry/api';
 import {
   getTestSpans,
   registerInstrumentationTesting,
@@ -288,6 +290,36 @@ describe('redis@^4.0.0', () => {
         expectAttributeConnString
       );
     });
+
+    it('with empty string for client URL, there is no crash and no diag.error', async () => {
+      // Note: This messily leaves the diag logger set for other tests.
+      const diagErrors = [] as any;
+      diag.setLogger(
+        {
+          verbose() {},
+          debug() {},
+          info() {},
+          warn() {},
+          error(...args) {
+            diagErrors.push(args);
+          },
+        },
+        DiagLogLevel.WARN
+      );
+
+      const newClient = createClient({ url: '' });
+      try {
+        await newClient.connect();
+      } catch (_err) {
+        // Ignore. If the test Redis is not at the default port we expect this
+        // to error.
+      }
+      await newClient.disconnect();
+
+      const [span] = getTestSpans();
+      assert.strictEqual(span.name, 'redis-connect');
+      assert.strictEqual(diagErrors.length, 0, "no diag.error's");
+    });
   });
 
   describe('multi (transactions) commands', () => {

From bc69fffc106142ed4c8333d3f6122329f51e4039 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Serkan=20=C3=96ZAL?= <serkanozal86@gmail.com>
Date: Wed, 4 Sep 2024 23:20:22 +0300
Subject: [PATCH 103/123] feat: Record AWS Lambda coldstarts (#2403)

Co-authored-by: Daniel Dyla <dyladan@users.noreply.github.com>
---
 .../src/instrumentation.ts                    | 52 +++++++++-
 .../src/types.ts                              |  1 +
 .../test/integrations/lambda-handler.test.ts  | 96 +++++++++++++++++++
 3 files changed, 145 insertions(+), 4 deletions(-)

diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-aws-lambda/src/instrumentation.ts
index 4aef1509ce..276ef63518 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/src/instrumentation.ts
@@ -48,6 +48,7 @@ import {
   SEMRESATTRS_CLOUD_ACCOUNT_ID,
   SEMRESATTRS_FAAS_ID,
 } from '@opentelemetry/semantic-conventions';
+import { ATTR_FAAS_COLDSTART } from '@opentelemetry/semantic-conventions/incubating';
 
 import {
   APIGatewayProxyEventHeaders,
@@ -72,6 +73,7 @@ const headerGetter: TextMapGetter<APIGatewayProxyEventHeaders> = {
 };
 
 export const traceContextEnvironmentKey = '_X_AMZN_TRACE_ID';
+export const lambdaMaxInitInMilliseconds = 10_000;
 
 export class AwsLambdaInstrumentation extends InstrumentationBase<AwsLambdaInstrumentationConfig> {
   private _traceForceFlusher?: () => Promise<void>;
@@ -135,6 +137,10 @@ export class AwsLambdaInstrumentation extends InstrumentationBase<AwsLambdaInstr
       functionName,
     });
 
+    const lambdaStartTime =
+      this.getConfig().lambdaStartTime ||
+      Date.now() - Math.floor(1000 * process.uptime());
+
     return [
       new InstrumentationNodeModuleDefinition(
         // NB: The patching infrastructure seems to match names backwards, this must be the filename, while
@@ -151,7 +157,11 @@ export class AwsLambdaInstrumentation extends InstrumentationBase<AwsLambdaInstr
               if (isWrapped(moduleExports[functionName])) {
                 this._unwrap(moduleExports, functionName);
               }
-              this._wrap(moduleExports, functionName, this._getHandler());
+              this._wrap(
+                moduleExports,
+                functionName,
+                this._getHandler(lambdaStartTime)
+              );
               return moduleExports;
             },
             (moduleExports?: LambdaModule) => {
@@ -164,16 +174,47 @@ export class AwsLambdaInstrumentation extends InstrumentationBase<AwsLambdaInstr
     ];
   }
 
-  private _getHandler() {
+  private _getHandler(handlerLoadStartTime: number) {
     return (original: Handler) => {
-      return this._getPatchHandler(original);
+      return this._getPatchHandler(original, handlerLoadStartTime);
     };
   }
 
-  private _getPatchHandler(original: Handler) {
+  private _getPatchHandler(original: Handler, lambdaStartTime: number) {
     diag.debug('patch handler function');
     const plugin = this;
 
+    let requestHandledBefore = false;
+    let requestIsColdStart = true;
+
+    function _onRequest(): void {
+      if (requestHandledBefore) {
+        // Non-first requests cannot be coldstart.
+        requestIsColdStart = false;
+      } else {
+        if (
+          process.env.AWS_LAMBDA_INITIALIZATION_TYPE ===
+          'provisioned-concurrency'
+        ) {
+          // If sandbox environment is initialized with provisioned concurrency,
+          // even the first requests should not be considered as coldstart.
+          requestIsColdStart = false;
+        } else {
+          // Check whether it is proactive initialization or not:
+          // https://aaronstuyvenberg.com/posts/understanding-proactive-initialization
+          const passedTimeSinceHandlerLoad: number =
+            Date.now() - lambdaStartTime;
+          const proactiveInitialization: boolean =
+            passedTimeSinceHandlerLoad > lambdaMaxInitInMilliseconds;
+
+          // If sandbox has been initialized proactively before the actual request,
+          // even the first requests should not be considered as coldstart.
+          requestIsColdStart = !proactiveInitialization;
+        }
+        requestHandledBefore = true;
+      }
+    }
+
     return function patchedHandler(
       this: never,
       // The event can be a user type, it truly is any.
@@ -182,6 +223,8 @@ export class AwsLambdaInstrumentation extends InstrumentationBase<AwsLambdaInstr
       context: Context,
       callback: Callback
     ) {
+      _onRequest();
+
       const config = plugin.getConfig();
       const parent = AwsLambdaInstrumentation._determineParent(
         event,
@@ -203,6 +246,7 @@ export class AwsLambdaInstrumentation extends InstrumentationBase<AwsLambdaInstr
               AwsLambdaInstrumentation._extractAccountId(
                 context.invokedFunctionArn
               ),
+            [ATTR_FAAS_COLDSTART]: requestIsColdStart,
           },
         },
         parent
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/src/types.ts b/plugins/node/opentelemetry-instrumentation-aws-lambda/src/types.ts
index 279eb1a9a7..c58af49d26 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/src/types.ts
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/src/types.ts
@@ -41,4 +41,5 @@ export interface AwsLambdaInstrumentationConfig extends InstrumentationConfig {
   disableAwsContextPropagation?: boolean;
   eventContextExtractor?: EventContextExtractor;
   lambdaHandler?: string;
+  lambdaStartTime?: number;
 }
diff --git a/plugins/node/opentelemetry-instrumentation-aws-lambda/test/integrations/lambda-handler.test.ts b/plugins/node/opentelemetry-instrumentation-aws-lambda/test/integrations/lambda-handler.test.ts
index 2088c4316f..aa7306b48d 100644
--- a/plugins/node/opentelemetry-instrumentation-aws-lambda/test/integrations/lambda-handler.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-aws-lambda/test/integrations/lambda-handler.test.ts
@@ -23,6 +23,7 @@ import {
   AwsLambdaInstrumentation,
   AwsLambdaInstrumentationConfig,
   traceContextEnvironmentKey,
+  lambdaMaxInitInMilliseconds,
 } from '../../src';
 import {
   BatchSpanProcessor,
@@ -34,6 +35,7 @@ import { Context } from 'aws-lambda';
 import * as assert from 'assert';
 import {
   SEMATTRS_EXCEPTION_MESSAGE,
+  SEMATTRS_FAAS_COLDSTART,
   SEMATTRS_FAAS_EXECUTION,
   SEMRESATTRS_FAAS_NAME,
 } from '@opentelemetry/semantic-conventions';
@@ -295,6 +297,100 @@ describe('lambda handler', () => {
       assert.strictEqual(span.parentSpanId, undefined);
     });
 
+    it('should record coldstart', async () => {
+      initializeHandler('lambda-test/sync.handler');
+
+      const handlerModule = lambdaRequire('lambda-test/sync');
+
+      const result1 = await new Promise((resolve, reject) => {
+        handlerModule.handler('arg', ctx, (err: Error, res: any) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(res);
+          }
+        });
+      });
+
+      const result2 = await new Promise((resolve, reject) => {
+        handlerModule.handler('arg', ctx, (err: Error, res: any) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(res);
+          }
+        });
+      });
+
+      const spans = memoryExporter.getFinishedSpans();
+      assert.strictEqual(spans.length, 2);
+      const [span1, span2] = spans;
+
+      assert.strictEqual(result1, 'ok');
+      assertSpanSuccess(span1);
+      assert.strictEqual(span1.parentSpanId, undefined);
+      assert.strictEqual(span1.attributes[SEMATTRS_FAAS_COLDSTART], true);
+
+      assert.strictEqual(result2, 'ok');
+      assertSpanSuccess(span2);
+      assert.strictEqual(span2.parentSpanId, undefined);
+      assert.strictEqual(span2.attributes[SEMATTRS_FAAS_COLDSTART], false);
+    });
+
+    it('should record coldstart with provisioned concurrency', async () => {
+      process.env.AWS_LAMBDA_INITIALIZATION_TYPE = 'provisioned-concurrency';
+
+      initializeHandler('lambda-test/sync.handler');
+
+      const result = await new Promise((resolve, reject) => {
+        lambdaRequire('lambda-test/sync').handler(
+          'arg',
+          ctx,
+          (err: Error, res: any) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(res);
+            }
+          }
+        );
+      });
+      assert.strictEqual(result, 'ok');
+      const spans = memoryExporter.getFinishedSpans();
+      const [span] = spans;
+      assert.strictEqual(spans.length, 1);
+      assertSpanSuccess(span);
+      assert.strictEqual(span.parentSpanId, undefined);
+      assert.strictEqual(span.attributes[SEMATTRS_FAAS_COLDSTART], false);
+    });
+
+    it('should record coldstart with proactive initialization', async () => {
+      initializeHandler('lambda-test/sync.handler', {
+        lambdaStartTime: Date.now() - 2 * lambdaMaxInitInMilliseconds,
+      });
+
+      const result = await new Promise((resolve, reject) => {
+        lambdaRequire('lambda-test/sync').handler(
+          'arg',
+          ctx,
+          (err: Error, res: any) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(res);
+            }
+          }
+        );
+      });
+      assert.strictEqual(result, 'ok');
+      const spans = memoryExporter.getFinishedSpans();
+      const [span] = spans;
+      assert.strictEqual(spans.length, 1);
+      assertSpanSuccess(span);
+      assert.strictEqual(span.parentSpanId, undefined);
+      assert.strictEqual(span.attributes[SEMATTRS_FAAS_COLDSTART], false);
+    });
+
     it('should record error', async () => {
       initializeHandler('lambda-test/sync.error');
 

From b09cb40242f09c0a52bacd15a7d8c84e954d57e0 Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Thu, 5 Sep 2024 02:11:05 -0700
Subject: [PATCH 104/123] test(instrumentation-express): update to use correct
 span kind enum; also fix test flakiness (#2421)

This is a follow-up on #2408 (comment)
to update one more usage of SpanKind.* to testUtils.OtlpSpanKind.*.

While testing this locally I also noticed that the instr-express tests
using runTestFixture are flaky. The issue is that TestCollector#sortedSpans
can get the span ordering wrong when spans start in the same millisecond
(the resolution of span.startTimeUnixNano). This happens with Express
middleware spans on a fast machine. I've updated sortedSpans to
fallback to using span.parentSpanId to attempt to get more reliable
sorting.
---
 .../src/test-fixtures.ts                      | 28 +++++++++++++++++--
 .../test/express.test.ts                      |  4 +--
 2 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/packages/opentelemetry-test-utils/src/test-fixtures.ts b/packages/opentelemetry-test-utils/src/test-fixtures.ts
index 6a3563978f..ff0dd9e313 100644
--- a/packages/opentelemetry-test-utils/src/test-fixtures.ts
+++ b/packages/opentelemetry-test-utils/src/test-fixtures.ts
@@ -110,14 +110,38 @@ export class TestCollector {
     return this._http.close();
   }
 
-  // Return the spans sorted by start time for testing convenience.
+  /**
+   * Return the spans sorted by which started first, for testing convenience.
+   *
+   * Note: This sorting is a *best effort*. `span.startTimeUnixNano` has
+   * millisecond accuracy, so if multiple spans start in the same millisecond
+   * then this cannot know the start ordering. If `startTimeUnixNano` are the
+   * same, this attempts to get the correct ordering using `parentSpanId` -- a
+   * parent span starts before any of its direct children. This isn't perfect.
+   */
   get sortedSpans(): Array<TestSpan> {
     return this.spans.slice().sort((a, b) => {
       assert(typeof a.startTimeUnixNano === 'string');
       assert(typeof b.startTimeUnixNano === 'string');
       const aStartInt = BigInt(a.startTimeUnixNano);
       const bStartInt = BigInt(b.startTimeUnixNano);
-      return aStartInt < bStartInt ? -1 : aStartInt > bStartInt ? 1 : 0;
+      if (aStartInt < bStartInt) {
+        return -1;
+      } else if (aStartInt > bStartInt) {
+        return 1;
+      } else {
+        // Same startTimeUnixNano, which has millisecond accuracy. This is
+        // common for Express middleware spans on a fast enough dev machine.
+        // Attempt to use spanId/parentSpanId to decide on span ordering.
+        if (a.traceId === b.traceId) {
+          if (a.spanId === b.parentSpanId) {
+            return -1;
+          } else if (a.parentSpanId === b.spanId) {
+            return 1;
+          }
+        }
+        return 0;
+      }
     });
   }
 
diff --git a/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts b/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
index 0ae9a53a78..7f52e90e35 100644
--- a/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-import { SpanStatusCode, context, SpanKind, trace } from '@opentelemetry/api';
+import { SpanStatusCode, context, trace } from '@opentelemetry/api';
 import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
 import { AsyncHooksContextManager } from '@opentelemetry/context-async-hooks';
 import {
@@ -675,7 +675,7 @@ describe('ExpressInstrumentation', () => {
           spans[5].name,
           'request handler - /\\/test\\/regex/'
         );
-        assert.strictEqual(spans[5].kind, SpanKind.SERVER);
+        assert.strictEqual(spans[5].kind, testUtils.OtlpSpanKind.INTERNAL);
         assert.strictEqual(spans[5].parentSpanId, spans[1].spanId);
       },
     });

From ef5efcb7c6bd432159627b5aa1833cc97dce98ca Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Sat, 7 Sep 2024 12:39:05 +0200
Subject: [PATCH 105/123] feat(detector-instana)!: change implementation to
 DetectorSync interface (#2337)

Co-authored-by: Amir Blum <amirgiraffe@gmail.com>
---
 .../src/detectors/InstanaAgentDetector.ts     | 29 ++++++++----
 .../test/InstanaAgentDetectorUnitTest.test.ts | 46 ++++++++-----------
 2 files changed, 40 insertions(+), 35 deletions(-)

diff --git a/detectors/node/opentelemetry-resource-detector-instana/src/detectors/InstanaAgentDetector.ts b/detectors/node/opentelemetry-resource-detector-instana/src/detectors/InstanaAgentDetector.ts
index ed0a11284c..2a22951803 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/src/detectors/InstanaAgentDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-instana/src/detectors/InstanaAgentDetector.ts
@@ -13,7 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import { Detector, Resource, IResource } from '@opentelemetry/resources';
+import {
+  DetectorSync,
+  Resource,
+  IResource,
+  ResourceAttributes,
+} from '@opentelemetry/resources';
 import { diag } from '@opentelemetry/api';
 import {
   SEMRESATTRS_PROCESS_PID,
@@ -21,23 +26,31 @@ import {
 } from '@opentelemetry/semantic-conventions';
 import * as http from 'http';
 
-class InstanaAgentDetector implements Detector {
+class InstanaAgentDetector implements DetectorSync {
   readonly INSTANA_AGENT_DEFAULT_HOST = 'localhost';
   readonly INSTANA_AGENT_DEFAULT_PORT = 42699;
 
-  async detect(): Promise<IResource> {
+  detect(): IResource {
+    return new Resource({}, this._getAttributes());
+  }
+
+  private async _getAttributes(): Promise<ResourceAttributes> {
     const host =
       process.env.INSTANA_AGENT_HOST || this.INSTANA_AGENT_DEFAULT_HOST;
     const port = Number(
       process.env.INSTANA_AGENT_PORT || this.INSTANA_AGENT_DEFAULT_PORT
     );
 
-    const data = await this._retryHandler(host, port, 0);
+    try {
+      const data = await this._retryHandler(host, port, 0);
 
-    return new Resource({
-      [SEMRESATTRS_PROCESS_PID]: data.pid,
-      [SEMRESATTRS_SERVICE_INSTANCE_ID]: data.agentUuid,
-    });
+      return {
+        [SEMRESATTRS_PROCESS_PID]: data.pid,
+        [SEMRESATTRS_SERVICE_INSTANCE_ID]: data.agentUuid,
+      };
+    } catch {
+      return {};
+    }
   }
 
   private timeout(ms: number) {
diff --git a/detectors/node/opentelemetry-resource-detector-instana/test/InstanaAgentDetectorUnitTest.test.ts b/detectors/node/opentelemetry-resource-detector-instana/test/InstanaAgentDetectorUnitTest.test.ts
index abe4ef5a51..db66c0dc0d 100644
--- a/detectors/node/opentelemetry-resource-detector-instana/test/InstanaAgentDetectorUnitTest.test.ts
+++ b/detectors/node/opentelemetry-resource-detector-instana/test/InstanaAgentDetectorUnitTest.test.ts
@@ -16,7 +16,6 @@
 
 import * as nock from 'nock';
 import * as assert from 'assert';
-import { Resource } from '@opentelemetry/resources';
 import { instanaAgentDetector } from '../src';
 
 describe('[UNIT] instanaAgentDetector', () => {
@@ -54,7 +53,8 @@ describe('[UNIT] instanaAgentDetector', () => {
         .put('/com.instana.plugin.nodejs.discovery')
         .reply(200, () => mockedReply);
 
-      const resource: Resource = await instanaAgentDetector.detect();
+      const resource = instanaAgentDetector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       scope.done();
 
@@ -80,7 +80,8 @@ describe('[UNIT] instanaAgentDetector', () => {
         .put('/com.instana.plugin.nodejs.discovery')
         .reply(200, () => mockedReply);
 
-      const resource: Resource = await instanaAgentDetector.detect();
+      const resource = instanaAgentDetector.detect();
+      await resource.waitForAsyncAttributes?.();
 
       scope.done();
 
@@ -90,28 +91,24 @@ describe('[UNIT] instanaAgentDetector', () => {
       });
     });
 
-    it('agent throws error', async () => {
-      const expectedError = new Error('Instana Agent returned status code 500');
+    it('agent returns empty resource if request error', async () => {
       const scope = nock('http://localhost:42699')
         .persist()
         .put('/com.instana.plugin.nodejs.discovery')
         .reply(500, () => new Error());
 
-      try {
-        await instanaAgentDetector.detect();
-        assert.ok(false, 'Expected to throw');
-      } catch (err) {
-        assert.deepStrictEqual(err, expectedError);
-      }
+      const resource = instanaAgentDetector.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      assert.deepStrictEqual(resource.attributes, {});
 
       scope.done();
     });
 
-    it('agent timeout', async () => {
+    it('agent return empty resource if timeout', async () => {
       process.env.INSTANA_AGENT_PORT = '56002';
       process.env.INSTANA_AGENT_HOST = 'instanaagent';
       process.env.INSTANA_AGENT_TIMEOUT_MS = '200';
-      const expectedError = new Error('Instana Agent request timed out.');
 
       nock(
         `http://${process.env.INSTANA_AGENT_HOST}:${process.env.INSTANA_AGENT_PORT}`
@@ -121,28 +118,23 @@ describe('[UNIT] instanaAgentDetector', () => {
         .delay(500)
         .reply(200, {});
 
-      try {
-        await instanaAgentDetector.detect();
-        assert.ok(false, 'Expected to throw');
-      } catch (err) {
-        console.log(err);
-        assert.deepStrictEqual(err, expectedError);
-      }
+      const resource = instanaAgentDetector.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      assert.deepStrictEqual(resource.attributes, {});
     });
   });
 
   describe('when agent is not running', () => {
-    it('should not return agent resource', async () => {
+    it('should return empty resource', async () => {
       process.env.INSTANA_AGENT_PORT = '1111';
       process.env.INSTANA_AGENT_TIMEOUT_MS = '100';
       process.env.INSTANA_RETRY_TIMEOUT_MS = '100';
 
-      try {
-        await instanaAgentDetector.detect();
-        assert.ok(false, 'Expected to throw');
-      } catch (err: any) {
-        assert.equal(err.code, 'ECONNREFUSED');
-      }
+      const resource = instanaAgentDetector.detect();
+      await resource.waitForAsyncAttributes?.();
+
+      assert.deepStrictEqual(resource.attributes, {});
     });
   });
 });

From e87ff9def70dbb282a1acb65d103020a20a1a696 Mon Sep 17 00:00:00 2001
From: Joe Khoobyar <joekhoobyar@users.noreply.github.com>
Date: Tue, 10 Sep 2024 05:18:59 -0400
Subject: [PATCH 106/123] fix: auto-config of baggage propagator (#2425)

---
 metapackages/auto-configuration-propagators/src/utils.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/metapackages/auto-configuration-propagators/src/utils.ts b/metapackages/auto-configuration-propagators/src/utils.ts
index 5c8537daa3..4b1c77dbe2 100644
--- a/metapackages/auto-configuration-propagators/src/utils.ts
+++ b/metapackages/auto-configuration-propagators/src/utils.ts
@@ -30,7 +30,7 @@ type PropagatorFactoryFunction = () => TextMapPropagator;
 
 const propagatorMap = new Map<string, PropagatorFactoryFunction>([
   ['tracecontext', () => new W3CTraceContextPropagator()],
-  ['baggage', () => new W3CTraceContextPropagator()],
+  ['baggage', () => new W3CBaggagePropagator()],
   [
     'b3',
     () => new B3Propagator({ injectEncoding: B3InjectEncoding.SINGLE_HEADER }),

From 7448d37aee23635ff844d336023d97d686497d04 Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Tue, 10 Sep 2024 17:47:25 +0200
Subject: [PATCH 107/123] test(instrumentation-express): pass correct type to
 app.get() (#2427)

---
 .../test/fixtures/use-express-regex.mjs                         | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/node/opentelemetry-instrumentation-express/test/fixtures/use-express-regex.mjs b/plugins/node/opentelemetry-instrumentation-express/test/fixtures/use-express-regex.mjs
index 8fc412841b..d674342dd6 100644
--- a/plugins/node/opentelemetry-instrumentation-express/test/fixtures/use-express-regex.mjs
+++ b/plugins/node/opentelemetry-instrumentation-express/test/fixtures/use-express-regex.mjs
@@ -61,7 +61,7 @@ app.get(['/test/array1', /\/test\/array[2-9]/], (_req, res) => {
   res.send({ response: 'response 3' });
 });
 
-app.get(['/test', 6, /test/], (_req, res) => {
+app.get(['/test', '6', /test/], (_req, res) => {
   res.send({ response: 'response 4' });
 });
 

From 12adb4354f09ade438cd96340bdfd1f715b5fed3 Mon Sep 17 00:00:00 2001
From: Marylia Gutierrez <marylia.gutierrez@grafana.com>
Date: Wed, 11 Sep 2024 11:00:40 -0400
Subject: [PATCH 108/123] feat(instrumentation-pg): initial implementation of
 DB metrics (#2349)

---
 .../src/instrumentation.ts                    |  78 ++++++++++++
 .../src/utils.ts                              |  51 ++++++++
 .../test/pg-pool.test.ts                      | 111 ++++++++++++++++--
 .../test/utils.test.ts                        |  20 +++-
 4 files changed, 246 insertions(+), 14 deletions(-)

diff --git a/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
index 2df376d29f..d1f0a3f0cb 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
@@ -26,6 +26,7 @@ import {
   Span,
   SpanStatusCode,
   SpanKind,
+  UpDownCounter,
 } from '@opentelemetry/api';
 import type * as pgTypes from 'pg';
 import type * as pgPoolTypes from 'pg-pool';
@@ -41,12 +42,53 @@ import * as utils from './utils';
 import { addSqlCommenterComment } from '@opentelemetry/sql-common';
 import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { SpanNames } from './enums/SpanNames';
+import {
+  METRIC_DB_CLIENT_CONNECTION_COUNT,
+  METRIC_DB_CLIENT_CONNECTION_PENDING_REQUESTS,
+} from '@opentelemetry/semantic-conventions/incubating';
 
 export class PgInstrumentation extends InstrumentationBase<PgInstrumentationConfig> {
+  private _connectionsCount!: UpDownCounter;
+  private _connectionPendingRequests!: UpDownCounter;
+  // Pool events connect, acquire, release and remove can be called
+  // multiple times without changing the values of total, idle and waiting
+  // connections. The _connectionsCounter is used to keep track of latest
+  // values and only update the metrics _connectionsCount and _connectionPendingRequests
+  // when the value change.
+  private _connectionsCounter: utils.poolConnectionsCounter = {
+    used: 0,
+    idle: 0,
+    pending: 0,
+  };
+
   constructor(config: PgInstrumentationConfig = {}) {
     super(PACKAGE_NAME, PACKAGE_VERSION, config);
   }
 
+  override _updateMetricInstruments() {
+    this._connectionsCounter = {
+      idle: 0,
+      pending: 0,
+      used: 0,
+    };
+    this._connectionsCount = this.meter.createUpDownCounter(
+      METRIC_DB_CLIENT_CONNECTION_COUNT,
+      {
+        description:
+          'The number of connections that are currently in state described by the state attribute.',
+        unit: '{connection}',
+      }
+    );
+    this._connectionPendingRequests = this.meter.createUpDownCounter(
+      METRIC_DB_CLIENT_CONNECTION_PENDING_REQUESTS,
+      {
+        description:
+          'The number of current pending requests for an open connection.',
+        unit: '{connection}',
+      }
+    );
+  }
+
   protected init() {
     const modulePG = new InstrumentationNodeModuleDefinition(
       'pg',
@@ -334,6 +376,42 @@ export class PgInstrumentation extends InstrumentationBase<PgInstrumentationConf
           attributes: utils.getSemanticAttributesFromPool(this.options),
         });
 
+        this.on('connect', () => {
+          plugin._connectionsCounter = utils.updateCounter(
+            this,
+            plugin._connectionsCount,
+            plugin._connectionPendingRequests,
+            plugin._connectionsCounter
+          );
+        });
+
+        this.on('acquire', () => {
+          plugin._connectionsCounter = utils.updateCounter(
+            this,
+            plugin._connectionsCount,
+            plugin._connectionPendingRequests,
+            plugin._connectionsCounter
+          );
+        });
+
+        this.on('remove', () => {
+          plugin._connectionsCounter = utils.updateCounter(
+            this,
+            plugin._connectionsCount,
+            plugin._connectionPendingRequests,
+            plugin._connectionsCounter
+          );
+        });
+
+        this.on('release' as any, () => {
+          plugin._connectionsCounter = utils.updateCounter(
+            this,
+            plugin._connectionsCount,
+            plugin._connectionPendingRequests,
+            plugin._connectionsCounter
+          );
+        });
+
         if (callback) {
           const parentSpan = trace.getSpan(context.active());
           callback = utils.patchCallbackPGPool(
diff --git a/plugins/node/opentelemetry-instrumentation-pg/src/utils.ts b/plugins/node/opentelemetry-instrumentation-pg/src/utils.ts
index a16ccc9cd0..08f6bbe56c 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/src/utils.ts
+++ b/plugins/node/opentelemetry-instrumentation-pg/src/utils.ts
@@ -22,6 +22,7 @@ import {
   Tracer,
   SpanKind,
   diag,
+  UpDownCounter,
 } from '@opentelemetry/api';
 import { AttributeNames } from './enums/AttributeNames';
 import {
@@ -34,6 +35,12 @@ import {
   SEMATTRS_DB_STATEMENT,
   DBSYSTEMVALUES_POSTGRESQL,
 } from '@opentelemetry/semantic-conventions';
+import {
+  ATTR_DB_CLIENT_CONNECTION_POOL_NAME,
+  ATTR_DB_CLIENT_CONNECTION_STATE,
+  DB_CLIENT_CONNECTION_STATE_VALUE_USED,
+  DB_CLIENT_CONNECTION_STATE_VALUE_IDLE,
+} from '@opentelemetry/semantic-conventions/incubating';
 import {
   PgClientExtended,
   PostgresCallback,
@@ -258,6 +265,50 @@ export function patchCallback(
   };
 }
 
+export function getPoolName(pool: PgPoolOptionsParams): string {
+  let poolName = '';
+  poolName += (pool?.host ? `${pool.host}` : 'unknown_host') + ':';
+  poolName += (pool?.port ? `${pool.port}` : 'unknown_port') + '/';
+  poolName += pool?.database ? `${pool.database}` : 'unknown_database';
+
+  return poolName.trim();
+}
+
+export interface poolConnectionsCounter {
+  used: number;
+  idle: number;
+  pending: number;
+}
+
+export function updateCounter(
+  pool: PgPoolExtended,
+  connectionCount: UpDownCounter,
+  connectionPendingRequests: UpDownCounter,
+  latestCounter: poolConnectionsCounter
+): poolConnectionsCounter {
+  const poolName = getPoolName(pool.options);
+  const all = pool.totalCount;
+  const pending = pool.waitingCount;
+  const idle = pool.idleCount;
+  const used = all - idle;
+
+  connectionCount.add(used - latestCounter.used, {
+    [ATTR_DB_CLIENT_CONNECTION_STATE]: DB_CLIENT_CONNECTION_STATE_VALUE_USED,
+    [ATTR_DB_CLIENT_CONNECTION_POOL_NAME]: poolName,
+  });
+
+  connectionCount.add(idle - latestCounter.idle, {
+    [ATTR_DB_CLIENT_CONNECTION_STATE]: DB_CLIENT_CONNECTION_STATE_VALUE_IDLE,
+    [ATTR_DB_CLIENT_CONNECTION_POOL_NAME]: poolName,
+  });
+
+  connectionPendingRequests.add(pending - latestCounter.pending, {
+    [ATTR_DB_CLIENT_CONNECTION_POOL_NAME]: poolName,
+  });
+
+  return { used: used, idle: idle, pending: pending };
+}
+
 export function patchCallbackPGPool(
   span: Span,
   cb: PgPoolCallback
diff --git a/plugins/node/opentelemetry-instrumentation-pg/test/pg-pool.test.ts b/plugins/node/opentelemetry-instrumentation-pg/test/pg-pool.test.ts
index 62bfaf1711..ab57a0fb05 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/test/pg-pool.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-pg/test/pg-pool.test.ts
@@ -50,6 +50,7 @@ import {
   SEMATTRS_DB_USER,
   SEMATTRS_DB_STATEMENT,
 } from '@opentelemetry/semantic-conventions';
+import { ATTR_DB_CLIENT_CONNECTION_STATE } from '@opentelemetry/semantic-conventions/incubating';
 
 const memoryExporter = new InMemorySpanExporter();
 
@@ -180,7 +181,7 @@ describe('pg-pool', () => {
   describe('#pool.connect()', () => {
     // promise - checkout a client
     it('should intercept pool.connect()', async () => {
-      const pgPoolattributes = {
+      const pgPoolAttributes = {
         ...DEFAULT_PGPOOL_ATTRIBUTES,
       };
       const pgAttributes = {
@@ -191,7 +192,7 @@ describe('pg-pool', () => {
       const span = provider.getTracer('test-pg-pool').startSpan('test span');
       await context.with(trace.setSpan(context.active(), span), async () => {
         const client = await pool.connect();
-        runCallbackTest(span, pgPoolattributes, events, unsetStatus, 2, 1);
+        runCallbackTest(span, pgPoolAttributes, events, unsetStatus, 2, 1);
 
         const [connectSpan, poolConnectSpan] =
           memoryExporter.getFinishedSpans();
@@ -212,7 +213,7 @@ describe('pg-pool', () => {
 
     // callback - checkout a client
     it('should not return a promise if callback is provided', done => {
-      const pgPoolattributes = {
+      const pgPoolAttributes = {
         ...DEFAULT_PGPOOL_ATTRIBUTES,
       };
       const pgAttributes = {
@@ -237,7 +238,7 @@ describe('pg-pool', () => {
           assert.ok(client);
           runCallbackTest(
             parentSpan,
-            pgPoolattributes,
+            pgPoolAttributes,
             events,
             unsetStatus,
             1,
@@ -285,7 +286,7 @@ describe('pg-pool', () => {
   describe('#pool.query()', () => {
     // promise
     it('should call patched client.query()', async () => {
-      const pgPoolattributes = {
+      const pgPoolAttributes = {
         ...DEFAULT_PGPOOL_ATTRIBUTES,
       };
       const pgAttributes = {
@@ -296,7 +297,7 @@ describe('pg-pool', () => {
       const span = provider.getTracer('test-pg-pool').startSpan('test span');
       await context.with(trace.setSpan(context.active(), span), async () => {
         const result = await pool.query('SELECT NOW()');
-        runCallbackTest(span, pgPoolattributes, events, unsetStatus, 2, 0);
+        runCallbackTest(span, pgPoolAttributes, events, unsetStatus, 2, 0);
         runCallbackTest(span, pgAttributes, events, unsetStatus, 2, 1);
         assert.ok(result, 'pool.query() returns a promise');
       });
@@ -304,7 +305,7 @@ describe('pg-pool', () => {
 
     // callback
     it('should not return a promise if callback is provided', done => {
-      const pgPoolattributes = {
+      const pgPoolAttributes = {
         ...DEFAULT_PGPOOL_ATTRIBUTES,
       };
       const pgAttributes = {
@@ -322,7 +323,7 @@ describe('pg-pool', () => {
           }
           runCallbackTest(
             parentSpan,
-            pgPoolattributes,
+            pgPoolAttributes,
             events,
             unsetStatus,
             2,
@@ -341,7 +342,7 @@ describe('pg-pool', () => {
       const events: TimedEvent[] = [];
 
       describe('AND valid responseHook', () => {
-        const pgPoolattributes = {
+        const pgPoolAttributes = {
           ...DEFAULT_PGPOOL_ATTRIBUTES,
         };
         const pgAttributes = {
@@ -375,7 +376,7 @@ describe('pg-pool', () => {
               }
               runCallbackTest(
                 parentSpan,
-                pgPoolattributes,
+                pgPoolAttributes,
                 events,
                 unsetStatus,
                 2,
@@ -409,7 +410,7 @@ describe('pg-pool', () => {
               const result = await pool.query(query);
               runCallbackTest(
                 span,
-                pgPoolattributes,
+                pgPoolAttributes,
                 events,
                 unsetStatus,
                 2,
@@ -423,7 +424,7 @@ describe('pg-pool', () => {
       });
 
       describe('AND invalid responseHook', () => {
-        const pgPoolattributes = {
+        const pgPoolAttributes = {
           ...DEFAULT_PGPOOL_ATTRIBUTES,
         };
         const pgAttributes = {
@@ -456,7 +457,7 @@ describe('pg-pool', () => {
 
               runCallbackTest(
                 parentSpan,
-                pgPoolattributes,
+                pgPoolAttributes,
                 events,
                 unsetStatus,
                 2,
@@ -482,4 +483,88 @@ describe('pg-pool', () => {
       });
     });
   });
+
+  describe('pg metrics', () => {
+    let metricReader: testUtils.TestMetricReader;
+
+    beforeEach(() => {
+      metricReader = testUtils.initMeterProvider(instrumentation);
+    });
+
+    it('should generate `db.client.connection.count` and `db.client.connection.pending_requests` metrics', async () => {
+      pool.connect((err, client, release) => {
+        if (err) {
+          throw new Error(err.message);
+        }
+        if (!release) {
+          throw new Error('Did not receive release function');
+        }
+        if (!client) {
+          throw new Error('No client received');
+        }
+        assert.ok(client);
+
+        client.query('SELECT NOW()', async (err, ret) => {
+          release();
+          if (err) {
+            throw new Error(err.message);
+          }
+          assert.ok(ret);
+
+          const { resourceMetrics, errors } = await metricReader.collect();
+          assert.deepEqual(
+            errors,
+            [],
+            'expected no errors from the callback during metric collection'
+          );
+
+          const metrics = resourceMetrics.scopeMetrics[0].metrics;
+          assert.strictEqual(
+            metrics[0].descriptor.name,
+            'db.client.connection.count'
+          );
+          assert.strictEqual(
+            metrics[0].descriptor.description,
+            'The number of connections that are currently in state described by the state attribute.'
+          );
+          assert.strictEqual(
+            metrics[0].dataPoints[0].attributes[
+              ATTR_DB_CLIENT_CONNECTION_STATE
+            ],
+            'used'
+          );
+          assert.strictEqual(
+            metrics[0].dataPoints[0].value,
+            1,
+            'expected to have 1 used connection'
+          );
+          assert.strictEqual(
+            metrics[0].dataPoints[1].attributes[
+              ATTR_DB_CLIENT_CONNECTION_STATE
+            ],
+            'idle'
+          );
+          assert.strictEqual(
+            metrics[0].dataPoints[1].value,
+            0,
+            'expected to have 0 idle connections'
+          );
+
+          assert.strictEqual(
+            metrics[1].descriptor.name,
+            'db.client.connection.pending_requests'
+          );
+          assert.strictEqual(
+            metrics[1].descriptor.description,
+            'The number of current pending requests for an open connection.'
+          );
+          assert.strictEqual(
+            metrics[1].dataPoints[0].value,
+            0,
+            'expected to have 0 pending requests'
+          );
+        });
+      });
+    });
+  });
 });
diff --git a/plugins/node/opentelemetry-instrumentation-pg/test/utils.test.ts b/plugins/node/opentelemetry-instrumentation-pg/test/utils.test.ts
index 41ab6e5621..a76bb61988 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/test/utils.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-pg/test/utils.test.ts
@@ -26,7 +26,7 @@ import * as assert from 'assert';
 import * as pg from 'pg';
 import { PgInstrumentationConfig } from '../src';
 import { AttributeNames } from '../src/enums/AttributeNames';
-import { PgClientExtended } from '../src/internal-types';
+import { PgClientExtended, PgPoolOptionsParams } from '../src/internal-types';
 import * as utils from '../src/utils';
 import { SEMATTRS_NET_PEER_PORT } from '@opentelemetry/semantic-conventions';
 
@@ -238,4 +238,22 @@ describe('utils.ts', () => {
       );
     });
   });
+
+  describe('.getPoolName()', () => {
+    it('creation of pool name based on pool config', () => {
+      const dummyPool: PgPoolOptionsParams = {
+        host: 'host_name',
+        port: 1234,
+        user: 'username',
+        database: 'database_name',
+        idleTimeoutMillis: 10,
+        maxClient: 5,
+      };
+
+      assert.strictEqual(
+        utils.getPoolName(dummyPool),
+        'host_name:1234/database_name'
+      );
+    });
+  });
 });

From 3ee6f09aa8fa026dbe137ab2fb33f204064b1018 Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Thu, 12 Sep 2024 14:32:37 +0200
Subject: [PATCH 109/123] fix(detector-gcp): suppress internal tracing (#2424)

---
 .../package.json                              |  2 +-
 .../src/detectors/GcpDetector.ts              | 10 ++-
 .../detectors/GcpDetectorIntegration.test.ts  | 77 +++++++++++++++++++
 3 files changed, 85 insertions(+), 4 deletions(-)
 create mode 100644 detectors/node/opentelemetry-resource-detector-gcp/test/detectors/GcpDetectorIntegration.test.ts

diff --git a/detectors/node/opentelemetry-resource-detector-gcp/package.json b/detectors/node/opentelemetry-resource-detector-gcp/package.json
index e2e2a76f73..79bc5a7748 100644
--- a/detectors/node/opentelemetry-resource-detector-gcp/package.json
+++ b/detectors/node/opentelemetry-resource-detector-gcp/package.json
@@ -55,7 +55,7 @@
   },
   "dependencies": {
     "@opentelemetry/core": "^1.0.0",
-    "@opentelemetry/resources": "^1.0.0",
+    "@opentelemetry/resources": "^1.10.0",
     "@opentelemetry/semantic-conventions": "^1.27.0",
     "gcp-metadata": "^6.0.0"
   },
diff --git a/detectors/node/opentelemetry-resource-detector-gcp/src/detectors/GcpDetector.ts b/detectors/node/opentelemetry-resource-detector-gcp/src/detectors/GcpDetector.ts
index f31e5b4c52..8c4cccc8d9 100644
--- a/detectors/node/opentelemetry-resource-detector-gcp/src/detectors/GcpDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-gcp/src/detectors/GcpDetector.ts
@@ -15,7 +15,8 @@
  */
 
 import * as gcpMetadata from 'gcp-metadata';
-import { diag } from '@opentelemetry/api';
+import { context, diag } from '@opentelemetry/api';
+import { suppressTracing } from '@opentelemetry/core';
 import {
   DetectorSync,
   ResourceDetectionConfig,
@@ -44,7 +45,10 @@ import {
  */
 class GcpDetector implements DetectorSync {
   detect(_config?: ResourceDetectionConfig): IResource {
-    return new Resource({}, this._getAttribures());
+    const attributes = context.with(suppressTracing(context.active()), () =>
+      this._getAttributes()
+    );
+    return new Resource({}, attributes);
   }
 
   /**
@@ -53,7 +57,7 @@ class GcpDetector implements DetectorSync {
    * object with instance metadata. Returns a promise containing an
    * empty {@link ResourceAttributes} if the connection or parsing of the metadata fails.
    */
-  private async _getAttribures(): Promise<ResourceAttributes> {
+  private async _getAttributes(): Promise<ResourceAttributes> {
     if (!(await gcpMetadata.isAvailable())) {
       diag.debug('GcpDetector failed: GCP Metadata unavailable.');
       return {};
diff --git a/detectors/node/opentelemetry-resource-detector-gcp/test/detectors/GcpDetectorIntegration.test.ts b/detectors/node/opentelemetry-resource-detector-gcp/test/detectors/GcpDetectorIntegration.test.ts
new file mode 100644
index 0000000000..77bf0334d7
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-gcp/test/detectors/GcpDetectorIntegration.test.ts
@@ -0,0 +1,77 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// NOTE: in other test the modules have already been required and cached (`GcpDetector.test.ts`)
+// so SDK cannot instrument them. We make sure we load fresh copies so RITM hook does its work.
+// we remove all the require chain: detector -> gcp-metadata -> gaxios -> node-fetch
+// but kepp other cache entries to not slow down the test more than necessary
+const modules = [
+  'opentelemetry-resource-detector-gcp',
+  'gcp-metadata',
+  'gaxios',
+  'node-fetch',
+];
+Object.keys(require.cache)
+  .filter(path => modules.some(m => path.includes(m)))
+  .forEach(key => {
+    delete require.cache[key];
+  });
+
+import * as assert from 'assert';
+
+import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
+import {
+  InMemorySpanExporter,
+  SimpleSpanProcessor,
+} from '@opentelemetry/sdk-trace-base';
+import { NodeSDK } from '@opentelemetry/sdk-node';
+import { IResource } from '@opentelemetry/resources';
+
+describe('[Integration] GcpDetector', () => {
+  it('should not start spans for detector requests', async () => {
+    const memoryExporter = new InMemorySpanExporter();
+    const sdk = new NodeSDK({
+      instrumentations: [new HttpInstrumentation()],
+      spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
+    });
+
+    sdk.start();
+
+    process.env.METADATA_SERVER_DETECTION = 'assume-present';
+
+    // NOTE: detectors implementing the `DetectorSync` interface and starting
+    // HTTP requests within the `detect` method will produce Noop Spans since
+    // the SDK resolves the trace provider after resource detectors are triggered.
+    // Ref: https://github.com/open-telemetry/opentelemetry-js/blob/38f6689480d28dcbdafcb7b5ba4b14025328ffda/experimental/packages/opentelemetry-sdk-node/src/sdk.ts#L210-L240
+    //
+    // So having the detector in the config would result in no spans for Azure requests
+    // being exported which is what we want. Although we may think we're safe of sending
+    // internal tracing any change that delays these request will result in internal
+    // tracing being exported. We do the detection outside the SDK constructor to have such
+    // scenario.
+    const { gcpDetector } = require('../../build/src/detectors/GcpDetector');
+    const resource = gcpDetector.detect() as IResource;
+    await resource.waitForAsyncAttributes?.();
+
+    // Wait for the next loop to let the span close properly
+    await new Promise(r => setTimeout(r, 0));
+    const spans = memoryExporter.getFinishedSpans();
+
+    assert.equal(spans.length, 0, 'no spans exported for GcpDetector');
+
+    await sdk.shutdown();
+  }).timeout(15000);
+});

From 9a7690e92e571fcbf541eb76b6a5c4fde546b6e6 Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Thu, 12 Sep 2024 17:20:15 +0200
Subject: [PATCH 110/123] fix(detector-alibaba): suppres internal tracing
 (#2429)

---
 .../package.json                              |  2 +-
 .../src/detectors/AlibabaCloudEcsDetector.ts  |  7 ++-
 ...AlibabaCloudEcsDetectorIntegration.test.ts | 61 +++++++++++++++++++
 3 files changed, 68 insertions(+), 2 deletions(-)
 create mode 100644 detectors/node/opentelemetry-resource-detector-alibaba-cloud/test/detectors/AlibabaCloudEcsDetectorIntegration.test.ts

diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
index abbd650695..7501a49ec7 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/package.json
@@ -56,7 +56,7 @@
     "@opentelemetry/api": "^1.0.0"
   },
   "dependencies": {
-    "@opentelemetry/resources": "^1.0.0",
+    "@opentelemetry/resources": "^1.10.0",
     "@opentelemetry/semantic-conventions": "^1.27.0"
   },
   "homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/detectors/node/opentelemetry-resource-detector-alibaba-cloud#readme"
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/detectors/AlibabaCloudEcsDetector.ts b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/detectors/AlibabaCloudEcsDetector.ts
index bfcf29e3a2..10420186a8 100644
--- a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/detectors/AlibabaCloudEcsDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/src/detectors/AlibabaCloudEcsDetector.ts
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+import { context } from '@opentelemetry/api';
+import { suppressTracing } from '@opentelemetry/core';
 import {
   DetectorSync,
   IResource,
@@ -61,7 +63,10 @@ class AlibabaCloudEcsDetector implements DetectorSync {
    * @param config (unused) The resource detection config
    */
   detect(_config?: ResourceDetectionConfig): IResource {
-    return new Resource({}, this._getAttributes());
+    const attributes = context.with(suppressTracing(context.active()), () =>
+      this._getAttributes()
+    );
+    return new Resource({}, attributes);
   }
 
   /** Gets identity and host info and returns them as attribs. Empty object if fails */
diff --git a/detectors/node/opentelemetry-resource-detector-alibaba-cloud/test/detectors/AlibabaCloudEcsDetectorIntegration.test.ts b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/test/detectors/AlibabaCloudEcsDetectorIntegration.test.ts
new file mode 100644
index 0000000000..d523dc1533
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-alibaba-cloud/test/detectors/AlibabaCloudEcsDetectorIntegration.test.ts
@@ -0,0 +1,61 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as assert from 'assert';
+
+import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
+import {
+  InMemorySpanExporter,
+  SimpleSpanProcessor,
+} from '@opentelemetry/sdk-trace-base';
+import { NodeSDK } from '@opentelemetry/sdk-node';
+import { IResource } from '@opentelemetry/resources';
+
+describe('[Integration] AlibabaCloudEcsDetector', () => {
+  it('should not start spans for detector requests', async () => {
+    const memoryExporter = new InMemorySpanExporter();
+    const sdk = new NodeSDK({
+      instrumentations: [new HttpInstrumentation()],
+      spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
+    });
+
+    sdk.start();
+
+    // NOTE: detectors implementing the `DetectorSync` interface and starting
+    // HTTP requests within the `detect` method will produce Noop Spans since
+    // the SDK resolves the trace provider after resource detectors are triggered.
+    // Ref: https://github.com/open-telemetry/opentelemetry-js/blob/38f6689480d28dcbdafcb7b5ba4b14025328ffda/experimental/packages/opentelemetry-sdk-node/src/sdk.ts#L210-L240
+    //
+    // So having the detector in the config would result in no spans for Alibaba requests
+    // being exported which is what we want. Although we may think we're safe of sending
+    // internal tracing any change that delays these request will result in internal
+    // tracing being exported. We do the detection outside the SDK constructor to have such
+    // scenario.
+    const {
+      alibabaCloudEcsDetector,
+    } = require('../../build/src/detectors/AlibabaCloudEcsDetector');
+    const resource = alibabaCloudEcsDetector.detect() as IResource;
+    await resource.waitForAsyncAttributes?.();
+
+    // Wait for the next loop to let the span close properly
+    await new Promise(r => setTimeout(r, 0));
+    const spans = memoryExporter.getFinishedSpans();
+
+    assert.equal(spans.length, 0, 'no spans exported for GcpDetector');
+
+    await sdk.shutdown();
+  });
+});

From cb89486f7ade51769acdc78f10d978e711b1ab3e Mon Sep 17 00:00:00 2001
From: Brian Phillips <28457+brianphillips@users.noreply.github.com>
Date: Thu, 12 Sep 2024 13:49:29 -0500
Subject: [PATCH 111/123] fix(host-metrics): widen MeterProvider type
 restriction in BaseMetrics class (#2428)

---
 packages/opentelemetry-host-metrics/src/BaseMetrics.ts | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/packages/opentelemetry-host-metrics/src/BaseMetrics.ts b/packages/opentelemetry-host-metrics/src/BaseMetrics.ts
index 6d3b9ab2c5..389a695544 100644
--- a/packages/opentelemetry-host-metrics/src/BaseMetrics.ts
+++ b/packages/opentelemetry-host-metrics/src/BaseMetrics.ts
@@ -14,8 +14,7 @@
  * limitations under the License.
  */
 
-import { Meter, diag, metrics } from '@opentelemetry/api';
-import { MeterProvider } from '@opentelemetry/sdk-metrics';
+import { Meter, MeterProvider, diag, metrics } from '@opentelemetry/api';
 
 import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 

From 80c2f1af6139e43522a944ab496fed68ef912fb2 Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Fri, 13 Sep 2024 10:28:10 +0200
Subject: [PATCH 112/123] fix(detector-container): suppress internal tracing
 (#2430)

---
 .../src/detectors/ContainerDetector.ts        |  8 ++-
 .../test/ContainerDetectorIntegration.test.ts | 71 +++++++++++++++++++
 2 files changed, 77 insertions(+), 2 deletions(-)
 create mode 100644 detectors/node/opentelemetry-resource-detector-container/test/ContainerDetectorIntegration.test.ts

diff --git a/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts b/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
index 3f0c346124..6350b25485 100644
--- a/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
+++ b/detectors/node/opentelemetry-resource-detector-container/src/detectors/ContainerDetector.ts
@@ -25,7 +25,8 @@ import { SEMRESATTRS_CONTAINER_ID } from '@opentelemetry/semantic-conventions';
 
 import * as fs from 'fs';
 import * as util from 'util';
-import { diag } from '@opentelemetry/api';
+import { context, diag } from '@opentelemetry/api';
+import { suppressTracing } from '@opentelemetry/core';
 import { extractContainerIdFromLine } from './utils';
 
 export class ContainerDetector implements DetectorSync {
@@ -43,7 +44,10 @@ export class ContainerDetector implements DetectorSync {
   private static readFileAsync = util.promisify(fs.readFile);
 
   detect(_config?: ResourceDetectionConfig): IResource {
-    return new Resource({}, this._getAttributes());
+    const attributes = context.with(suppressTracing(context.active()), () =>
+      this._getAttributes()
+    );
+    return new Resource({}, attributes);
   }
 
   /**
diff --git a/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetectorIntegration.test.ts b/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetectorIntegration.test.ts
new file mode 100644
index 0000000000..0927e03dfc
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-container/test/ContainerDetectorIntegration.test.ts
@@ -0,0 +1,71 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as assert from 'assert';
+
+import { FsInstrumentation } from '@opentelemetry/instrumentation-fs';
+import {
+  InMemorySpanExporter,
+  SimpleSpanProcessor,
+} from '@opentelemetry/sdk-trace-base';
+import { NodeSDK } from '@opentelemetry/sdk-node';
+import { IResource } from '@opentelemetry/resources';
+
+describe('[Integration] ContainerDetector', () => {
+  it('should not start spans for detector reads to filesystem', async () => {
+    const memoryExporter = new InMemorySpanExporter();
+    const sdk = new NodeSDK({
+      instrumentations: [new FsInstrumentation()],
+      spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
+    });
+
+    sdk.start();
+
+    // NOTE: detectors implementing the `DetectorSync` interface and starting
+    // HTTP requests within the `detect` method will produce Noop Spans since
+    // the SDK resolves the trace provider after resource detectors are triggered.
+    // Ref: https://github.com/open-telemetry/opentelemetry-js/blob/38f6689480d28dcbdafcb7b5ba4b14025328ffda/experimental/packages/opentelemetry-sdk-node/src/sdk.ts#L210-L240
+    //
+    // So having the detector in the config would result in no spans for Azure requests
+    // being exported which is what we want. Although we may think we're safe of sending
+    // internal tracing any change that delays these request will result in internal
+    // tracing being exported. We do the detection outside the SDK constructor to have such
+    // scenario.
+    const {
+      containerDetector,
+    } = require('../build/src/detectors/ContainerDetector');
+
+    // NOTE: the require process makes use of the fs API so spans are being exported.
+    // We need to check no new spans are exported when `detect` is called.
+    await new Promise(r => setTimeout(r, 0));
+    const numSpansAfterRequire = memoryExporter.getFinishedSpans().length;
+
+    const resource = containerDetector.detect() as IResource;
+    await resource.waitForAsyncAttributes?.();
+
+    // Wait for the next loop to let the span close properly
+    await new Promise(r => setTimeout(r, 0));
+    const spans = memoryExporter.getFinishedSpans();
+
+    assert.equal(
+      spans.length,
+      numSpansAfterRequire,
+      'no spans exported for ContainerDetector'
+    );
+
+    await sdk.shutdown();
+  });
+});

From aa9710f73697f684f01140a3bdad495b705618b6 Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Tue, 17 Sep 2024 12:43:36 +0200
Subject: [PATCH 113/123] fix(detector-aws): suppress internal tracing for all
 detectors (#2433)

---
 .../src/detectors/AwsBeanstalkDetectorSync.ts |  9 +-
 .../src/detectors/AwsEc2DetectorSync.ts       |  7 +-
 .../src/detectors/AwsEcsDetectorSync.ts       |  8 +-
 .../src/detectors/AwsEksDetectorSync.ts       |  7 +-
 .../test/detectors/AwsSuppressTracing.test.ts | 90 +++++++++++++++++++
 5 files changed, 115 insertions(+), 6 deletions(-)
 create mode 100644 detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsSuppressTracing.test.ts

diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsBeanstalkDetectorSync.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsBeanstalkDetectorSync.ts
index 0feae00db4..9f938f91a8 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsBeanstalkDetectorSync.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsBeanstalkDetectorSync.ts
@@ -14,7 +14,9 @@
  * limitations under the License.
  */
 
-import { diag } from '@opentelemetry/api';
+import { context, diag } from '@opentelemetry/api';
+import { suppressTracing } from '@opentelemetry/core';
+
 import {
   DetectorSync,
   IResource,
@@ -63,7 +65,10 @@ export class AwsBeanstalkDetectorSync implements DetectorSync {
   }
 
   detect(config?: ResourceDetectionConfig): IResource {
-    return new Resource({}, this._getAttributes());
+    const attributes = context.with(suppressTracing(context.active()), () =>
+      this._getAttributes()
+    );
+    return new Resource({}, attributes);
   }
 
   /**
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2DetectorSync.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2DetectorSync.ts
index b553a7ecf8..a0ef6b47b1 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2DetectorSync.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEc2DetectorSync.ts
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+import { context } from '@opentelemetry/api';
+import { suppressTracing } from '@opentelemetry/core';
 import {
   DetectorSync,
   IResource,
@@ -56,7 +58,10 @@ class AwsEc2DetectorSync implements DetectorSync {
   readonly MILLISECOND_TIME_OUT = 5000;
 
   detect(_config?: ResourceDetectionConfig): IResource {
-    return new Resource({}, this._getAttributes());
+    const attributes = context.with(suppressTracing(context.active()), () =>
+      this._getAttributes()
+    );
+    return new Resource({}, attributes);
   }
 
   /**
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetectorSync.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetectorSync.ts
index d45aa30c92..56977c2c01 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetectorSync.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEcsDetectorSync.ts
@@ -14,7 +14,8 @@
  * limitations under the License.
  */
 
-import { diag } from '@opentelemetry/api';
+import { context, diag } from '@opentelemetry/api';
+import { suppressTracing } from '@opentelemetry/core';
 import {
   DetectorSync,
   IResource,
@@ -70,7 +71,10 @@ export class AwsEcsDetectorSync implements DetectorSync {
   private static readFileAsync = util.promisify(fs.readFile);
 
   detect(): IResource {
-    return new Resource({}, this._getAttributes());
+    const attributes = context.with(suppressTracing(context.active()), () =>
+      this._getAttributes()
+    );
+    return new Resource({}, attributes);
   }
 
   private async _getAttributes(): Promise<ResourceAttributes> {
diff --git a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetectorSync.ts b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetectorSync.ts
index d9f326d041..051d3af5e8 100644
--- a/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetectorSync.ts
+++ b/detectors/node/opentelemetry-resource-detector-aws/src/detectors/AwsEksDetectorSync.ts
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+import { context } from '@opentelemetry/api';
+import { suppressTracing } from '@opentelemetry/core';
 import {
   DetectorSync,
   IResource,
@@ -62,7 +64,10 @@ export class AwsEksDetectorSync implements DetectorSync {
   private static fileAccessAsync = util.promisify(fs.access);
 
   detect(_config?: ResourceDetectionConfig): IResource {
-    return new Resource({}, this._getAttributes());
+    const attributes = context.with(suppressTracing(context.active()), () =>
+      this._getAttributes()
+    );
+    return new Resource({}, attributes);
   }
 
   /**
diff --git a/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsSuppressTracing.test.ts b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsSuppressTracing.test.ts
new file mode 100644
index 0000000000..96c8e841ed
--- /dev/null
+++ b/detectors/node/opentelemetry-resource-detector-aws/test/detectors/AwsSuppressTracing.test.ts
@@ -0,0 +1,90 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as assert from 'assert';
+
+import { FsInstrumentation } from '@opentelemetry/instrumentation-fs';
+import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
+import {
+  InMemorySpanExporter,
+  SimpleSpanProcessor,
+} from '@opentelemetry/sdk-trace-base';
+import { NodeSDK } from '@opentelemetry/sdk-node';
+import { DetectorSync } from '@opentelemetry/resources';
+
+describe('[Integration] Internal tracing', () => {
+  it('should not start spans for any network or fs operation in any detector', async () => {
+    // For ECS detector we setup a mock URL to fetch metadata
+    process.env.ECS_CONTAINER_METADATA_URI_V4 =
+      'http://169.254.169.254/metadata';
+
+    const memoryExporter = new InMemorySpanExporter();
+    const sdk = new NodeSDK({
+      instrumentations: [new FsInstrumentation(), new HttpInstrumentation()],
+      spanProcessors: [new SimpleSpanProcessor(memoryExporter)],
+    });
+    sdk.start();
+
+    // NOTE: detectors implementing the `DetectorSync` interface and starting
+    // HTTP requests within the `detect` method will produce Noop Spans since
+    // the SDK resolves the trace provider after resource detectors are triggered.
+    // Ref: https://github.com/open-telemetry/opentelemetry-js/blob/38f6689480d28dcbdafcb7b5ba4b14025328ffda/experimental/packages/opentelemetry-sdk-node/src/sdk.ts#L210-L240
+    //
+    // So having the detector in the config would result in no spans for Azure requests
+    // being exported which is what we want. Although we may think we're safe of sending
+    // internal tracing any change that delays these request will result in internal
+    // tracing being exported. We do the detection outside the SDK constructor to have such
+    // scenario.
+    const {
+      awsBeanstalkDetectorSync,
+      awsEc2DetectorSync,
+      awsEcsDetectorSync,
+      awsEksDetectorSync,
+      awsLambdaDetectorSync,
+    } = require('../../build/src');
+
+    // NOTE: the require process makes use of the fs API so spans are being exported.
+    // We reset the exporter to have a clean state for assertions
+    await new Promise(r => setTimeout(r, 0));
+    memoryExporter.reset();
+
+    const detectors = [
+      awsBeanstalkDetectorSync,
+      awsEc2DetectorSync,
+      awsEcsDetectorSync,
+      awsEksDetectorSync,
+      awsLambdaDetectorSync,
+    ] as DetectorSync[];
+
+    for (const d of detectors) {
+      const r = d.detect();
+      await r.waitForAsyncAttributes?.();
+    }
+
+    // Wait for the next loop to let the span close properly
+    await new Promise(r => setTimeout(r, 0));
+    const spans = memoryExporter.getFinishedSpans();
+
+    assert.equal(
+      spans.length,
+      0,
+      'no spans exported from any AWS resource detector'
+    );
+
+    await sdk.shutdown();
+    delete process.env.ECS_CONTAINER_METADATA_URI_V4;
+  }).timeout(10000);
+});

From ee5c584c943eb8a3de0566843a42784f16c0f31f Mon Sep 17 00:00:00 2001
From: Onur Temizkan <onur@narval.co.uk>
Date: Wed, 18 Sep 2024 01:10:28 +0300
Subject: [PATCH 114/123] feat(instrumentation-express): Use router path in
 router span names (#2319)

This PR adds a new utility (getRouterPath) to recursively search the (possibly nested) parameterised router path when getting the layer metadata. This only affects the span name, not the http.route attribute of the span. http.route is still showing the mount path. (Active discussion on this: Express instrumentation does not properly handle router usage #1993 (comment))

Uses route primarily to assign the requestHandler span name instead of layerPath. layerPath does not represent the full path, only the path of the last matching router when nested routers are used.

Co-authored-by: Abhijeet Prasad <devabhiprasad@gmail.com>
Co-authored-by: Jamie Danielson <jamiedanielson@honeycomb.io>
Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>
---
 .../src/instrumentation.ts                    |  2 +-
 .../src/internal-types.ts                     |  1 +
 .../src/utils.ts                              | 44 ++++++++--
 .../test/express.test.ts                      | 80 ++++++++++++++++++
 .../fixtures/use-express-nested-router.mjs    | 81 +++++++++++++++++++
 .../test/fixtures/use-express-router.mjs      | 72 +++++++++++++++++
 .../test/utils.test.ts                        | 49 ++++++++++-
 7 files changed, 320 insertions(+), 9 deletions(-)
 create mode 100644 plugins/node/opentelemetry-instrumentation-express/test/fixtures/use-express-nested-router.mjs
 create mode 100644 plugins/node/opentelemetry-instrumentation-express/test/fixtures/use-express-router.mjs

diff --git a/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
index bcff7a52e2..155b63f494 100644
--- a/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/src/instrumentation.ts
@@ -180,7 +180,7 @@ export class ExpressInstrumentation extends InstrumentationBase<ExpressInstrumen
         const attributes: Attributes = {
           [SEMATTRS_HTTP_ROUTE]: route.length > 0 ? route : '/',
         };
-        const metadata = getLayerMetadata(layer, layerPath);
+        const metadata = getLayerMetadata(route, layer, layerPath);
         const type = metadata.attributes[
           AttributeNames.EXPRESS_TYPE
         ] as ExpressLayerType;
diff --git a/plugins/node/opentelemetry-instrumentation-express/src/internal-types.ts b/plugins/node/opentelemetry-instrumentation-express/src/internal-types.ts
index a661bf9de4..ebdc260bc3 100644
--- a/plugins/node/opentelemetry-instrumentation-express/src/internal-types.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/src/internal-types.ts
@@ -64,6 +64,7 @@ export type ExpressLayer = {
   params: { [key: string]: string };
   path: string;
   regexp: RegExp;
+  route?: ExpressLayer;
 };
 
 export type LayerMetadata = {
diff --git a/plugins/node/opentelemetry-instrumentation-express/src/utils.ts b/plugins/node/opentelemetry-instrumentation-express/src/utils.ts
index fa7b0ee9a0..fdc8f3728c 100644
--- a/plugins/node/opentelemetry-instrumentation-express/src/utils.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/src/utils.ts
@@ -44,12 +44,34 @@ export const storeLayerPath = (request: PatchedRequest, value?: string) => {
   (request[_LAYERS_STORE_PROPERTY] as string[]).push(value);
 };
 
+/**
+ * Recursively search the router path from layer stack
+ * @param path The path to reconstruct
+ * @param layer The layer to reconstruct from
+ * @returns The reconstructed path
+ */
+export const getRouterPath = (path: string, layer: ExpressLayer): string => {
+  const stackLayer = layer.handle?.stack?.[0];
+
+  if (stackLayer?.route?.path) {
+    return `${path}${stackLayer.route.path}`;
+  }
+
+  if (stackLayer?.handle?.stack) {
+    return getRouterPath(path, stackLayer);
+  }
+
+  return path;
+};
+
 /**
  * Parse express layer context to retrieve a name and attributes.
+ * @param route The route of the layer
  * @param layer Express layer
  * @param [layerPath] if present, the path on which the layer has been mounted
  */
 export const getLayerMetadata = (
+  route: string,
   layer: ExpressLayer,
   layerPath?: string
 ): {
@@ -57,20 +79,26 @@ export const getLayerMetadata = (
   name: string;
 } => {
   if (layer.name === 'router') {
+    const maybeRouterPath = getRouterPath('', layer);
+    const extractedRouterPath = maybeRouterPath
+      ? maybeRouterPath
+      : layerPath || route || '/';
+
     return {
       attributes: {
-        [AttributeNames.EXPRESS_NAME]: layerPath,
+        [AttributeNames.EXPRESS_NAME]: extractedRouterPath,
         [AttributeNames.EXPRESS_TYPE]: ExpressLayerType.ROUTER,
       },
-      name: `router - ${layerPath}`,
+      name: `router - ${extractedRouterPath}`,
     };
   } else if (layer.name === 'bound dispatch') {
     return {
       attributes: {
-        [AttributeNames.EXPRESS_NAME]: layerPath ?? 'request handler',
+        [AttributeNames.EXPRESS_NAME]:
+          (route || layerPath) ?? 'request handler',
         [AttributeNames.EXPRESS_TYPE]: ExpressLayerType.REQUEST_HANDLER,
       },
-      name: `request handler${layer.path ? ` - ${layerPath}` : ''}`,
+      name: `request handler${layer.path ? ` - ${route || layerPath}` : ''}`,
     };
   } else {
     return {
@@ -159,11 +187,13 @@ export const asErrorAndMessage = (
 export const getLayerPath = (
   args: [LayerPathSegment | LayerPathSegment[], ...unknown[]]
 ): string | undefined => {
-  if (Array.isArray(args[0])) {
-    return args[0].map(arg => extractLayerPathSegment(arg) || '').join(',');
+  const firstArg = args[0];
+
+  if (Array.isArray(firstArg)) {
+    return firstArg.map(arg => extractLayerPathSegment(arg) || '').join(',');
   }
 
-  return extractLayerPathSegment(args[0]);
+  return extractLayerPathSegment(firstArg);
 };
 
 const extractLayerPathSegment = (arg: LayerPathSegment) => {
diff --git a/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts b/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
index 7f52e90e35..5991688ffd 100644
--- a/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/test/express.test.ts
@@ -641,6 +641,86 @@ describe('ExpressInstrumentation', () => {
     });
   });
 
+  it('should work with Express routers', async () => {
+    await testUtils.runTestFixture({
+      cwd: __dirname,
+      argv: ['fixtures/use-express-router.mjs'],
+      env: {
+        NODE_OPTIONS:
+          '--experimental-loader=@opentelemetry/instrumentation/hook.mjs',
+        NODE_NO_WARNINGS: '1',
+      },
+      checkResult: (err, stdout, stderr) => {
+        assert.ifError(err);
+      },
+      checkCollector: (collector: testUtils.TestCollector) => {
+        const spans = collector.sortedSpans;
+
+        assert.strictEqual(spans[0].name, 'GET');
+        assert.strictEqual(spans[0].kind, testUtils.OtlpSpanKind.CLIENT);
+        assert.strictEqual(spans[1].name, 'GET /api/user/:id');
+        assert.strictEqual(spans[1].kind, testUtils.OtlpSpanKind.SERVER);
+        assert.strictEqual(spans[1].parentSpanId, spans[0].spanId);
+        assert.strictEqual(spans[2].name, 'middleware - query');
+        assert.strictEqual(spans[3].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[3].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[4].name, 'middleware - simpleMiddleware');
+        assert.strictEqual(spans[4].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[4].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[5].name, 'router - /api/user/:id');
+        assert.strictEqual(spans[5].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[5].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[6].name, 'request handler - /api/user/:id');
+        assert.strictEqual(spans[6].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[6].parentSpanId, spans[1].spanId);
+      },
+    });
+  });
+
+  it('should work with nested Express routers', async () => {
+    await testUtils.runTestFixture({
+      cwd: __dirname,
+      argv: ['fixtures/use-express-nested-router.mjs'],
+      env: {
+        NODE_OPTIONS:
+          '--experimental-loader=@opentelemetry/instrumentation/hook.mjs',
+        NODE_NO_WARNINGS: '1',
+      },
+      checkResult: (err, stdout, stderr) => {
+        assert.ifError(err);
+      },
+      checkCollector: (collector: testUtils.TestCollector) => {
+        const spans = collector.sortedSpans;
+
+        assert.strictEqual(spans[0].name, 'GET');
+        assert.strictEqual(spans[0].kind, testUtils.OtlpSpanKind.CLIENT);
+        assert.strictEqual(spans[1].name, 'GET /api/user/:id/posts/:postId');
+        assert.strictEqual(spans[1].kind, testUtils.OtlpSpanKind.SERVER);
+        assert.strictEqual(spans[2].name, 'middleware - query');
+        assert.strictEqual(spans[2].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[2].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[3].name, 'middleware - expressInit');
+        assert.strictEqual(spans[3].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[3].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[4].name, 'middleware - simpleMiddleware');
+        assert.strictEqual(spans[4].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[4].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[5].name, 'router - /api/user/:id');
+        assert.strictEqual(spans[5].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[5].parentSpanId, spans[1].spanId);
+        assert.strictEqual(spans[6].name, 'router - /:postId');
+        assert.strictEqual(spans[6].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[6].parentSpanId, spans[1].spanId);
+        assert.strictEqual(
+          spans[7].name,
+          'request handler - /api/user/:id/posts/:postId'
+        );
+        assert.strictEqual(spans[7].kind, testUtils.OtlpSpanKind.INTERNAL);
+        assert.strictEqual(spans[7].parentSpanId, spans[1].spanId);
+      },
+    });
+  });
+
   it('should set a correct transaction name for routes specified in RegEx', async () => {
     await testUtils.runTestFixture({
       cwd: __dirname,
diff --git a/plugins/node/opentelemetry-instrumentation-express/test/fixtures/use-express-nested-router.mjs b/plugins/node/opentelemetry-instrumentation-express/test/fixtures/use-express-nested-router.mjs
new file mode 100644
index 0000000000..98ba0bf236
--- /dev/null
+++ b/plugins/node/opentelemetry-instrumentation-express/test/fixtures/use-express-nested-router.mjs
@@ -0,0 +1,81 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { promisify } from 'util';
+import { createTestNodeSdk } from '@opentelemetry/contrib-test-utils';
+
+import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
+import { ExpressInstrumentation } from '../../build/src/index.js';
+
+const sdk = createTestNodeSdk({
+  serviceName: 'use-express-nested',
+  instrumentations: [
+    new HttpInstrumentation(),
+    new ExpressInstrumentation()
+  ]
+})
+
+sdk.start();
+
+import express from 'express';
+import * as http from 'http';
+
+const app = express();
+
+app.use(async function simpleMiddleware(req, res, next) {
+  // Wait a short delay to ensure this "middleware - ..." span clearly starts
+  // before the "router - ..." span. The test rely on a start-time-based sort
+  // of the produced spans. If they start in the same millisecond, then tests
+  // can be flaky.
+  await promisify(setTimeout)(10);
+  next();
+});
+
+const userRouter = express.Router();
+const postsRouter = express.Router();
+
+postsRouter.get('/:postId', (req, res, next) => {
+  res.json({ hello: 'yes' });
+  res.end();
+  next();
+});
+
+userRouter.get('/api/user/:id', (req, res, next) => {
+  res.json({ hello: 'yes' });
+  res.end();
+  next();
+});
+
+userRouter.use('/api/user/:id/posts', postsRouter);
+
+app.use(userRouter);
+
+const server = http.createServer(app);
+await new Promise(resolve => server.listen(0, resolve));
+const port = server.address().port;
+
+
+await new Promise(resolve => {
+  http.get(`http://localhost:${port}/api/user/123/posts/321`, (res) => {
+    res.resume();
+    res.on('end', data => {
+      resolve(data);
+    });
+  })
+});
+
+await new Promise(resolve => server.close(resolve));
+await sdk.shutdown();
diff --git a/plugins/node/opentelemetry-instrumentation-express/test/fixtures/use-express-router.mjs b/plugins/node/opentelemetry-instrumentation-express/test/fixtures/use-express-router.mjs
new file mode 100644
index 0000000000..5846da88ae
--- /dev/null
+++ b/plugins/node/opentelemetry-instrumentation-express/test/fixtures/use-express-router.mjs
@@ -0,0 +1,72 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { promisify } from 'util';
+import { createTestNodeSdk } from '@opentelemetry/contrib-test-utils';
+
+import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
+import { ExpressInstrumentation } from '../../build/src/index.js';
+
+const sdk = createTestNodeSdk({
+  serviceName: 'use-express-nested',
+  instrumentations: [
+    new HttpInstrumentation(),
+    new ExpressInstrumentation()
+  ]
+})
+
+sdk.start();
+
+import express from 'express';
+import * as http from 'http';
+
+const app = express();
+
+app.use(async function simpleMiddleware(req, res, next) {
+  // Wait a short delay to ensure this "middleware - ..." span clearly starts
+  // before the "router - ..." span. The test rely on a start-time-based sort
+  // of the produced spans. If they start in the same millisecond, then tests
+  // can be flaky.
+  await promisify(setTimeout)(10);
+  next();
+});
+
+const router = express.Router();
+
+router.get('/api/user/:id', (req, res, next) => {
+  res.json({ hello: 'yes' });
+  res.end();
+  next();
+});
+
+app.use(router);
+
+const server = http.createServer(app);
+await new Promise(resolve => server.listen(0, resolve));
+const port = server.address().port;
+
+
+await new Promise(resolve => {
+  http.get(`http://localhost:${port}/api/user/123`, (res) => {
+    res.resume();
+    res.on('end', data => {
+      resolve(data);
+    });
+  })
+});
+
+await new Promise(resolve => server.close(resolve));
+await sdk.shutdown();
diff --git a/plugins/node/opentelemetry-instrumentation-express/test/utils.test.ts b/plugins/node/opentelemetry-instrumentation-express/test/utils.test.ts
index 098bab4e8c..f8dac5035b 100644
--- a/plugins/node/opentelemetry-instrumentation-express/test/utils.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-express/test/utils.test.ts
@@ -94,6 +94,7 @@ describe('Utils', () => {
     it('should return router metadata', () => {
       assert.deepEqual(
         utils.getLayerMetadata(
+          '/test',
           {
             name: 'router',
           } as ExpressLayer,
@@ -112,6 +113,7 @@ describe('Utils', () => {
     it('should return request handler metadata', () => {
       assert.deepEqual(
         utils.getLayerMetadata(
+          '/:id',
           {
             name: 'bound dispatch',
           } as ExpressLayer,
@@ -129,7 +131,7 @@ describe('Utils', () => {
 
     it('should return middleware metadata', () => {
       assert.deepEqual(
-        utils.getLayerMetadata({
+        utils.getLayerMetadata('', {
           name: 'bodyParser',
         } as ExpressLayer),
         {
@@ -143,6 +145,51 @@ describe('Utils', () => {
     });
   });
 
+  describe('reconstructRouterPath()', () => {
+    it('should reconstruct a simple router path', () => {
+      const layer = {
+        handle: {
+          stack: [
+            {
+              route: {
+                path: '/test',
+              },
+            },
+          ],
+        },
+      };
+
+      assert.strictEqual(
+        utils.getRouterPath('', layer as unknown as ExpressLayer),
+        '/test'
+      );
+    });
+
+    it('should reconstruct a parameterized router path', () => {
+      const layer = {
+        handle: {
+          stack: [
+            {
+              handle: {
+                stack: [
+                  {
+                    route: {
+                      path: '/:id',
+                    },
+                  },
+                ],
+              },
+            },
+          ],
+        },
+      };
+
+      assert.strictEqual(
+        utils.getRouterPath('', layer as unknown as ExpressLayer),
+        '/:id'
+      );
+    });
+  });
   describe('asErrorAndMessage', () => {
     it('should special case Error instances', () => {
       const input = new Error('message');

From 5507c36c318e9cdd658fab6f3b9e89a51979909b Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Mon, 23 Sep 2024 19:35:06 +0200
Subject: [PATCH 115/123] ci: update mssql server image to 2022-latest and
 update healthcheck to work (#2446)

Co-authored-by: Trent Mick <trentm@gmail.com>
---
 .github/workflows/test-all-versions.yml             | 4 ++--
 .github/workflows/unit-test.yml                     | 4 ++--
 packages/opentelemetry-test-utils/src/test-utils.ts | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/test-all-versions.yml b/.github/workflows/test-all-versions.yml
index 3010d00341..86e8bf4dc2 100644
--- a/.github/workflows/test-all-versions.yml
+++ b/.github/workflows/test-all-versions.yml
@@ -26,14 +26,14 @@ jobs:
         ports:
         - 27017:27017
       mssql:
-        image: mcr.microsoft.com/mssql/server:2017-latest
+        image: mcr.microsoft.com/mssql/server:2022-latest
         env:
           SA_PASSWORD: mssql_passw0rd
           ACCEPT_EULA: Y
         ports:
         - 1433:1433
         options: >-
-          --health-cmd "/opt/mssql-tools/bin/sqlcmd -U sa -P $SA_PASSWORD -Q 'select 1' -b -o /dev/null"
+          --health-cmd "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -C -Q 'select 1' -b -o /dev/null"
           --health-interval 1s
           --health-timeout 30s
           --health-start-period 10s
diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml
index 49c3711c5c..2bfb469764 100644
--- a/.github/workflows/unit-test.yml
+++ b/.github/workflows/unit-test.yml
@@ -24,14 +24,14 @@ jobs:
         ports:
         - 27017:27017
       mssql:
-        image: mcr.microsoft.com/mssql/server:2017-latest
+        image: mcr.microsoft.com/mssql/server:2022-latest
         env:
           SA_PASSWORD: mssql_passw0rd
           ACCEPT_EULA: Y
         ports:
         - 1433:1433
         options: >-
-          --health-cmd "/opt/mssql-tools/bin/sqlcmd -U sa -P $SA_PASSWORD -Q 'select 1' -b -o /dev/null"
+          --health-cmd "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -C -Q 'select 1' -b -o /dev/null"
           --health-interval 1s
           --health-timeout 30s
           --health-start-period 10s
diff --git a/packages/opentelemetry-test-utils/src/test-utils.ts b/packages/opentelemetry-test-utils/src/test-utils.ts
index b6b6845677..2ecace8c35 100644
--- a/packages/opentelemetry-test-utils/src/test-utils.ts
+++ b/packages/opentelemetry-test-utils/src/test-utils.ts
@@ -39,7 +39,7 @@ const dockerRunCmds = {
   memcached:
     'docker run --rm -d --name otel-memcached -p 11211:11211 memcached:1.6.9-alpine',
   mssql:
-    'docker run --rm -d --name otel-mssql -p 1433:1433 -e SA_PASSWORD=mssql_passw0rd -e ACCEPT_EULA=Y mcr.microsoft.com/mssql/server:2017-latest',
+    'docker run --rm -d --name otel-mssql -p 1433:1433 -e SA_PASSWORD=mssql_passw0rd -e ACCEPT_EULA=Y mcr.microsoft.com/mssql/server:2022-latest',
   mysql:
     'docker run --rm -d --name otel-mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=rootpw -e MYSQL_DATABASE=test_db -e MYSQL_USER=otel -e MYSQL_PASSWORD=secret mysql:5.7 --log_output=TABLE --general_log=ON',
   postgres:

From 0d6ebded313bb75b5a0e7a6422206c922daf3943 Mon Sep 17 00:00:00 2001
From: Trent Mick <trentm@gmail.com>
Date: Mon, 23 Sep 2024 10:53:30 -0700
Subject: [PATCH 116/123] test: update mssql envvar to MSSQL_SA_PASSWORD
 (#2447)

Per https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-configure-environment-variables
SA_PASSWORD (without the prefix) is deprecated.
---
 .github/workflows/test-all-versions.yml             | 4 ++--
 .github/workflows/unit-test.yml                     | 4 ++--
 packages/opentelemetry-test-utils/src/test-utils.ts | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/test-all-versions.yml b/.github/workflows/test-all-versions.yml
index 86e8bf4dc2..4d7f2b0ffd 100644
--- a/.github/workflows/test-all-versions.yml
+++ b/.github/workflows/test-all-versions.yml
@@ -28,12 +28,12 @@ jobs:
       mssql:
         image: mcr.microsoft.com/mssql/server:2022-latest
         env:
-          SA_PASSWORD: mssql_passw0rd
+          MSSQL_SA_PASSWORD: mssql_passw0rd
           ACCEPT_EULA: Y
         ports:
         - 1433:1433
         options: >-
-          --health-cmd "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -C -Q 'select 1' -b -o /dev/null"
+          --health-cmd "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P $MSSQL_SA_PASSWORD -C -Q 'select 1' -b -o /dev/null"
           --health-interval 1s
           --health-timeout 30s
           --health-start-period 10s
diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml
index 2bfb469764..a60b6e246d 100644
--- a/.github/workflows/unit-test.yml
+++ b/.github/workflows/unit-test.yml
@@ -26,12 +26,12 @@ jobs:
       mssql:
         image: mcr.microsoft.com/mssql/server:2022-latest
         env:
-          SA_PASSWORD: mssql_passw0rd
+          MSSQL_SA_PASSWORD: mssql_passw0rd
           ACCEPT_EULA: Y
         ports:
         - 1433:1433
         options: >-
-          --health-cmd "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -C -Q 'select 1' -b -o /dev/null"
+          --health-cmd "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P $MSSQL_SA_PASSWORD -C -Q 'select 1' -b -o /dev/null"
           --health-interval 1s
           --health-timeout 30s
           --health-start-period 10s
diff --git a/packages/opentelemetry-test-utils/src/test-utils.ts b/packages/opentelemetry-test-utils/src/test-utils.ts
index 2ecace8c35..91efd64b03 100644
--- a/packages/opentelemetry-test-utils/src/test-utils.ts
+++ b/packages/opentelemetry-test-utils/src/test-utils.ts
@@ -39,7 +39,7 @@ const dockerRunCmds = {
   memcached:
     'docker run --rm -d --name otel-memcached -p 11211:11211 memcached:1.6.9-alpine',
   mssql:
-    'docker run --rm -d --name otel-mssql -p 1433:1433 -e SA_PASSWORD=mssql_passw0rd -e ACCEPT_EULA=Y mcr.microsoft.com/mssql/server:2022-latest',
+    'docker run --rm -d --name otel-mssql -p 1433:1433 -e MSSQL_SA_PASSWORD=mssql_passw0rd -e ACCEPT_EULA=Y mcr.microsoft.com/mssql/server:2022-latest',
   mysql:
     'docker run --rm -d --name otel-mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=rootpw -e MYSQL_DATABASE=test_db -e MYSQL_USER=otel -e MYSQL_PASSWORD=secret mysql:5.7 --log_output=TABLE --general_log=ON',
   postgres:

From 050fee0551ccf0fa593b84030ab73e2701372b4b Mon Sep 17 00:00:00 2001
From: Marylia Gutierrez <marylia.gutierrez@grafana.com>
Date: Wed, 25 Sep 2024 11:48:04 -0400
Subject: [PATCH 117/123] feat(instrumentation-pg): implementation of metric
 operation duration (#2380)

Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
---
 .../src/instrumentation.ts                    | 74 ++++++++++++++++++-
 .../src/utils.ts                              |  5 +-
 .../test/pg-pool.test.ts                      | 18 ++---
 .../test/pg.test.ts                           | 54 ++++++++++++++
 4 files changed, 136 insertions(+), 15 deletions(-)

diff --git a/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
index d1f0a3f0cb..e7c3da7a5f 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-pg/src/instrumentation.ts
@@ -19,13 +19,16 @@ import {
   InstrumentationNodeModuleDefinition,
   safeExecuteInTheMiddle,
 } from '@opentelemetry/instrumentation';
-
 import {
   context,
   trace,
   Span,
   SpanStatusCode,
   SpanKind,
+  Histogram,
+  ValueType,
+  Attributes,
+  HrTime,
   UpDownCounter,
 } from '@opentelemetry/api';
 import type * as pgTypes from 'pg';
@@ -42,12 +45,27 @@ import * as utils from './utils';
 import { addSqlCommenterComment } from '@opentelemetry/sql-common';
 import { PACKAGE_NAME, PACKAGE_VERSION } from './version';
 import { SpanNames } from './enums/SpanNames';
+import {
+  hrTime,
+  hrTimeDuration,
+  hrTimeToMilliseconds,
+} from '@opentelemetry/core';
+import {
+  DBSYSTEMVALUES_POSTGRESQL,
+  SEMATTRS_DB_SYSTEM,
+  ATTR_ERROR_TYPE,
+  ATTR_SERVER_PORT,
+  ATTR_SERVER_ADDRESS,
+} from '@opentelemetry/semantic-conventions';
 import {
   METRIC_DB_CLIENT_CONNECTION_COUNT,
   METRIC_DB_CLIENT_CONNECTION_PENDING_REQUESTS,
+  METRIC_DB_CLIENT_OPERATION_DURATION,
+  ATTR_DB_NAMESPACE,
 } from '@opentelemetry/semantic-conventions/incubating';
 
 export class PgInstrumentation extends InstrumentationBase<PgInstrumentationConfig> {
+  private _operationDuration!: Histogram;
   private _connectionsCount!: UpDownCounter;
   private _connectionPendingRequests!: UpDownCounter;
   // Pool events connect, acquire, release and remove can be called
@@ -66,6 +84,20 @@ export class PgInstrumentation extends InstrumentationBase<PgInstrumentationConf
   }
 
   override _updateMetricInstruments() {
+    this._operationDuration = this.meter.createHistogram(
+      METRIC_DB_CLIENT_OPERATION_DURATION,
+      {
+        description: 'Duration of database client operations.',
+        unit: 's',
+        valueType: ValueType.DOUBLE,
+        advice: {
+          explicitBucketBoundaries: [
+            0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5, 10,
+          ],
+        },
+      }
+    );
+
     this._connectionsCounter = {
       idle: 0,
       pending: 0,
@@ -188,6 +220,27 @@ export class PgInstrumentation extends InstrumentationBase<PgInstrumentationConf
     };
   }
 
+  private recordOperationDuration(attributes: Attributes, startTime: HrTime) {
+    const metricsAttributes: Attributes = {};
+    const keysToCopy = [
+      SEMATTRS_DB_SYSTEM,
+      ATTR_DB_NAMESPACE,
+      ATTR_ERROR_TYPE,
+      ATTR_SERVER_PORT,
+      ATTR_SERVER_ADDRESS,
+    ];
+
+    keysToCopy.forEach(key => {
+      if (key in attributes) {
+        metricsAttributes[key] = attributes[key];
+      }
+    });
+
+    const durationSeconds =
+      hrTimeToMilliseconds(hrTimeDuration(startTime, hrTime())) / 1000;
+    this._operationDuration.record(durationSeconds, metricsAttributes);
+  }
+
   private _getClientQueryPatch() {
     const plugin = this;
     return (original: typeof pgTypes.Client.prototype.query) => {
@@ -196,6 +249,7 @@ export class PgInstrumentation extends InstrumentationBase<PgInstrumentationConf
         if (utils.shouldSkipInstrumentation(plugin.getConfig())) {
           return original.apply(this, args as never);
         }
+        const startTime = hrTime();
 
         // client.query(text, cb?), client.query(text, values, cb?), and
         // client.query(configObj, cb?) are all valid signatures. We construct
@@ -221,6 +275,17 @@ export class PgInstrumentation extends InstrumentationBase<PgInstrumentationConf
           ? (arg0 as utils.ObjectWithText)
           : undefined;
 
+        const attributes: Attributes = {
+          [SEMATTRS_DB_SYSTEM]: DBSYSTEMVALUES_POSTGRESQL,
+          [ATTR_DB_NAMESPACE]: this.database,
+          [ATTR_SERVER_PORT]: this.connectionParameters.port,
+          [ATTR_SERVER_ADDRESS]: this.connectionParameters.host,
+        };
+
+        const recordDuration = () => {
+          plugin.recordOperationDuration(attributes, startTime);
+        };
+
         const instrumentationConfig = plugin.getConfig();
 
         const span = utils.handleConfigQuery.call(
@@ -251,7 +316,8 @@ export class PgInstrumentation extends InstrumentationBase<PgInstrumentationConf
             args[args.length - 1] = utils.patchCallback(
               instrumentationConfig,
               span,
-              args[args.length - 1] as PostgresCallback // nb: not type safe.
+              args[args.length - 1] as PostgresCallback, // nb: not type safe.
+              recordDuration
             );
 
             // If a parent span exists, bind the callback
@@ -266,7 +332,8 @@ export class PgInstrumentation extends InstrumentationBase<PgInstrumentationConf
             let callback = utils.patchCallback(
               plugin.getConfig(),
               span,
-              queryConfig.callback as PostgresCallback // nb: not type safe.
+              queryConfig.callback as PostgresCallback, // nb: not type safe.
+              recordDuration
             );
 
             // If a parent span existed, bind the callback
@@ -324,7 +391,6 @@ export class PgInstrumentation extends InstrumentationBase<PgInstrumentationConf
         try {
           result = original.apply(this, args as never);
         } catch (e: unknown) {
-          // span.recordException(e);
           span.setStatus({
             code: SpanStatusCode.ERROR,
             message: utils.getErrorMessage(e),
diff --git a/plugins/node/opentelemetry-instrumentation-pg/src/utils.ts b/plugins/node/opentelemetry-instrumentation-pg/src/utils.ts
index 08f6bbe56c..f3d65f5b82 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/src/utils.ts
+++ b/plugins/node/opentelemetry-instrumentation-pg/src/utils.ts
@@ -243,7 +243,8 @@ export function handleExecutionResult(
 export function patchCallback(
   instrumentationConfig: PgInstrumentationConfig,
   span: Span,
-  cb: PostgresCallback
+  cb: PostgresCallback,
+  recordDuration: { (): void }
 ): PostgresCallback {
   return function patchedCallback(
     this: PgClientExtended,
@@ -251,7 +252,6 @@ export function patchCallback(
     res: object
   ) {
     if (err) {
-      // span.recordException(err);
       span.setStatus({
         code: SpanStatusCode.ERROR,
         message: err.message,
@@ -260,6 +260,7 @@ export function patchCallback(
       handleExecutionResult(instrumentationConfig, span, res);
     }
 
+    recordDuration();
     span.end();
     cb.call(this, err, res);
   };
diff --git a/plugins/node/opentelemetry-instrumentation-pg/test/pg-pool.test.ts b/plugins/node/opentelemetry-instrumentation-pg/test/pg-pool.test.ts
index ab57a0fb05..84b203788e 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/test/pg-pool.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-pg/test/pg-pool.test.ts
@@ -520,46 +520,46 @@ describe('pg-pool', () => {
 
           const metrics = resourceMetrics.scopeMetrics[0].metrics;
           assert.strictEqual(
-            metrics[0].descriptor.name,
+            metrics[1].descriptor.name,
             'db.client.connection.count'
           );
           assert.strictEqual(
-            metrics[0].descriptor.description,
+            metrics[1].descriptor.description,
             'The number of connections that are currently in state described by the state attribute.'
           );
           assert.strictEqual(
-            metrics[0].dataPoints[0].attributes[
+            metrics[1].dataPoints[0].attributes[
               ATTR_DB_CLIENT_CONNECTION_STATE
             ],
             'used'
           );
           assert.strictEqual(
-            metrics[0].dataPoints[0].value,
+            metrics[1].dataPoints[0].value,
             1,
             'expected to have 1 used connection'
           );
           assert.strictEqual(
-            metrics[0].dataPoints[1].attributes[
+            metrics[1].dataPoints[1].attributes[
               ATTR_DB_CLIENT_CONNECTION_STATE
             ],
             'idle'
           );
           assert.strictEqual(
-            metrics[0].dataPoints[1].value,
+            metrics[1].dataPoints[1].value,
             0,
             'expected to have 0 idle connections'
           );
 
           assert.strictEqual(
-            metrics[1].descriptor.name,
+            metrics[2].descriptor.name,
             'db.client.connection.pending_requests'
           );
           assert.strictEqual(
-            metrics[1].descriptor.description,
+            metrics[2].descriptor.description,
             'The number of current pending requests for an open connection.'
           );
           assert.strictEqual(
-            metrics[1].dataPoints[0].value,
+            metrics[2].dataPoints[0].value,
             0,
             'expected to have 0 pending requests'
           );
diff --git a/plugins/node/opentelemetry-instrumentation-pg/test/pg.test.ts b/plugins/node/opentelemetry-instrumentation-pg/test/pg.test.ts
index eb2e847328..b394893399 100644
--- a/plugins/node/opentelemetry-instrumentation-pg/test/pg.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-pg/test/pg.test.ts
@@ -30,6 +30,7 @@ import {
   InMemorySpanExporter,
   SimpleSpanProcessor,
 } from '@opentelemetry/sdk-trace-base';
+import { DataPoint, Histogram } from '@opentelemetry/sdk-metrics';
 import * as assert from 'assert';
 import type * as pg from 'pg';
 import * as sinon from 'sinon';
@@ -50,6 +51,7 @@ import {
   SEMATTRS_NET_PEER_PORT,
   SEMATTRS_DB_USER,
   DBSYSTEMVALUES_POSTGRESQL,
+  ATTR_ERROR_TYPE,
 } from '@opentelemetry/semantic-conventions';
 import { addSqlCommenterComment } from '@opentelemetry/sql-common';
 
@@ -960,4 +962,56 @@ describe('pg', () => {
       });
     });
   });
+
+  describe('pg metrics', () => {
+    let metricReader: testUtils.TestMetricReader;
+
+    beforeEach(() => {
+      metricReader = testUtils.initMeterProvider(instrumentation);
+    });
+
+    it('should generate db.client.operation.duration metric', done => {
+      client.query('SELECT NOW()', async (_, ret) => {
+        assert.ok(ret, 'query should be executed');
+
+        const { resourceMetrics, errors } = await metricReader.collect();
+        assert.deepEqual(
+          errors,
+          [],
+          'expected no errors from the callback during metric collection'
+        );
+
+        const metrics = resourceMetrics.scopeMetrics[0].metrics;
+        assert.strictEqual(
+          metrics[0].descriptor.name,
+          'db.client.operation.duration'
+        );
+        assert.strictEqual(
+          metrics[0].descriptor.description,
+          'Duration of database client operations.'
+        );
+        const dataPoint = metrics[0].dataPoints[0];
+        assert.strictEqual(
+          dataPoint.attributes[SEMATTRS_DB_SYSTEM],
+          DBSYSTEMVALUES_POSTGRESQL
+        );
+        assert.strictEqual(dataPoint.attributes[ATTR_ERROR_TYPE], undefined);
+
+        const v = (dataPoint as DataPoint<Histogram>).value;
+        v.min = v.min ? v.min : 0;
+        v.max = v.max ? v.max : 0;
+        assert.equal(
+          v.min > 0,
+          true,
+          'expect min value for Histogram to be greater than 0'
+        );
+        assert.equal(
+          v.max > 0,
+          true,
+          'expect max value for Histogram to be greater than 0'
+        );
+        done();
+      });
+    });
+  });
 });

From 7898458b4d15335f376cc1aae94cc73c0d7d96c7 Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Thu, 26 Sep 2024 09:55:46 +0200
Subject: [PATCH 118/123] chore(instrumentation-fastify): mark instrumentation
 as unmaintained (#2452)

---
 .github/component-label-map.yml | 1 +
 .github/component_owners.yml    | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/.github/component-label-map.yml b/.github/component-label-map.yml
index 152ff73628..5ab8934eee 100644
--- a/.github/component-label-map.yml
+++ b/.github/component-label-map.yml
@@ -282,6 +282,7 @@ pkg-status:unmaintained:
           - plugins/node/instrumentation-tedious/**
           - plugins/node/opentelemetry-instrumentation-connect/**
           - plugins/node/opentelemetry-instrumentation-dns/**
+          - plugins/node/opentelemetry-instrumentation-fastify/**
           - plugins/node/opentelemetry-instrumentation-generic-pool/**
           - plugins/node/opentelemetry-instrumentation-hapi/**
           - plugins/node/opentelemetry-instrumentation-knex/**
diff --git a/.github/component_owners.yml b/.github/component_owners.yml
index 1fb7378f73..a6b5109ff9 100644
--- a/.github/component_owners.yml
+++ b/.github/component_owners.yml
@@ -85,8 +85,8 @@ components:
   plugins/node/opentelemetry-instrumentation-express:
     - JamieDanielson
     - pkanal
-  plugins/node/opentelemetry-instrumentation-fastify:
-    - pichlermarc
+  plugins/node/opentelemetry-instrumentation-fastify: []
+    # Unmaintained
   plugins/node/opentelemetry-instrumentation-generic-pool: []
     # Unmaintained
   plugins/node/opentelemetry-instrumentation-graphql:

From 138c6c5cfb186e1b853aa9ab75cddf42e4b76b5e Mon Sep 17 00:00:00 2001
From: Mend Renovate <bot@renovateapp.com>
Date: Thu, 26 Sep 2024 11:43:29 +0200
Subject: [PATCH 119/123] chore(deps): update dependency express to v4.20.0
 [security] (#2431)

---
 package-lock.json                             | 386 ++++++++++++++++--
 .../package.json                              |   2 +-
 2 files changed, 349 insertions(+), 39 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 820a1917ca..211cfa0f3c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -42,7 +42,7 @@
       "version": "0.29.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@opentelemetry/resources": "^1.0.0",
+        "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/semantic-conventions": "^1.27.0"
       },
       "devDependencies": {
@@ -185,7 +185,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@opentelemetry/core": "^1.0.0",
-        "@opentelemetry/resources": "^1.0.0",
+        "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
         "gcp-metadata": "^6.0.0"
       },
@@ -19800,37 +19800,37 @@
       "dev": true
     },
     "node_modules/express": {
-      "version": "4.19.2",
-      "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
-      "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
+      "version": "4.20.0",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.20.0.tgz",
+      "integrity": "sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw==",
       "dev": true,
       "dependencies": {
         "accepts": "~1.3.8",
         "array-flatten": "1.1.1",
-        "body-parser": "1.20.2",
+        "body-parser": "1.20.3",
         "content-disposition": "0.5.4",
         "content-type": "~1.0.4",
         "cookie": "0.6.0",
         "cookie-signature": "1.0.6",
         "debug": "2.6.9",
         "depd": "2.0.0",
-        "encodeurl": "~1.0.2",
+        "encodeurl": "~2.0.0",
         "escape-html": "~1.0.3",
         "etag": "~1.8.1",
         "finalhandler": "1.2.0",
         "fresh": "0.5.2",
         "http-errors": "2.0.0",
-        "merge-descriptors": "1.0.1",
+        "merge-descriptors": "1.0.3",
         "methods": "~1.1.2",
         "on-finished": "2.4.1",
         "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
+        "path-to-regexp": "0.1.10",
         "proxy-addr": "~2.0.7",
         "qs": "6.11.0",
         "range-parser": "~1.2.1",
         "safe-buffer": "5.2.1",
-        "send": "0.18.0",
-        "serve-static": "1.15.0",
+        "send": "0.19.0",
+        "serve-static": "1.16.0",
         "setprototypeof": "1.2.0",
         "statuses": "2.0.1",
         "type-is": "~1.6.18",
@@ -19841,6 +19841,45 @@
         "node": ">= 0.10.0"
       }
     },
+    "node_modules/express/node_modules/body-parser": {
+      "version": "1.20.3",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
+      "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
+      "dev": true,
+      "dependencies": {
+        "bytes": "3.1.2",
+        "content-type": "~1.0.5",
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "http-errors": "2.0.0",
+        "iconv-lite": "0.4.24",
+        "on-finished": "2.4.1",
+        "qs": "6.13.0",
+        "raw-body": "2.5.2",
+        "type-is": "~1.6.18",
+        "unpipe": "1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8",
+        "npm": "1.2.8000 || >= 1.4.16"
+      }
+    },
+    "node_modules/express/node_modules/body-parser/node_modules/qs": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+      "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
+      "dev": true,
+      "dependencies": {
+        "side-channel": "^1.0.6"
+      },
+      "engines": {
+        "node": ">=0.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
     "node_modules/express/node_modules/cookie": {
       "version": "0.6.0",
       "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
@@ -19859,6 +19898,15 @@
         "ms": "2.0.0"
       }
     },
+    "node_modules/express/node_modules/encodeurl": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+      "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
     "node_modules/express/node_modules/finalhandler": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
@@ -19877,6 +19925,36 @@
         "node": ">= 0.8"
       }
     },
+    "node_modules/express/node_modules/finalhandler/node_modules/encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/express/node_modules/merge-descriptors": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
+      "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/express/node_modules/mime": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+      "dev": true,
+      "bin": {
+        "mime": "cli.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
     "node_modules/express/node_modules/ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -19884,11 +19962,104 @@
       "dev": true
     },
     "node_modules/express/node_modules/path-to-regexp": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-      "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
+      "version": "0.1.10",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
+      "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
+      "dev": true
+    },
+    "node_modules/express/node_modules/send": {
+      "version": "0.19.0",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+      "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+      "dev": true,
+      "dependencies": {
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "fresh": "0.5.2",
+        "http-errors": "2.0.0",
+        "mime": "1.6.0",
+        "ms": "2.1.3",
+        "on-finished": "2.4.1",
+        "range-parser": "~1.2.1",
+        "statuses": "2.0.1"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/express/node_modules/send/node_modules/encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/express/node_modules/send/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
       "dev": true
     },
+    "node_modules/express/node_modules/serve-static": {
+      "version": "1.16.0",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.0.tgz",
+      "integrity": "sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==",
+      "dev": true,
+      "dependencies": {
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "parseurl": "~1.3.3",
+        "send": "0.18.0"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/express/node_modules/serve-static/node_modules/encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/express/node_modules/serve-static/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "dev": true
+    },
+    "node_modules/express/node_modules/serve-static/node_modules/send": {
+      "version": "0.18.0",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+      "dev": true,
+      "dependencies": {
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "fresh": "0.5.2",
+        "http-errors": "2.0.0",
+        "mime": "1.6.0",
+        "ms": "2.1.3",
+        "on-finished": "2.4.1",
+        "range-parser": "~1.2.1",
+        "statuses": "2.0.1"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
     "node_modules/extend": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -32787,12 +32958,12 @@
       "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw=="
     },
     "node_modules/side-channel": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz",
-      "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==",
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+      "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
       "dev": true,
       "dependencies": {
-        "call-bind": "^1.0.6",
+        "call-bind": "^1.0.7",
         "es-errors": "^1.3.0",
         "get-intrinsic": "^1.2.4",
         "object-inspect": "^1.13.1"
@@ -38567,7 +38738,7 @@
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
-        "express": "4.19.2",
+        "express": "4.20.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.10",
@@ -50711,7 +50882,7 @@
         "@types/mocha": "7.0.2",
         "@types/node": "18.6.5",
         "@types/sinon": "10.0.20",
-        "express": "4.19.2",
+        "express": "4.20.0",
         "mocha": "7.2.0",
         "nyc": "15.1.0",
         "rimraf": "5.0.10",
@@ -53822,7 +53993,7 @@
       "requires": {
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/contrib-test-utils": "^0.41.0",
-        "@opentelemetry/resources": "^1.0.0",
+        "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -53933,7 +54104,7 @@
         "@opentelemetry/api": "^1.0.0",
         "@opentelemetry/contrib-test-utils": "^0.41.0",
         "@opentelemetry/core": "^1.0.0",
-        "@opentelemetry/resources": "^1.0.0",
+        "@opentelemetry/resources": "^1.10.0",
         "@opentelemetry/semantic-conventions": "^1.27.0",
         "@types/mocha": "8.2.3",
         "@types/node": "18.6.5",
@@ -61334,37 +61505,37 @@
       "dev": true
     },
     "express": {
-      "version": "4.19.2",
-      "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
-      "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
+      "version": "4.20.0",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.20.0.tgz",
+      "integrity": "sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw==",
       "dev": true,
       "requires": {
         "accepts": "~1.3.8",
         "array-flatten": "1.1.1",
-        "body-parser": "1.20.2",
+        "body-parser": "1.20.3",
         "content-disposition": "0.5.4",
         "content-type": "~1.0.4",
         "cookie": "0.6.0",
         "cookie-signature": "1.0.6",
         "debug": "2.6.9",
         "depd": "2.0.0",
-        "encodeurl": "~1.0.2",
+        "encodeurl": "~2.0.0",
         "escape-html": "~1.0.3",
         "etag": "~1.8.1",
         "finalhandler": "1.2.0",
         "fresh": "0.5.2",
         "http-errors": "2.0.0",
-        "merge-descriptors": "1.0.1",
+        "merge-descriptors": "1.0.3",
         "methods": "~1.1.2",
         "on-finished": "2.4.1",
         "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
+        "path-to-regexp": "0.1.10",
         "proxy-addr": "~2.0.7",
         "qs": "6.11.0",
         "range-parser": "~1.2.1",
         "safe-buffer": "5.2.1",
-        "send": "0.18.0",
-        "serve-static": "1.15.0",
+        "send": "0.19.0",
+        "serve-static": "1.16.0",
         "setprototypeof": "1.2.0",
         "statuses": "2.0.1",
         "type-is": "~1.6.18",
@@ -61372,6 +61543,37 @@
         "vary": "~1.1.2"
       },
       "dependencies": {
+        "body-parser": {
+          "version": "1.20.3",
+          "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
+          "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
+          "dev": true,
+          "requires": {
+            "bytes": "3.1.2",
+            "content-type": "~1.0.5",
+            "debug": "2.6.9",
+            "depd": "2.0.0",
+            "destroy": "1.2.0",
+            "http-errors": "2.0.0",
+            "iconv-lite": "0.4.24",
+            "on-finished": "2.4.1",
+            "qs": "6.13.0",
+            "raw-body": "2.5.2",
+            "type-is": "~1.6.18",
+            "unpipe": "1.0.0"
+          },
+          "dependencies": {
+            "qs": {
+              "version": "6.13.0",
+              "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+              "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
+              "dev": true,
+              "requires": {
+                "side-channel": "^1.0.6"
+              }
+            }
+          }
+        },
         "cookie": {
           "version": "0.6.0",
           "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
@@ -61387,6 +61589,12 @@
             "ms": "2.0.0"
           }
         },
+        "encodeurl": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+          "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+          "dev": true
+        },
         "finalhandler": {
           "version": "1.2.0",
           "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
@@ -61400,8 +61608,28 @@
             "parseurl": "~1.3.3",
             "statuses": "2.0.1",
             "unpipe": "~1.0.0"
+          },
+          "dependencies": {
+            "encodeurl": {
+              "version": "1.0.2",
+              "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+              "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+              "dev": true
+            }
           }
         },
+        "merge-descriptors": {
+          "version": "1.0.3",
+          "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
+          "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
+          "dev": true
+        },
+        "mime": {
+          "version": "1.6.0",
+          "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+          "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+          "dev": true
+        },
         "ms": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -61409,10 +61637,92 @@
           "dev": true
         },
         "path-to-regexp": {
-          "version": "0.1.7",
-          "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-          "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
+          "version": "0.1.10",
+          "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
+          "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
           "dev": true
+        },
+        "send": {
+          "version": "0.19.0",
+          "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+          "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+          "dev": true,
+          "requires": {
+            "debug": "2.6.9",
+            "depd": "2.0.0",
+            "destroy": "1.2.0",
+            "encodeurl": "~1.0.2",
+            "escape-html": "~1.0.3",
+            "etag": "~1.8.1",
+            "fresh": "0.5.2",
+            "http-errors": "2.0.0",
+            "mime": "1.6.0",
+            "ms": "2.1.3",
+            "on-finished": "2.4.1",
+            "range-parser": "~1.2.1",
+            "statuses": "2.0.1"
+          },
+          "dependencies": {
+            "encodeurl": {
+              "version": "1.0.2",
+              "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+              "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+              "dev": true
+            },
+            "ms": {
+              "version": "2.1.3",
+              "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+              "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+              "dev": true
+            }
+          }
+        },
+        "serve-static": {
+          "version": "1.16.0",
+          "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.0.tgz",
+          "integrity": "sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==",
+          "dev": true,
+          "requires": {
+            "encodeurl": "~1.0.2",
+            "escape-html": "~1.0.3",
+            "parseurl": "~1.3.3",
+            "send": "0.18.0"
+          },
+          "dependencies": {
+            "encodeurl": {
+              "version": "1.0.2",
+              "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+              "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+              "dev": true
+            },
+            "ms": {
+              "version": "2.1.3",
+              "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+              "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+              "dev": true
+            },
+            "send": {
+              "version": "0.18.0",
+              "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+              "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+              "dev": true,
+              "requires": {
+                "debug": "2.6.9",
+                "depd": "2.0.0",
+                "destroy": "1.2.0",
+                "encodeurl": "~1.0.2",
+                "escape-html": "~1.0.3",
+                "etag": "~1.8.1",
+                "fresh": "0.5.2",
+                "http-errors": "2.0.0",
+                "mime": "1.6.0",
+                "ms": "2.1.3",
+                "on-finished": "2.4.1",
+                "range-parser": "~1.2.1",
+                "statuses": "2.0.1"
+              }
+            }
+          }
         }
       }
     },
@@ -71458,12 +71768,12 @@
       "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw=="
     },
     "side-channel": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz",
-      "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==",
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+      "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
       "dev": true,
       "requires": {
-        "call-bind": "^1.0.6",
+        "call-bind": "^1.0.7",
         "es-errors": "^1.3.0",
         "get-intrinsic": "^1.2.4",
         "object-inspect": "^1.13.1"
diff --git a/plugins/node/opentelemetry-instrumentation-express/package.json b/plugins/node/opentelemetry-instrumentation-express/package.json
index 1d42ab6c88..36a964f32f 100644
--- a/plugins/node/opentelemetry-instrumentation-express/package.json
+++ b/plugins/node/opentelemetry-instrumentation-express/package.json
@@ -54,7 +54,7 @@
     "@types/mocha": "7.0.2",
     "@types/node": "18.6.5",
     "@types/sinon": "10.0.20",
-    "express": "4.19.2",
+    "express": "4.20.0",
     "mocha": "7.2.0",
     "nyc": "15.1.0",
     "rimraf": "5.0.10",

From 37009ad13affb8ac8d40a96bbfc25e743a93bdce Mon Sep 17 00:00:00 2001
From: David Luna <david.luna@elastic.co>
Date: Wed, 2 Oct 2024 15:34:54 +0200
Subject: [PATCH 120/123] chore: remove usages of Span constructor (#2458)

---
 packages/baggage-span-processor/src/index.ts  |  4 +-
 .../test/baggage-span-processor.test.ts       | 46 +++++++------------
 .../src/index.ts                              |  4 +-
 .../src/utils.ts                              |  6 +--
 .../test/functionals/utils.test.ts            | 36 +++++++++------
 5 files changed, 44 insertions(+), 52 deletions(-)

diff --git a/packages/baggage-span-processor/src/index.ts b/packages/baggage-span-processor/src/index.ts
index 23a4aa44e7..2faf967b81 100644
--- a/packages/baggage-span-processor/src/index.ts
+++ b/packages/baggage-span-processor/src/index.ts
@@ -14,5 +14,5 @@
  * limitations under the License.
  */
 
-export * from './baggage-span-processor';
-export * from './types';
+export { BaggageSpanProcessor } from './baggage-span-processor';
+export { ALLOW_ALL_BAGGAGE_KEYS, BaggageKeyPredicate } from './types';
diff --git a/packages/baggage-span-processor/test/baggage-span-processor.test.ts b/packages/baggage-span-processor/test/baggage-span-processor.test.ts
index fdc19560c8..0efba4af43 100644
--- a/packages/baggage-span-processor/test/baggage-span-processor.test.ts
+++ b/packages/baggage-span-processor/test/baggage-span-processor.test.ts
@@ -16,12 +16,7 @@
 
 import { BaggageSpanProcessor } from '../src/baggage-span-processor';
 import { ALLOW_ALL_BAGGAGE_KEYS } from '../src/types';
-import {
-  propagation,
-  ROOT_CONTEXT,
-  SpanKind,
-  TraceFlags,
-} from '@opentelemetry/api';
+import { propagation, ROOT_CONTEXT, SpanKind } from '@opentelemetry/api';
 import { BasicTracerProvider, Span } from '@opentelemetry/sdk-trace-base';
 import { expect } from 'expect';
 
@@ -39,17 +34,14 @@ describe('BaggageSpanProcessor with all keys filter', () => {
   let span: Span;
 
   beforeEach(() => {
-    span = new Span(
-      new BasicTracerProvider().getTracer('baggage-testing'),
-      ROOT_CONTEXT,
+    const tracer = new BasicTracerProvider().getTracer('baggage-testing');
+    span = tracer.startSpan(
       'Edward W. Span',
       {
-        traceId: 'e4cda95b652f4a1592b449d5929fda1b',
-        spanId: '7e0c63257de34c92',
-        traceFlags: TraceFlags.SAMPLED,
+        kind: SpanKind.SERVER,
       },
-      SpanKind.SERVER
-    );
+      ROOT_CONTEXT
+    ) as Span;
   });
 
   it('onStart adds current Baggage entries to a span as attributes', () => {
@@ -91,17 +83,14 @@ describe('BaggageSpanProcessor with startWith key filter', () => {
   let span: Span;
 
   beforeEach(() => {
-    span = new Span(
-      new BasicTracerProvider().getTracer('baggage-testing'),
-      ROOT_CONTEXT,
+    const tracer = new BasicTracerProvider().getTracer('baggage-testing');
+    span = tracer.startSpan(
       'Edward W. Span',
       {
-        traceId: 'e4cda95b652f4a1592b449d5929fda1b',
-        spanId: '7e0c63257de34c92',
-        traceFlags: TraceFlags.SAMPLED,
+        kind: SpanKind.SERVER,
       },
-      SpanKind.SERVER
-    );
+      ROOT_CONTEXT
+    ) as Span;
   });
 
   it('should only add baggage entries that match filter', () => {
@@ -131,17 +120,14 @@ describe('BaggageSpanProcessor with regex key filter', () => {
   let span: Span;
 
   beforeEach(() => {
-    span = new Span(
-      new BasicTracerProvider().getTracer('baggage-testing'),
-      ROOT_CONTEXT,
+    const tracer = new BasicTracerProvider().getTracer('baggage-testing');
+    span = tracer.startSpan(
       'Edward W. Span',
       {
-        traceId: 'e4cda95b652f4a1592b449d5929fda1b',
-        spanId: '7e0c63257de34c92',
-        traceFlags: TraceFlags.SAMPLED,
+        kind: SpanKind.SERVER,
       },
-      SpanKind.SERVER
-    );
+      ROOT_CONTEXT
+    ) as Span;
   });
 
   it('should only add baggage entries that match filter', () => {
diff --git a/plugins/node/opentelemetry-instrumentation-dns/src/index.ts b/plugins/node/opentelemetry-instrumentation-dns/src/index.ts
index c26f998cff..4af26a8a72 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/src/index.ts
+++ b/plugins/node/opentelemetry-instrumentation-dns/src/index.ts
@@ -14,5 +14,5 @@
  * limitations under the License.
  */
 
-export * from './instrumentation';
-export * from './types';
+export { DnsInstrumentation } from './instrumentation';
+export { DnsInstrumentationConfig, IgnoreMatcher } from './types';
diff --git a/plugins/node/opentelemetry-instrumentation-dns/src/utils.ts b/plugins/node/opentelemetry-instrumentation-dns/src/utils.ts
index 1b1d858052..ceb622bd53 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/src/utils.ts
+++ b/plugins/node/opentelemetry-instrumentation-dns/src/utils.ts
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-import { Span, SpanStatusCode, SpanAttributes } from '@opentelemetry/api';
+import { Span, SpanStatusCode, Attributes } from '@opentelemetry/api';
 import { AttributeNames } from './enums/AttributeNames';
 import { AddressFamily } from './enums/AddressFamily';
 import * as dns from 'dns';
@@ -31,7 +31,7 @@ export const setError = (err: NodeJS.ErrnoException, span: Span) => {
   const attributes = {
     [AttributeNames.DNS_ERROR_MESSAGE]: message,
     [AttributeNames.DNS_ERROR_NAME]: name,
-  } as SpanAttributes;
+  } as Attributes;
 
   span.setAttributes(attributes);
 
@@ -70,7 +70,7 @@ export const setLookupAttributes = (
   address: string | dns.LookupAddress[] | dns.LookupAddress,
   family?: number
 ) => {
-  const attributes = {} as SpanAttributes;
+  const attributes = {} as Attributes;
   const isObject = typeof address === 'object';
   let addresses = address;
 
diff --git a/plugins/node/opentelemetry-instrumentation-dns/test/functionals/utils.test.ts b/plugins/node/opentelemetry-instrumentation-dns/test/functionals/utils.test.ts
index c9cb8d01c9..ccf94b8788 100644
--- a/plugins/node/opentelemetry-instrumentation-dns/test/functionals/utils.test.ts
+++ b/plugins/node/opentelemetry-instrumentation-dns/test/functionals/utils.test.ts
@@ -14,8 +14,7 @@
  * limitations under the License.
  */
 
-import { diag, ROOT_CONTEXT, SpanKind, TraceFlags } from '@opentelemetry/api';
-import { BasicTracerProvider, Span } from '@opentelemetry/sdk-trace-base';
+import { diag, Span, SpanStatusCode } from '@opentelemetry/api';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
 import { AttributeNames } from '../../src/enums/AttributeNames';
@@ -153,21 +152,28 @@ describe('Utility', () => {
 
   describe('setError()', () => {
     it('should have error attributes', () => {
+      // Prepare
       const errorMessage = 'test error';
-      const span = new Span(
-        new BasicTracerProvider().getTracer('default'),
-        ROOT_CONTEXT,
-        'test',
-        { spanId: '', traceId: '', traceFlags: TraceFlags.NONE },
-        SpanKind.INTERNAL
-      );
+      const span = {
+        setAttributes(attrs) {},
+        setStatus(status) {},
+      } as Span;
+      const mockSpan = sinon.mock(span);
+
+      mockSpan.expects('setAttributes').withExactArgs({
+        [AttributeNames.DNS_ERROR_NAME]: 'Error',
+        [AttributeNames.DNS_ERROR_MESSAGE]: errorMessage,
+      });
+      mockSpan.expects('setStatus').withExactArgs({
+        code: SpanStatusCode.ERROR,
+        message: errorMessage,
+      });
+
+      // Act
       utils.setError(new Error(errorMessage), span);
-      const attributes = span.attributes;
-      assert.strictEqual(
-        attributes[AttributeNames.DNS_ERROR_MESSAGE],
-        errorMessage
-      );
-      assert.ok(attributes[AttributeNames.DNS_ERROR_NAME]);
+
+      // Assert
+      mockSpan.verify();
     });
   });
 });

From 6107185551bdb77372f1b240b03f336baf88db51 Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Fri, 4 Oct 2024 09:56:16 +0200
Subject: [PATCH 121/123] ci: align codeql settings with Security SIG
 recommendations (#2461)

---
 .github/workflows/codeql-analysis.yml | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 466f6deadc..33a35892f4 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -2,17 +2,9 @@ name: "CodeQL Analysis"
 
 on:
   workflow_dispatch:
-  schedule:
-    #        ┌───────────── minute (0 - 59)
-    #        │  ┌───────────── hour (0 - 23)
-    #        │  │ ┌───────────── day of the month (1 - 31)
-    #        │  │ │ ┌───────────── month (1 - 12 or JAN-DEC)
-    #        │  │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
-    #        │  │ │ │ │
-    #        │  │ │ │ │
-    #        │  │ │ │ │
-    #        *  * * * *
-    - cron: '30 1 * * *'
+  push:
+    branches: [ main ]
+  pull_request:
 
 jobs:
   CodeQL-Build:

From 02a9fdb60ce9cb05f77bb431811cd40b348c45f1 Mon Sep 17 00:00:00 2001
From: Onur Temizkan <onur@narval.co.uk>
Date: Fri, 4 Oct 2024 11:57:09 +0300
Subject: [PATCH 122/123] feat(instrumentation-fastify): Enable Fastify v5
 (#2460)

Co-authored-by: David Luna <david.luna@elastic.co>
---
 plugins/node/opentelemetry-instrumentation-fastify/.tav.yml   | 4 ++++
 .../src/instrumentation.ts                                    | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/plugins/node/opentelemetry-instrumentation-fastify/.tav.yml b/plugins/node/opentelemetry-instrumentation-fastify/.tav.yml
index 48410d0903..6f23da47eb 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/.tav.yml
+++ b/plugins/node/opentelemetry-instrumentation-fastify/.tav.yml
@@ -3,6 +3,10 @@
   # releases.
   - versions: "4.0.0 || >=4.24.3 <5"
     commands: npm run test
+  - versions: ">=5 <6"
+    commands: npm run test
+    peerDependencies: "@fastify/express@4.0.1"
+    node: '>=20'
 
 # Fastify versions after 4.18.0 require a typescript greater than 4.4.4.
 "typescript":
diff --git a/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts b/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts
index e7014c5365..b03032d465 100644
--- a/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts
+++ b/plugins/node/opentelemetry-instrumentation-fastify/src/instrumentation.ts
@@ -55,7 +55,7 @@ export class FastifyInstrumentation extends InstrumentationBase<FastifyInstrumen
     return [
       new InstrumentationNodeModuleDefinition(
         'fastify',
-        ['>=3.0.0 <5'],
+        ['>=3.0.0 <6'],
         moduleExports => {
           return this._patchConstructor(moduleExports);
         }

From 7fd154b95ea5fcd7e82a265a0c33282ff5f8fcf5 Mon Sep 17 00:00:00 2001
From: Marc Pichler <marc.pichler@dynatrace.com>
Date: Fri, 4 Oct 2024 15:28:13 +0200
Subject: [PATCH 123/123] chore(detector-contrainer): remove orphan codecov
 script (#2444)

---
 .../node/opentelemetry-resource-detector-container/package.json  | 1 -
 1 file changed, 1 deletion(-)

diff --git a/detectors/node/opentelemetry-resource-detector-container/package.json b/detectors/node/opentelemetry-resource-detector-container/package.json
index f9e55cdaea..3d453f23e4 100644
--- a/detectors/node/opentelemetry-resource-detector-container/package.json
+++ b/detectors/node/opentelemetry-resource-detector-container/package.json
@@ -7,7 +7,6 @@
   "repository": "open-telemetry/opentelemetry-js-contrib",
   "scripts": {
     "clean": "rimraf build/*",
-    "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../../",
     "compile": "tsc -p .",
     "lint": "eslint . --ext .ts",
     "lint:fix": "eslint . --ext .ts --fix",