You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2023/06/30 20:06:07 UTC

[streampipes] branch 1335-replace-angularflex-layout-dependency-with-ngbracketngx-layout-dependency updated (5e519e75b -> 0bf54c270)

This is an automated email from the ASF dual-hosted git repository.

riemer pushed a change to branch 1335-replace-angularflex-layout-dependency-with-ngbracketngx-layout-dependency
in repository https://gitbox.apache.org/repos/asf/streampipes.git


    from 5e519e75b Merge branch 'dev' into 1335-replace-angularflex-layout-dependency-with-ngbracketngx-layout-dependency
     add 8503549cf Implement create method in Java PipelineApi (#1467)
     add dac406332 Bump activemq-client from 5.17.3 to 5.18.0
     add 51db2ee3f Bump spring-core from 6.0.3 to 6.0.7
     add a201c5c05 Bump spring boot version
     add a771e9f1b Bump Guava version, Bump spring-security version
     add adc1d62af Add properties-migrator to dependency management
     add c18643663 Improve data explorer query management (#1406) (#1407)
     add eb4b9cbc2 Migrate KafkaPublisher (#1473)
     add c627add09 Bump jasmine-core from 4.5.0 to 4.6.0 in /ui (#1474)
     add 49c2f53b2 Bump @typescript-eslint/eslint-plugin from 5.55.0 to 5.57.1 in /ui
     add fa69191b5 Provide database name in query object (#1479)
     add cdcd83ea2 [#1289] Fix cypress test for data lake configuration (#1480)
     add 1dcc11b5b [hotfix] Improve handling of count queries, improve table widget (#1484)
     add 07494bf59 Bump mkdocstrings[python] in /streampipes-client-python (#1487)
     add 50ddf52e4 [SP-1367] fix typo
     add b0d235fb2 Bump mypy from 1.1.1 to 1.2.0 in /streampipes-client-python (#1494)
     add 3e5e57a62 Refactor method name in Kafka messaging layer (#1490)
     add b66c6dd93 Bump rdf4j.version from 3.5.0 to 4.2.3 (#1472)
     add b5f16f79c Bump animal-sniffer-annotations from 1.22 to 1.23 (#1469)
     add 59915fa46 [hotfix] adapt image links in python docs (#1496)
     add c73dbf6c7 [hotfix] Move sp-split-section to shared-ui module (#1497)
     add 5e24be6b6 Bump log4j.version from 2.19.0 to 2.20.0 (#1499)
     add cbae1b891 Bump pytest from 7.2.1 to 7.3.0 in /streampipes-client-python (#1498)
     add cb529cc98  #1107 Implementation  of `OSV-scanner` with `gh-action` (#1438)
     add 9694615e5 [hotfix] Fix handling of count queries in data explorer (#1501)
     add 6920dafcb [hotfix] Improve layout of basic view
     add 353cdd86e Bump mkdocs-awesome-pages-plugin in /streampipes-client-python
     add 31c68401a Bump zstd-jni from 1.4.3-1 to 1.5.5-1
     add 71f931834 [hotfix] Remove zstd-jni from dependencies
     add 5ef29883d Bump peter-evans/create-pull-request from 4 to 5
     add 2308d9a9c [SP-1504] Do not remove streams on pipeline export (#1505)
     add 4bd34bfb8 Bump pandas-stubs in /streampipes-client-python (#1506)
     add 45775ec9a Bump maven-plugin-plugin from 3.7.0 to 3.8.1 (#1507)
     add c5ec75cbc Sp 1367 Use QueryResult as return type for data lake measure API (#1492)
     add 1f1e29615 [release] update issue template & release notes
     add 182649f44 Remove dependency 'reflections' (#1508)
     add 8df326c7e Bump autoflake from 2.0.0 to 2.1.0 in /streampipes-client-python (#1509)
     add 14b996a8d Merge branch 'dev' of github.com:apache/streampipes into dev
     add 57a342526 [hotfix] remove latest alias for dev python docs (#1515)
     add f2a00425d [FEATURE] add division as operation for data harmonization rules (#1517)
     add ca9742e7a #1518 Add variable to set location of checkstyle base path (#1519)
     add 879a4a963 feature: add workflow that stales PRs (#1524)
     add df636d22f [hotfix] adapt configuration of stale bot
     add 36feed7c6 Bump mkdocs-gen-files from 0.4.0 to 0.5.0 in /streampipes-client-python (#1525)
     add 5d755aa9b Bump type-parser from 0.7.0 to 0.8.1 (#1510)
     add 5674efe41 Map http 404 to Java Optional.empty [#1520] (#1521)
     add 49680ba81 Semantic type dropdown UI fixes (#1526)
     add d302b2f30 Bump jetty-server from 10.0.10 to 10.0.14 (#1512)
     add 0d393efe0 Bump karma-chrome-launcher in /ui/projects/streampipes/platform-services (#1516)
     add ce1ff80b3 Bump types-requests in /streampipes-client-python (#1536)
     add 7f2d6d216 Added vulnerability report (#1535)
     add faf94210a [hotfix] add missing header for VULNERABILITY.md
     add 3a7322d55 Bump spring-core from 6.0.7 to 6.0.8 & spring-bot from 3.0.5 to 3.0.6 & spring-security from 6.0.2 to 6.0.3 (#1511)
     add 793674e86 Bump flask from 1.1.2 to 2.3.2 in /streampipes-wrapper-python (#1540)
     add 8f2d7d7d6 chore(deps): bump several dependencies to resolve vulnerability issues (#1539)
     add 9965f218e Bump pre-commit from 3.2.0 to 3.3.0 in /streampipes-client-python (#1541)
     add f3d8782f9 Bump jackson.version from 2.14.1 to 2.15.0 (#1542)
     add 0d0176d07 chore: add header to file & refine reviewers (#1537)
     add 3f7324e72 [hotfix] exclude versions file from pydocs update (#1532)
     add a01f0941d Add integration test for MQTT (#1485) (#1489)
     add 93f55a3d2 Bump consul from 1.17.6 to 1.18.0 (#1545)
     add d957e7ec1 Bump commons-compress from 1.22 to 1.23.0 (#1550)
     add 810829f08 [hotfix] Add import of shared-ui module to profile module (#1548)
     add d33800790 Python Functions: Distinction between consumer and publisher (#1523)
     add 8c1530fe8 Bump opencsv from 5.5.2 to 5.7.1 (#1552)
     add e4c5d63ba Bump engine.io and socket.io in /ui (#1549)
     add 192243dd3 Update README.md
     add 90c05e70b Fix logo url of email templates (#1527) (#1554)
     add ca97eb1f7 Fetch principalId instead of username when changing user password (#655) (#1553)
     add 7e8e5978d [hotfix] fix exclusion of versions-file in pydoc generation
     add b0b5f9e66 [hotfix] exclude versions-file in pydoc generation
     add 9b0ba98e3 [1475] fulfill PEP 561 & exclude test files from package (#1555)
     add f96999cc9 [1051] add further badges to readme of python client (#1556)
     add 6700ce6a3 Bump types-requests in /streampipes-client-python (#1558)
     add 1f0ced0d5 Bump pyupgrade from 3.3.1 to 3.4.0 in /streampipes-client-python (#1559)
     add e271aa245 Bump google-maps-services from 2.1.2 to 2.2.0 (#1560)
     add 034fa79ac Bump jackson-databind from 2.14.1 to 2.15.0 (#1562)
     add f8f8e5113 [1259] verify authentication on startup of python client (#1557)
     add 6361b97dd Bump retrofit from 2.5.0 to 2.9.0 (#1565)
     add b47b811fe Add configuration view to create labels (#1564) (#1568)
     add ca3642727 Bump mypy from 1.2.0 to 1.3.0 in /streampipes-client-python (#1566)
     add 116ed2e8b Fix input of standalone dashboard component (#1547)
     add fd5d83756 Merge pull request #1569 from apache/1547-standalone-dashborad-empty
     add 4be2a6443 Bump annotations from 16.0.2 to 24.0.1 (#1570)
     add 3417335aa Remove guice from dependencies (#1571)
     add eddb9b082 Bump amqp-client from 5.16.0 to 5.17.0 (#1574)
     add 1e544d067 Bump tubemq-client from 1.5.0 to 1.6.0 (#1577)
     add 7b9d94df1 1411 create custom error page for python docs (#1572)
     add ac2ca7977 [maven-release-plugin] prepare branch @{releaseLabel}
     add 7a661ce78 [maven-release-plugin] prepare for next development iteration
     add 9adf3df2b [hotfix] Update API docs version
     add a432b9db7 add sample configuration of pulsar subscription-name (#1589)
     add f564e07db Bump pytest-cov from 4.0.0 to 4.1.0 in /streampipes-client-python (#1591)
     add 8387080a9 [#1583] Remove deprecated processor Cusum (#1586)
     add d902dcb41 Migrate JsEval and SizeMeasure processors (#1598)(#1599) (#1600)
     add 1750704e6  dd custom subjects for discussions (#1616)
     add 7464ef1a0 Merge pull request #1617 from apache/1616-modify-asfyaml-to-better-organize-github-discussions-on-mailing-list
     add c2122f8a7 Migrate text mining processors (#1601) (#1602)
     add 24820925c Migrate count array, split array and signal edge filters (#1608)(#1609)(#1610) (#1611)
     add 09488d862 Migrate data sinks in databases-jvm module (#1618) (#1619)
     add 86675e1d7 Migrate data sinks in notifications-jvm module (#1620) (#1621)
     add 956df5d09 Bump postgresql from 42.4.3 to 42.6.0 (#1578)
     add 58fbb1412 Migrate data processors in transformation-jvm (#1612) (#1613)
     add 4ae1f863e Migrate data sinks in brokers-jvm module (#1614) (#1615)
     add 2e29e3770 Migrate Redis Sink in databases-jvm (#1622)
     add 4fcc17fc5 Bump socket.io-parser from 4.2.1 to 4.2.3 in /ui (#1587)
     add d072af709 Migrate processors in siddhi module (#1624) (#1625)
     add bed05dd73 chore: mark streampipes-wrapper-python as deprecated (#1623)
     add 3ac670bc5 Bump types-requests in /streampipes-client-python (#1588)
     add b15ed1023 Bump mkdocstrings[python] in /streampipes-client-python (#1631)
     add 36ee46f2a chore: add missing support of NATS as messaging protocol (#1628)
     add 77a34d567 Bump spring-boot.version from 3.0.6 to 3.1.0 (#1595)
     add 0a471ab7f [hotfix] Add proper time selection to another cypress test (#1641)
     add 42b5c9e17 feature: retrieve credentials from SP environment variables (#1640)
     add 839e10d85 monthly update of vulnerability report (#1644)
     add 752289c6a Refactor connect adapter API (#1290)
     add 2e0c14191 [hotfix] Fix e2e tests after adapter refactoring (#1655)
     add 50199e09b Sp 1592 (#1647)
     add 26925193c [hotfix] Bump installer versions to next SNAPSHOT (#1658)
     add 669830ae5 Update package.json (#1657)
     add d486728e0 [hotfix] Improve nginx container behaviour when starting as non-root user (#1661)
     add acfe67abf [hotfix] Register runtime provider
     add 76afaef2e Move OPC-UA processor and sinks to new module streampipes-connectors-opcua (#1648) (#1649)
     add f7ae9ddf2 Update ConnectAdapterIiotInit.java
     add 7937b47f0 remove sources-vehicle-simulator from full deployment (#1668)
     add 4c9596e6f fix(1656): adapt to API change in nats-py (pass list instead of single str) (#1666)
     add 9ebc9b525 [#1664] Extract all opc labels into an enum class (#1665)
     add 7fff17c76 Move all experimental Flink extensions to experimental-flink module (… (#1652)
     add 1079accc5 Update upgrade_version.sh for selectively updating versions (#1671)
     add ca4e0c2d4 [#1672] Make processor dimension sensitive. (#1673)
     add 09e454267 Add wait period to fix Mqtt integration test
     add 31a5d2de7 Improve css (#1660)
     add 7957105b3 Bump @jsplumb/browser-ui from 5.13.2 to 6.1.1 in /ui (#1493)
     add 6d4047ad7 Bump pyupgrade from 3.4.0 to 3.6.0 in /streampipes-client-python (#1674)
     add 9056d2bc7 Bump mockito-core from 4.11.0 to 5.3.1 (#1636)
     add aa8105fd9 Bump blacken-docs from 1.13.0 to 1.14.0 in /streampipes-client-python (#1678)
     add 4c114b10a Bump nimbus-jose-jwt from 9.30.1 to 9.31 (#1679)
     add 433992ede Bump testcontainers from 1.17.4 to 1.18.3 (#1681)
     add 06d1328e5 1662 support asynchronous browsing in opc ua adapter (#1675)
     add e5889b936 Bump guava from 31.1-jre to 32.0.1-jre (#1687)
     add 235c67ca4 Bump @swimlane/ngx-charts from 20.1.2 to 20.4.1 in /ui (#1686)
     add 92f47cce5 Bump snappy-java from 1.1.7.7 to 1.1.10.1 (#1689)
     add b18ad977d Bump dependency-check-maven from 6.5.1 to 8.3.1 (#1692)
     add b234935fc chore: improve metadata for repository (#1694)
     add 4bafdbea5 Bump pyupgrade from 3.6.0 to 3.7.0 in /streampipes-client-python (#1697)
     add b6f15d4c1 Bump @typescript-eslint/parser from 5.56.0 to 5.59.11 in /ui (#1699)
     add ff5362c5c Bump mockito-core from 5.3.1 to 5.4.0 (#1698)
     add 1a2b3688e Set value for checkstyle base path in more modules.
     add f9c6e2045 Merge pull request #1696 from apache/checkstyle-header-path-for-submodules
     add d8a788585 Bump mypy from 1.3.0 to 1.4.0 in /streampipes-client-python (#1707)
     add 0ae6f0a5c Use UTF_8 as the encoding when generating the label (#1701)
     add 87940b25c [hotfix] Update release notes
     add 6a174ec37 Maven housekeeping (#1695)
     add c48d135a1 Bump autoflake from 2.1.0 to 2.2.0 in /streampipes-client-python (#1712)
     add bea143804 Bump pytest from 7.3.0 to 7.4.0 in /streampipes-client-python (#1711)
     add 1b1166757 Bump formatter-maven-plugin from 2.21.0 to 2.23.0 (#1710)
     add 58d219491 fix: kafka consumer data loss promble (#1629)
     add 27839afdf Harmonize OPC-UA adapter and sink, add timestamp to metadata (#899) (#1682)
     add 117af967b Support migration of adapters in data import (#1683)
     add f3fd3802e Add creation of attachments for CouchDB (#1716)
     add fb7493076 [hotfix] Use latest offset setting as kafka consumer default (#1720)
     add 7ed91b539 add Kafka integration test (#1719)
     add 929f8c0a8 Bump okio from 1.16.0 to 3.3.0 (#1715)
     add b92069016 Improve handling of messaging protocols, extend broker support in cli… (#1718)
     add 027249044 [#1713] Fix NullPointer in OPC UA browsing (#1714)
     add 7eb2a318c [hotfix] Fix Kafka test after refactoring of messaging module
     add a17e642fd Bump tubemq-client from 1.6.0 to 1.7.0 (#1721)
     add 2d72d427e Bump jboss-logging from 3.4.0.Final to 3.5.2.Final (#1723)
     add f165024b0 [hotfix] Fix environment variable in prebuild script (#1724)
     add 98849e675 [hotfix] Make storage sizes in helm charts configurable (#1722)
     new 1eb238293 Merge branch 'dev' into 1335-replace-angularflex-layout-dependency-with-ngbracketngx-layout-dependency
     new 0bf54c270 Fix data explorer designer panel

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .asf.yaml                                          |    8 +
 .github/ISSUE_TEMPLATE/bug_report.yml              |    2 +-
 .github/workflows/build.yml                        |    6 +-
 .github/workflows/osv-scanner.yml                  |   55 +
 .github/workflows/pr-validation.yml                |    2 +-
 .github/workflows/python-docs.yml                  |    7 +-
 .github/workflows/stale-bot.yml                    |   39 +
 .gitignore                                         |    3 +
 .../all_pipeline_elements_flink.xml                |    4 +-
 README.md                                          |    6 +-
 RELEASE_NOTES.md                                   |  276 +
 VULNERABILITY.md                                   |    9 +
 .../streampipes-archetype-extensions-jvm/pom.xml   |    7 +-
 .../archetype-resources/src/main/java/Init.java    |    4 +-
 .../pom.xml                                        |    7 +-
 .../archetype-resources/src/main/java/Init.java    |    4 +-
 .../streampipes-archetype-pe-sinks-flink/pom.xml   |    7 +-
 .../archetype-resources/src/main/java/Init.java    |    4 +-
 installer/cli/.env                                 |    2 +-
 installer/cli/README.md                            |    2 +-
 .../cli/deploy/standalone/opcua/docker-compose.yml |    1 +
 installer/compose/.env                             |    2 +-
 installer/compose/README.md                        |    2 +-
 installer/compose/docker-compose.full.yml          |   10 -
 installer/k8s/Chart.yaml                           |    4 +-
 installer/k8s/README.md                            |    2 +-
 installer/k8s/templates/core/backend-pvc.yaml      |    2 +-
 installer/k8s/templates/core/ui-configmap.yaml     |    2 +-
 .../templates/external/consul/consul-pv-pvc.yaml   |    2 +-
 .../templates/external/couchdb/couchdb-pv-pvc.yaml |    2 +-
 .../templates/external/influxdb/influxdb-pvc.yaml  |    2 +-
 .../templates/external/influxdb/influxdb2-pvc.yaml |    2 +-
 installer/k8s/values.yaml                          |   11 +-
 installer/upgrade_versions.sh                      |   39 +-
 pom.xml                                            |  127 +-
 streampipes-client-api/pom.xml                     |   54 +
 .../org/apache/streampipes/client/api/CRUDApi.java |   34 +
 .../apache/streampipes/client/api/IAdminApi.java   |   35 +
 .../streampipes/client/api/ICustomRequestApi.java  |   29 +
 .../client/api/IDataLakeMeasureApi.java            |   40 +
 .../streampipes/client/api/IDataProcessorApi.java  |   66 +
 .../streampipes/client/api/IDataSinkApi.java       |   56 +
 .../streampipes/client/api/IDataStreamApi.java     |   54 +
 .../apache/streampipes/client/api/IFileApi.java    |   27 +
 .../streampipes/client/api/INotificationsApi.java  |   25 +
 .../streampipes/client/api/IPipelineApi.java       |   50 +
 .../client/api/IPipelineElementTemplateApi.java    |   41 +
 .../streampipes/client/api/IStreamPipesClient.java |   62 +
 .../client/api/annotation/NotYetImplemented.java   |   22 +
 .../api/config/ClientConnectionConfigResolver.java |   39 +
 .../api/config/ClientConnectionUrlResolver.java    |   27 +
 .../api/config/IStreamPipesClientConfig.java       |   34 +
 .../client/api/constants/InputStreamIndex.java     |   33 +
 .../api/credentials/CredentialsProvider.java       |   28 +
 .../client/api/live/EventProcessor.java            |   25 +
 .../client/api/live/IBrokerConfigOverride.java     |   31 +
 .../client/api/live/IConfiguredEventProducer.java  |   32 +
 .../streampipes/client/api/live/ISubscription.java |   24 +
 streampipes-client-python/Makefile                 |    1 +
 streampipes-client-python/README.md                |   36 +-
 .../docs/getting-started/first-steps.md            |   12 +-
 .../docs/getting-started/quickstart.md             |    7 +-
 .../docs/img/interrogate_badge.svg                 |   55 +
 streampipes-client-python/docs/index.md            |    5 +-
 streampipes-client-python/docs/overrides/404.html  |   31 +
 ...introduction-to-streampipes-python-client.ipynb |   18 +-
 ...cting-data-from-the-streampipes-data-lake.ipynb |   10 +-
 ...ive-data-from-the-streampipes-data-stream.ipynb |   27 +-
 ...ine-learning-on-a-streampipes-data-stream.ipynb |   24 +-
 streampipes-client-python/mkdocs.yml               |    4 +-
 streampipes-client-python/setup.py                 |   40 +-
 .../streampipes/client/client.py                   |   59 +-
 .../streampipes/client/credential_provider.py      |   85 +-
 .../streampipes/endpoint/api/__init__.py           |    2 +
 .../streampipes/endpoint/api/data_lake_measure.py  |   14 +-
 .../streampipes/endpoint/api/data_stream.py        |    7 +-
 .../streampipes/endpoint/api/version.py            |  130 +
 .../streampipes/function_zoo/river_function.py     |    8 +-
 .../streampipes/functions/broker/__init__.py       |   19 +-
 .../streampipes/functions/broker/broker.py         |   48 +-
 .../streampipes/functions/broker/broker_handler.py |   51 +-
 .../streampipes/functions/broker/consumer.py       |   65 +
 .../{ => functions/broker/kafka}/__init__.py       |    0
 .../functions/broker/kafka/kafka_consumer.py       |   81 +
 .../broker/kafka/kafka_message_fetcher.py          |   52 +
 .../functions/broker/kafka/kafka_publisher.py      |   72 +
 .../streampipes/functions/broker/kafka_broker.py   |   97 -
 .../functions/broker/kafka_message_fetcher.py      |   50 -
 .../{ => functions/broker/nats}/__init__.py        |    0
 .../functions/broker/nats/nats_consumer.py         |   78 +
 .../functions/broker/nats/nats_publisher.py        |   73 +
 .../streampipes/functions/broker/nats_broker.py    |   95 -
 .../functions/broker/output_collector.py           |   14 +-
 .../streampipes/functions/broker/publisher.py      |   42 +
 .../streampipes/functions/function_handler.py      |    5 +-
 .../functions/utils/async_iter_handler.py          |    2 +-
 .../functions/utils/data_stream_context.py         |    8 +-
 .../functions/utils/data_stream_generator.py       |   34 +-
 .../streampipes/model/container/__init__.py        |    2 +
 .../streampipes/model/container/versions.py        |   55 +
 .../streampipes/model/resource/__init__.py         |    6 +-
 .../streampipes/model/resource/data_lake_series.py |  126 -
 .../streampipes/model/resource/data_series.py      |  115 +
 .../streampipes/model/resource/exceptions.py       |   31 +
 .../streampipes/model/resource/query_result.py     |   89 +
 .../streampipes/model/resource/version.py          |   43 +
 streampipes-client-python/streampipes/py.typed     |   17 +
 .../tests/client/test_client.py                    |   42 +-
 .../tests/client/test_credential_provider.py       |   81 +-
 .../tests/client/test_data_lake_series.py          |  201 +-
 .../tests/client/test_endpoint.py                  |   82 +-
 .../tests/functions/test_function_handler.py       |  327 +-
 .../tests/functions/test_river_function.py         |   32 +-
 streampipes-client/pom.xml                         |   34 +-
 .../streampipes/client/StreamPipesClient.java      |   49 +-
 .../streampipes/client/StreamPipesCredentials.java |    2 +-
 .../client/annotation/NotYetImplemented.java       |   22 -
 .../client/api/AbstractTypedClientApi.java         |   14 +-
 .../apache/streampipes/client/api/AdminApi.java    |    6 +-
 .../org/apache/streampipes/client/api/CRUDApi.java |   33 -
 .../streampipes/client/api/CustomRequestApi.java   |    5 +-
 .../streampipes/client/api/DataLakeMeasureApi.java |    6 +-
 .../streampipes/client/api/DataProcessorApi.java   |   72 +-
 .../apache/streampipes/client/api/DataSinkApi.java |   37 +-
 .../streampipes/client/api/DataStreamApi.java      |   36 +-
 .../org/apache/streampipes/client/api/FileApi.java |    5 +-
 .../streampipes/client/api/NotificationsApi.java   |    3 +-
 .../apache/streampipes/client/api/PipelineApi.java |   14 +-
 .../client/api/PipelineElementTemplateApi.java     |    5 +-
 .../client/api/SupportsDataProcessorApi.java       |   23 -
 .../client/api/SupportsDataSinkApi.java            |   23 -
 .../client/api/SupportsDataStreamApi.java          |   23 -
 .../client/api/SupportsPipelineApi.java            |   23 -
 .../api/SupportsPipelineElementTemplateApi.java    |   23 -
 .../client/credentials/CredentialsProvider.java    |   28 -
 .../credentials/StreamPipesApiKeyCredentials.java  |    1 +
 .../credentials/StreamPipesTokenCredentials.java   |    1 +
 .../streampipes/client/http/HttpRequest.java       |   20 +-
 .../client/live/ConfiguredEventProducer.java       |   53 +
 .../streampipes/client/live/EventProcessor.java    |   25 -
 .../streampipes/client/live/KafkaConfig.java       |   41 -
 .../streampipes/client/live/ProducerManager.java   |   62 +
 .../streampipes/client/live/Subscription.java      |   38 +
 .../client/live/SubscriptionManager.java           |  117 +-
 .../model/ClientConnectionConfigResolver.java      |   39 -
 .../client/model/ClientConnectionUrlResolver.java  |   27 -
 .../streampipes/client/model/InputStreamIndex.java |   33 -
 .../client/model/StreamPipesClientConfig.java      |   26 +-
 .../model/StreamPipesClientConnectionConfig.java   |    3 +-
 streampipes-commons/pom.xml                        |   12 +-
 .../apache/streampipes/commons/constants/Envs.java |   10 +-
 .../commons/environment/DefaultEnvironment.java    |   15 +
 .../commons/environment/Environment.java           |    7 +
 .../commons/exceptions/SpHttpErrorStatusCode.java  |   39 +
 .../exceptions/connect/AdapterException.java       |   32 +
 .../commons/exceptions/connect/ParseException.java |   34 +
 .../streampipes/commons/resources/Resources.java   |   37 +
 .../src/test/java/TestResources.java               |   36 +
 streampipes-commons/src/test/resources/test.txt    |    1 +
 streampipes-config/pom.xml                         |   16 +-
 streampipes-connect-management/pom.xml             |   12 +-
 .../management/health/AdapterHealthCheck.java      |    9 +-
 .../management/AdapterMasterManagement.java        |   68 +-
 .../management/DescriptionManagement.java          |   18 +-
 .../management/management/GuessManagement.java     |   21 +-
 .../management/management/SourcesManagement.java   |   78 +-
 .../management/UnitMasterManagement.java           |    2 +-
 .../management/management/WorkerRestClient.java    |   30 +-
 .../management/AdapterMasterManagementTest.java    |    7 +-
 .../management/SourcesManagementTest.java          |    5 +-
 streampipes-data-explorer-commons/pom.xml          |   10 +-
 .../dataexplorer/commons/DataExplorerUtils.java    |   10 +-
 .../dataexplorer/commons/TimeSeriesStore.java      |    4 +-
 .../commons/configs/CouchDbConfigurations.java     |   35 -
 .../commons/configs/CouchDbEnvKeys.java            |   25 -
 .../configs/DataExplorerConfigurations.java        |   46 -
 .../commons/configs/DataExplorerEnvKeys.java       |   28 -
 streampipes-data-explorer/pom.xml                  |   10 +-
 .../dataexplorer/DataExplorerQueryManagement.java  |  142 +
 .../dataexplorer/DataExplorerSchemaManagement.java |  155 +
 .../dataexplorer/DataLakeManagementV4.java         |  245 -
 .../dataexplorer/DataLakeNoUserManagementV3.java   |   96 -
 .../api/IDataExplorerQueryManagement.java          |   47 +
 .../api/IDataExplorerSchemaManagement.java         |   38 +
 .../dataexplorer/api/IQueryStatement.java          |   26 +
 .../influx/DataExplorerInfluxQueryExecutor.java    |  169 +
 .../influx/DataLakeInfluxQueryBuilder.java         |  289 +
 .../dataexplorer/param/DeleteQueryParams.java      |   60 +
 .../param/ProvidedRestQueryParamConverter.java     |  147 +
 .../param/ProvidedRestQueryParams.java             |   83 +
 .../dataexplorer/param/SelectQueryParams.java      |  140 +
 .../param/SupportedRestQueryParams.java            |   64 +
 .../param/model/AggregationFunction.java           |   41 +
 .../dataexplorer/param/model/FillClauseParams.java |   38 +
 .../param/model/GroupByTagsClauseParams.java       |   44 +
 .../param/model/GroupByTimeClauseParams.java       |   39 +
 .../param/model/LimitClauseParams.java             |   44 +
 .../param/model/OffsetClauseParams.java            |   44 +
 .../param/model/OrderByClauseParams.java           |   40 +
 .../param/model/SelectClauseParams.java            |   93 +
 .../dataexplorer/param/model/SelectColumn.java     |  111 +
 .../param/model/WhereClauseParams.java             |  122 +
 .../dataexplorer/query/AutoAggregationHandler.java |  159 +
 .../query/DataExplorerQueryExecutor.java           |  107 +
 .../dataexplorer/query/QueryResultProvider.java    |   60 +
 .../query/StreamedQueryResultProvider.java         |  119 +
 .../query/writer/ConfiguredCsvOutputWriter.java    |   76 +
 .../query/writer/ConfiguredJsonOutputWriter.java   |   71 +
 .../query/writer/ConfiguredOutputWriter.java       |   53 +
 .../dataexplorer/query/writer/OutputFormat.java    |   36 +
 .../query/writer/item/CsvItemWriter.java           |   37 +
 .../query/writer/item/ItemGenerator.java           |   57 +
 .../query/writer/item/JsonItemWriter.java          |   50 +
 .../querybuilder/DataLakeQueryOrdering.java        |   23 +
 .../dataexplorer/querybuilder/FilterCondition.java |   44 +
 .../querybuilder/IDataLakeQueryBuilder.java        |   84 +
 .../dataexplorer/sdk/DataLakeQueryBuilder.java     |  253 -
 .../dataexplorer/sdk/DataLakeQueryConstants.java   |   30 -
 .../dataexplorer/sdk/DataLakeQueryOrdering.java    |   23 -
 .../dataexplorer/sdk/IDataLakeQueryBuilder.java    |   74 -
 .../streampipes/dataexplorer/utils/TimeParser.java |   50 +
 .../dataexplorer/v4/AutoAggregationHandler.java    |  152 -
 .../dataexplorer/v4/ProvidedQueryParams.java       |   83 -
 .../v4/SupportedDataLakeQueryParameters.java       |   64 -
 .../dataexplorer/v4/params/ColumnFunction.java     |   41 -
 .../v4/params/DeleteFromStatementParams.java       |   31 -
 .../dataexplorer/v4/params/FillParams.java         |   35 -
 .../v4/params/GroupingByTagsParams.java            |   42 -
 .../v4/params/GroupingByTimeParams.java            |   36 -
 .../v4/params/ItemLimitationParams.java            |   37 -
 .../dataexplorer/v4/params/OffsetParams.java       |   37 -
 .../v4/params/OrderingByTimeParams.java            |   36 -
 .../dataexplorer/v4/params/QueryParamsV4.java      |   32 -
 .../dataexplorer/v4/params/SelectColumn.java       |   93 -
 .../v4/params/SelectFromStatementParams.java       |   92 -
 .../dataexplorer/v4/params/TimeBoundaryParams.java |   43 -
 .../dataexplorer/v4/params/WhereCondition.java     |   56 -
 .../v4/params/WhereStatementParams.java            |  122 -
 .../dataexplorer/v4/query/DataExplorerQueryV4.java |  234 -
 .../dataexplorer/v4/query/QueryBuilder.java        |   64 -
 .../dataexplorer/v4/query/QueryResultProvider.java |   62 -
 .../v4/query/StreamedQueryResultProvider.java      |  119 -
 .../v4/query/elements/DeleteFromStatement.java     |   33 -
 .../v4/query/elements/FillStatement.java           |   32 -
 .../v4/query/elements/GroupingByTags.java          |   43 -
 .../v4/query/elements/GroupingByTime.java          |   34 -
 .../v4/query/elements/ItemLimitation.java          |   34 -
 .../dataexplorer/v4/query/elements/Offset.java     |   34 -
 .../v4/query/elements/OrderingByTime.java          |   34 -
 .../v4/query/elements/QueryElement.java            |   35 -
 .../v4/query/elements/SelectFromStatement.java     |   51 -
 .../v4/query/elements/TimeBoundary.java            |   40 -
 .../v4/query/elements/WhereStatement.java          |   39 -
 .../v4/query/writer/ConfiguredCsvOutputWriter.java |   76 -
 .../query/writer/ConfiguredJsonOutputWriter.java   |   71 -
 .../v4/query/writer/ConfiguredOutputWriter.java    |   53 -
 .../dataexplorer/v4/query/writer/OutputFormat.java |   36 -
 .../v4/query/writer/item/CsvItemWriter.java        |   37 -
 .../v4/query/writer/item/ItemGenerator.java        |   57 -
 .../v4/query/writer/item/JsonItemWriter.java       |   50 -
 .../dataexplorer/v4/template/QueryTemplatesV4.java |   63 -
 .../v4/utils/DataLakeManagementUtils.java          |  163 -
 .../dataexplorer/v4/utils/TimeParser.java          |   50 -
 .../dataexplorer/param/SelectQueryParamsTest.java  |  208 +
 .../param/WhereStatementParamsTest.java            |   62 +
 .../writer/TestConfiguredCsvOutputWriter.java      |   52 +
 .../writer/TestConfiguredJsonOutputWriter.java     |   53 +
 .../query/writer/TestConfiguredOutputWriter.java   |   42 +
 .../query/writer/item/TestCsvItemWriter.java       |   47 +
 .../query/writer/item/TestItemWriter.java          |   36 +
 .../query/writer/item/TestJsonItemWriter.java      |   38 +
 .../dataexplorer/sdk/DataLakeQueryBuilderTest.java |    6 +-
 .../utils/ProvidedQueryParameterBuilder.java       |   92 +
 .../writer/TestConfiguredCsvOutputWriter.java      |   53 -
 .../writer/TestConfiguredJsonOutputWriter.java     |   54 -
 .../query/writer/TestConfiguredOutputWriter.java   |   42 -
 .../v4/query/writer/item/TestCsvItemWriter.java    |   49 -
 .../v4/query/writer/item/TestItemWriter.java       |   36 -
 .../v4/query/writer/item/TestJsonItemWriter.java   |   40 -
 streampipes-data-export/pom.xml                    |   10 +-
 .../export/dataimport/PerformImportGenerator.java  |    4 +-
 .../export/dataimport/PreviewImportGenerator.java  |   18 +-
 .../export/resolver/AdapterResolver.java           |   13 +-
 .../export/resolver/PipelineResolver.java          |    2 -
 .../export/utils/ImportAdapterMigrationUtils.java  |   55 +
 streampipes-dataformat-cbor/pom.xml                |    6 +-
 streampipes-dataformat-fst/pom.xml                 |    6 +-
 streampipes-dataformat-json/pom.xml                |    6 +-
 streampipes-dataformat-smile/pom.xml               |    6 +-
 streampipes-dataformat/pom.xml                     |    4 +-
 streampipes-extensions-api/pom.xml                 |   18 +-
 .../api/DataSetReplayFinishedNotifier.java         |   23 -
 .../extensions/api/config/IConfigExtractor.java    |   27 +
 .../api/connect/AdapterOutputCollector.java        |   23 +
 .../extensions/api/connect/Connector.java          |   25 -
 .../extensions/api/connect/EmitBinaryEvent.java    |   23 -
 .../extensions/api/connect/IAdapter.java           |   41 -
 .../api/connect/IAdapterConfiguration.java         |   34 +
 .../extensions/api/connect/IEventCollector.java    |   25 +
 .../extensions/api/connect/IFormat.java            |   49 -
 .../extensions/api/connect/IParser.java            |   31 +-
 .../api/connect/IParserEventHandler.java           |   28 +
 .../extensions/api/connect/IPollingSettings.java   |   28 +
 .../extensions/api/connect/IProtocol.java          |   44 -
 .../extensions/api/connect/IPullAdapter.java       |   30 +
 .../extensions/api/connect/StreamPipesAdapter.java |   39 +
 .../context/IAdapterGuessSchemaContext.java        |   28 +
 .../connect/context/IAdapterRuntimeContext.java    |   27 +
 .../api/connect/exception/AdapterException.java    |   32 -
 .../api/connect/exception/ParseException.java      |   34 -
 .../extensions/api/declarer/DataSetDeclarer.java   |   29 -
 .../api/declarer/DataStreamDeclarer.java           |   29 -
 .../extensions/api/declarer/Declarer.java          |   28 -
 .../extensions/api/declarer/InvocableDeclarer.java |   31 -
 .../api/declarer/PipelineTemplateDeclarer.java     |   25 -
 .../declarer/SemanticEventConsumerDeclarer.java    |   26 -
 .../SemanticEventProcessingAgentDeclarer.java      |   27 -
 .../api/extractor/IAdapterParameterExtractor.java  |   30 +
 .../IDataProcessorParameterExtractor.java          |   29 +
 .../api/extractor/IDataSinkParameterExtractor.java |   24 +
 .../api/extractor/IParameterExtractor.java         |  119 +
 .../api/extractor/IStaticPropertyExtractor.java    |   24 +
 .../api/monitoring/IPipelineElementLogger.java     |   24 +
 .../api/monitoring/SpMonitoringManager.java        |  116 +
 .../api/pe/IStreamPipesDataProcessor.java          |   39 +
 .../extensions/api/pe/IStreamPipesDataSink.java    |   35 +
 .../extensions/api/pe/IStreamPipesDataStream.java  |   28 +
 .../api/pe/IStreamPipesPipelineElement.java        |   26 +
 .../api/pe/config/IDataProcessorConfiguration.java |   34 +
 .../api/pe/config/IDataSinkConfiguration.java      |   26 +
 .../api/pe/config/IDataStreamConfiguration.java    |   26 +
 .../pe/config/IPipelineElementConfiguration.java   |   32 +
 .../pe/context/EventProcessorRuntimeContext.java   |   24 +
 .../api/pe/context/EventSinkRuntimeContext.java    |   21 +
 .../api/pe/context/IContextGenerator.java          |   26 +
 .../extensions/api/pe/context/RuntimeContext.java  |   35 +
 .../api/pe/param/IDataProcessorParameters.java     |   41 +
 .../api/pe/param/IDataSinkParameters.java          |   26 +
 .../api/pe/param/IInternalRuntimeParameters.java   |   31 +
 .../api/pe/param/IParameterGenerator.java          |   31 +
 .../api/pe/param/IPipelineElementParameters.java   |   54 +
 .../extensions/api/pe/param/InputStreamParams.java |   87 +
 .../api/pe/param/OutputStreamParams.java           |   58 +
 .../api/pe/routing/PipelineElementCollector.java   |   32 +
 .../api/pe/routing/RawDataProcessor.java           |   25 +
 .../api/pe/routing/SpInputCollector.java           |   24 +
 .../api/pe/routing/SpOutputCollector.java          |   30 +
 .../api/pe/runtime/IDataProcessorRuntime.java      |   26 +
 .../api/pe/runtime/IDataSinkRuntime.java           |   25 +
 .../api/pe/runtime/IStreamPipesRuntime.java        |   34 +
 .../pe/runtime/IStreamPipesRuntimeProvider.java    |   29 +
 .../runtime/ResolvesContainerProvidedOptions.java  |    4 +-
 .../ResolvesContainerProvidedOutputStrategy.java   |    4 +-
 .../api/runtime/SupportsRuntimeConfig.java         |    4 +-
 streampipes-extensions-management/pom.xml          |   41 +-
 ...StreamPipesClientRuntimeConnectionResolver.java |    4 +-
 .../management/config/ConfigExtractor.java         |   10 +-
 .../management/connect/AdapterUtils.java           |   70 -
 .../connect/AdapterWorkerManagement.java           |   89 +-
 .../connect/ConnectWorkerDescriptionProvider.java  |   96 +-
 .../extensions/management/connect/GetNEvents.java  |   49 -
 .../management/connect/GuessManagement.java        |   71 +-
 .../management/connect/PullAdapterScheduler.java   |   62 +
 .../management/connect/RuntimeResovable.java       |   26 +-
 .../management/connect/SendToPipeline.java         |   48 -
 .../management/connect/adapter/Adapter.java        |   75 -
 .../connect/adapter/AdapterPipelineGenerator.java  |   11 -
 .../connect/adapter/AdapterRegistry.java           |   73 -
 .../connect/adapter/GroundingService.java          |   47 -
 .../connect/adapter/format/csv/CsvFormat.java      |  145 -
 .../connect/adapter/format/csv/CsvParser.java      |  196 -
 .../adapter/format/geojson/GeoJsonConstants.java   |   33 -
 .../adapter/format/geojson/GeoJsonFormat.java      |  152 -
 .../adapter/format/geojson/GeoJsonParser.java      |  203 -
 .../connect/adapter/format/image/ImageFormat.java  |   64 -
 .../connect/adapter/format/image/ImageParser.java  |   60 -
 .../adapter/format/json/AbstractJsonFormat.java    |   45 -
 .../adapter/format/json/AbstractJsonParser.java    |   76 -
 .../adapter/format/json/arraykey/JsonFormat.java   |   55 -
 .../adapter/format/json/arraykey/JsonParser.java   |  207 -
 .../format/json/arraynokey/JsonArrayFormat.java    |   50 -
 .../format/json/arraynokey/JsonArrayParser.java    |  182 -
 .../format/json/object/JsonObjectFormat.java       |   49 -
 .../format/json/object/JsonObjectParser.java       |   74 -
 .../adapter/format/util/JsonEventProperty.java     |  100 -
 .../connect/adapter/format/xml/XmlFormat.java      |   91 -
 .../adapter/format/xml/XmlMapConverter.java        |  121 -
 .../connect/adapter/format/xml/XmlParser.java      |  161 -
 .../connect/adapter/guess/SchemaGuesser.java       |   41 -
 .../connect/adapter/model/EventCollector.java      |   44 +
 .../adapter/model/generic/GenericAdapter.java      |   99 -
 .../model/generic/GenericDataSetAdapter.java       |   68 -
 .../model/generic/GenericDataStreamAdapter.java    |   68 -
 .../connect/adapter/model/generic/Parser.java      |   47 -
 .../connect/adapter/model/generic/Protocol.java    |   38 -
 .../adapter/model/specific/SpecificAdapter.java    |   34 -
 .../model/specific/SpecificDataSetAdapter.java     |   33 -
 .../model/specific/SpecificDataStreamAdapter.java  |   33 -
 .../connect/adapter/parser/CsvParser.java          |  203 +
 .../connect/adapter/parser/ImageParser.java        |   87 +
 .../connect/adapter/parser/JsonParsers.java        |  132 +
 .../connect/adapter/parser/ParserUtils.java        |   48 +
 .../management/connect/adapter/parser/Parsers.java |   36 +
 .../adapter/parser/json/GeoJsonConstants.java      |   33 +
 .../connect/adapter/parser/json/GeoJsonParser.java |  245 +
 .../adapter/parser/json/JsonArrayKeyParser.java    |   84 +
 .../adapter/parser/json/JsonArrayParser.java       |   59 +
 .../adapter/parser/json/JsonObjectParser.java      |   51 +
 .../connect/adapter/parser/json/JsonParser.java    |   58 +
 .../adapter/parser/util/JsonEventProperty.java     |  103 +
 .../adapter/parser/xml/XmlMapConverter.java        |  121 +
 .../connect/adapter/parser/xml/XmlParser.java      |  124 +
 .../connect/adapter/preprocessing/Util.java        |   14 -
 .../preprocessing/elements/DebugAdapterSink.java   |   47 -
 .../elements/SendToBrokerAdapterSink.java          |   23 +-
 .../elements/SendToJmsAdapterSink.java             |    8 +-
 .../elements/SendToKafkaAdapterSink.java           |    8 +-
 .../elements/SendToMqttAdapterSink.java            |    8 +-
 .../elements/SendToNatsAdapterSink.java            |    8 +-
 .../value/CorrectionValueTransformationRule.java   |   28 +-
 .../connect/adapter/sdk/ParameterExtractor.java    |  147 -
 .../adapter/util/AdapterOutputCollector.java       |   23 -
 .../connect/adapter/util/PollingSettings.java      |   30 +-
 .../context/AdapterContextGenerator.java           |   39 +
 .../context/SpAdapterGuessSchemaContext.java       |   45 +
 .../context/SpAdapterRuntimeContext.java           |   44 +
 .../management/init/DeclarersSingleton.java        |  213 +-
 .../management/init/IDeclarersSingleton.java       |   27 +
 .../management/init/RunningAdapterInstances.java   |   10 +-
 .../management/init/RunningDatasetInstances.java   |   55 -
 .../management/init/RunningInstances.java          |   15 +-
 .../management/locales/LabelGenerator.java         |   57 +-
 .../management/model/SpServiceDefinition.java      |   72 +-
 .../model/SpServiceDefinitionBuilder.java          |   33 +-
 .../management/monitoring/SpMonitoringManager.java |  116 -
 .../management/util/RuntimeContextUtils.java       |   36 +
 .../management/util/ServiceDefinitionUtil.java     |   26 +-
 .../connect/AdapterWorkerManagementTest.java       |   94 +-
 .../ConnectWorkerDescriptionProviderTest.java      |   79 +
 .../management/connect/GuessManagementTest.java    |   49 +
 .../extensions/management/connect/Utils.java       |   46 -
 .../connect/adapter/GroundingServiceTest.java      |   85 -
 .../management/connect/adapter/TestUtils.java      |    9 +
 .../connect/adapter/format/csv/CsvParserTest.java  |   45 -
 .../format/json/arraykey/JsonParserTest.java       |   91 -
 .../json/arraynokey/JsonArrayParserTest.java       |   93 -
 .../adapter/format/json/geojson/GeoJsonTest.java   |  330 -
 .../format/json/object/JsonObjectParserTest.java   |   67 -
 .../connect/adapter/format/json/xml/XmlTest.java   |  302 -
 .../adapter/format/xml/XmlMapConverterTest.java    |   56 -
 .../connect/adapter/parser/CsvParserTest.java      |  166 +
 .../connect/adapter/parser/ParserTest.java         |   34 +
 .../connect/adapter/parser/XmlParserTest.java      |  121 +
 .../adapter/parser/json/GeoJsonParserTest.java     |  111 +
 .../parser/json/JsonArrayKeyParserTest.java        |  113 +
 .../adapter/parser/json/JsonArrayParserTest.java   |   90 +
 .../adapter/parser/json/JsonObjectParsersTest.java |   95 +
 .../transform/value/CorrectionValueTest.java       |  158 +
 .../management/init/DeclarersSingletonTest.java    |   55 +
 .../model/SpServiceDefinitionBuilderTest.java      |   70 +
 streampipes-extensions/pom.xml                     |   14 +-
 .../streampipes-connect-adapters-iiot/pom.xml      |   22 +-
 .../connect/iiot/ConnectAdapterIiotInit.java       |   16 +-
 .../connect/iiot/adapters/PullAdapter.java         |  114 -
 .../connect/iiot/adapters/PullRestAdapter.java     |   72 -
 .../iiot/adapters/iolink/IfmAlMqttAdapter.java     |  186 +
 .../iiot/adapters/iolink/sensor/IoLinkSensor.java  |   29 +
 .../iiot/adapters/iolink/sensor/SensorVVB001.java  |  162 +
 .../opcua/MiloOpcUaConfigurationProvider.java      |  104 -
 .../connect/iiot/adapters/opcua/OpcNode.java       |  129 -
 .../connect/iiot/adapters/opcua/OpcUaAdapter.java  |  285 -
 .../iiot/adapters/opcua/OpcUaNodeBrowser.java      |  134 -
 .../connect/iiot/adapters/opcua/SpOpcUaClient.java |  193 -
 .../opcua/configuration/SpOpcUaConfig.java         |  225 -
 .../opcua/configuration/SpOpcUaConfigBuilder.java  |  111 -
 .../opcua/utils/ExceptionMessageExtractor.java     |   38 -
 .../adapters/opcua/utils/OpcUaNodeVariants.java    |   53 -
 .../iiot/adapters/opcua/utils/OpcUaTypes.java      |   58 -
 .../iiot/adapters/opcua/utils/OpcUaUtil.java       |  260 -
 .../adapters/plc4x/modbus/Plc4xModbusAdapter.java  |  188 +-
 .../plc4x/passive/Plc4xPassiveAdapter.java         |  117 -
 .../iiot/adapters/plc4x/s7/Plc4xS7Adapter.java     |  279 +-
 .../iiot/adapters/ros/RosBridgeAdapter.java        |  185 +-
 .../simulator/machine/MachineDataSimulator.java    |   17 +-
 .../machine/MachineDataSimulatorAdapter.java       |   84 +
 .../machine/MachineDataSimulatorUtils.java         |    2 +-
 .../machine/MachineDataStreamAdapter.java          |   96 -
 .../connect/iiot/protocol/set/FileProtocol.java    |  140 -
 .../connect/iiot/protocol/set/HttpProtocol.java    |  148 -
 .../iiot/protocol/stream/BrokerEventProcessor.java |   25 +-
 .../iiot/protocol/stream/BrokerProtocol.java       |   58 -
 .../iiot/protocol/stream/FileReplayAdapter.java    |  229 +
 .../iiot/protocol/stream/FileStreamProtocol.java   |  329 -
 .../protocol/stream/HttpServerEventReceiver.java   |   36 -
 .../iiot/protocol/stream/HttpServerProtocol.java   |  144 +-
 .../iiot/protocol/stream/HttpStreamProtocol.java   |  160 +-
 .../iiot/protocol/stream/KafkaProtocol.java        |  273 +-
 .../connect/iiot/protocol/stream/MqttProtocol.java |  105 +-
 .../connect/iiot/protocol/stream/NatsProtocol.java |  119 +-
 .../connect/iiot/protocol/stream/PullProtocol.java |  103 -
 .../iiot/protocol/stream/TubeMQProtocol.java       |  127 +-
 .../iiot/protocol/stream/pulsar/PulsarConfig.java  |   63 +
 .../protocol/stream/pulsar/PulsarProtocol.java     |  144 +-
 .../protocol/stream/rocketmq/RocketMQProtocol.java |  118 +-
 .../connect/iiot/utils/FileProtocolUtils.java      |    2 +-
 .../documentation.md                               |   84 +
 .../icon.png                                       |  Bin 0 -> 9219 bytes
 .../strings.en                                     |   50 +
 .../documentation.md                               |   33 -
 .../icon.png                                       |  Bin 99909 -> 0 bytes
 .../strings.en                                     |   41 -
 .../documentation.md                               |   33 -
 .../icon.png                                       |  Bin 99909 -> 0 bytes
 .../strings.en                                     |   42 -
 .../strings.en                                     |   76 -
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |   44 +
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |   26 +
 .../documentation.md                               |   32 -
 .../strings.en                                     |   28 -
 .../documentation.md                               |   32 -
 .../icon.png                                       |  Bin 17467 -> 0 bytes
 .../strings.en                                     |   25 -
 .../strings.en                                     |   12 +
 .../strings.en                                     |    3 +-
 .../streampipes/sensor/SensorVVB001Test.java       |   52 +
 .../streampipes-connect-adapters/pom.xml           |    6 +-
 .../streampipes/connect/ConnectAdapterInit.java    |   15 +-
 .../streampipes/connect/adapters/PullAdapter.java  |  105 -
 .../connect/adapters/PullRestAdapter.java          |   73 -
 .../adapters/coindesk/CoindeskBitcoinAdapter.java  |  145 +-
 .../connect/adapters/flic/FlicMQTTAdapter.java     |  109 +-
 .../connect/adapters/gdelt/GdeltAdapter.java       |  406 +-
 .../connect/adapters/iex/IexCloudAdapter.java      |   71 +-
 .../connect/adapters/iex/IexCloudNewsAdapter.java  |  219 +-
 .../connect/adapters/iex/IexCloudStockAdapter.java |  165 +-
 .../connect/adapters/image/ImageZipAdapter.java    |   30 +-
 .../adapters/image/set/ImageSetAdapter.java        |  100 -
 .../adapters/image/stream/ImageStreamAdapter.java  |   63 +-
 .../connect/adapters/iss/IssAdapter.java           |   78 +-
 .../connect/adapters/netio/NetioMQTTAdapter.java   |  107 +-
 .../connect/adapters/netio/NetioRestAdapter.java   |  184 +-
 .../adapters/sensemap/OpenSenseMapAdapter.java     |  742 +-
 .../simulator/random/RandomDataSetAdapter.java     |   91 -
 .../simulator/random/RandomDataSimulator.java      |   87 -
 .../simulator/random/RandomDataSimulatorUtils.java |   48 -
 .../simulator/random/RandomDataStreamAdapter.java  |   88 -
 .../connect/adapters/slack/SlackAdapter.java       |   59 +-
 .../connect/adapters/slack/SlackConsumer.java      |   13 +-
 .../connect/adapters/ti/TISensorTag.java           |   92 +-
 .../adapters/wikipedia/WikipediaAdapter.java       |   46 +-
 .../wikipedia/WikipediaEditedArticlesAdapter.java  |   29 +-
 .../wikipedia/WikipediaModelConverter.java         |    2 +-
 .../wikipedia/WikipediaNewArticlesAdapter.java     |   30 +-
 .../adapters/wikipedia/WikipediaSseConsumer.java   |    2 +-
 .../streampipes/connect/config/ConfigKeys.java     |   31 -
 .../connect/config/ConnectWorkerConfig.java        |   81 -
 .../documentation.md                               |   32 -
 .../icon.png                                       |  Bin 5332 -> 0 bytes
 .../strings.en                                     |   26 -
 .../documentation.md                               |   33 -
 .../icon.png                                       |  Bin 13079 -> 0 bytes
 .../strings.en                                     |   27 -
 .../connect/adapters/generic/UtilTest.java         |   52 -
 .../generic/protocol/set/HttpProtocolTest.java     |  123 -
 .../connect/adapters/ti/TISensorTagTest.java       |   78 +-
 .../streampipes-connectors-influx/pom.xml          |    8 +-
 .../connectors/influx/InfluxConnectorsInit.java    |    7 +-
 .../connectors/influx/adapter/InfluxDbClient.java  |    2 +-
 .../influx/adapter/InfluxDbStreamAdapter.java      |  153 +-
 .../connectors/influx/shared/InfluxConfigs.java    |    4 +-
 .../connectors/influx/sink/InfluxDbSink.java       |    6 +-
 .../streampipes-connectors-opcua/pom.xml           |   77 +
 .../connectors/opcua/adapter/OpcUaAdapter.java     |  253 +
 .../connectors/opcua/adapter/OpcUaNodeBrowser.java |  131 +
 .../opcua/adapter/OpcUaNodeMetadataExtractor.java  |  171 +
 .../connectors/opcua/client/SpOpcUaClient.java     |  184 +
 .../config/MiloOpcUaConfigurationProvider.java     |  103 +
 .../opcua/config/OpcUaAdapterConfig.java           |   36 +
 .../connectors/opcua/config/OpcUaConfig.java       |   70 +
 .../opcua/config/SharedUserConfiguration.java      |   89 +
 .../opcua/config/SpOpcUaConfigExtractor.java       |  109 +
 .../extensions/connectors/opcua/model/OpcNode.java |  129 +
 .../extensions/connectors/opcua/sink/OpcUa.java    |  159 +
 .../connectors/opcua/sink/OpcUaParameters.java     |   55 +
 .../connectors/opcua/sink/OpcUaSink.java           |  111 +
 .../opcua/utils/ExceptionMessageExtractor.java     |   38 +
 .../connectors/opcua/utils/OpcUaLabels.java        |   45 +
 .../connectors/opcua/utils/OpcUaTypes.java         |   58 +
 .../connectors/opcua/utils/OpcUaUtil.java          |  249 +
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |   69 +
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |   58 +
 .../adapter/OpcUaNodeMetadataExtractorTest.java    |  258 +
 .../streampipes-extensions-all-iiot/pom.xml        |   31 +-
 .../extensions/all/iiot/AllExtensionsIIoTInit.java |    2 +
 .../streampipes-extensions-all-jvm/pom.xml         |   18 +-
 .../extensions/all/jvm/AllExtensionsInit.java      |    3 +-
 .../pom.xml                                        |  131 -
 .../pe/flink/AllFlinkPipelineElementsInit.java     |   71 -
 .../streampipes-pipeline-elements-all-jvm/pom.xml  |   33 +-
 .../pe/jvm/AllPipelineElementsInit.java            |    6 +-
 .../pom.xml                                        |    2 +-
 .../Dockerfile                                     |    0
 .../development/env                                |    0
 .../pom.xml                                        |  143 +
 .../boilerpipe/BoilerpipeDocumentSource.java       |   45 +
 .../boilerpipe/BoilerpipeExtractor.java            |   82 +
 .../kohlschutter/boilerpipe/BoilerpipeFilter.java  |   54 +
 .../kohlschutter/boilerpipe/BoilerpipeInput.java   |   51 +
 .../boilerpipe/BoilerpipeProcessingException.java  |   59 +
 .../boilerpipe/conditions/TextBlockCondition.java  |   54 +
 .../kohlschutter/boilerpipe/document/Image.java    |  126 +
 .../boilerpipe/document/TextBlock.java             |  301 +
 .../boilerpipe/document/TextDocument.java          |  151 +
 .../document/TextDocumentStatistics.java           |   80 +
 .../boilerpipe/document/package-info.java          |   22 +
 .../boilerpipe/estimators/SimpleEstimator.java     |   79 +
 .../boilerpipe/extractors/ArticleExtractor.java    |   82 +
 .../extractors/ArticleSentencesExtractor.java      |   63 +
 .../boilerpipe/extractors/CanolaExtractor.java     |  112 +
 .../boilerpipe/extractors/CommonExtractors.java    |   74 +
 .../boilerpipe/extractors/DefaultExtractor.java    |   65 +
 .../boilerpipe/extractors/ExtractorBase.java       |  127 +
 .../extractors/KeepEverythingExtractor.java        |   57 +
 .../KeepEverythingWithMinKWordsExtractor.java      |   62 +
 .../extractors/LargestContentExtractor.java        |   68 +
 .../extractors/NumWordsRulesExtractor.java         |   61 +
 .../boilerpipe/extractors/package-info.java        |   22 +
 .../boilerpipe/filters/debug/PrintDebugFilter.java |   84 +
 .../filters/english/DensityRulesClassifier.java    |  128 +
 .../filters/english/HeuristicFilterBase.java       |   56 +
 .../english/IgnoreBlocksAfterContentFilter.java    |   96 +
 .../IgnoreBlocksAfterContentFromEndFilter.java     |   92 +
 .../english/KeepLargestFulltextBlockFilter.java    |   99 +
 .../filters/english/MinFulltextWordsFilter.java    |   77 +
 .../filters/english/NumWordsRulesClassifier.java   |  128 +
 .../filters/english/TerminatingBlocksFinder.java   |  127 +
 .../boilerpipe/filters/english/package-info.java   |   25 +
 .../heuristics/AddPrecedingLabelsFilter.java       |  100 +
 .../filters/heuristics/ArticleMetadataFilter.java  |   81 +
 .../filters/heuristics/BlockProximityFusion.java   |  140 +
 .../filters/heuristics/ContentFusion.java          |   90 +
 .../heuristics/DocumentTitleMatchClassifier.java   |  188 +
 .../heuristics/ExpandTitleToContentFilter.java     |   88 +
 .../filters/heuristics/KeepLargestBlockFilter.java |  135 +
 .../boilerpipe/filters/heuristics/LabelFusion.java |  105 +
 .../LargeBlockSameTagLevelToContentFilter.java     |   88 +
 .../filters/heuristics/ListAtEndFilter.java        |   75 +
 .../heuristics/SimpleBlockFusionProcessor.java     |   85 +
 .../TrailingHeadlineToBoilerplateFilter.java       |   82 +
 .../filters/heuristics/package-info.java           |   22 +
 .../filters/simple/BoilerplateBlockFilter.java     |   82 +
 .../boilerpipe/filters/simple/InvertedFilter.java  |   67 +
 .../filters/simple/LabelToBoilerplateFilter.java   |   76 +
 .../filters/simple/LabelToContentFilter.java       |   72 +
 .../simple/MarkEverythingBoilerplateFilter.java    |   67 +
 .../simple/MarkEverythingContentFilter.java        |   66 +
 .../filters/simple/MinClauseWordsFilter.java       |  126 +
 .../boilerpipe/filters/simple/MinWordsFilter.java  |   71 +
 .../filters/simple/SplitParagraphBlocksFilter.java |   97 +
 .../filters/simple/SurroundingToContentFilter.java |   95 +
 .../boilerpipe/filters/simple/package-info.java    |   23 +
 .../boilerpipe/labels/ConditionalLabelAction.java  |   58 +
 .../boilerpipe/labels/DefaultLabels.java           |   64 +
 .../boilerpipe/labels/LabelAction.java             |   65 +
 .../com/kohlschutter/boilerpipe/package-info.java  |   22 +
 .../sax/BoilerpipeHTMLContentHandler.java          |  458 ++
 .../boilerpipe/sax/BoilerpipeHTMLParser.java       |   92 +
 .../boilerpipe/sax/BoilerpipeSAXInput.java         |   89 +
 .../boilerpipe/sax/CommonTagActions.java           |  361 +
 .../boilerpipe/sax/DefaultTagActionMap.java        |   99 +
 .../kohlschutter/boilerpipe/sax/HTMLDocument.java  |   74 +
 .../kohlschutter/boilerpipe/sax/HTMLFetcher.java   |  109 +
 .../boilerpipe/sax/HTMLHighlighter.java            |  522 ++
 .../boilerpipe/sax/ImageExtractor.java             |  296 +
 .../boilerpipe/sax/InputSourceable.java            |   46 +
 .../boilerpipe/sax/MarkupTagAction.java            |  135 +
 .../com/kohlschutter/boilerpipe/sax/TagAction.java |   56 +
 .../kohlschutter/boilerpipe/sax/TagActionMap.java  |   77 +
 .../kohlschutter/boilerpipe/sax/package-info.java  |   23 +
 .../boilerpipe/util/UnicodeTokenizer.java          |   58 +
 .../kohlschutter/boilerpipe/util/package-info.java |   23 +
 .../flink/AbstractFlinkTransformationProgram.java  |   29 +
 .../pe/flink/AbstractPatternDetectionProgram.java  |   39 +
 .../pe/flink/AllFlinkPipelineElementsInit.java     |  100 +
 .../streampipes/pe/flink/config/ConfigKeys.java    |   28 +
 .../pe/flink/extensions/MapKeySelector.java        |   43 +
 .../pe/flink/extensions/SlidingBatchWindow.java    |   50 +
 .../flink/extensions/SlidingEventTimeWindow.java   |   79 +
 .../flink/extensions/TimestampMappingFunction.java |   28 +
 .../pe/flink/processor/absence/Absence.java        |   21 +
 .../flink/processor/absence/AbsenceController.java |   82 +
 .../flink/processor/absence/AbsenceParameters.java |   55 +
 .../pe/flink/processor/absence/AbsenceProgram.java |  127 +
 .../flink/processor/aggregation/Aggregation.java   |   87 +
 .../aggregation/AggregationController.java         |  162 +
 .../aggregation/AggregationParameters.java         |   83 +
 .../processor/aggregation/AggregationProgram.java  |   87 +
 .../processor/aggregation/AggregationType.java     |   26 +
 .../processor/aggregation/CountAggregation.java    |   55 +
 .../processor/aggregation/TimeAggregation.java     |   54 +
 .../processor/aggregation/config/aggregation.md    |    0
 .../streampipes/pe/flink/processor/and/And.java    |   21 +
 .../pe/flink/processor/and/AndController.java      |   84 +
 .../pe/flink/processor/and/AndParameters.java      |   59 +
 .../pe/flink/processor/and/AndProgram.java         |   75 +
 .../pe/flink/processor/and/TimeUnit.java           |   22 +
 .../pe/flink/processor/and/TimeUnitConverter.java  |   34 +
 .../boilerplate/BoilerplateController.java         |  105 +
 .../boilerplate/BoilerplateParameters.java         |   49 +
 .../processor/boilerplate/BoilerplateProgram.java  |   38 +
 .../processor/boilerplate/BoilerplateRemover.java  |  104 +
 .../flink/processor/boilerplate/ExtractorMode.java |   28 +
 .../pe/flink/processor/boilerplate/OutputMode.java |   25 +
 .../flink/processor/common/TimestampExtractor.java |   36 +
 .../flink/processor/converter/FieldConverter.java  |   62 +
 .../converter/FieldConverterController.java        |  155 +
 .../converter/FieldConverterParameters.java        |   42 +
 .../processor/converter/FieldConverterProgram.java |   35 +
 .../pe/flink/processor/count/CountController.java  |   86 +
 .../pe/flink/processor/count/CountMapper.java      |   38 +
 .../pe/flink/processor/count/CountParameters.java  |   50 +
 .../pe/flink/processor/count/CountProgram.java     |   51 +
 .../pe/flink/processor/count/CountTrigger.java     |   46 +
 .../flink/processor/count/TimeWindowConverter.java |   35 +
 .../pe/flink/processor/count/Tuple2MapMapper.java  |   39 +
 .../processor/eventcount/EventCountController.java |   77 +
 .../processor/eventcount/EventCountMapper.java     |   29 +
 .../eventcount/EventCountOutputMapper.java         |   39 +
 .../processor/eventcount/EventCountParameters.java |   42 +
 .../processor/eventcount/EventCountProgram.java    |   41 +
 .../flink/processor/gridenricher/CellOption.java   |  128 +
 .../processor/gridenricher/EnrichmentSettings.java |   84 +
 .../gridenricher/SpatialGridCalculator.java        |   64 +
 .../gridenricher/SpatialGridConstants.java         |   31 +
 .../gridenricher/SpatialGridEnricher.java          |   61 +
 .../SpatialGridEnrichmentController.java           |  102 +
 .../SpatialGridEnrichmentParameters.java           |   36 +
 .../gridenricher/SpatialGridEnrichmentProgram.java |   36 +
 .../MeasurementUnitConverter.java                  |   58 +
 .../MeasurementUnitConverterController.java        |  128 +
 .../MeasurementUnitConverterParameters.java        |   52 +
 .../MeasurementUnitConverterProgram.java           |   40 +
 .../processor/peak/PeakDetectionCalculator.java    |  135 +
 .../processor/peak/PeakDetectionController.java    |   91 +
 .../processor/peak/PeakDetectionParameters.java    |   84 +
 .../flink/processor/peak/PeakDetectionProgram.java |   73 +
 .../processor/peak/utils/SlidingBatchWindow.java   |   53 +
 .../pe/flink/processor/rate/EventRate.java         |   40 +
 .../flink/processor/rate/EventRateController.java  |   67 +
 .../flink/processor/rate/EventRateParameter.java   |   37 +
 .../pe/flink/processor/rate/EventRateProgram.java  |   49 +
 .../pe/flink/processor/rename/FieldRenamer.java    |   48 +
 .../processor/rename/FieldRenamerController.java   |   69 +
 .../processor/rename/FieldRenamerParameters.java   |   52 +
 .../processor/rename/FieldRenamerProgram.java      |   38 +
 .../pe/flink/processor/sequence/EventStorage.java  |   41 +
 .../pe/flink/processor/sequence/Sequence.java      |   86 +
 .../processor/sequence/SequenceController.java     |   68 +
 .../processor/sequence/SequenceParameters.java     |   42 +
 .../flink/processor/sequence/SequenceProgram.java  |   46 +
 .../stat/summary/StatisticsSummaryCalculator.java  |   64 +
 .../stat/summary/StatisticsSummaryController.java  |  107 +
 .../stat/summary/StatisticsSummaryParameters.java  |   38 +
 .../stat/summary/StatisticsSummaryProgram.java     |   36 +
 .../window/StatisticsSummaryCalculatorWindow.java  |   69 +
 .../window/StatisticsSummaryControllerWindow.java  |  118 +
 .../window/StatisticsSummaryParametersWindow.java  |   69 +
 .../StatisticsSummaryParamsSerializable.java       |   62 +
 .../window/StatisticsSummaryProgramWindow.java     |   67 +
 .../processor/timestamp/TimestampController.java   |   66 +
 .../processor/timestamp/TimestampEnricher.java     |   42 +
 .../processor/timestamp/TimestampParameters.java   |   38 +
 .../processor/timestamp/TimestampProgram.java      |   37 +
 .../urldereferencing/UrlDereferencing.java         |   60 +
 .../UrlDereferencingController.java                |   71 +
 .../UrlDereferencingParameter.java                 |   42 +
 .../urldereferencing/UrlDereferencingProgram.java  |   38 +
 .../pe/flink/processor/wordcount/Word.java         |   54 +
 .../processor/wordcount/WordCountController.java   |   77 +
 .../processor/wordcount/WordCountParameters.java   |   42 +
 .../processor/wordcount/WordCountProgram.java      |   45 +
 .../pe/flink/processor/wordcount/WordSplitter.java |   44 +
 .../processor/wordcount/WordToEventConverter.java  |   34 +
 .../elasticsearch/ElasticSearchController.java     |   72 +
 .../elasticsearch/ElasticSearchParameters.java     |   58 +
 .../sink/elasticsearch/ElasticSearchProgram.java   |   81 +
 .../ElasticsearchIndexRequestBuilder.java          |   55 +
 .../elastic/ActionRequestFailureHandler.java       |   42 +
 .../elastic/BulkProcessorIndexer.java              |   55 +
 .../elastic/Elasticsearch6ApiCallBridge.java       |  116 +
 .../elastic/ElasticsearchApiCallBridge.java        |   97 +
 .../elasticsearch/elastic/ElasticsearchSink.java   |   93 +
 .../elastic/ElasticsearchSinkBase.java             |  456 ++
 .../elastic/ElasticsearchSinkFunction.java         |   40 +
 .../elasticsearch/elastic/NoOpFailureHandler.java  |   39 +
 .../sink/elasticsearch/elastic/RequestIndexer.java |   37 +
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../documentation.md                               |    0
 .../icon.png                                       |  Bin
 .../strings.en                                     |    0
 .../streampipes-pipeline-elements-shared/pom.xml   |   10 +-
 .../pe/shared/config/kafka/KafkaConfig.java        |   15 +-
 .../pe/shared/config/kafka/KafkaConnectUtils.java  |   32 +-
 .../pe/shared/config/kafka/kafka/KafkaConfig.java  |   13 +-
 .../config/kafka/kafka/KafkaConnectUtils.java      |   39 +-
 .../pe/shared/config/mqtt/MqttConnectUtils.java    |   12 +-
 .../pe/shared/config/nats/NatsConfigUtils.java     |    4 +-
 .../pom.xml                                        |  160 -
 .../flink/AbstractAggregationProgram.java          |   49 -
 .../aggregation/flink/AggregationFlinkInit.java    |   70 -
 .../aggregation/flink/config/ConfigKeys.java       |   26 -
 .../flink/processor/aggregation/Aggregation.java   |   87 -
 .../aggregation/AggregationController.java         |  166 -
 .../aggregation/AggregationParameters.java         |   83 -
 .../processor/aggregation/AggregationProgram.java  |   92 -
 .../processor/aggregation/AggregationType.java     |   26 -
 .../processor/aggregation/CountAggregation.java    |   55 -
 .../processor/aggregation/TimeAggregation.java     |   54 -
 .../flink/processor/count/CountController.java     |   90 -
 .../flink/processor/count/CountMapper.java         |   38 -
 .../flink/processor/count/CountParameters.java     |   50 -
 .../flink/processor/count/CountProgram.java        |   56 -
 .../flink/processor/count/CountTrigger.java        |   46 -
 .../flink/processor/count/TimeWindowConverter.java |   35 -
 .../flink/processor/count/Tuple2MapMapper.java     |   39 -
 .../processor/eventcount/EventCountController.java |   81 -
 .../processor/eventcount/EventCountMapper.java     |   29 -
 .../eventcount/EventCountOutputMapper.java         |   39 -
 .../processor/eventcount/EventCountParameters.java |   42 -
 .../processor/eventcount/EventCountProgram.java    |   45 -
 .../flink/processor/rate/EventRate.java            |   40 -
 .../flink/processor/rate/EventRateController.java  |   71 -
 .../flink/processor/rate/EventRateParameter.java   |   37 -
 .../flink/processor/rate/EventRateProgram.java     |   53 -
 .../pom.xml                                        |   11 +-
 .../jvm/ChangeDetectionJvmInit.java                |    6 +-
 .../changedetection/jvm/cusum/Cusum.java           |  105 -
 .../changedetection/jvm/cusum/CusumController.java |   84 -
 .../jvm/cusum/CusumEventFields.java                |   29 -
 .../changedetection/jvm/cusum/CusumParameters.java |   49 -
 .../jvm/cusum/WelfordAggregate.java                |   60 -
 .../jvm/welford/WelfordChangeDetection.java        |    6 +-
 .../streampipes-processors-enricher-flink/pom.xml  |   98 -
 .../enricher/flink/AbstractEnricherProgram.java    |   49 -
 .../enricher/flink/EnricherFlinkInit.java          |   64 -
 .../enricher/flink/config/ConfigKeys.java          |   26 -
 .../processor/timestamp/TimestampController.java   |   70 -
 .../processor/timestamp/TimestampEnricher.java     |   42 -
 .../processor/timestamp/TimestampParameters.java   |   38 -
 .../processor/timestamp/TimestampProgram.java      |   42 -
 .../urldereferencing/UrlDereferencing.java         |   60 -
 .../UrlDereferencingController.java                |   84 -
 .../UrlDereferencingParameter.java                 |   42 -
 .../urldereferencing/UrlDereferencingProgram.java  |   42 -
 .../streampipes-processors-enricher-jvm/pom.xml    |   11 +-
 .../processors/enricher/jvm/EnricherJvmInit.java   |   12 +-
 .../enricher/jvm/processor/jseval/JSEval.java      |   70 -
 .../jvm/processor/jseval/JSEvalController.java     |   61 -
 .../jvm/processor/jseval/JSEvalParameters.java     |   35 -
 .../jvm/processor/jseval/JSEvalProcessor.java      |   99 +
 .../jvm/processor/math/MathOpProcessor.java        |    6 +-
 .../math/staticmathop/StaticMathOpProcessor.java   |    6 +-
 .../jvm/processor/sizemeasure/SizeMeasure.java     |   70 -
 .../sizemeasure/SizeMeasureController.java         |   78 -
 .../sizemeasure/SizeMeasureParameters.java         |   36 -
 .../sizemeasure/SizeMeasureProcessor.java          |  114 +
 .../trigonometry/TrigonometryProcessor.java        |    6 +-
 .../valuechange/ValueChangeProcessor.java          |    6 +-
 .../streampipes-processors-filters-jvm/pom.xml     |   11 +-
 .../processors/filters/jvm/FiltersJvmInit.java     |    4 +-
 .../booleanfilter/BooleanFilterProcessor.java      |    6 +-
 .../jvm/processor/compose/ComposeProcessor.java    |    6 +-
 .../processor/enrich/MergeByEnrichProcessor.java   |    6 +-
 .../jvm/processor/limit/RateLimitProcessor.java    |    6 +-
 .../jvm/processor/limit/util/WindowFactory.java    |    2 +-
 .../jvm/processor/limit/window/CronWindow.java     |    2 +-
 .../jvm/processor/limit/window/LengthWindow.java   |    2 +-
 .../jvm/processor/limit/window/ScheduleWindow.java |    2 +-
 .../jvm/processor/limit/window/TimeWindow.java     |    2 +-
 .../jvm/processor/merge/MergeByTimeProcessor.java  |    6 +-
 .../movingaverage/MovingAverageProcessor.java      |    8 +-
 .../numericalfilter/NumericalFilterProcessor.java  |   60 +-
 .../NumericalTextFilterProcessor.java              |    6 +-
 .../processor/projection/ProjectionProcessor.java  |    6 +-
 .../processor/schema/MergeBySchemaProcessor.java   |    6 +-
 .../processor/sdt/SwingingDoorTrendingFilter.java  |    2 +-
 .../sdt/SwingingDoorTrendingFilterProcessor.java   |    6 +-
 .../processor/textfilter/TextFilterProcessor.java  |    8 +-
 .../threshold/ThresholdDetectionProcessor.java     |    6 +-
 .../throughputmon/ThroughputMonitorProcessor.java  |    6 +-
 .../streampipes-processors-filters-siddhi/pom.xml  |   13 +-
 .../processors/siddhi/FiltersSiddhiInit.java       |   14 +-
 .../processors/siddhi/count/CountAggregation.java  |    3 +-
 .../processors/siddhi/filter/NumericalFilter.java  |   85 -
 .../siddhi/filter/NumericalFilterController.java   |   93 -
 .../siddhi/filter/NumericalFilterParameters.java   |   50 -
 .../filter/NumericalFilterSiddhiProcessor.java     |  125 +
 .../processors/siddhi/frequency/Frequency.java     |   54 -
 .../siddhi/frequency/FrequencyController.java      |   69 -
 .../siddhi/frequency/FrequencyParameters.java      |   50 -
 .../siddhi/frequency/FrequencySiddhiProcessor.java |   89 +
 .../siddhi/frequencychange/FrequencyChange.java    |   54 -
 .../frequencychange/FrequencyChangeController.java |   74 -
 .../frequencychange/FrequencyChangeParameters.java |   61 -
 .../FrequencyChangeSiddhiProcessor.java            |   93 +
 .../siddhi/listcollector/ListCollector.java        |    3 +-
 .../processors/siddhi/listfilter/ListFilter.java   |    7 +-
 .../processors/siddhi/sequence/Sequence.java       |   57 -
 .../siddhi/sequence/SequenceController.java        |   69 -
 .../siddhi/sequence/SequenceParameters.java        |   40 -
 .../siddhi/sequence/SequenceSiddhiProcessor.java   |   90 +
 .../processors/siddhi/stop/StreamStop.java         |   60 -
 .../siddhi/stop/StreamStopController.java          |   74 -
 .../siddhi/stop/StreamStopParameters.java          |   40 -
 .../siddhi/stop/StreamStopSiddhiProcessor.java     |   94 +
 .../streampipes/processors/siddhi/topk/TopK.java   |    7 +-
 .../streampipes/processors/siddhi/trend/Trend.java |  107 -
 .../processors/siddhi/trend/TrendController.java   |   91 -
 .../processors/siddhi/trend/TrendOperator.java     |   13 +-
 .../processors/siddhi/trend/TrendParameters.java   |   66 -
 .../processors/siddhi/trend/TrendProcessor.java    |  155 +
 .../siddhi/trend/TestTrendProcessor.java           |   31 +-
 .../siddhi/trend/TrendConfigurationVisitor.java    |  156 +
 .../streampipes-processors-geo-flink/pom.xml       |   91 -
 .../processor/geo/flink/AbstractGeoProgram.java    |   47 -
 .../processor/geo/flink/GeoFlinkInit.java          |   63 -
 .../processor/geo/flink/config/ConfigKeys.java     |   26 -
 .../flink/processor/gridenricher/CellOption.java   |  128 -
 .../processor/gridenricher/EnrichmentSettings.java |   84 -
 .../gridenricher/SpatialGridCalculator.java        |   64 -
 .../gridenricher/SpatialGridConstants.java         |   31 -
 .../gridenricher/SpatialGridEnricher.java          |   61 -
 .../SpatialGridEnrichmentController.java           |  106 -
 .../SpatialGridEnrichmentParameters.java           |   36 -
 .../gridenricher/SpatialGridEnrichmentProgram.java |   40 -
 .../streampipes-processors-geo-jvm/pom.xml         |   13 +-
 .../streampipes/processors/geo/jvm/GeoJvmInit.java |    4 +-
 .../buffergeometry/BufferGeomProcessor.java        |    6 +-
 .../bufferpoint/BufferPointProcessor.java          |    6 +-
 .../geo/jvm/jts/processor/epsg/EpsgProcessor.java  |    6 +-
 .../LatLngToJtsPointProcessor.java                 |    6 +-
 .../reprojection/ReprojectionProcessor.java        |    6 +-
 .../trajectory/TrajectoryFromPointsProcessor.java  |    6 +-
 .../complex/TopologyValidationProcessor.java       |    8 +-
 .../simple/GeometryValidationProcessor.java        |    6 +-
 .../HaversineDistanceCalculatorProcessor.java      |    6 +-
 ...HaversineStaticDistanceCalculatorProcessor.java |    6 +-
 .../googlemaps/GoogleMapsGeocoderProcessor.java    |    6 +-
 .../GoogleMapsStaticGeocoderProcessor.java         |    6 +-
 .../geocityname/GeoCityNameRevdecodeProcessor.java |    6 +-
 .../speedcalculator/SpeedCalculatorProcessor.java  |    6 +-
 .../pom.xml                                        |   11 +-
 .../jvm/ImageProcessingJvmInit.java                |    4 +-
 .../GenericImageClassificationProcessor.java       |    6 +-
 .../imagecropper/ImageCropperProcessor.java        |    6 +-
 .../imageenrichment/ImageEnrichmentProcessor.java  |    6 +-
 .../processor/qrreader/QrCodeReaderProcessor.java  |    6 +-
 .../pom.xml                                        |  150 -
 .../flink/AbstractPatternDetectionProgram.java     |   57 -
 .../detection/flink/PatternDetectionFlinkInit.java |   71 -
 .../pattern/detection/flink/config/ConfigKeys.java |   26 -
 .../detection/flink/processor/absence/Absence.java |   21 -
 .../flink/processor/absence/AbsenceController.java |   86 -
 .../flink/processor/absence/AbsenceParameters.java |   55 -
 .../flink/processor/absence/AbsenceProgram.java    |  131 -
 .../pattern/detection/flink/processor/and/And.java |   21 -
 .../flink/processor/and/AndController.java         |   88 -
 .../flink/processor/and/AndParameters.java         |   59 -
 .../detection/flink/processor/and/AndProgram.java  |   79 -
 .../detection/flink/processor/and/TimeUnit.java    |   22 -
 .../flink/processor/and/TimeUnitConverter.java     |   34 -
 .../flink/processor/common/TimestampExtractor.java |   36 -
 .../processor/peak/PeakDetectionCalculator.java    |  135 -
 .../processor/peak/PeakDetectionController.java    |   95 -
 .../processor/peak/PeakDetectionParameters.java    |   84 -
 .../flink/processor/peak/PeakDetectionProgram.java |   77 -
 .../processor/peak/utils/SlidingBatchWindow.java   |   53 -
 .../flink/processor/sequence/EventStorage.java     |   41 -
 .../flink/processor/sequence/Sequence.java         |   86 -
 .../processor/sequence/SequenceController.java     |   72 -
 .../processor/sequence/SequenceParameters.java     |   42 -
 .../flink/processor/sequence/SequenceProgram.java  |   55 -
 .../pom.xml                                        |  103 -
 .../flink/AbstractStatisticsProgram.java           |   49 -
 .../statistics/flink/StatisticsFlinkInit.java      |   65 -
 .../statistics/flink/config/ConfigKeys.java        |   26 -
 .../flink/extensions/MapKeySelector.java           |   43 -
 .../flink/extensions/SlidingBatchWindow.java       |   50 -
 .../flink/extensions/SlidingEventTimeWindow.java   |   79 -
 .../flink/extensions/TimestampMappingFunction.java |   28 -
 .../stat/summary/StatisticsSummaryCalculator.java  |   64 -
 .../stat/summary/StatisticsSummaryController.java  |  111 -
 .../stat/summary/StatisticsSummaryParameters.java  |   38 -
 .../stat/summary/StatisticsSummaryProgram.java     |   40 -
 .../window/StatisticsSummaryCalculatorWindow.java  |   69 -
 .../window/StatisticsSummaryControllerWindow.java  |  122 -
 .../window/StatisticsSummaryParametersWindow.java  |   69 -
 .../StatisticsSummaryParamsSerializable.java       |   62 -
 .../window/StatisticsSummaryProgramWindow.java     |   72 -
 .../pom.xml                                        |  122 -
 .../flink/AbstractTextMiningProgram.java           |   49 -
 .../textmining/flink/TextMiningFlinkInit.java      |   62 -
 .../textmining/flink/config/ConfigKeys.java        |   26 -
 .../processor/language/LanguageDetection.java      |   76 -
 .../language/LanguageDetectionController.java      |   74 -
 .../language/LanguageDetectionParameters.java      |   36 -
 .../language/LanguageDetectionProgram.java         |   40 -
 .../processor/sentiment/SentimentDetection.java    |   21 -
 .../sentiment/SentimentDetectionController.java    |   21 -
 .../sentiment/SentimentDetectionParameters.java    |   21 -
 .../sentiment/SentimentDetectionProgram.java       |   21 -
 .../textmining/flink/processor/wordcount/Word.java |   54 -
 .../processor/wordcount/WordCountController.java   |   82 -
 .../processor/wordcount/WordCountParameters.java   |   42 -
 .../processor/wordcount/WordCountProgram.java      |   49 -
 .../flink/processor/wordcount/WordSplitter.java    |   44 -
 .../processor/wordcount/WordToEventConverter.java  |   34 -
 .../documentation.md                               |   47 -
 .../strings.en                                     |   24 -
 .../streampipes-processors-text-mining-jvm/pom.xml |   13 +-
 .../textmining/jvm/TextMiningJvmInit.java          |   28 +-
 .../textmining/jvm/processor/chunker/Chunker.java  |   99 -
 .../jvm/processor/chunker/ChunkerController.java   |   92 -
 .../jvm/processor/chunker/ChunkerParameters.java   |   47 -
 .../jvm/processor/chunker/ChunkerProcessor.java    |  139 +
 .../jvm/processor/language/LanguageDetection.java  |   79 -
 .../language/LanguageDetectionController.java      |   85 -
 .../language/LanguageDetectionParameters.java      |   41 -
 .../language/LanguageDetectionProcessor.java       |  118 +
 .../jvm/processor/namefinder/NameFinder.java       |   85 -
 .../processor/namefinder/NameFinderController.java |   96 -
 .../processor/namefinder/NameFinderParameters.java |   42 -
 .../processor/namefinder/NameFinderProcessor.java  |  121 +
 .../jvm/processor/partofspeech/PartOfSpeech.java   |   81 -
 .../partofspeech/PartOfSpeechController.java       |   85 -
 .../partofspeech/PartOfSpeechParameters.java       |   42 -
 .../partofspeech/PartOfSpeechProcessor.java        |  120 +
 .../sentencedetection/SentenceDetection.java       |   79 -
 .../SentenceDetectionController.java               |   74 -
 .../SentenceDetectionParameters.java               |   41 -
 .../SentenceDetectionProcessor.java                |  106 +
 .../jvm/processor/tokenizer/Tokenizer.java         |   76 -
 .../processor/tokenizer/TokenizerController.java   |   78 -
 .../processor/tokenizer/TokenizerParameters.java   |   41 -
 .../processor/tokenizer/TokenizerProcessor.java    |  109 +
 .../pom.xml                                        |  124 -
 .../boilerpipe/BoilerpipeDocumentSource.java       |   27 -
 .../boilerpipe/BoilerpipeExtractor.java            |   64 -
 .../kohlschutter/boilerpipe/BoilerpipeFilter.java  |   36 -
 .../kohlschutter/boilerpipe/BoilerpipeInput.java   |   33 -
 .../boilerpipe/BoilerpipeProcessingException.java  |   41 -
 .../boilerpipe/conditions/TextBlockCondition.java  |   36 -
 .../kohlschutter/boilerpipe/document/Image.java    |  108 -
 .../boilerpipe/document/TextBlock.java             |  283 -
 .../boilerpipe/document/TextDocument.java          |  133 -
 .../document/TextDocumentStatistics.java           |   62 -
 .../boilerpipe/document/package-info.java          |    4 -
 .../boilerpipe/estimators/SimpleEstimator.java     |   61 -
 .../boilerpipe/extractors/ArticleExtractor.java    |   64 -
 .../extractors/ArticleSentencesExtractor.java      |   45 -
 .../boilerpipe/extractors/CanolaExtractor.java     |   94 -
 .../boilerpipe/extractors/CommonExtractors.java    |   56 -
 .../boilerpipe/extractors/DefaultExtractor.java    |   47 -
 .../boilerpipe/extractors/ExtractorBase.java       |  109 -
 .../extractors/KeepEverythingExtractor.java        |   39 -
 .../KeepEverythingWithMinKWordsExtractor.java      |   44 -
 .../extractors/LargestContentExtractor.java        |   50 -
 .../extractors/NumWordsRulesExtractor.java         |   43 -
 .../boilerpipe/extractors/package-info.java        |    4 -
 .../boilerpipe/filters/debug/PrintDebugFilter.java |   66 -
 .../filters/english/DensityRulesClassifier.java    |  110 -
 .../filters/english/HeuristicFilterBase.java       |   38 -
 .../english/IgnoreBlocksAfterContentFilter.java    |   78 -
 .../IgnoreBlocksAfterContentFromEndFilter.java     |   74 -
 .../english/KeepLargestFulltextBlockFilter.java    |   81 -
 .../filters/english/MinFulltextWordsFilter.java    |   59 -
 .../filters/english/NumWordsRulesClassifier.java   |  110 -
 .../filters/english/TerminatingBlocksFinder.java   |  109 -
 .../boilerpipe/filters/english/package-info.java   |    7 -
 .../heuristics/AddPrecedingLabelsFilter.java       |   82 -
 .../filters/heuristics/ArticleMetadataFilter.java  |   63 -
 .../filters/heuristics/BlockProximityFusion.java   |  122 -
 .../filters/heuristics/ContentFusion.java          |   72 -
 .../heuristics/DocumentTitleMatchClassifier.java   |  170 -
 .../heuristics/ExpandTitleToContentFilter.java     |   70 -
 .../filters/heuristics/KeepLargestBlockFilter.java |  117 -
 .../boilerpipe/filters/heuristics/LabelFusion.java |   87 -
 .../LargeBlockSameTagLevelToContentFilter.java     |   70 -
 .../filters/heuristics/ListAtEndFilter.java        |   57 -
 .../heuristics/SimpleBlockFusionProcessor.java     |   67 -
 .../TrailingHeadlineToBoilerplateFilter.java       |   64 -
 .../filters/heuristics/package-info.java           |    4 -
 .../filters/simple/BoilerplateBlockFilter.java     |   64 -
 .../boilerpipe/filters/simple/InvertedFilter.java  |   49 -
 .../filters/simple/LabelToBoilerplateFilter.java   |   58 -
 .../filters/simple/LabelToContentFilter.java       |   54 -
 .../simple/MarkEverythingBoilerplateFilter.java    |   49 -
 .../simple/MarkEverythingContentFilter.java        |   48 -
 .../filters/simple/MinClauseWordsFilter.java       |  108 -
 .../boilerpipe/filters/simple/MinWordsFilter.java  |   53 -
 .../filters/simple/SplitParagraphBlocksFilter.java |   79 -
 .../filters/simple/SurroundingToContentFilter.java |   77 -
 .../boilerpipe/filters/simple/package-info.java    |    5 -
 .../boilerpipe/labels/ConditionalLabelAction.java  |   40 -
 .../boilerpipe/labels/DefaultLabels.java           |   46 -
 .../boilerpipe/labels/LabelAction.java             |   47 -
 .../com/kohlschutter/boilerpipe/package-info.java  |    4 -
 .../sax/BoilerpipeHTMLContentHandler.java          |  440 --
 .../boilerpipe/sax/BoilerpipeHTMLParser.java       |   74 -
 .../boilerpipe/sax/BoilerpipeSAXInput.java         |   71 -
 .../boilerpipe/sax/CommonTagActions.java           |  343 -
 .../boilerpipe/sax/DefaultTagActionMap.java        |   81 -
 .../kohlschutter/boilerpipe/sax/HTMLDocument.java  |   56 -
 .../kohlschutter/boilerpipe/sax/HTMLFetcher.java   |   91 -
 .../boilerpipe/sax/HTMLHighlighter.java            |  504 --
 .../boilerpipe/sax/ImageExtractor.java             |  278 -
 .../boilerpipe/sax/InputSourceable.java            |   28 -
 .../boilerpipe/sax/MarkupTagAction.java            |  117 -
 .../com/kohlschutter/boilerpipe/sax/TagAction.java |   38 -
 .../kohlschutter/boilerpipe/sax/TagActionMap.java  |   59 -
 .../kohlschutter/boilerpipe/sax/package-info.java  |    5 -
 .../boilerpipe/util/UnicodeTokenizer.java          |   40 -
 .../kohlschutter/boilerpipe/util/package-info.java |    5 -
 .../flink/AbstractFlinkTransformationProgram.java  |   49 -
 .../flink/TransformationFlinkInit.java             |   74 -
 .../transformation/flink/config/ConfigKeys.java    |   26 -
 .../boilerplate/BoilerplateController.java         |  109 -
 .../boilerplate/BoilerplateParameters.java         |   49 -
 .../processor/boilerplate/BoilerplateProgram.java  |   42 -
 .../processor/boilerplate/BoilerplateRemover.java  |  104 -
 .../flink/processor/boilerplate/ExtractorMode.java |   28 -
 .../flink/processor/boilerplate/OutputMode.java    |   25 -
 .../flink/processor/converter/FieldConverter.java  |   62 -
 .../converter/FieldConverterController.java        |  159 -
 .../converter/FieldConverterParameters.java        |   42 -
 .../processor/converter/FieldConverterProgram.java |   39 -
 .../flink/processor/hasher/FieldHasher.java        |   46 -
 .../processor/hasher/FieldHasherController.java    |   74 -
 .../processor/hasher/FieldHasherParameters.java    |   45 -
 .../flink/processor/hasher/FieldHasherProgram.java |   46 -
 .../processor/hasher/algorithm/HashAlgorithm.java  |   26 -
 .../hasher/algorithm/HashAlgorithmType.java        |   33 -
 .../hasher/algorithm/Md5HashAlgorithm.java         |   32 -
 .../hasher/algorithm/Sha1HashAlgorithm.java        |   32 -
 .../hasher/algorithm/Sha2HashAlgorithm.java        |   32 -
 .../flink/processor/mapper/FieldMapper.java        |   56 -
 .../processor/mapper/FieldMapperController.java    |   93 -
 .../processor/mapper/FieldMapperParameters.java    |   43 -
 .../flink/processor/mapper/FieldMapperProgram.java |   40 -
 .../MeasurementUnitConverter.java                  |   58 -
 .../MeasurementUnitConverterController.java        |  132 -
 .../MeasurementUnitConverterParameters.java        |   52 -
 .../MeasurementUnitConverterProgram.java           |   44 -
 .../flink/processor/rename/FieldRenamer.java       |   48 -
 .../processor/rename/FieldRenamerController.java   |   73 -
 .../processor/rename/FieldRenamerParameters.java   |   52 -
 .../processor/rename/FieldRenamerProgram.java      |   42 -
 .../pom.xml                                        |   13 +-
 .../transformation/jvm/TransformationJvmInit.java  |   58 +-
 .../jvm/processor/array/count/CountArray.java      |   59 -
 .../array/count/CountArrayController.java          |   68 -
 .../array/count/CountArrayParameters.java          |   37 -
 .../processor/array/count/CountArrayProcessor.java |   87 +
 .../jvm/processor/array/split/SplitArray.java      |   86 -
 .../array/split/SplitArrayController.java          |  101 -
 .../array/split/SplitArrayParameters.java          |   43 -
 .../processor/array/split/SplitArrayProcessor.java |  146 +
 .../counter/BooleanCounterProcessor.java           |   63 +-
 .../booloperator/edge/SignalEdgeFilter.java        |  120 -
 .../edge/SignalEdgeFilterController.java           |   85 -
 .../edge/SignalEdgeFilterParameters.java           |   70 -
 .../edge/SignalEdgeFilterProcessor.java            |  161 +
 .../inverter/BooleanInverterProcessor.java         |    8 +-
 .../logical/BooleanOperatorProcessor.java          |    6 +-
 .../booloperator/state/BooleanToState.java         |   70 -
 .../state/BooleanToStateController.java            |  106 -
 .../state/BooleanToStateParameters.java            |   63 -
 .../state/BooleanToStateProcessor.java             |  132 +
 .../timekeeping/BooleanTimekeeping.java            |   95 -
 .../timekeeping/BooleanTimekeepingController.java  |  104 -
 .../timekeeping/BooleanTimekeepingParameters.java  |   48 -
 .../timekeeping/BooleanTimekeepingProcessor.java   |  155 +
 .../processor/booloperator/timer/BooleanTimer.java |   85 -
 .../booloperator/timer/BooleanTimerController.java |  100 -
 .../booloperator/timer/BooleanTimerParameters.java |   48 -
 .../booloperator/timer/BooleanTimerProcessor.java  |  135 +
 .../csvmetadata/CsvMetadataEnrichment.java         |  124 -
 .../CsvMetadataEnrichmentController.java           |  192 -
 .../CsvMetadataEnrichmentParameters.java           |   58 -
 .../CsvMetadataEnrichmentProcessor.java            |  269 +
 .../fieldrename/FiledRenameProcessor.java          |    6 +-
 .../jvm/processor/hasher/FieldHasherProcessor.java |    6 +-
 .../jvm/processor/mapper/FieldMapperProcessor.java |    6 +-
 .../MeasurementUnitConverterProcessor.java         |   11 +-
 .../jvm/processor/state/buffer/StateBuffer.java    |   93 -
 .../state/buffer/StateBufferController.java        |   90 -
 .../state/buffer/StateBufferParameters.java        |   60 -
 .../state/buffer/StateBufferProcessor.java         |  143 +
 .../state/labeler/buffer/StateBufferLabeler.java   |   88 -
 .../buffer/StateBufferLabelerController.java       |  142 -
 .../buffer/StateBufferLabelerParameters.java       |  116 -
 .../buffer/StateBufferLabelerProcessor.java        |  181 +
 .../state/labeler/model/StatementUtils.java        |   12 +-
 .../state/labeler/number/NumberLabeler.java        |   70 -
 .../labeler/number/NumberLabelerController.java    |  119 -
 .../labeler/number/NumberLabelerParameters.java    |   80 -
 .../labeler/number/NumberLabelerProcessor.java     |  139 +
 .../counter/StringCounterProcessor.java            |    6 +-
 .../state/StringToStateProcessor.java              |    6 +-
 .../stringoperator/timer/StringTimerProcessor.java |    6 +-
 .../jvm/processor/task/TaskDuration.java           |   79 -
 .../jvm/processor/task/TaskDurationController.java |   94 -
 .../jvm/processor/task/TaskDurationParameters.java |   48 -
 .../jvm/processor/task/TaskDurationProcessor.java  |  137 +
 .../timestampextractor/TimestampExtractor.java     |  110 -
 .../TimestampExtractorController.java              |  127 -
 .../TimestampExtractorParameters.java              |   45 -
 .../TimestampExtractorProcessor.java               |  195 +
 .../transformtoboolean/TransformToBoolean.java     |   80 -
 .../TransformToBooleanController.java              |  113 -
 .../TransformToBooleanParameters.java              |   37 -
 .../TransformToBooleanProcessor.java               |  156 +
 .../value/change/ChangedValueDetection.java        |   61 -
 .../change/ChangedValueDetectionController.java    |   69 -
 .../change/ChangedValueDetectionParameters.java    |   41 -
 .../change/ChangedValueDetectionProcessor.java     |  122 +
 .../value/duration/CalculateDuration.java          |   71 -
 .../duration/CalculateDurationController.java      |   87 -
 .../duration/CalculateDurationParameters.java      |   57 -
 .../value/duration/CalculateDurationProcessor.java |  113 +
 .../counter/TestBooleanCounterProcessor.java       |   10 +-
 .../inverter/TestBooleanInverterProcessor.java     |    6 +-
 .../counter/TestStringCounterProcessor.java        |    6 +-
 .../state/TestStringToStateProcessor.java          |    4 +-
 .../timer/TestStringTimerProcessor.java            |    4 +-
 .../change/TestChangedValueDetectionProcessor.java |  200 +
 .../streampipes-sinks-brokers-jvm/pom.xml          |   17 +-
 .../sinks/brokers/jvm/BrokersJvmInit.java          |   24 +-
 .../sinks/brokers/jvm/bufferrest/BufferRest.java   |   84 -
 .../jvm/bufferrest/BufferRestController.java       |   72 -
 .../jvm/bufferrest/BufferRestParameters.java       |   51 -
 .../jvm/bufferrest/BufferRestPublisherSink.java    |  118 +
 .../sinks/brokers/jvm/jms/JmsController.java       |   81 -
 .../sinks/brokers/jvm/jms/JmsParameters.java       |   48 -
 .../sinks/brokers/jvm/jms/JmsPublisher.java        |   70 -
 .../sinks/brokers/jvm/jms/JmsPublisherSink.java    |  104 +
 .../sinks/brokers/jvm/kafka/KafkaController.java   |   91 -
 .../sinks/brokers/jvm/kafka/KafkaParameters.java   |   55 +-
 .../sinks/brokers/jvm/kafka/KafkaPublishSink.java  |  118 +
 .../sinks/brokers/jvm/kafka/KafkaPublisher.java    |   86 -
 .../sinks/brokers/jvm/mqtt/MqttClient.java         |    6 +-
 .../sinks/brokers/jvm/mqtt/MqttPublisherSink.java  |    4 +-
 .../sinks/brokers/jvm/mqtt/common/MqttOptions.java |    7 +-
 .../sinks/brokers/jvm/nats/NatsController.java     |   76 +-
 .../sinks/brokers/jvm/nats/NatsParameters.java     |   38 -
 .../sinks/brokers/jvm/nats/NatsPublisher.java      |   83 -
 .../sinks/brokers/jvm/pulsar/PulsarParameters.java |    5 +-
 .../brokers/jvm/pulsar/PulsarPublisherSink.java    |    4 +-
 .../brokers/jvm/rabbitmq/RabbitMqConsumer.java     |   69 -
 .../brokers/jvm/rabbitmq/RabbitMqController.java   |  110 -
 .../brokers/jvm/rabbitmq/RabbitMqParameters.java   |    8 +-
 .../jvm/rabbitmq/RabbitMqPublisherSink.java        |  115 +
 .../sinks/brokers/jvm/rest/RestController.java     |   64 -
 .../sinks/brokers/jvm/rest/RestParameters.java     |   36 -
 .../sinks/brokers/jvm/rest/RestPublisher.java      |   71 -
 .../sinks/brokers/jvm/rest/RestSink.java           |  100 +
 .../brokers/jvm/rocketmq/RocketMQParameters.java   |    5 +-
 .../jvm/rocketmq/RocketMQPublisherSink.java        |    4 +-
 .../sinks/brokers/jvm/tubemq/TubeMQParameters.java |    5 +-
 .../brokers/jvm/tubemq/TubeMQPublisherSink.java    |    4 +-
 .../brokers/jvm/websocket/WebsocketServerSink.java |    4 +-
 .../brokers/jvm/pulsar/TestPulsarParameters.java   |    2 +-
 .../jvm/pulsar/TestPulsarPublisherSink.java        |    2 +-
 .../jvm/rocketmq/TestRocketMQPublisherSink.java    |    2 +-
 .../streampipes-sinks-databases-flink/pom.xml      |  119 -
 .../sinks/databases/flink/DatabasesFlinkInit.java  |   64 -
 .../sinks/databases/flink/config/ConfigKeys.java   |   28 -
 .../elasticsearch/ElasticSearchController.java     |   76 -
 .../elasticsearch/ElasticSearchParameters.java     |   58 -
 .../flink/elasticsearch/ElasticSearchProgram.java  |   99 -
 .../ElasticsearchIndexRequestBuilder.java          |   55 -
 .../elastic/ActionRequestFailureHandler.java       |   42 -
 .../elastic/BulkProcessorIndexer.java              |   55 -
 .../elastic/Elasticsearch6ApiCallBridge.java       |  116 -
 .../elastic/ElasticsearchApiCallBridge.java        |   97 -
 .../elasticsearch/elastic/ElasticsearchSink.java   |   93 -
 .../elastic/ElasticsearchSinkBase.java             |  456 --
 .../elastic/ElasticsearchSinkFunction.java         |   40 -
 .../elasticsearch/elastic/NoOpFailureHandler.java  |   39 -
 .../elasticsearch/elastic/RequestIndexer.java      |   37 -
 .../streampipes-sinks-databases-jvm/pom.xml        |   16 +-
 .../sinks/databases/jvm/DatabasesJvmInit.java      |   28 +-
 .../sinks/databases/jvm/couchdb/CouchDb.java       |   59 -
 .../databases/jvm/couchdb/CouchDbController.java   |   79 -
 .../databases/jvm/couchdb/CouchDbParameters.java   |   61 -
 .../sinks/databases/jvm/couchdb/CouchDbSink.java   |  100 +
 .../sinks/databases/jvm/ditto/Ditto.java           |  120 -
 .../sinks/databases/jvm/ditto/DittoController.java |   81 -
 .../sinks/databases/jvm/ditto/DittoParameters.java |   75 -
 .../sinks/databases/jvm/ditto/DittoSink.java       |  162 +
 .../sinks/databases/jvm/iotdb/IotDb.java           |  129 -
 .../sinks/databases/jvm/iotdb/IotDbController.java |   80 -
 .../sinks/databases/jvm/iotdb/IotDbParameters.java |   87 -
 .../sinks/databases/jvm/iotdb/IotDbSink.java       |  179 +
 .../jdbcclient/model/JdbcConnectionParameters.java |   11 +-
 .../sinks/databases/jvm/opcua/OpcUa.java           |  209 -
 .../sinks/databases/jvm/opcua/OpcUaParameters.java |   99 -
 .../sinks/databases/jvm/opcua/UpcUaController.java |   90 -
 .../sinks/databases/jvm/postgresql/PostgreSql.java |    9 +-
 .../jvm/postgresql/PostgreSqlController.java       |   93 -
 .../jvm/postgresql/PostgreSqlParameters.java       |    3 -
 .../databases/jvm/postgresql/PostgreSqlSink.java   |  108 +
 .../sinks/databases/jvm/redis/Redis.java           |  264 +-
 .../sinks/databases/jvm/redis/RedisController.java |  103 -
 .../sinks/databases/jvm/redis/RedisParameters.java |  234 +-
 .../sinks/databases/jvm/redis/RedisSink.java       |  128 +
 .../strings.en                                     |   34 -
 .../databases/jvm/iotdb/TestIotDbParameters.java   |   52 -
 .../streampipes-sinks-internal-jvm/pom.xml         |   19 +-
 .../sinks/internal/jvm/SinksInternalJvmInit.java   |    8 +-
 .../sinks/internal/jvm/datalake/DataLakeSink.java  |    6 +-
 .../jvm/notification/NotificationProducer.java     |   12 +-
 .../streampipes-sinks-notifications-jvm/pom.xml    |   13 +-
 .../jvm/SinksNotificationsJvmInit.java             |   26 +-
 .../notifications/jvm/email/EmailController.java   |   73 -
 .../notifications/jvm/email/EmailParameters.java   |   58 -
 .../notifications/jvm/email/EmailPublisher.java    |   74 -
 .../sinks/notifications/jvm/email/EmailSink.java   |  113 +
 .../jvm/onesignal/OneSignalController.java         |   69 -
 .../jvm/onesignal/OneSignalParameters.java         |   49 -
 .../jvm/onesignal/OneSignalProducer.java           |   83 -
 .../notifications/jvm/onesignal/OneSignalSink.java |  112 +
 .../notifications/jvm/slack/SlackNotification.java |   99 -
 .../jvm/slack/SlackNotificationController.java     |   76 -
 .../jvm/slack/SlackNotificationParameters.java     |   58 -
 .../jvm/slack/SlackNotificationSink.java           |  142 +
 .../jvm/telegram/TelegramController.java           |   65 -
 .../jvm/telegram/TelegramParameters.java           |   52 -
 .../jvm/telegram/TelegramPublisher.java            |   94 -
 .../notifications/jvm/telegram/TelegramSink.java   |  126 +
 .../streampipes-sources-vehicle-simulator/pom.xml  |   10 +-
 .../pom.xml                                        |   15 +-
 .../watertank/streams/FlowRate2Stream.java         |    1 -
 streampipes-integration-tests/pom.xml              |  166 +-
 .../integration/adapters/AdapterTesterBase.java    |  138 +-
 .../integration/adapters/AdaptersTest.java         |   32 +-
 .../integration/adapters/KafkaAdapterTester.java   |  182 +
 .../integration/adapters/MqttAdapterTester.java    |  150 +
 .../integration/adapters/PulsarAdapterTester.java  |  116 +-
 .../integration/client/ClientLiveDataTest.java     |   31 +
 .../client/ClientLiveDataTesterBase.java           |  117 +
 .../integration/client/ClientNatsTester.java       |   64 +
 .../integration/containers/KafkaContainer.java     |   55 +
 .../integration/containers/KafkaDevContainer.java  |   34 +
 .../integration/containers/MosquittoContainer.java |   54 +
 .../containers/MosquittoDevContainer.java          |   26 +
 .../integration/containers/NatsContainer.java      |   49 +
 .../integration/containers/NatsDevContainer.java   |   27 +
 .../streampipes/integration/utils/Utils.java       |   40 +
 .../src/test/resources/mosquitto.conf              |   21 +
 streampipes-logging/pom.xml                        |    2 +-
 streampipes-mail/pom.xml                           |    6 +-
 .../template/AccountActiviationMailTemplate.java   |    6 -
 .../streampipes/mail/template/part/LogoPart.java   |    2 +-
 .../apache/streampipes/mail/utils/MailUtils.java   |    7 +-
 streampipes-maven-plugin/pom.xml                   |   13 +-
 streampipes-measurement-units/pom.xml              |    7 +-
 .../java/com/github/jqudt/onto/UnitFactory.java    |   24 -
 .../java/com/github/jqudt/onto/units/AreaUnit.java |   23 -
 .../github/jqudt/onto/units/ConcentrationUnit.java |   25 -
 .../com/github/jqudt/onto/units/CountingUnit.java  |   16 -
 .../com/github/jqudt/onto/units/EnergyUnit.java    |   16 -
 .../com/github/jqudt/onto/units/LengthUnit.java    |   19 -
 .../java/com/github/jqudt/onto/units/MassUnit.java |   23 -
 .../jqudt/onto/units/PressureOrStressUnit.java     |   15 -
 .../github/jqudt/onto/units/TemperatureUnit.java   |   18 -
 .../com/github/jqudt/onto/units/VolumeUnit.java    |   18 -
 streampipes-messaging-jms/pom.xml                  |    4 +-
 .../messaging/jms/ActiveMQConnectionProvider.java  |    8 +
 .../messaging/jms/ActiveMQConsumer.java            |   12 +-
 .../messaging/jms/ActiveMQPublisher.java           |   47 +-
 .../streampipes/messaging/jms/SpJmsProtocol.java   |   15 +-
 streampipes-messaging-kafka/pom.xml                |    6 +-
 .../messaging/kafka/SpKafkaConsumer.java           |   14 +-
 .../messaging/kafka/SpKafkaProducer.java           |   12 +-
 .../messaging/kafka/SpKafkaProtocol.java           |   16 +-
 .../kafka/config/AutoOffsetResetConfig.java        |   43 +
 .../kafka/config/ConsumerConfigFactory.java        |    3 +-
 streampipes-messaging-mqtt/pom.xml                 |    4 +-
 .../messaging/mqtt/AbstractMqttConnector.java      |    6 +
 .../streampipes/messaging/mqtt/MqttConsumer.java   |   12 +-
 .../streampipes/messaging/mqtt/MqttPublisher.java  |   12 +-
 .../streampipes/messaging/mqtt/SpMqttProtocol.java |   16 +-
 streampipes-messaging-nats/pom.xml                 |    4 +-
 .../messaging/nats/AbstractNatsConnector.java      |    8 +
 .../streampipes/messaging/nats/NatsConsumer.java   |   22 +-
 .../streampipes/messaging/nats/NatsPublisher.java  |   12 +-
 .../streampipes/messaging/nats/SpNatsProtocol.java |   16 +-
 streampipes-messaging/pom.xml                      |    4 +-
 .../streampipes/messaging/EventConsumer.java       |    6 +-
 .../streampipes/messaging/EventProducer.java       |    5 +-
 .../messaging/SpProtocolDefinition.java            |    5 +-
 streampipes-model-client/pom.xml                   |    6 +-
 streampipes-model-shared/pom.xml                   |    2 +-
 streampipes-model/pom.xml                          |   25 +-
 .../org/apache/streampipes/model/SpDataSet.java    |  121 -
 .../org/apache/streampipes/model/SpDataStream.java |    5 -
 .../model/connect/adapter/AdapterDescription.java  |   67 +-
 .../connect/adapter/AdapterSetDescription.java     |   57 -
 .../connect/adapter/AdapterStreamDescription.java  |   68 -
 .../connect/adapter/GenericAdapterDescription.java |   35 -
 .../adapter/GenericAdapterSetDescription.java      |   79 -
 .../adapter/GenericAdapterStreamDescription.java   |   76 -
 .../adapter/SpecificAdapterSetDescription.java     |   37 -
 .../adapter/SpecificAdapterStreamDescription.java  |   37 -
 .../adapter/migration/GenericAdapterConverter.java |  143 +
 .../adapter/migration/IAdapterConverter.java       |   26 +
 .../adapter/migration/MigrationHelpers.java        |   55 +
 .../migration/SpecificAdapterConverter.java        |   40 +
 .../migration/format/CsvFormatMigrator.java        |   70 +
 .../migration/format/EmptyFormatMigrator.java      |   29 +
 .../adapter/migration/format/FormatMigrator.java   |   26 +
 .../migration/format/JsonFormatMigrator.java       |   71 +
 .../migration/format/XmlFormatMigrator.java        |   49 +
 .../adapter/migration/utils/AdapterModels.java     |   61 +
 .../adapter/migration/utils/DocumentKeys.java      |   25 +
 .../connect/adapter/migration/utils/FormatIds.java |   38 +
 .../migration/utils/GenericAdapterUtils.java       |  313 +
 .../model/connect/grounding/FormatDescription.java |   82 -
 .../model/connect/grounding/ParserDescription.java |   68 +
 .../connect/grounding/ProtocolDescription.java     |    1 +
 .../connect/grounding/ProtocolSetDescription.java  |   41 -
 .../grounding/ProtocolStreamDescription.java       |   41 -
 .../model/connect/guess/FieldStatusInfo.java       |   20 +
 .../model/connect/guess/GuessSchema.java           |   26 +
 .../model/connect/guess/GuessTypeInfo.java         |   19 +
 .../connect/rules/DebugSinkRuleDescription.java    |   27 -
 .../rules/TransformationRuleDescription.java       |    1 -
 .../rules/value/AddTimestampRuleDescription.java   |    4 +
 .../model/file/GenericStorageAttachment.java       |   44 +
 .../model/grounding/EventGrounding.java            |    7 +-
 .../model/message/DataSetModificationMessage.java  |   51 -
 .../apache/streampipes/model/message/Message.java  |    1 -
 .../model/runtime/DataSetStatusMessage.java        |   66 -
 .../streampipes/model/schema/Enumeration.java      |   17 +
 .../streampipes/model/schema/EventProperty.java    |   62 +-
 .../model/schema/EventPropertyList.java            |   21 +
 .../model/schema/EventPropertyNested.java          |   20 +
 .../model/schema/EventPropertyPrimitive.java       |   32 +
 .../streampipes/model/schema/EventSchema.java      |   10 +-
 .../model/schema/QuantitativeValue.java            |   19 +
 .../RuntimeResolvableTreeInputStaticProperty.java  |   55 +
 .../staticproperty/StaticPropertyAlternative.java  |    3 +-
 .../model/staticproperty/TreeInputNode.java        |   14 +
 .../model/template/PipelineTemplateInvocation.java |   12 +-
 .../org/apache/streampipes/model/util/Cloner.java  |   38 +-
 .../apache/streampipes/model/util/ListUtils.java   |   49 +
 .../connect/adapter/AdapterDescriptionTest.java    |    2 +-
 streampipes-pipeline-management/pom.xml            |   42 +-
 .../manager/assets/DocumentationParser.java        |    6 +-
 .../manager/endpoint/EndpointItemFetcher.java      |    3 +-
 .../manager/endpoint/EndpointItemParser.java       |    3 +-
 .../manager/execution/PipelineExecutionInfo.java   |   21 -
 .../ExtensionsServiceEndpointGenerator.java        |   18 +-
 .../ExtensionsServiceEndpointProvider.java         |   12 -
 .../http/DetachPipelineElementSubmitter.java       |    5 -
 .../http/InvokePipelineElementSubmitter.java       |    5 -
 .../execution/http/PipelineElementSubmitter.java   |   11 +-
 .../provider/CurrentPipelineElementProvider.java   |    5 -
 .../provider/PipelineElementProvider.java          |    2 -
 .../provider/StoredPipelineElementProvider.java    |    9 -
 .../execution/task/AfterInvocationTask.java        |    8 +-
 .../execution/task/DiscoverEndpointsTask.java      |   13 -
 .../manager/execution/task/SubmitRequestTask.java  |    3 +-
 .../manager/matching/DataSetGroundingSelector.java |  128 -
 .../streampipes/manager/operations/Operations.java |    7 -
 .../manager/pipeline/PipelineManager.java          |   10 +-
 .../manager/preview/PipelinePreview.java           |    2 -
 .../runtime/PipelineElementRuntimeInfoFetcher.java |   43 +-
 .../storage/RunningPipelineElementStorage.java     |    3 -
 .../manager/template/AdapterTemplateHandler.java   |   12 +-
 .../template/PipelineElementTemplateVisitor.java   |    6 +-
 .../manager/template/PipelineGenerator.java        |   12 +-
 .../template/PipelineTemplateGenerator.java        |   17 +-
 .../PipelineTemplateInvocationGenerator.java       |    2 +-
 .../PipelineTemplateInvocationHandler.java         |    2 +-
 streampipes-platform-services/pom.xml              |   12 +-
 .../streampipes/ps/DataLakeMeasureResourceV3.java  |   57 -
 .../streampipes/ps/DataLakeMeasureResourceV4.java  |   23 +-
 .../apache/streampipes/ps/DataLakeResourceV4.java  |   70 +-
 streampipes-resource-management/pom.xml            |    8 +-
 .../management/DataStreamResourceManager.java      |    3 +-
 .../resource/management/secret/SecretService.java  |    7 +-
 .../management/AdapterResourceManagerTest.java     |    4 +-
 streampipes-rest-core-base/pom.xml                 |   10 +-
 streampipes-rest-extensions/pom.xml                |    8 +-
 .../AbstractPipelineElementResource.java           |   12 +-
 .../extensions/connect/AdapterWorkerResource.java  |   62 +-
 .../rest/extensions/connect/GuessResource.java     |    9 +-
 .../connect/RuntimeResolvableResource.java         |   11 +-
 .../extensions/html/page/WelcomePageGenerator.java |   55 +-
 .../extensions/monitoring/MonitoringResource.java  |    2 +-
 .../pe/DataProcessorPipelineElementResource.java   |   34 +-
 .../pe/DataSinkPipelineElementResource.java        |   33 +-
 .../pe/DataStreamPipelineElementResource.java      |   65 +-
 .../pe/InvocablePipelineElementResource.java       |   72 +-
 .../extensions/pe/PipelineTemplateResource.java    |   35 -
 streampipes-rest-shared/pom.xml                    |    6 +-
 .../shared/impl/AbstractSharedRestInterface.java   |    7 +-
 streampipes-rest/pom.xml                           |   43 +-
 .../apache/streampipes/rest/ResetManagement.java   |   16 +-
 .../rest/filter/TokenAuthenticationFilter.java     |  117 -
 .../rest/impl/PipelineElementRuntimeInfo.java      |    2 -
 .../streampipes/rest/impl/PipelineResource.java    |  109 +-
 .../streampipes/rest/impl/PipelineTemplate.java    |   19 -
 .../apache/streampipes/rest/impl/UserResource.java |   32 +-
 .../admin/ExtensionsServiceEndpointResource.java   |    3 +-
 .../rest/impl/connect/AdapterResource.java         |   10 +-
 .../rest/impl/connect/DescriptionResource.java     |   13 +-
 .../rest/impl/connect/GuessResource.java           |    2 +-
 .../impl/connect/RuntimeResolvableResource.java    |    5 +-
 .../rest/impl/connect/SourcesResource.java         |   81 -
 .../rest/impl/connect/UnitResource.java            |    2 +-
 .../v4/params/WhereStatementParamsTest.java        |   59 -
 streampipes-sdk-bundle/pom.xml                     |   22 +-
 streampipes-sdk/pom.xml                            |   32 +-
 .../apache/streampipes/sdk/StaticProperties.java   |    8 +-
 ...AbstractConfigurablePipelineElementBuilder.java |   14 +-
 .../streampipes/sdk/builder/DataSetBuilder.java    |   80 -
 .../sdk/builder/adapter/AdapterConfiguration.java  |  108 +
 .../adapter/AdapterConfigurationBuilder.java       |   91 +
 .../builder/adapter/AdapterDescriptionBuilder.java |   55 -
 .../builder/adapter/FormatDescriptionBuilder.java  |   64 -
 .../adapter/GenericDataSetAdapterBuilder.java      |   21 -
 .../adapter/GenericDataStreamAdapterBuilder.java   |   86 -
 .../builder/adapter/ParserDescriptionBuilder.java  |   59 +
 .../adapter/ProtocolDescriptionBuilder.java        |   83 -
 .../adapter/SpecificDataSetAdapterBuilder.java     |   68 -
 .../adapter/SpecificDataStreamAdapterBuilder.java  |   68 -
 .../processor/DataProcessorConfiguration.java      |   52 +
 .../sdk/builder/sink/DataSinkConfiguration.java    |   52 +
 .../builder/stream/DataStreamConfiguration.java    |   52 +
 .../sdk/extractor/AbstractParameterExtractor.java  |   52 +-
 .../sdk/extractor/AdapterParameterExtractor.java   |   94 +
 .../sdk/extractor/DataSinkParameterExtractor.java  |    7 +-
 .../ProcessingElementParameterExtractor.java       |    6 +-
 .../sdk/extractor/StaticPropertyExtractor.java     |    4 +-
 .../streampipes/sdk/helpers/AdapterSourceType.java |   33 -
 .../org/apache/streampipes/sdk/helpers/Labels.java |   27 +-
 .../adapter/AdapterConfigurationBuilderTest.java   |  102 +
 .../builder/adapter/AdapterConfigurationTest.java  |   37 +
 .../GenericDataStreamAdapterBuilderTest.java       |   89 -
 .../extractor/AdapterParameterExtractorTest.java   |   62 +
 .../apache/streampipes/sdk/helpers/LabelsTest.java |   41 +
 streampipes-security-jwt/pom.xml                   |    4 +-
 streampipes-serializers-json/pom.xml               |    8 +-
 streampipes-service-base/pom.xml                   |   10 +-
 streampipes-service-core/pom.xml                   |   15 +-
 .../service/core/StreamPipesResourceConfig.java    |    4 -
 .../service/core/WebSecurityConfig.java            |    2 +-
 .../core/filter/TokenAuthenticationFilter.java     |  117 +
 .../core/migrations/AvailableMigrations.java       |    4 +-
 .../core/migrations/v093/AdapterBackupWriter.java  |   63 +
 .../core/migrations/v093/AdapterMigration.java     |  139 +
 .../migrations/v093/migrator/AdapterMigrator.java  |   27 +
 .../v093/migrator/GenericAdapterMigrator.java      |   51 +
 .../v093/migrator/SpecificAdapterMigrator.java     |   51 +
 .../src/main/resources/openapi.yaml                |    2 +-
 streampipes-service-discovery-api/pom.xml          |    2 +-
 streampipes-service-discovery-consul/pom.xml       |   12 +-
 streampipes-service-discovery/pom.xml              |    6 +-
 streampipes-service-extensions/pom.xml             |    6 +-
 .../extensions/ExtensionsModelSubmitter.java       |    2 +-
 .../extensions/ExtensionsResourceConfig.java       |    2 -
 .../service/extensions/ServiceTagProvider.java     |   15 +-
 .../connect/ConnectWorkerRegistrationService.java  |    8 +-
 .../function/StreamPipesFunctionHandler.java       |   14 +-
 streampipes-sources/pom.xml                        |    4 +-
 .../sources/AbstractAdapterIncludedStream.java     |   17 +-
 .../sources/AbstractAlreadyExistingStream.java     |   25 +-
 streampipes-storage-api/pom.xml                    |    6 +-
 .../streampipes/storage/api/IGenericStorage.java   |    7 +
 streampipes-storage-couchdb/pom.xml                |   20 +-
 .../couchdb/impl/ConnectionStorageImpl.java        |    8 +-
 .../storage/couchdb/impl/GenericStorageImpl.java   |   25 +-
 .../storage/couchdb/serializer/GsonSerializer.java |   18 -
 .../streampipes/storage/couchdb/utils/Utils.java   |   15 +
 .../storage/couchdb/utils/TestUrlEscapers.java     |   44 +
 streampipes-storage-management/pom.xml             |    6 +-
 streampipes-test-utils/pom.xml                     |    4 +-
 .../template/PipelineElementTemplateHelpers.java   |    2 +-
 streampipes-user-management/pom.xml                |   14 +-
 streampipes-vocabulary/pom.xml                     |    2 +-
 streampipes-wrapper-distributed/pom.xml            |   15 +-
 .../distributed/runtime/DistributedRuntime.java    |   55 +-
 streampipes-wrapper-flink/pom.xml                  |   16 +-
 .../flink/FlinkDataProcessorCompatProgram.java     |   76 +
 .../wrapper/flink/FlinkDataProcessorDeclarer.java  |   46 +-
 .../wrapper/flink/FlinkDataProcessorProgram.java   |   30 +
 .../wrapper/flink/FlinkDataProcessorRuntime.java   |   92 +-
 .../wrapper/flink/FlinkDataSinkCompatProgram.java  |   38 +
 .../wrapper/flink/FlinkDataSinkDeclarer.java       |   43 +-
 .../wrapper/flink/FlinkDataSinkProgram.java        |   30 +
 .../wrapper/flink/FlinkDataSinkRuntime.java        |   55 +-
 .../streampipes/wrapper/flink/FlinkRuntime.java    |  137 +-
 .../wrapper/flink/FlinkRuntimeProvider.java        |   37 +
 .../wrapper/flink/IDataProcessorProgram.java       |   28 +
 .../wrapper/flink/IDataSinkProgram.java            |   28 +
 .../streampipes/wrapper/flink/IFlinkProgram.java   |   39 +
 .../wrapper/flink/consumer/JmsFlinkConsumer.java   |   12 +-
 .../wrapper/flink/consumer/MqttFlinkConsumer.java  |   12 +-
 .../flink/converter/MapToEventConverter.java       |   15 +-
 .../wrapper/flink/sink/JmsFlinkProducer.java       |    4 +-
 .../wrapper/flink/sink/MqttFlinkProducer.java      |    4 +-
 .../flink/status/PipelineElementStatusSender.java  |   46 -
 .../status/PipelineElementStatusSenderFactory.java |   42 -
 streampipes-wrapper-kafka-streams/pom.xml          |    9 +-
 .../wrapper/kafka/KafkaStreamRuntimeProvider.java  |   38 +
 .../kafka/KafkaStreamsDataProcessorDeclarer.java   |   27 -
 .../kafka/KafkaStreamsDataProcessorRuntime.java    |   79 +-
 .../kafka/KafkaStreamsDataSinkDeclarer.java        |   25 -
 .../wrapper/kafka/KafkaStreamsDataSinkRuntime.java |   28 +-
 .../wrapper/kafka/KafkaStreamsOutputCollector.java |   69 +
 .../wrapper/kafka/KafkaStreamsRuntime.java         |   78 +-
 .../wrapper/kafka/converter/MapToJsonFormat.java   |   45 -
 streampipes-wrapper-python/README.md               |   91 +-
 streampipes-wrapper-python/pom.xml                 |    7 +-
 streampipes-wrapper-python/requirements.txt        |    4 +-
 streampipes-wrapper-python/setup.py                |    3 +-
 streampipes-wrapper-python/streampipes/api/rest.py |    2 +
 streampipes-wrapper-python/streampipes/core.py     |    3 +
 streampipes-wrapper-python/streampipes/declarer.py |    4 +-
 .../streampipes/instances.py                       |    7 +-
 streampipes-wrapper-python/streampipes/manager.py  |    2 +
 .../model/base/abstract_streampipes_entity.py      |    3 +
 .../model/base/consumable_streampipes_entity.py    |    3 +
 .../model/base/named_streampipes_entity.py         |    3 +
 .../model/base/unnamed_streampipes_entity.py       |    4 +
 .../streampipes/model/config_item.py               |    2 +
 .../model/graph/data_processor_description.py      |    2 +
 .../streampipes/model/pipeline_element_config.py   |    2 +
 .../staticproperty/free_text_StaticProperty.py     |    5 +-
 .../model/staticproperty/static_property.py        |    3 +
 .../streampipes/submitter.py                       |    3 +-
 .../streampipes/utils/register.py                  |    2 +
 streampipes-wrapper-siddhi/pom.xml                 |    9 +-
 .../wrapper/siddhi/engine/SiddhiEngine.java        |   13 +-
 .../wrapper/siddhi/engine/SiddhiEventEngine.java   |   68 -
 .../siddhi/engine/SiddhiStatementGenerator.java    |    6 +-
 .../siddhi/engine/StreamPipesSiddhiProcessor.java  |   36 +-
 .../callback/SiddhiOutputStreamCallback.java       |   18 +-
 .../engine/generator/EventTypeGenerator.java       |    8 +-
 .../engine/generator/InputStreamNameGenerator.java |    8 +-
 .../engine/generator/SiddhiAppGenerator.java       |    9 +-
 .../generator/SiddhiInvocationConfigGenerator.java |   22 +-
 .../siddhi/model/SiddhiProcessorParams.java        |   10 +-
 .../wrapper/siddhi/utils/SiddhiUtils.java          |    8 +-
 streampipes-wrapper-standalone/pom.xml             |    4 +-
 .../AbstractConfiguredPipelineElement.java         |   46 -
 .../standalone/ConfiguredEventProcessor.java       |   33 -
 .../wrapper/standalone/ConfiguredEventSink.java    |   34 -
 .../ConfiguredExternalEventProcessor.java          |   33 -
 .../standalone/ConfiguredExternalEventSink.java    |   32 -
 .../wrapper/standalone/ProcessorParams.java        |   36 -
 .../streampipes/wrapper/standalone/SinkParams.java |   36 -
 .../standalone/StreamPipesDataProcessor.java       |   54 +-
 .../wrapper/standalone/StreamPipesDataSink.java    |   50 +-
 .../StreamPipesExternalDataProcessor.java          |  148 -
 .../StandaloneEventProcessingDeclarer.java         |   55 -
 .../StandaloneEventProcessorDeclarerSingleton.java |   60 -
 .../declarer/StandaloneEventSinkDeclarer.java      |   55 -
 .../StandaloneEventSinkDeclarerSingleton.java      |   54 -
 .../StandaloneExternalEventProcessingDeclarer.java |   55 -
 .../StandaloneExternalEventSinkDeclarer.java       |   61 -
 .../standalone/function/FunctionContext.java       |    4 +-
 .../function/FunctionContextGenerator.java         |    7 +-
 .../standalone/function/StreamPipesFunction.java   |    8 +-
 .../standalone/routing/StandaloneSpCollector.java  |    2 +-
 .../routing/StandaloneSpInputCollector.java        |   18 +-
 .../routing/StandaloneSpOutputCollector.java       |   16 +-
 .../runtime/StandaloneEventProcessorRuntime.java   |   89 +-
 .../runtime/StandaloneEventSinkRuntime.java        |   68 +-
 .../StandaloneExternalEventProcessorRuntime.java   |   69 -
 .../StandaloneExternalEventSinkRuntime.java        |   69 -
 .../runtime/StandalonePipelineElementRuntime.java  |  116 +-
 .../StandaloneStreamPipesRuntimeProvider.java      |   38 +
 streampipes-wrapper/pom.xml                        |   19 +-
 .../context/EventProcessorRuntimeContext.java      |   29 -
 .../wrapper/context/EventSinkRuntimeContext.java   |   21 -
 .../wrapper/context/RuntimeContext.java            |   43 -
 .../context/SpEventProcessorRuntimeContext.java    |   28 +-
 .../wrapper/context/SpEventSinkRuntimeContext.java |   12 +-
 .../wrapper/context/SpRuntimeContext.java          |   26 +-
 .../generator/DataProcessorContextGenerator.java   |   39 +
 .../generator/DataSinkContextGenerator.java        |   38 +
 .../wrapper/declarer/EventProcessorDeclarer.java   |   48 -
 .../wrapper/declarer/EventSinkDeclarer.java        |   43 -
 .../wrapper/declarer/PipelineElementDeclarer.java  |   75 -
 .../wrapper/params/DataProcessorParameters.java    |   98 +
 .../wrapper/params/DataSinkParameters.java         |   43 +
 .../wrapper/params/InternalRuntimeParameters.java  |   39 +
 .../wrapper/params/PipelineElementParameters.java  |  115 +
 .../wrapper/params/binding/BindingParams.java      |   72 -
 .../binding/EventProcessorBindingParams.java       |   75 -
 .../params/binding/EventSinkBindingParams.java     |   39 -
 .../wrapper/params/binding/InputStreamParams.java  |   86 -
 .../wrapper/params/binding/OutputStreamParams.java |   58 -
 .../wrapper/params/compat/ProcessorParams.java     |  126 +
 .../wrapper/params/compat/SinkParams.java          |   97 +
 .../generator/DataProcessorParameterGenerator.java |   55 +
 .../generator/DataSinkParameterGenerator.java      |   51 +
 .../PipelineElementParameterGenerator.java         |   58 +
 .../runtime/EventProcessorRuntimeParams.java       |   54 -
 .../params/runtime/EventSinkRuntimeParams.java     |   50 -
 .../wrapper/params/runtime/RuntimeParams.java      |  112 -
 .../wrapper/routing/PipelineElementCollector.java  |   32 -
 .../wrapper/routing/RawDataProcessor.java          |   25 -
 .../wrapper/routing/SpInputCollector.java          |   24 -
 .../wrapper/routing/SpOutputCollector.java         |   30 -
 .../wrapper/runtime/EventProcessor.java            |   38 -
 .../streampipes/wrapper/runtime/EventSink.java     |   35 -
 .../wrapper/runtime/ExternalEventProcessor.java    |   31 -
 .../wrapper/runtime/ExternalEventSink.java         |   30 -
 .../wrapper/runtime/PipelineElement.java           |   30 -
 .../wrapper/runtime/PipelineElementRuntime.java    |   63 +-
 tools/maven/checkstyle.xml                         |    2 +-
 ui/.gitignore                                      |    3 +-
 ui/.prettierignore                                 |    6 +
 ui/Dockerfile                                      |   13 +
 ui/README.md                                       |    2 +-
 ui/cypress/fixtures/connect/format/geoJson.json    |   23 +-
 ui/cypress/support/builder/AdapterBuilder.ts       |  117 +
 .../support/builder/GenericAdapterBuilder.ts       |  102 -
 ui/cypress/support/builder/ProcessorTestBuilder.ts |   44 -
 .../support/builder/SpecificAdapterBuilder.ts      |   75 -
 ui/cypress/support/model/AdapterInput.ts           |    6 +
 ui/cypress/support/model/GenericAdapterInput.ts    |   26 -
 ui/cypress/support/model/SpecificAdapterInput.ts   |   24 -
 ui/cypress/support/utils/DashboardUtils.ts         |    9 +
 ui/cypress/support/utils/PipelineUtils.ts          |    8 -
 ui/cypress/support/utils/PrepareTestDataUtils.ts   |   21 +-
 .../support/utils/ProcessingElementTestUtils.ts    |   19 +-
 ui/cypress/support/utils/StaticPropertyUtils.ts    |    2 +-
 .../support/utils/ThirdPartyIntegrationUtils.ts    |   16 +-
 ui/cypress/support/utils/connect/ConnectBtns.ts    |   60 +-
 ui/cypress/support/utils/connect/ConnectUtils.ts   |   78 +-
 ui/cypress/support/utils/datalake/DataLakeUtils.ts |   52 +-
 .../adapter/createAdapterWithoutStarting.spec.ts   |    8 +-
 ui/cypress/tests/adapter/editAdapter.smoke.spec.ts |   13 +-
 ui/cypress/tests/adapter/fileStream.smoke.spec.ts  |   11 +-
 ui/cypress/tests/adapter/formats/format.spec.ts    |  121 +-
 .../adapter/machineDataSimulator.smoke.spec.ts     |   10 +-
 ui/cypress/tests/adapter/opcAdapter.ts             |   11 +-
 .../tests/adapter/persistInDataLake.smoke.spec.ts  |   11 +-
 .../tests/adapter/randomDataSimulatorStream.ts     |    6 +-
 .../dashboard/standaloneDashboardTest.spec.ts      |   46 +
 .../tests/datalake/configuration.smoke.spec.ts     |    7 +-
 ui/cypress/tests/datalake/widgets/table.ts         |    2 +-
 .../tests/pipelineElement/SinglePipelineElement.ts |    2 +-
 ui/cypress/tests/thirdparty/InfluxDb.smoke.spec.ts |    4 +-
 ui/cypress/tests/thirdparty/Kafka.smoke.spec.ts    |    7 +-
 ui/cypress/tests/thirdparty/Mqtt.ts                |    2 +-
 ui/deployment/_variables.scss                      |  132 +
 ui/deployment/base-navigation.component.mst        |    2 +-
 ui/deployment/modules.yml                          |    2 +-
 ui/deployment/prebuild.js                          |   18 +-
 ui/deployment/sp-theme.scss                        |  333 -
 ui/nginx_config/nginx.conf                         |    2 +-
 ui/package-lock.json                               | 7764 ++++++++------------
 ui/package.json                                    |   26 +-
 .../streampipes/platform-services/package.json     |    2 +-
 .../src/lib/apis/adapter.service.ts                |   26 +-
 .../src/lib/apis/labels.service.ts                 |   64 +
 .../lib/apis/pipeline-element-template.service.ts  |   25 +-
 .../src/lib/apis/pipeline-element.service.ts       |   18 +-
 .../src/lib/model/gen/streampipes-model-client.ts  |  102 +-
 .../src/lib/model/gen/streampipes-model.ts         |  478 +-
 .../src/lib/model/labels/labels.model.ts           |   26 +
 .../platform-services/src/public-api.ts            |    2 +
 .../basic-nav-tabs/basic-nav-tabs.component.html   |    7 +-
 .../basic-view/basic-view.component.scss           |    7 +-
 .../components/sp-label/sp-label.component.html    |   28 +
 .../components/sp-label/sp-label.component.scss    |   27 +
 .../lib/components/sp-label/sp-label.component.ts  |   54 +
 .../split-section/split-section.component.html     |    0
 .../split-section/split-section.component.scss     |    0
 .../split-section/split-section.component.ts       |    0
 .../shared-ui/src/lib/shared-ui.module.ts          |    6 +
 .../streampipes/shared-ui/src/public-api.ts        |    2 +
 .../endpoint-item/endpoint-item.component.ts       |    2 -
 .../assets/dialog/base-asset-links.directive.ts    |    4 +-
 .../edit-asset-link-dialog.component.ts            |    7 -
 .../manage-asset-links-dialog.component.ts         |    9 -
 ui/src/app/configuration/configuration-tabs.ts     |   15 +-
 ui/src/app/configuration/configuration.module.ts   |   10 +
 .../edit-label/edit-label.component.html           |   66 +
 .../edit-label/edit-label.component.scss           |   26 +
 .../edit-label/edit-label.component.ts             |   52 +
 .../label-configuration.component.html             |   94 +
 .../label-configuration.component.scss             |   22 +
 .../label-configuration.component.ts               |   72 +
 .../adapter-configuration-header.component.html    |   10 +-
 .../adapter-configuration-header.component.scss    |    4 -
 .../adapter-configuration-header.component.ts      |    5 -
 .../adapter-configuration.component.html           |   29 +-
 .../adapter-configuration.component.ts             |   57 +-
 .../adapter-settings.component.html}               |    0
 .../adapter-settings.component.scss}               |    0
 .../adapter-settings/adapter-settings.component.ts |   84 +
 .../adapter-template-configuration.directive.ts    |   10 +-
 .../format-configuration.component.html            |   78 -
 .../format-configuration.component.ts              |  131 -
 .../format-item-json.component.html                |   28 -
 .../format-item-json.component.scss                |   46 -
 .../format-item-json/format-item-json.component.ts |   31 -
 .../format-item/format-item.component.html         |   30 -
 .../format-item/format-item.component.scss         |   46 -
 .../format-item/format-item.component.ts           |   62 -
 .../format-list/format-list.component.html         |   51 -
 .../format-list/format-list.component.scss         |   32 -
 .../format-list/format-list.component.ts           |   94 -
 .../generic-adapter-configuration.component.html   |  101 -
 .../generic-adapter-configuration.component.scss   |   21 -
 .../generic-adapter-configuration.component.ts     |  102 -
 .../event-property-row.component.ts                |   26 +-
 .../specific-adapter-configuration.component.scss  |   21 -
 .../specific-adapter-configuration.component.ts    |   88 -
 .../start-adapter-configuration.component.ts       |    4 +-
 .../abstract-adapter-details.directive.ts          |    4 +-
 .../adapter-description.component.html             |   15 -
 .../adapter-description.component.ts               |   26 +-
 .../data-marketplace/data-marketplace.component.ts |   27 +-
 .../edit-adapter/edit-adapter.component.ts         |    4 +-
 .../existing-adapters.component.html               |   69 +-
 .../existing-adapters.component.ts                 |   33 +-
 .../filter-toolbar/filter-toolbar.component.html   |   17 -
 .../filter-toolbar/filter-toolbar.component.ts     |    1 -
 .../new-adapter/new-adapter.component.ts           |    6 +-
 ui/src/app/connect/connect.module.ts               |   16 +-
 .../adapter-started-dialog.component.html          |   20 +-
 .../adapter-started-dialog.component.ts            |   28 +-
 .../delete-adapter-dialog.component.ts             |    4 +-
 .../edit-schema-transformation.component.html      |    3 +-
 .../edit-correction-value.component.ts             |    3 +-
 .../edit-event-property.component.ts               |    2 +-
 .../all-adapter-actions-dialog.component.ts        |   16 +-
 ui/src/app/connect/filter/adapter-filter.pipe.ts   |   31 +-
 ui/src/app/connect/services/connect.service.ts     |  134 +-
 ui/src/app/connect/services/rest.service.ts        |   28 +-
 ui/src/app/core-ui/core-ui.module.ts               |    3 -
 .../static-alternatives.component.html             |   20 +-
 .../static-alternatives.component.ts               |   66 +-
 .../static-group/static-group.component.html       |    1 +
 .../static-group/static-group.component.ts         |   35 +-
 .../static-property.component.html                 |    1 +
 .../base-runtime-resolvable-input.ts               |    7 +-
 ...tic-runtime-resolvable-oneof-input.component.ts |    1 -
 .../static-tree-input.component.html               |  262 +-
 .../static-tree-input.component.scss               |   59 +-
 .../static-tree-input.component.ts                 |  123 +-
 .../core/components/iconbar/iconbar.component.scss |    2 +-
 .../streampipes/streampipes.component.html         |    7 +-
 .../streampipes/streampipes.component.scss         |    3 +-
 .../streampipes/streampipes.component.ts           |   10 +
 .../core/components/toolbar/toolbar.component.ts   |    1 +
 .../standalone/standalone-dashboard.component.html |    1 +
 .../standalone/standalone-dashboard.component.ts   |   25 +-
 .../add-visualization-dialog.component.html        |    9 +-
 .../add-visualization-dialog.component.scss        |    5 +
 .../add-visualization-dialog.component.ts          |    2 +-
 ...lorer-widget-appearance-settings.component.html |   60 +-
 ...ta-explorer-widget-data-settings.component.html |    9 +-
 .../field-selection/field-selection.component.html |    2 +-
 .../field-selection/field-selection.component.scss |    2 +-
 ...-explorer-visualisation-settings.component.html |   15 +-
 .../data-explorer-dashboard-panel.component.html   |    2 +-
 .../correlation-chart-widget-config.component.html |    9 +-
 ...distribution-chart-widget-config.component.html |    9 +-
 .../config/table-widget-config.component.html      |    9 +-
 .../widgets/table/table-widget.component.html      |    1 +
 .../aggregate-configuration.component.html         |   16 +-
 .../select-color-properties.component.html         |   58 +-
 .../select-color-properties.component.scss         |    6 +
 .../select-property/select-property.component.html |    7 +-
 .../pipeline-assembly.component.html               |    2 +-
 .../pipeline-element-icon-stand.component.html     |    5 +-
 .../pipeline-element-icon-stand.component.scss     |    1 -
 .../pipeline-element-options.component.ts          |    1 -
 .../components/pipeline/pipeline.component.ts      |   36 +-
 ui/src/app/editor/constants/editor.constants.ts    |    2 -
 .../pipeline-element-discovery.component.ts        |    3 -
 ui/src/app/editor/editor.component.html            |    7 +-
 ui/src/app/editor/editor.component.scss            |    4 +
 ui/src/app/editor/model/editor.model.ts            |    3 -
 ui/src/app/editor/services/editor.service.ts       |   29 +-
 .../app/editor/services/jsplumb-bridge.service.ts  |    7 +-
 .../app/editor/services/jsplumb-config.service.ts  |    8 +-
 .../app/editor/services/jsplumb-factory.service.ts |    6 +-
 ui/src/app/editor/services/jsplumb.service.ts      |   74 +-
 .../services/pipeline-positioning.service.ts       |    2 +-
 .../app/editor/services/pipeline-style.service.ts  |    2 +-
 .../editor/services/pipeline-validation.service.ts |    2 +-
 ui/src/app/editor/utils/editor.utils.ts            |   16 +-
 ui/src/app/home/home.component.scss                |    5 +
 ui/src/app/login/services/login.service.ts         |    5 +-
 .../notifications/service/notifications.service.ts |    5 +-
 .../monitoring/pipeline-monitoring.component.ts    |    2 -
 .../pipeline-element-statistics.component.ts       |    4 -
 ui/src/app/profile/profile.module.ts               |    2 +
 ui/src/app/services/rest-api.service.ts            |    7 +-
 ui/src/scss/_variables.scss                        |   41 -
 ui/src/scss/main.scss                              |    5 -
 ui/src/scss/sp/animations.ng1.scss                 |  118 -
 ui/src/scss/sp/buttons.ng1.scss                    |    6 +
 ui/src/scss/sp/buttons.scss                        |    2 +-
 ui/src/scss/sp/colors.scss                         |   70 -
 ui/src/scss/sp/data-explorer.scss                  |    4 +-
 ui/src/scss/sp/forms.scss                          |   15 +
 ui/src/scss/sp/input.ng1.scss                      |   88 -
 ui/src/scss/sp/layout.scss                         |    1 +
 ui/src/scss/sp/main.scss                           |  620 +-
 ui/src/scss/sp/pipeline-assembly.scss              |   17 -
 ui/src/scss/sp/sp-theme.scss                       |  267 +
 1988 files changed, 52655 insertions(+), 60854 deletions(-)
 create mode 100644 .github/workflows/osv-scanner.yml
 create mode 100644 .github/workflows/stale-bot.yml
 create mode 100644 VULNERABILITY.md
 create mode 100644 streampipes-client-api/pom.xml
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/CRUDApi.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IAdminApi.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/ICustomRequestApi.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IDataLakeMeasureApi.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IDataProcessorApi.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IDataSinkApi.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IDataStreamApi.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IFileApi.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/INotificationsApi.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IPipelineApi.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IPipelineElementTemplateApi.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/IStreamPipesClient.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/annotation/NotYetImplemented.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/config/ClientConnectionConfigResolver.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/config/ClientConnectionUrlResolver.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/config/IStreamPipesClientConfig.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/constants/InputStreamIndex.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/credentials/CredentialsProvider.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/live/EventProcessor.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/live/IBrokerConfigOverride.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/live/IConfiguredEventProducer.java
 create mode 100644 streampipes-client-api/src/main/java/org/apache/streampipes/client/api/live/ISubscription.java
 create mode 100644 streampipes-client-python/docs/img/interrogate_badge.svg
 create mode 100644 streampipes-client-python/docs/overrides/404.html
 create mode 100644 streampipes-client-python/streampipes/endpoint/api/version.py
 create mode 100644 streampipes-client-python/streampipes/functions/broker/consumer.py
 copy streampipes-client-python/streampipes/{ => functions/broker/kafka}/__init__.py (100%)
 create mode 100644 streampipes-client-python/streampipes/functions/broker/kafka/kafka_consumer.py
 create mode 100644 streampipes-client-python/streampipes/functions/broker/kafka/kafka_message_fetcher.py
 create mode 100644 streampipes-client-python/streampipes/functions/broker/kafka/kafka_publisher.py
 delete mode 100644 streampipes-client-python/streampipes/functions/broker/kafka_broker.py
 delete mode 100644 streampipes-client-python/streampipes/functions/broker/kafka_message_fetcher.py
 copy streampipes-client-python/streampipes/{ => functions/broker/nats}/__init__.py (100%)
 create mode 100644 streampipes-client-python/streampipes/functions/broker/nats/nats_consumer.py
 create mode 100644 streampipes-client-python/streampipes/functions/broker/nats/nats_publisher.py
 delete mode 100644 streampipes-client-python/streampipes/functions/broker/nats_broker.py
 create mode 100644 streampipes-client-python/streampipes/functions/broker/publisher.py
 create mode 100644 streampipes-client-python/streampipes/model/container/versions.py
 delete mode 100644 streampipes-client-python/streampipes/model/resource/data_lake_series.py
 create mode 100644 streampipes-client-python/streampipes/model/resource/data_series.py
 create mode 100644 streampipes-client-python/streampipes/model/resource/exceptions.py
 create mode 100644 streampipes-client-python/streampipes/model/resource/query_result.py
 create mode 100644 streampipes-client-python/streampipes/model/resource/version.py
 create mode 100644 streampipes-client-python/streampipes/py.typed
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/annotation/NotYetImplemented.java
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/api/CRUDApi.java
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/api/SupportsDataProcessorApi.java
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/api/SupportsDataSinkApi.java
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/api/SupportsDataStreamApi.java
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/api/SupportsPipelineApi.java
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/api/SupportsPipelineElementTemplateApi.java
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/credentials/CredentialsProvider.java
 create mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/live/ConfiguredEventProducer.java
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/live/EventProcessor.java
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/live/KafkaConfig.java
 create mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/live/ProducerManager.java
 create mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/live/Subscription.java
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/model/ClientConnectionConfigResolver.java
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/model/ClientConnectionUrlResolver.java
 delete mode 100644 streampipes-client/src/main/java/org/apache/streampipes/client/model/InputStreamIndex.java
 create mode 100644 streampipes-commons/src/main/java/org/apache/streampipes/commons/exceptions/SpHttpErrorStatusCode.java
 create mode 100644 streampipes-commons/src/main/java/org/apache/streampipes/commons/exceptions/connect/AdapterException.java
 create mode 100644 streampipes-commons/src/main/java/org/apache/streampipes/commons/exceptions/connect/ParseException.java
 create mode 100644 streampipes-commons/src/main/java/org/apache/streampipes/commons/resources/Resources.java
 create mode 100644 streampipes-commons/src/test/java/TestResources.java
 create mode 100644 streampipes-commons/src/test/resources/test.txt
 delete mode 100644 streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/configs/CouchDbConfigurations.java
 delete mode 100644 streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/configs/CouchDbEnvKeys.java
 delete mode 100644 streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/configs/DataExplorerConfigurations.java
 delete mode 100644 streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/configs/DataExplorerEnvKeys.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/DataExplorerQueryManagement.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/DataExplorerSchemaManagement.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/DataLakeManagementV4.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/DataLakeNoUserManagementV3.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/api/IDataExplorerQueryManagement.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/api/IDataExplorerSchemaManagement.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/api/IQueryStatement.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/influx/DataExplorerInfluxQueryExecutor.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/influx/DataLakeInfluxQueryBuilder.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/DeleteQueryParams.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/ProvidedRestQueryParamConverter.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/ProvidedRestQueryParams.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/SelectQueryParams.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/SupportedRestQueryParams.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/AggregationFunction.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/FillClauseParams.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/GroupByTagsClauseParams.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/GroupByTimeClauseParams.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/LimitClauseParams.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/OffsetClauseParams.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/OrderByClauseParams.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectClauseParams.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectColumn.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/WhereClauseParams.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/AutoAggregationHandler.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/DataExplorerQueryExecutor.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/QueryResultProvider.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/StreamedQueryResultProvider.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/writer/ConfiguredCsvOutputWriter.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/writer/ConfiguredJsonOutputWriter.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/writer/ConfiguredOutputWriter.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/writer/OutputFormat.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/writer/item/CsvItemWriter.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/writer/item/ItemGenerator.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/writer/item/JsonItemWriter.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/querybuilder/DataLakeQueryOrdering.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/querybuilder/FilterCondition.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/querybuilder/IDataLakeQueryBuilder.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/sdk/DataLakeQueryBuilder.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/sdk/DataLakeQueryConstants.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/sdk/DataLakeQueryOrdering.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/sdk/IDataLakeQueryBuilder.java
 create mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/utils/TimeParser.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/AutoAggregationHandler.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/ProvidedQueryParams.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/SupportedDataLakeQueryParameters.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/ColumnFunction.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/DeleteFromStatementParams.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/FillParams.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/GroupingByTagsParams.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/GroupingByTimeParams.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/ItemLimitationParams.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/OffsetParams.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/OrderingByTimeParams.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/QueryParamsV4.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/SelectColumn.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/SelectFromStatementParams.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/TimeBoundaryParams.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/WhereCondition.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/params/WhereStatementParams.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/DataExplorerQueryV4.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/QueryBuilder.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/QueryResultProvider.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/StreamedQueryResultProvider.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/elements/DeleteFromStatement.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/elements/FillStatement.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/elements/GroupingByTags.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/elements/GroupingByTime.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/elements/ItemLimitation.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/elements/Offset.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/elements/OrderingByTime.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/elements/QueryElement.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/elements/SelectFromStatement.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/elements/TimeBoundary.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/elements/WhereStatement.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/writer/ConfiguredCsvOutputWriter.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/writer/ConfiguredJsonOutputWriter.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/writer/ConfiguredOutputWriter.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/writer/OutputFormat.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/writer/item/CsvItemWriter.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/writer/item/ItemGenerator.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/writer/item/JsonItemWriter.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/template/QueryTemplatesV4.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/utils/DataLakeManagementUtils.java
 delete mode 100644 streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/utils/TimeParser.java
 create mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/param/SelectQueryParamsTest.java
 create mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/param/WhereStatementParamsTest.java
 create mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/query/writer/TestConfiguredCsvOutputWriter.java
 create mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/query/writer/TestConfiguredJsonOutputWriter.java
 create mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/query/writer/TestConfiguredOutputWriter.java
 create mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/query/writer/item/TestCsvItemWriter.java
 create mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/query/writer/item/TestItemWriter.java
 create mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/query/writer/item/TestJsonItemWriter.java
 create mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/utils/ProvidedQueryParameterBuilder.java
 delete mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipesdataexplorer/v4/query/writer/TestConfiguredCsvOutputWriter.java
 delete mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipesdataexplorer/v4/query/writer/TestConfiguredJsonOutputWriter.java
 delete mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipesdataexplorer/v4/query/writer/TestConfiguredOutputWriter.java
 delete mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipesdataexplorer/v4/query/writer/item/TestCsvItemWriter.java
 delete mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipesdataexplorer/v4/query/writer/item/TestItemWriter.java
 delete mode 100644 streampipes-data-explorer/src/test/java/org/apache/streampipesdataexplorer/v4/query/writer/item/TestJsonItemWriter.java
 create mode 100644 streampipes-data-export/src/main/java/org/apache/streampipes/export/utils/ImportAdapterMigrationUtils.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/DataSetReplayFinishedNotifier.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/config/IConfigExtractor.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/AdapterOutputCollector.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/Connector.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/EmitBinaryEvent.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/IAdapter.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/IAdapterConfiguration.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/IEventCollector.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/IFormat.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/IParserEventHandler.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/IPollingSettings.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/IProtocol.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/IPullAdapter.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/StreamPipesAdapter.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/context/IAdapterGuessSchemaContext.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/context/IAdapterRuntimeContext.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/exception/AdapterException.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/connect/exception/ParseException.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/declarer/DataSetDeclarer.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/declarer/DataStreamDeclarer.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/declarer/Declarer.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/declarer/InvocableDeclarer.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/declarer/PipelineTemplateDeclarer.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/declarer/SemanticEventConsumerDeclarer.java
 delete mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/declarer/SemanticEventProcessingAgentDeclarer.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/extractor/IAdapterParameterExtractor.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/extractor/IDataProcessorParameterExtractor.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/extractor/IDataSinkParameterExtractor.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/extractor/IParameterExtractor.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/extractor/IStaticPropertyExtractor.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/monitoring/IPipelineElementLogger.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/monitoring/SpMonitoringManager.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/IStreamPipesDataProcessor.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/IStreamPipesDataSink.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/IStreamPipesDataStream.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/IStreamPipesPipelineElement.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/config/IDataProcessorConfiguration.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/config/IDataSinkConfiguration.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/config/IDataStreamConfiguration.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/config/IPipelineElementConfiguration.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/context/EventProcessorRuntimeContext.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/context/EventSinkRuntimeContext.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/context/IContextGenerator.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/context/RuntimeContext.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/param/IDataProcessorParameters.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/param/IDataSinkParameters.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/param/IInternalRuntimeParameters.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/param/IParameterGenerator.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/param/IPipelineElementParameters.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/param/InputStreamParams.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/param/OutputStreamParams.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/routing/PipelineElementCollector.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/routing/RawDataProcessor.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/routing/SpInputCollector.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/routing/SpOutputCollector.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/runtime/IDataProcessorRuntime.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/runtime/IDataSinkRuntime.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/runtime/IStreamPipesRuntime.java
 create mode 100644 streampipes-extensions-api/src/main/java/org/apache/streampipes/extensions/api/pe/runtime/IStreamPipesRuntimeProvider.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/AdapterUtils.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/GetNEvents.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/PullAdapterScheduler.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/SendToPipeline.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/Adapter.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/AdapterRegistry.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/GroundingService.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/csv/CsvFormat.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/csv/CsvParser.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/geojson/GeoJsonConstants.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/geojson/GeoJsonFormat.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/geojson/GeoJsonParser.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/image/ImageFormat.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/image/ImageParser.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/AbstractJsonFormat.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/AbstractJsonParser.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/arraykey/JsonFormat.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/arraykey/JsonParser.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/arraynokey/JsonArrayFormat.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/arraynokey/JsonArrayParser.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/object/JsonObjectFormat.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/object/JsonObjectParser.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/util/JsonEventProperty.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/xml/XmlFormat.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/xml/XmlMapConverter.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/format/xml/XmlParser.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/guess/SchemaGuesser.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/model/EventCollector.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/model/generic/GenericAdapter.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/model/generic/GenericDataSetAdapter.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/model/generic/GenericDataStreamAdapter.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/model/generic/Parser.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/model/generic/Protocol.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/model/specific/SpecificAdapter.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/model/specific/SpecificDataSetAdapter.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/model/specific/SpecificDataStreamAdapter.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/CsvParser.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/ImageParser.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/JsonParsers.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/ParserUtils.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/Parsers.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/json/GeoJsonConstants.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/json/GeoJsonParser.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/json/JsonArrayKeyParser.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/json/JsonArrayParser.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/json/JsonObjectParser.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/json/JsonParser.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/util/JsonEventProperty.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/xml/XmlMapConverter.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/parser/xml/XmlParser.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/preprocessing/elements/DebugAdapterSink.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/sdk/ParameterExtractor.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/adapter/util/AdapterOutputCollector.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/context/AdapterContextGenerator.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/context/SpAdapterGuessSchemaContext.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/context/SpAdapterRuntimeContext.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/init/IDeclarersSingleton.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/init/RunningDatasetInstances.java
 delete mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/monitoring/SpMonitoringManager.java
 create mode 100644 streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/util/RuntimeContextUtils.java
 create mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/ConnectWorkerDescriptionProviderTest.java
 create mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/GuessManagementTest.java
 delete mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/Utils.java
 delete mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/GroundingServiceTest.java
 delete mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/format/csv/CsvParserTest.java
 delete mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/arraykey/JsonParserTest.java
 delete mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/arraynokey/JsonArrayParserTest.java
 delete mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/geojson/GeoJsonTest.java
 delete mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/object/JsonObjectParserTest.java
 delete mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/format/json/xml/XmlTest.java
 delete mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/format/xml/XmlMapConverterTest.java
 create mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/parser/CsvParserTest.java
 create mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/parser/ParserTest.java
 create mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/parser/XmlParserTest.java
 create mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/parser/json/GeoJsonParserTest.java
 create mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/parser/json/JsonArrayKeyParserTest.java
 create mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/parser/json/JsonArrayParserTest.java
 create mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/parser/json/JsonObjectParsersTest.java
 create mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/connect/adapter/transform/value/CorrectionValueTest.java
 create mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/init/DeclarersSingletonTest.java
 create mode 100644 streampipes-extensions-management/src/test/java/org/apache/streampipes/extensions/management/model/SpServiceDefinitionBuilderTest.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/PullAdapter.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/PullRestAdapter.java
 create mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/iolink/IfmAlMqttAdapter.java
 create mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/iolink/sensor/IoLinkSensor.java
 create mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/iolink/sensor/SensorVVB001.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/opcua/MiloOpcUaConfigurationProvider.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/opcua/OpcNode.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/opcua/OpcUaAdapter.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/opcua/OpcUaNodeBrowser.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/opcua/SpOpcUaClient.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/opcua/configuration/SpOpcUaConfig.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/opcua/configuration/SpOpcUaConfigBuilder.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/opcua/utils/ExceptionMessageExtractor.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/opcua/utils/OpcUaNodeVariants.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/opcua/utils/OpcUaTypes.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/opcua/utils/OpcUaUtil.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/plc4x/passive/Plc4xPassiveAdapter.java
 create mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/simulator/machine/MachineDataSimulatorAdapter.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/simulator/machine/MachineDataStreamAdapter.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/protocol/set/FileProtocol.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/protocol/set/HttpProtocol.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/protocol/stream/BrokerProtocol.java
 create mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/protocol/stream/FileReplayAdapter.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/protocol/stream/FileStreamProtocol.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/protocol/stream/HttpServerEventReceiver.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/protocol/stream/PullProtocol.java
 create mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/protocol/stream/pulsar/PulsarConfig.java
 create mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.iolink/documentation.md
 create mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.iolink/icon.png
 create mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.iolink/strings.en
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.mysql.set/documentation.md
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.mysql.set/icon.png
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.mysql.set/strings.en
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.mysql.stream/documentation.md
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.mysql.stream/icon.png
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.mysql.stream/strings.en
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.opcua/strings.en
 copy streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/{org.apache.streampipes.connect.iiot.protocol.stream.file => org.apache.streampipes.connect.iiot.adapters.simulator.machine.v2.file}/documentation.md (100%)
 rename streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/{org.apache.streampipes.connect.iiot.protocol.set.file => org.apache.streampipes.connect.iiot.adapters.simulator.machine.v2.file}/icon.png (100%)
 create mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.simulator.machine.v2.file/strings.en
 copy streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/{org.apache.streampipes.connect.iiot.adapters.simulator.machine => org.apache.streampipes.connect.iiot.adapters.simulator.machine.v2}/documentation.md (100%)
 copy streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/{org.apache.streampipes.connect.iiot.adapters.simulator.machine => org.apache.streampipes.connect.iiot.adapters.simulator.machine.v2}/icon.png (100%)
 create mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.adapters.simulator.machine.v2/strings.en
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.protocol.set.file/documentation.md
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.protocol.set.file/strings.en
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.protocol.set.http/documentation.md
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.protocol.set.http/icon.png
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/main/resources/org.apache.streampipes.connect.iiot.protocol.set.http/strings.en
 create mode 100644 streampipes-extensions/streampipes-connect-adapters-iiot/src/test/java/org/apache/streampipes/sensor/SensorVVB001Test.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/adapters/PullAdapter.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/adapters/PullRestAdapter.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/adapters/image/set/ImageSetAdapter.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/adapters/simulator/random/RandomDataSetAdapter.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/adapters/simulator/random/RandomDataSimulator.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/adapters/simulator/random/RandomDataSimulatorUtils.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/adapters/simulator/random/RandomDataStreamAdapter.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/config/ConfigKeys.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/config/ConnectWorkerConfig.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/resources/org.apache.streampipes.connect.adapters.image.set/documentation.md
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/resources/org.apache.streampipes.connect.adapters.image.set/icon.png
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/resources/org.apache.streampipes.connect.adapters.image.set/strings.en
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/resources/org.apache.streampipes.connect.adapters.simulator.randomdataset/documentation.md
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/resources/org.apache.streampipes.connect.adapters.simulator.randomdataset/icon.png
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/main/resources/org.apache.streampipes.connect.adapters.simulator.randomdataset/strings.en
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/test/java/org/apache/streampipes/connect/adapters/generic/UtilTest.java
 delete mode 100644 streampipes-extensions/streampipes-connect-adapters/src/test/java/org/apache/streampipes/connect/adapters/generic/protocol/set/HttpProtocolTest.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/pom.xml
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/adapter/OpcUaAdapter.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/adapter/OpcUaNodeBrowser.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/adapter/OpcUaNodeMetadataExtractor.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/client/SpOpcUaClient.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/config/MiloOpcUaConfigurationProvider.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/config/OpcUaAdapterConfig.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/config/OpcUaConfig.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/config/SharedUserConfiguration.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/config/SpOpcUaConfigExtractor.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/model/OpcNode.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/sink/OpcUa.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/sink/OpcUaParameters.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/sink/OpcUaSink.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/utils/ExceptionMessageExtractor.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/utils/OpcUaLabels.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/utils/OpcUaTypes.java
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/java/org/apache/streampipes/extensions/connectors/opcua/utils/OpcUaUtil.java
 rename streampipes-extensions/{streampipes-connect-adapters-iiot => streampipes-connectors-opcua}/src/main/resources/org.apache.streampipes.connect.iiot.adapters.opcua/documentation.md (100%)
 rename streampipes-extensions/{streampipes-connect-adapters-iiot => streampipes-connectors-opcua}/src/main/resources/org.apache.streampipes.connect.iiot.adapters.opcua/icon.png (100%)
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/resources/org.apache.streampipes.connect.iiot.adapters.opcua/strings.en
 rename streampipes-extensions/{streampipes-sinks-databases-jvm => streampipes-connectors-opcua}/src/main/resources/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md (100%)
 rename streampipes-extensions/{streampipes-sinks-databases-jvm => streampipes-connectors-opcua}/src/main/resources/org.apache.streampipes.sinks.databases.jvm.opcua/icon.png (100%)
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/main/resources/org.apache.streampipes.sinks.databases.jvm.opcua/strings.en
 create mode 100644 streampipes-extensions/streampipes-connectors-opcua/src/test/java/org/apache/streampipes/extensions/connectors/opcua/adapter/OpcUaNodeMetadataExtractorTest.java
 delete mode 100644 streampipes-extensions/streampipes-pipeline-elements-all-flink/pom.xml
 delete mode 100644 streampipes-extensions/streampipes-pipeline-elements-all-flink/src/main/java/org/apache/streampipes/pe/flink/AllFlinkPipelineElementsInit.java
 rename streampipes-extensions/{streampipes-pipeline-elements-all-flink => streampipes-pipeline-elements-experimental-flink}/Dockerfile (100%)
 rename streampipes-extensions/{streampipes-pipeline-elements-all-flink => streampipes-pipeline-elements-experimental-flink}/development/env (100%)
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/pom.xml
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/BoilerpipeDocumentSource.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/BoilerpipeExtractor.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/BoilerpipeFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/BoilerpipeInput.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/BoilerpipeProcessingException.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/conditions/TextBlockCondition.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/document/Image.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/document/TextBlock.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/document/TextDocument.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/document/TextDocumentStatistics.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/document/package-info.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/estimators/SimpleEstimator.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/ArticleExtractor.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/ArticleSentencesExtractor.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/CanolaExtractor.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/CommonExtractors.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/DefaultExtractor.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/ExtractorBase.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/KeepEverythingExtractor.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/KeepEverythingWithMinKWordsExtractor.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/LargestContentExtractor.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/NumWordsRulesExtractor.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/package-info.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/debug/PrintDebugFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/DensityRulesClassifier.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/HeuristicFilterBase.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/IgnoreBlocksAfterContentFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/IgnoreBlocksAfterContentFromEndFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/KeepLargestFulltextBlockFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/MinFulltextWordsFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/NumWordsRulesClassifier.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/TerminatingBlocksFinder.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/package-info.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/AddPrecedingLabelsFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/ArticleMetadataFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/BlockProximityFusion.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/ContentFusion.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/DocumentTitleMatchClassifier.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/ExpandTitleToContentFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/KeepLargestBlockFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/LabelFusion.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/LargeBlockSameTagLevelToContentFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/ListAtEndFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/SimpleBlockFusionProcessor.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/TrailingHeadlineToBoilerplateFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/package-info.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/BoilerplateBlockFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/InvertedFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/LabelToBoilerplateFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/LabelToContentFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/MarkEverythingBoilerplateFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/MarkEverythingContentFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/MinClauseWordsFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/MinWordsFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/SplitParagraphBlocksFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/SurroundingToContentFilter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/package-info.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/labels/ConditionalLabelAction.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/labels/DefaultLabels.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/labels/LabelAction.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/package-info.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/BoilerpipeHTMLContentHandler.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/BoilerpipeHTMLParser.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/BoilerpipeSAXInput.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/CommonTagActions.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/DefaultTagActionMap.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/HTMLDocument.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/HTMLFetcher.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/HTMLHighlighter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/ImageExtractor.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/InputSourceable.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/MarkupTagAction.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/TagAction.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/TagActionMap.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/sax/package-info.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/util/UnicodeTokenizer.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/com/kohlschutter/boilerpipe/util/package-info.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/AbstractFlinkTransformationProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/AbstractPatternDetectionProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/AllFlinkPipelineElementsInit.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/config/ConfigKeys.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/extensions/MapKeySelector.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/extensions/SlidingBatchWindow.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/extensions/SlidingEventTimeWindow.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/extensions/TimestampMappingFunction.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/absence/Absence.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/absence/AbsenceController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/absence/AbsenceParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/absence/AbsenceProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/aggregation/Aggregation.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/aggregation/AggregationController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/aggregation/AggregationParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/aggregation/AggregationProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/aggregation/AggregationType.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/aggregation/CountAggregation.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/aggregation/TimeAggregation.java
 rename streampipes-extensions/{streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation => streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe}/flink/processor/aggregation/config/aggregation.md (100%)
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/and/And.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/and/AndController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/and/AndParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/and/AndProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/and/TimeUnit.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/and/TimeUnitConverter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/boilerplate/BoilerplateController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/boilerplate/BoilerplateParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/boilerplate/BoilerplateProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/boilerplate/BoilerplateRemover.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/boilerplate/ExtractorMode.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/boilerplate/OutputMode.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/common/TimestampExtractor.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/converter/FieldConverter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/converter/FieldConverterController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/converter/FieldConverterParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/converter/FieldConverterProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/count/CountController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/count/CountMapper.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/count/CountParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/count/CountProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/count/CountTrigger.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/count/TimeWindowConverter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/count/Tuple2MapMapper.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/eventcount/EventCountController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/eventcount/EventCountMapper.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/eventcount/EventCountOutputMapper.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/eventcount/EventCountParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/eventcount/EventCountProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/gridenricher/CellOption.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/gridenricher/EnrichmentSettings.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/gridenricher/SpatialGridCalculator.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/gridenricher/SpatialGridConstants.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/gridenricher/SpatialGridEnricher.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/gridenricher/SpatialGridEnrichmentController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/gridenricher/SpatialGridEnrichmentParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/gridenricher/SpatialGridEnrichmentProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/measurementunitonverter/MeasurementUnitConverter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/measurementunitonverter/MeasurementUnitConverterController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/measurementunitonverter/MeasurementUnitConverterParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/measurementunitonverter/MeasurementUnitConverterProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/peak/PeakDetectionCalculator.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/peak/PeakDetectionController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/peak/PeakDetectionParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/peak/PeakDetectionProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/peak/utils/SlidingBatchWindow.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/rate/EventRate.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/rate/EventRateController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/rate/EventRateParameter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/rate/EventRateProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/rename/FieldRenamer.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/rename/FieldRenamerController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/rename/FieldRenamerParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/rename/FieldRenamerProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/sequence/EventStorage.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/sequence/Sequence.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/sequence/SequenceController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/sequence/SequenceParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/sequence/SequenceProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/stat/summary/StatisticsSummaryCalculator.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/stat/summary/StatisticsSummaryController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/stat/summary/StatisticsSummaryParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/stat/summary/StatisticsSummaryProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/stat/window/StatisticsSummaryCalculatorWindow.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/stat/window/StatisticsSummaryControllerWindow.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/stat/window/StatisticsSummaryParametersWindow.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/stat/window/StatisticsSummaryParamsSerializable.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/stat/window/StatisticsSummaryProgramWindow.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/timestamp/TimestampController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/timestamp/TimestampEnricher.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/timestamp/TimestampParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/timestamp/TimestampProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/urldereferencing/UrlDereferencing.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/urldereferencing/UrlDereferencingController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/urldereferencing/UrlDereferencingParameter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/urldereferencing/UrlDereferencingProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/wordcount/Word.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/wordcount/WordCountController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/wordcount/WordCountParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/wordcount/WordCountProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/wordcount/WordSplitter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/processor/wordcount/WordToEventConverter.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/ElasticSearchController.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/ElasticSearchParameters.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/ElasticSearchProgram.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/ElasticsearchIndexRequestBuilder.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/elastic/ActionRequestFailureHandler.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/elastic/BulkProcessorIndexer.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/elastic/Elasticsearch6ApiCallBridge.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/elastic/ElasticsearchApiCallBridge.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/elastic/ElasticsearchSink.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/elastic/ElasticsearchSinkBase.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/elastic/ElasticsearchSinkFunction.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/elastic/NoOpFailureHandler.java
 create mode 100644 streampipes-extensions/streampipes-pipeline-elements-experimental-flink/src/main/java/org/apache/streampipes/pe/flink/sink/elasticsearch/elastic/RequestIndexer.java
 rename streampipes-extensions/{streampipes-processors-geo-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processor.geo.flink/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-geo-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processor.geo.flink/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-geo-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processor.geo.flink/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-aggregation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-aggregation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-aggregation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.aggregation.flink.aggregation/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-aggregation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.aggregation.flink.count/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-aggregation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.aggregation.flink.count/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-aggregation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.aggregation.flink.count/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-aggregation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-aggregation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.aggregation.flink.eventcount/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-aggregation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-aggregation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.aggregation.flink.rate/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-aggregation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.aggregation.flink.rate/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-enricher-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-enricher-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-enricher-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-enricher-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-enricher-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.enricher.flink.timestamp/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-enricher-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.enricher.flink.timestamp/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-pattern-detection-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.pattern-detection.flink.absence/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-pattern-detection-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.pattern-detection.flink.absence/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-pattern-detection-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.pattern-detection.flink.and/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-pattern-detection-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.pattern-detection.flink.and/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-pattern-detection-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.pattern-detection.flink.and/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-pattern-detection-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-pattern-detection-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-pattern-detection-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-pattern-detection-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.pattern-detection.flink.sequence/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-pattern-detection-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.pattern-detection.flink.sequence/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-pattern-detection-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.pattern-detection.flink.sequence/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-statistics-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.statistics.flink.statistics-summary-window/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-statistics-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.statistics.flink.statistics-summary-window/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-statistics-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.statistics.flink.statistics-summary-window/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-statistics-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.statistics.flink.statistics-summary/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-statistics-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.statistics.flink.statistics-summary/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-statistics-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.statistics.flink.statistics-summary/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-text-mining-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-text-mining-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-text-mining-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.textmining.flink.wordcount/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.field-converter/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.field-mapper/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.field-mapper/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.field-renamer/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.fieldhasher/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.measurementunitconverter/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.measurementunitconverter/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.measurementunitconverter/strings.en (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/icon.png (100%)
 rename streampipes-extensions/{streampipes-processors-transformation-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/strings.en (100%)
 rename streampipes-extensions/{streampipes-sinks-databases-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md (100%)
 rename streampipes-extensions/{streampipes-sinks-databases-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.sinks.databases.flink.elasticsearch/icon.png (100%)
 rename streampipes-extensions/{streampipes-sinks-databases-flink => streampipes-pipeline-elements-experimental-flink}/src/main/resources/org.apache.streampipes.sinks.databases.flink.elasticsearch/strings.en (100%)
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/pom.xml
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/AbstractAggregationProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/AggregationFlinkInit.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/config/ConfigKeys.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/aggregation/Aggregation.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/aggregation/AggregationController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/aggregation/AggregationParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/aggregation/AggregationProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/aggregation/AggregationType.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/aggregation/CountAggregation.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/aggregation/TimeAggregation.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/count/CountController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/count/CountMapper.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/count/CountParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/count/CountProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/count/CountTrigger.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/count/TimeWindowConverter.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/count/Tuple2MapMapper.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/eventcount/EventCountController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/eventcount/EventCountMapper.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/eventcount/EventCountOutputMapper.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/eventcount/EventCountParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/eventcount/EventCountProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/rate/EventRate.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/rate/EventRateController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/rate/EventRateParameter.java
 delete mode 100644 streampipes-extensions/streampipes-processors-aggregation-flink/src/main/java/org/apache/streampipes/processors/aggregation/flink/processor/rate/EventRateProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-change-detection-jvm/src/main/java/org/apache/streampipes/processors/changedetection/jvm/cusum/Cusum.java
 delete mode 100644 streampipes-extensions/streampipes-processors-change-detection-jvm/src/main/java/org/apache/streampipes/processors/changedetection/jvm/cusum/CusumController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-change-detection-jvm/src/main/java/org/apache/streampipes/processors/changedetection/jvm/cusum/CusumEventFields.java
 delete mode 100644 streampipes-extensions/streampipes-processors-change-detection-jvm/src/main/java/org/apache/streampipes/processors/changedetection/jvm/cusum/CusumParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-change-detection-jvm/src/main/java/org/apache/streampipes/processors/changedetection/jvm/cusum/WelfordAggregate.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-flink/pom.xml
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-flink/src/main/java/org/apache/streampipes/processors/enricher/flink/AbstractEnricherProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-flink/src/main/java/org/apache/streampipes/processors/enricher/flink/EnricherFlinkInit.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-flink/src/main/java/org/apache/streampipes/processors/enricher/flink/config/ConfigKeys.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-flink/src/main/java/org/apache/streampipes/processors/enricher/flink/processor/timestamp/TimestampController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-flink/src/main/java/org/apache/streampipes/processors/enricher/flink/processor/timestamp/TimestampEnricher.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-flink/src/main/java/org/apache/streampipes/processors/enricher/flink/processor/timestamp/TimestampParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-flink/src/main/java/org/apache/streampipes/processors/enricher/flink/processor/timestamp/TimestampProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-flink/src/main/java/org/apache/streampipes/processors/enricher/flink/processor/urldereferencing/UrlDereferencing.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-flink/src/main/java/org/apache/streampipes/processors/enricher/flink/processor/urldereferencing/UrlDereferencingController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-flink/src/main/java/org/apache/streampipes/processors/enricher/flink/processor/urldereferencing/UrlDereferencingParameter.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-flink/src/main/java/org/apache/streampipes/processors/enricher/flink/processor/urldereferencing/UrlDereferencingProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-jvm/src/main/java/org/apache/streampipes/processors/enricher/jvm/processor/jseval/JSEval.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-jvm/src/main/java/org/apache/streampipes/processors/enricher/jvm/processor/jseval/JSEvalController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-jvm/src/main/java/org/apache/streampipes/processors/enricher/jvm/processor/jseval/JSEvalParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-enricher-jvm/src/main/java/org/apache/streampipes/processors/enricher/jvm/processor/jseval/JSEvalProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-jvm/src/main/java/org/apache/streampipes/processors/enricher/jvm/processor/sizemeasure/SizeMeasure.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-jvm/src/main/java/org/apache/streampipes/processors/enricher/jvm/processor/sizemeasure/SizeMeasureController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-enricher-jvm/src/main/java/org/apache/streampipes/processors/enricher/jvm/processor/sizemeasure/SizeMeasureParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-enricher-jvm/src/main/java/org/apache/streampipes/processors/enricher/jvm/processor/sizemeasure/SizeMeasureProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/filter/NumericalFilter.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/filter/NumericalFilterController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/filter/NumericalFilterParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/filter/NumericalFilterSiddhiProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequency/Frequency.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequency/FrequencyController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequency/FrequencyParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequency/FrequencySiddhiProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequencychange/FrequencyChange.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequencychange/FrequencyChangeController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequencychange/FrequencyChangeParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/frequencychange/FrequencyChangeSiddhiProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/sequence/Sequence.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/sequence/SequenceController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/sequence/SequenceParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/sequence/SequenceSiddhiProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/stop/StreamStop.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/stop/StreamStopController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/stop/StreamStopParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/stop/StreamStopSiddhiProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/Trend.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/TrendController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/TrendParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/main/java/org/apache/streampipes/processors/siddhi/trend/TrendProcessor.java
 create mode 100644 streampipes-extensions/streampipes-processors-filters-siddhi/src/test/java/org/apache/streampipes/processors/siddhi/trend/TrendConfigurationVisitor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-geo-flink/pom.xml
 delete mode 100644 streampipes-extensions/streampipes-processors-geo-flink/src/main/java/org/apache/streampipes/processor/geo/flink/AbstractGeoProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-geo-flink/src/main/java/org/apache/streampipes/processor/geo/flink/GeoFlinkInit.java
 delete mode 100644 streampipes-extensions/streampipes-processors-geo-flink/src/main/java/org/apache/streampipes/processor/geo/flink/config/ConfigKeys.java
 delete mode 100644 streampipes-extensions/streampipes-processors-geo-flink/src/main/java/org/apache/streampipes/processor/geo/flink/processor/gridenricher/CellOption.java
 delete mode 100644 streampipes-extensions/streampipes-processors-geo-flink/src/main/java/org/apache/streampipes/processor/geo/flink/processor/gridenricher/EnrichmentSettings.java
 delete mode 100644 streampipes-extensions/streampipes-processors-geo-flink/src/main/java/org/apache/streampipes/processor/geo/flink/processor/gridenricher/SpatialGridCalculator.java
 delete mode 100644 streampipes-extensions/streampipes-processors-geo-flink/src/main/java/org/apache/streampipes/processor/geo/flink/processor/gridenricher/SpatialGridConstants.java
 delete mode 100644 streampipes-extensions/streampipes-processors-geo-flink/src/main/java/org/apache/streampipes/processor/geo/flink/processor/gridenricher/SpatialGridEnricher.java
 delete mode 100644 streampipes-extensions/streampipes-processors-geo-flink/src/main/java/org/apache/streampipes/processor/geo/flink/processor/gridenricher/SpatialGridEnrichmentController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-geo-flink/src/main/java/org/apache/streampipes/processor/geo/flink/processor/gridenricher/SpatialGridEnrichmentParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-geo-flink/src/main/java/org/apache/streampipes/processor/geo/flink/processor/gridenricher/SpatialGridEnrichmentProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/pom.xml
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/AbstractPatternDetectionProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/PatternDetectionFlinkInit.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/config/ConfigKeys.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/absence/Absence.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/absence/AbsenceController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/absence/AbsenceParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/absence/AbsenceProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/and/And.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/and/AndController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/and/AndParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/and/AndProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/and/TimeUnit.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/and/TimeUnitConverter.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/common/TimestampExtractor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/peak/PeakDetectionCalculator.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/peak/PeakDetectionController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/peak/PeakDetectionParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/peak/PeakDetectionProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/peak/utils/SlidingBatchWindow.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/sequence/EventStorage.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/sequence/Sequence.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/sequence/SequenceController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/sequence/SequenceParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-pattern-detection-flink/src/main/java/org/apache/streampipes/processors/pattern/detection/flink/processor/sequence/SequenceProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/pom.xml
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/AbstractStatisticsProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/StatisticsFlinkInit.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/config/ConfigKeys.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/extensions/MapKeySelector.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/extensions/SlidingBatchWindow.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/extensions/SlidingEventTimeWindow.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/extensions/TimestampMappingFunction.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/processor/stat/summary/StatisticsSummaryCalculator.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/processor/stat/summary/StatisticsSummaryController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/processor/stat/summary/StatisticsSummaryParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/processor/stat/summary/StatisticsSummaryProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/processor/stat/window/StatisticsSummaryCalculatorWindow.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/processor/stat/window/StatisticsSummaryControllerWindow.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/processor/stat/window/StatisticsSummaryParametersWindow.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/processor/stat/window/StatisticsSummaryParamsSerializable.java
 delete mode 100644 streampipes-extensions/streampipes-processors-statistics-flink/src/main/java/org/apache/streampipes/processors/statistics/flink/processor/stat/window/StatisticsSummaryProgramWindow.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/pom.xml
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/AbstractTextMiningProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/TextMiningFlinkInit.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/config/ConfigKeys.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/language/LanguageDetection.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/language/LanguageDetectionController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/language/LanguageDetectionParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/language/LanguageDetectionProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/sentiment/SentimentDetection.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/sentiment/SentimentDetectionController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/sentiment/SentimentDetectionParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/sentiment/SentimentDetectionProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/wordcount/Word.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/wordcount/WordCountController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/wordcount/WordCountParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/wordcount/WordCountProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/wordcount/WordSplitter.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/java/org/apache/streampipes/processors/textmining/flink/processor/wordcount/WordToEventConverter.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/resources/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-flink/src/main/resources/org.apache.streampipes.processors.textmining.flink.languagedetection/strings.en
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/chunker/Chunker.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/chunker/ChunkerController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/chunker/ChunkerParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/chunker/ChunkerProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/language/LanguageDetection.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/language/LanguageDetectionController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/language/LanguageDetectionParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/language/LanguageDetectionProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/namefinder/NameFinder.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/namefinder/NameFinderController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/namefinder/NameFinderParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/namefinder/NameFinderProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/partofspeech/PartOfSpeech.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/partofspeech/PartOfSpeechController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/partofspeech/PartOfSpeechParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/partofspeech/PartOfSpeechProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/sentencedetection/SentenceDetection.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/sentencedetection/SentenceDetectionController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/sentencedetection/SentenceDetectionParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/sentencedetection/SentenceDetectionProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/tokenizer/Tokenizer.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/tokenizer/TokenizerController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/tokenizer/TokenizerParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-text-mining-jvm/src/main/java/org/apache/streampipes/processors/textmining/jvm/processor/tokenizer/TokenizerProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/pom.xml
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/BoilerpipeDocumentSource.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/BoilerpipeExtractor.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/BoilerpipeFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/BoilerpipeInput.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/BoilerpipeProcessingException.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/conditions/TextBlockCondition.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/document/Image.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/document/TextBlock.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/document/TextDocument.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/document/TextDocumentStatistics.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/document/package-info.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/estimators/SimpleEstimator.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/ArticleExtractor.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/ArticleSentencesExtractor.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/CanolaExtractor.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/CommonExtractors.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/DefaultExtractor.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/ExtractorBase.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/KeepEverythingExtractor.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/KeepEverythingWithMinKWordsExtractor.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/LargestContentExtractor.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/NumWordsRulesExtractor.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/extractors/package-info.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/debug/PrintDebugFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/DensityRulesClassifier.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/HeuristicFilterBase.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/IgnoreBlocksAfterContentFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/IgnoreBlocksAfterContentFromEndFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/KeepLargestFulltextBlockFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/MinFulltextWordsFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/NumWordsRulesClassifier.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/TerminatingBlocksFinder.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/english/package-info.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/AddPrecedingLabelsFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/ArticleMetadataFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/BlockProximityFusion.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/ContentFusion.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/DocumentTitleMatchClassifier.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/ExpandTitleToContentFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/KeepLargestBlockFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/LabelFusion.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/LargeBlockSameTagLevelToContentFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/ListAtEndFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/SimpleBlockFusionProcessor.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/TrailingHeadlineToBoilerplateFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/heuristics/package-info.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/BoilerplateBlockFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/InvertedFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/LabelToBoilerplateFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/LabelToContentFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/MarkEverythingBoilerplateFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/MarkEverythingContentFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/MinClauseWordsFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/MinWordsFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/SplitParagraphBlocksFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/SurroundingToContentFilter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/filters/simple/package-info.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/labels/ConditionalLabelAction.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/labels/DefaultLabels.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/labels/LabelAction.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/package-info.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/BoilerpipeHTMLContentHandler.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/BoilerpipeHTMLParser.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/BoilerpipeSAXInput.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/CommonTagActions.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/DefaultTagActionMap.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/HTMLDocument.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/HTMLFetcher.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/HTMLHighlighter.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/ImageExtractor.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/InputSourceable.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/MarkupTagAction.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/TagAction.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/TagActionMap.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/sax/package-info.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/util/UnicodeTokenizer.java
 delete mode 100755 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/com/kohlschutter/boilerpipe/util/package-info.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/AbstractFlinkTransformationProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/TransformationFlinkInit.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/config/ConfigKeys.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/boilerplate/BoilerplateController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/boilerplate/BoilerplateParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/boilerplate/BoilerplateProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/boilerplate/BoilerplateRemover.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/boilerplate/ExtractorMode.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/boilerplate/OutputMode.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/converter/FieldConverter.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/converter/FieldConverterController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/converter/FieldConverterParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/converter/FieldConverterProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/hasher/FieldHasher.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/hasher/FieldHasherController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/hasher/FieldHasherParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/hasher/FieldHasherProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/hasher/algorithm/HashAlgorithm.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/hasher/algorithm/HashAlgorithmType.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/hasher/algorithm/Md5HashAlgorithm.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/hasher/algorithm/Sha1HashAlgorithm.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/hasher/algorithm/Sha2HashAlgorithm.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/mapper/FieldMapper.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/mapper/FieldMapperController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/mapper/FieldMapperParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/mapper/FieldMapperProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/measurementunitonverter/MeasurementUnitConverter.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/measurementunitonverter/MeasurementUnitConverterController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/measurementunitonverter/MeasurementUnitConverterParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/measurementunitonverter/MeasurementUnitConverterProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/rename/FieldRenamer.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/rename/FieldRenamerController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/rename/FieldRenamerParameters.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-flink/src/main/java/org/apache/streampipes/processors/transformation/flink/processor/rename/FieldRenamerProgram.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/array/count/CountArray.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/array/count/CountArrayController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/array/count/CountArrayParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/array/count/CountArrayProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/array/split/SplitArray.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/array/split/SplitArrayController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/array/split/SplitArrayParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/array/split/SplitArrayProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/edge/SignalEdgeFilter.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/edge/SignalEdgeFilterController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/edge/SignalEdgeFilterParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/edge/SignalEdgeFilterProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/state/BooleanToState.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/state/BooleanToStateController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/state/BooleanToStateParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/state/BooleanToStateProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/timekeeping/BooleanTimekeeping.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/timekeeping/BooleanTimekeepingController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/timekeeping/BooleanTimekeepingParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/timekeeping/BooleanTimekeepingProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/timer/BooleanTimer.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/timer/BooleanTimerController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/timer/BooleanTimerParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/booloperator/timer/BooleanTimerProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/csvmetadata/CsvMetadataEnrichment.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/csvmetadata/CsvMetadataEnrichmentController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/csvmetadata/CsvMetadataEnrichmentParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/csvmetadata/CsvMetadataEnrichmentProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/state/buffer/StateBuffer.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/state/buffer/StateBufferController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/state/buffer/StateBufferParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/state/buffer/StateBufferProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/state/labeler/buffer/StateBufferLabeler.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/state/labeler/buffer/StateBufferLabelerController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/state/labeler/buffer/StateBufferLabelerParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/state/labeler/buffer/StateBufferLabelerProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/state/labeler/number/NumberLabeler.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/state/labeler/number/NumberLabelerController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/state/labeler/number/NumberLabelerParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/state/labeler/number/NumberLabelerProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/task/TaskDuration.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/task/TaskDurationController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/task/TaskDurationParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/task/TaskDurationProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/timestampextractor/TimestampExtractor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/timestampextractor/TimestampExtractorController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/timestampextractor/TimestampExtractorParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/timestampextractor/TimestampExtractorProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/transformtoboolean/TransformToBoolean.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/transformtoboolean/TransformToBooleanController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/transformtoboolean/TransformToBooleanParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/transformtoboolean/TransformToBooleanProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/value/change/ChangedValueDetection.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/value/change/ChangedValueDetectionController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/value/change/ChangedValueDetectionParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/value/change/ChangedValueDetectionProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/value/duration/CalculateDuration.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/value/duration/CalculateDurationController.java
 delete mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/value/duration/CalculateDurationParameters.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/value/duration/CalculateDurationProcessor.java
 create mode 100644 streampipes-extensions/streampipes-processors-transformation-jvm/src/test/java/org/apache/streampipes/processors/transformation/jvm/processor/value/change/TestChangedValueDetectionProcessor.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/bufferrest/BufferRest.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/bufferrest/BufferRestController.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/bufferrest/BufferRestParameters.java
 create mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/bufferrest/BufferRestPublisherSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/jms/JmsController.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/jms/JmsParameters.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/jms/JmsPublisher.java
 create mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/jms/JmsPublisherSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/kafka/KafkaController.java
 create mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/kafka/KafkaPublishSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/kafka/KafkaPublisher.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/nats/NatsParameters.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/nats/NatsPublisher.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rabbitmq/RabbitMqConsumer.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rabbitmq/RabbitMqController.java
 create mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rabbitmq/RabbitMqPublisherSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rest/RestController.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rest/RestParameters.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rest/RestPublisher.java
 create mode 100644 streampipes-extensions/streampipes-sinks-brokers-jvm/src/main/java/org/apache/streampipes/sinks/brokers/jvm/rest/RestSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/pom.xml
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/DatabasesFlinkInit.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/config/ConfigKeys.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/ElasticSearchController.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/ElasticSearchParameters.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/ElasticSearchProgram.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/ElasticsearchIndexRequestBuilder.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/elastic/ActionRequestFailureHandler.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/elastic/BulkProcessorIndexer.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/elastic/Elasticsearch6ApiCallBridge.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/elastic/ElasticsearchApiCallBridge.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/elastic/ElasticsearchSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/elastic/ElasticsearchSinkBase.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/elastic/ElasticsearchSinkFunction.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/elastic/NoOpFailureHandler.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-flink/src/main/java/org/apache/streampipes/sinks/databases/flink/elasticsearch/elastic/RequestIndexer.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/couchdb/CouchDb.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/couchdb/CouchDbController.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/couchdb/CouchDbParameters.java
 create mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/couchdb/CouchDbSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/ditto/Ditto.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/ditto/DittoController.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/ditto/DittoParameters.java
 create mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/ditto/DittoSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/iotdb/IotDb.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/iotdb/IotDbController.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/iotdb/IotDbParameters.java
 create mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/iotdb/IotDbSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/opcua/OpcUa.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/opcua/OpcUaParameters.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/opcua/UpcUaController.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/postgresql/PostgreSqlController.java
 create mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/postgresql/PostgreSqlSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/redis/RedisController.java
 create mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/java/org/apache/streampipes/sinks/databases/jvm/redis/RedisSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/main/resources/org.apache.streampipes.sinks.databases.jvm.opcua/strings.en
 delete mode 100644 streampipes-extensions/streampipes-sinks-databases-jvm/src/test/java/org/apache/streampipes/sinks/databases/jvm/iotdb/TestIotDbParameters.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/email/EmailController.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/email/EmailParameters.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/email/EmailPublisher.java
 create mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/email/EmailSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/onesignal/OneSignalController.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/onesignal/OneSignalParameters.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/onesignal/OneSignalProducer.java
 create mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/onesignal/OneSignalSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/slack/SlackNotification.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/slack/SlackNotificationController.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/slack/SlackNotificationParameters.java
 create mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/slack/SlackNotificationSink.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/telegram/TelegramController.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/telegram/TelegramParameters.java
 delete mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/telegram/TelegramPublisher.java
 create mode 100644 streampipes-extensions/streampipes-sinks-notifications-jvm/src/main/java/org/apache/streampipes/sinks/notifications/jvm/telegram/TelegramSink.java
 create mode 100644 streampipes-integration-tests/src/test/java/org/apache/streampipes/integration/adapters/KafkaAdapterTester.java
 create mode 100644 streampipes-integration-tests/src/test/java/org/apache/streampipes/integration/adapters/MqttAdapterTester.java
 create mode 100644 streampipes-integration-tests/src/test/java/org/apache/streampipes/integration/client/ClientLiveDataTest.java
 create mode 100644 streampipes-integration-tests/src/test/java/org/apache/streampipes/integration/client/ClientLiveDataTesterBase.java
 create mode 100644 streampipes-integration-tests/src/test/java/org/apache/streampipes/integration/client/ClientNatsTester.java
 create mode 100644 streampipes-integration-tests/src/test/java/org/apache/streampipes/integration/containers/KafkaContainer.java
 create mode 100644 streampipes-integration-tests/src/test/java/org/apache/streampipes/integration/containers/KafkaDevContainer.java
 create mode 100644 streampipes-integration-tests/src/test/java/org/apache/streampipes/integration/containers/MosquittoContainer.java
 create mode 100644 streampipes-integration-tests/src/test/java/org/apache/streampipes/integration/containers/MosquittoDevContainer.java
 create mode 100644 streampipes-integration-tests/src/test/java/org/apache/streampipes/integration/containers/NatsContainer.java
 create mode 100644 streampipes-integration-tests/src/test/java/org/apache/streampipes/integration/containers/NatsDevContainer.java
 create mode 100644 streampipes-integration-tests/src/test/java/org/apache/streampipes/integration/utils/Utils.java
 create mode 100644 streampipes-integration-tests/src/test/resources/mosquitto.conf
 delete mode 100644 streampipes-measurement-units/src/main/java/com/github/jqudt/onto/units/AreaUnit.java
 delete mode 100644 streampipes-measurement-units/src/main/java/com/github/jqudt/onto/units/ConcentrationUnit.java
 delete mode 100644 streampipes-measurement-units/src/main/java/com/github/jqudt/onto/units/CountingUnit.java
 delete mode 100644 streampipes-measurement-units/src/main/java/com/github/jqudt/onto/units/EnergyUnit.java
 delete mode 100644 streampipes-measurement-units/src/main/java/com/github/jqudt/onto/units/LengthUnit.java
 delete mode 100644 streampipes-measurement-units/src/main/java/com/github/jqudt/onto/units/MassUnit.java
 delete mode 100644 streampipes-measurement-units/src/main/java/com/github/jqudt/onto/units/PressureOrStressUnit.java
 delete mode 100644 streampipes-measurement-units/src/main/java/com/github/jqudt/onto/units/TemperatureUnit.java
 delete mode 100644 streampipes-measurement-units/src/main/java/com/github/jqudt/onto/units/VolumeUnit.java
 create mode 100644 streampipes-messaging-kafka/src/main/java/org/apache/streampipes/messaging/kafka/config/AutoOffsetResetConfig.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/SpDataSet.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/AdapterSetDescription.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/AdapterStreamDescription.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/GenericAdapterDescription.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/GenericAdapterSetDescription.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/GenericAdapterStreamDescription.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/SpecificAdapterSetDescription.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/SpecificAdapterStreamDescription.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/GenericAdapterConverter.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/IAdapterConverter.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/MigrationHelpers.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/SpecificAdapterConverter.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/format/CsvFormatMigrator.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/format/EmptyFormatMigrator.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/format/FormatMigrator.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/format/JsonFormatMigrator.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/format/XmlFormatMigrator.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/utils/AdapterModels.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/utils/DocumentKeys.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/utils/FormatIds.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/adapter/migration/utils/GenericAdapterUtils.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/grounding/FormatDescription.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/grounding/ParserDescription.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/grounding/ProtocolSetDescription.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/grounding/ProtocolStreamDescription.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/connect/rules/DebugSinkRuleDescription.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/file/GenericStorageAttachment.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/message/DataSetModificationMessage.java
 delete mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/runtime/DataSetStatusMessage.java
 create mode 100644 streampipes-model/src/main/java/org/apache/streampipes/model/util/ListUtils.java
 delete mode 100644 streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/matching/DataSetGroundingSelector.java
 delete mode 100644 streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeMeasureResourceV3.java
 delete mode 100644 streampipes-rest-extensions/src/main/java/org/apache/streampipes/rest/extensions/pe/PipelineTemplateResource.java
 delete mode 100644 streampipes-rest/src/main/java/org/apache/streampipes/rest/filter/TokenAuthenticationFilter.java
 delete mode 100644 streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/connect/SourcesResource.java
 delete mode 100644 streampipes-rest/src/test/java/org/apache/streampipes/dataexplorer/v4/params/WhereStatementParamsTest.java
 delete mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/DataSetBuilder.java
 create mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/adapter/AdapterConfiguration.java
 create mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/adapter/AdapterConfigurationBuilder.java
 delete mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/adapter/AdapterDescriptionBuilder.java
 delete mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/adapter/FormatDescriptionBuilder.java
 delete mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/adapter/GenericDataSetAdapterBuilder.java
 delete mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/adapter/GenericDataStreamAdapterBuilder.java
 create mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/adapter/ParserDescriptionBuilder.java
 delete mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/adapter/ProtocolDescriptionBuilder.java
 delete mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/adapter/SpecificDataSetAdapterBuilder.java
 delete mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/adapter/SpecificDataStreamAdapterBuilder.java
 create mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/processor/DataProcessorConfiguration.java
 create mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/sink/DataSinkConfiguration.java
 create mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/builder/stream/DataStreamConfiguration.java
 create mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/extractor/AdapterParameterExtractor.java
 delete mode 100644 streampipes-sdk/src/main/java/org/apache/streampipes/sdk/helpers/AdapterSourceType.java
 create mode 100644 streampipes-sdk/src/test/java/org/apache/streampipes/sdk/builder/adapter/AdapterConfigurationBuilderTest.java
 create mode 100644 streampipes-sdk/src/test/java/org/apache/streampipes/sdk/builder/adapter/AdapterConfigurationTest.java
 delete mode 100644 streampipes-sdk/src/test/java/org/apache/streampipes/sdk/builder/adapter/GenericDataStreamAdapterBuilderTest.java
 create mode 100644 streampipes-sdk/src/test/java/org/apache/streampipes/sdk/extractor/AdapterParameterExtractorTest.java
 create mode 100644 streampipes-sdk/src/test/java/org/apache/streampipes/sdk/helpers/LabelsTest.java
 create mode 100644 streampipes-service-core/src/main/java/org/apache/streampipes/service/core/filter/TokenAuthenticationFilter.java
 create mode 100644 streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v093/AdapterBackupWriter.java
 create mode 100644 streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v093/AdapterMigration.java
 create mode 100644 streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v093/migrator/AdapterMigrator.java
 create mode 100644 streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v093/migrator/GenericAdapterMigrator.java
 create mode 100644 streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v093/migrator/SpecificAdapterMigrator.java
 create mode 100644 streampipes-storage-couchdb/src/test/java/org/apache/streampipes/storage/couchdb/utils/TestUrlEscapers.java
 create mode 100644 streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkDataProcessorCompatProgram.java
 create mode 100644 streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkDataProcessorProgram.java
 create mode 100644 streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkDataSinkCompatProgram.java
 create mode 100644 streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkDataSinkProgram.java
 create mode 100644 streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/FlinkRuntimeProvider.java
 create mode 100644 streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/IDataProcessorProgram.java
 create mode 100644 streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/IDataSinkProgram.java
 create mode 100644 streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/IFlinkProgram.java
 delete mode 100644 streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/status/PipelineElementStatusSender.java
 delete mode 100644 streampipes-wrapper-flink/src/main/java/org/apache/streampipes/wrapper/flink/status/PipelineElementStatusSenderFactory.java
 create mode 100644 streampipes-wrapper-kafka-streams/src/main/java/org/apache/streampipes/wrapper/kafka/KafkaStreamRuntimeProvider.java
 delete mode 100644 streampipes-wrapper-kafka-streams/src/main/java/org/apache/streampipes/wrapper/kafka/KafkaStreamsDataProcessorDeclarer.java
 delete mode 100644 streampipes-wrapper-kafka-streams/src/main/java/org/apache/streampipes/wrapper/kafka/KafkaStreamsDataSinkDeclarer.java
 create mode 100644 streampipes-wrapper-kafka-streams/src/main/java/org/apache/streampipes/wrapper/kafka/KafkaStreamsOutputCollector.java
 delete mode 100644 streampipes-wrapper-kafka-streams/src/main/java/org/apache/streampipes/wrapper/kafka/converter/MapToJsonFormat.java
 delete mode 100644 streampipes-wrapper-siddhi/src/main/java/org/apache/streampipes/wrapper/siddhi/engine/SiddhiEventEngine.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/AbstractConfiguredPipelineElement.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/ConfiguredEventProcessor.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/ConfiguredEventSink.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/ConfiguredExternalEventProcessor.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/ConfiguredExternalEventSink.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/ProcessorParams.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/SinkParams.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/StreamPipesExternalDataProcessor.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventProcessingDeclarer.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventProcessorDeclarerSingleton.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventSinkDeclarer.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneEventSinkDeclarerSingleton.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneExternalEventProcessingDeclarer.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/declarer/StandaloneExternalEventSinkDeclarer.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/runtime/StandaloneExternalEventProcessorRuntime.java
 delete mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/runtime/StandaloneExternalEventSinkRuntime.java
 create mode 100644 streampipes-wrapper-standalone/src/main/java/org/apache/streampipes/wrapper/standalone/runtime/StandaloneStreamPipesRuntimeProvider.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/EventProcessorRuntimeContext.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/EventSinkRuntimeContext.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/RuntimeContext.java
 create mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/generator/DataProcessorContextGenerator.java
 create mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/context/generator/DataSinkContextGenerator.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/EventProcessorDeclarer.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/EventSinkDeclarer.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/declarer/PipelineElementDeclarer.java
 create mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/DataProcessorParameters.java
 create mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/DataSinkParameters.java
 create mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/InternalRuntimeParameters.java
 create mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/PipelineElementParameters.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/binding/BindingParams.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/binding/EventProcessorBindingParams.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/binding/EventSinkBindingParams.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/binding/InputStreamParams.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/binding/OutputStreamParams.java
 create mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/compat/ProcessorParams.java
 create mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/compat/SinkParams.java
 create mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/generator/DataProcessorParameterGenerator.java
 create mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/generator/DataSinkParameterGenerator.java
 create mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/generator/PipelineElementParameterGenerator.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/EventProcessorRuntimeParams.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/EventSinkRuntimeParams.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/params/runtime/RuntimeParams.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/routing/PipelineElementCollector.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/routing/RawDataProcessor.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/routing/SpInputCollector.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/routing/SpOutputCollector.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/runtime/EventProcessor.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/runtime/EventSink.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/runtime/ExternalEventProcessor.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/runtime/ExternalEventSink.java
 delete mode 100644 streampipes-wrapper/src/main/java/org/apache/streampipes/wrapper/runtime/PipelineElement.java
 create mode 100644 ui/cypress/support/builder/AdapterBuilder.ts
 delete mode 100644 ui/cypress/support/builder/GenericAdapterBuilder.ts
 delete mode 100644 ui/cypress/support/builder/ProcessorTestBuilder.ts
 delete mode 100644 ui/cypress/support/builder/SpecificAdapterBuilder.ts
 delete mode 100644 ui/cypress/support/model/GenericAdapterInput.ts
 delete mode 100644 ui/cypress/support/model/SpecificAdapterInput.ts
 create mode 100644 ui/cypress/tests/dashboard/standaloneDashboardTest.spec.ts
 create mode 100644 ui/deployment/_variables.scss
 delete mode 100644 ui/deployment/sp-theme.scss
 create mode 100644 ui/projects/streampipes/platform-services/src/lib/apis/labels.service.ts
 create mode 100644 ui/projects/streampipes/platform-services/src/lib/model/labels/labels.model.ts
 create mode 100644 ui/projects/streampipes/shared-ui/src/lib/components/sp-label/sp-label.component.html
 create mode 100644 ui/projects/streampipes/shared-ui/src/lib/components/sp-label/sp-label.component.scss
 create mode 100644 ui/projects/streampipes/shared-ui/src/lib/components/sp-label/sp-label.component.ts
 rename ui/{src/app/core-ui => projects/streampipes/shared-ui/src/lib/components}/split-section/split-section.component.html (100%)
 rename ui/{src/app/core-ui => projects/streampipes/shared-ui/src/lib/components}/split-section/split-section.component.scss (100%)
 rename ui/{src/app/core-ui => projects/streampipes/shared-ui/src/lib/components}/split-section/split-section.component.ts (100%)
 create mode 100644 ui/src/app/configuration/label-configuration/edit-label/edit-label.component.html
 create mode 100644 ui/src/app/configuration/label-configuration/edit-label/edit-label.component.scss
 create mode 100644 ui/src/app/configuration/label-configuration/edit-label/edit-label.component.ts
 create mode 100644 ui/src/app/configuration/label-configuration/label-configuration.component.html
 create mode 100644 ui/src/app/configuration/label-configuration/label-configuration.component.scss
 create mode 100644 ui/src/app/configuration/label-configuration/label-configuration.component.ts
 rename ui/src/app/connect/components/adapter-configuration/{specific-adapter-configuration/specific-adapter-configuration.component.html => adapter-settings/adapter-settings.component.html} (100%)
 rename ui/src/app/connect/components/adapter-configuration/{format-configuration/format-configuration.component.scss => adapter-settings/adapter-settings.component.scss} (100%)
 create mode 100644 ui/src/app/connect/components/adapter-configuration/adapter-settings/adapter-settings.component.ts
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/format-configuration/format-configuration.component.html
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/format-configuration/format-configuration.component.ts
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/format-configuration/format-item-json/format-item-json.component.html
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/format-configuration/format-item-json/format-item-json.component.scss
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/format-configuration/format-item-json/format-item-json.component.ts
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/format-configuration/format-item/format-item.component.html
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/format-configuration/format-item/format-item.component.scss
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/format-configuration/format-item/format-item.component.ts
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/format-configuration/format-list/format-list.component.html
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/format-configuration/format-list/format-list.component.scss
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/format-configuration/format-list/format-list.component.ts
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/generic-adapter-configuration/generic-adapter-configuration.component.html
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/generic-adapter-configuration/generic-adapter-configuration.component.scss
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/generic-adapter-configuration/generic-adapter-configuration.component.ts
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/specific-adapter-configuration/specific-adapter-configuration.component.scss
 delete mode 100644 ui/src/app/connect/components/adapter-configuration/specific-adapter-configuration/specific-adapter-configuration.component.ts
 delete mode 100644 ui/src/scss/_variables.scss
 delete mode 100644 ui/src/scss/sp/animations.ng1.scss
 delete mode 100644 ui/src/scss/sp/input.ng1.scss
 delete mode 100644 ui/src/scss/sp/pipeline-assembly.scss
 create mode 100644 ui/src/scss/sp/sp-theme.scss


[streampipes] 01/02: Merge branch 'dev' into 1335-replace-angularflex-layout-dependency-with-ngbracketngx-layout-dependency

Posted by ri...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch 1335-replace-angularflex-layout-dependency-with-ngbracketngx-layout-dependency
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit 1eb23829353b203a0c1d272907cbdb3bc0aa6d1d
Merge: 5e519e75b 98849e675
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Fri Jun 30 19:39:41 2023 +0200

    Merge branch 'dev' into 1335-replace-angularflex-layout-dependency-with-ngbracketngx-layout-dependency

 .asf.yaml                                          |     8 +
 .github/ISSUE_TEMPLATE/bug_report.yml              |     2 +-
 .github/workflows/build.yml                        |     6 +-
 .github/workflows/osv-scanner.yml                  |    55 +
 .github/workflows/pr-validation.yml                |     2 +-
 .github/workflows/python-docs.yml                  |     7 +-
 .github/workflows/stale-bot.yml                    |    39 +
 .gitignore                                         |     3 +
 .../all_pipeline_elements_flink.xml                |     4 +-
 README.md                                          |     6 +-
 RELEASE_NOTES.md                                   |   276 +
 VULNERABILITY.md                                   |     9 +
 .../streampipes-archetype-extensions-jvm/pom.xml   |     7 +-
 .../archetype-resources/src/main/java/Init.java    |     4 +-
 .../pom.xml                                        |     7 +-
 .../archetype-resources/src/main/java/Init.java    |     4 +-
 .../streampipes-archetype-pe-sinks-flink/pom.xml   |     7 +-
 .../archetype-resources/src/main/java/Init.java    |     4 +-
 installer/cli/.env                                 |     2 +-
 installer/cli/README.md                            |     2 +-
 .../cli/deploy/standalone/opcua/docker-compose.yml |     1 +
 installer/compose/.env                             |     2 +-
 installer/compose/README.md                        |     2 +-
 installer/compose/docker-compose.full.yml          |    10 -
 installer/k8s/Chart.yaml                           |     4 +-
 installer/k8s/README.md                            |     2 +-
 installer/k8s/templates/core/backend-pvc.yaml      |     2 +-
 installer/k8s/templates/core/ui-configmap.yaml     |     2 +-
 .../templates/external/consul/consul-pv-pvc.yaml   |     2 +-
 .../templates/external/couchdb/couchdb-pv-pvc.yaml |     2 +-
 .../templates/external/influxdb/influxdb-pvc.yaml  |     2 +-
 .../templates/external/influxdb/influxdb2-pvc.yaml |     2 +-
 installer/k8s/values.yaml                          |    11 +-
 installer/upgrade_versions.sh                      |    39 +-
 pom.xml                                            |   127 +-
 streampipes-client-api/pom.xml                     |    54 +
 .../org/apache/streampipes/client/api/CRUDApi.java |    34 +
 .../apache/streampipes/client/api/IAdminApi.java   |    35 +
 .../streampipes/client/api/ICustomRequestApi.java  |    29 +
 .../client/api/IDataLakeMeasureApi.java            |    40 +
 .../streampipes/client/api/IDataProcessorApi.java  |    66 +
 .../streampipes/client/api/IDataSinkApi.java       |    56 +
 .../streampipes/client/api/IDataStreamApi.java     |    54 +
 .../apache/streampipes/client/api/IFileApi.java    |    27 +
 .../streampipes/client/api/INotificationsApi.java  |    25 +
 .../streampipes/client/api/IPipelineApi.java       |    50 +
 .../client/api/IPipelineElementTemplateApi.java    |    41 +
 .../streampipes/client/api/IStreamPipesClient.java |    62 +
 .../client/api/annotation/NotYetImplemented.java   |    22 +
 .../api/config/ClientConnectionConfigResolver.java |    39 +
 .../api/config/ClientConnectionUrlResolver.java    |    27 +
 .../api/config/IStreamPipesClientConfig.java       |    34 +
 .../client/api/constants/InputStreamIndex.java     |    33 +
 .../api/credentials/CredentialsProvider.java       |    28 +
 .../client/api/live/EventProcessor.java            |    25 +
 .../client/api/live/IBrokerConfigOverride.java     |    31 +
 .../client/api/live/IConfiguredEventProducer.java  |    32 +
 .../streampipes/client/api/live/ISubscription.java |    24 +
 streampipes-client-python/Makefile                 |     1 +
 streampipes-client-python/README.md                |    36 +-
 .../docs/getting-started/first-steps.md            |    12 +-
 .../docs/getting-started/quickstart.md             |     7 +-
 .../docs/img/interrogate_badge.svg                 |    55 +
 streampipes-client-python/docs/index.md            |     5 +-
 streampipes-client-python/docs/overrides/404.html  |    31 +
 ...introduction-to-streampipes-python-client.ipynb |    18 +-
 ...cting-data-from-the-streampipes-data-lake.ipynb |    10 +-
 ...ive-data-from-the-streampipes-data-stream.ipynb |    27 +-
 ...ine-learning-on-a-streampipes-data-stream.ipynb |    24 +-
 streampipes-client-python/mkdocs.yml               |     4 +-
 streampipes-client-python/setup.py                 |    40 +-
 .../streampipes/client/client.py                   |    59 +-
 .../streampipes/client/credential_provider.py      |    85 +-
 .../streampipes/endpoint/api/__init__.py           |     2 +
 .../streampipes/endpoint/api/data_lake_measure.py  |    14 +-
 .../streampipes/endpoint/api/data_stream.py        |     7 +-
 .../streampipes/endpoint/api/version.py            |   130 +
 .../streampipes/function_zoo/river_function.py     |     8 +-
 .../streampipes/functions/broker/__init__.py       |    19 +-
 .../streampipes/functions/broker/broker.py         |    48 +-
 .../streampipes/functions/broker/broker_handler.py |    51 +-
 .../streampipes/functions/broker/consumer.py       |    65 +
 .../streampipes/functions/broker/kafka/__init__.py |    16 +
 .../functions/broker/kafka/kafka_consumer.py       |    81 +
 .../broker/kafka/kafka_message_fetcher.py          |    52 +
 .../functions/broker/kafka/kafka_publisher.py      |    72 +
 .../streampipes/functions/broker/kafka_broker.py   |    97 -
 .../functions/broker/kafka_message_fetcher.py      |    50 -
 .../streampipes/functions/broker/nats/__init__.py  |    16 +
 .../functions/broker/nats/nats_consumer.py         |    78 +
 .../functions/broker/nats/nats_publisher.py        |    73 +
 .../streampipes/functions/broker/nats_broker.py    |    95 -
 .../functions/broker/output_collector.py           |    14 +-
 .../streampipes/functions/broker/publisher.py      |    42 +
 .../streampipes/functions/function_handler.py      |     5 +-
 .../functions/utils/async_iter_handler.py          |     2 +-
 .../functions/utils/data_stream_context.py         |     8 +-
 .../functions/utils/data_stream_generator.py       |    34 +-
 .../streampipes/model/container/__init__.py        |     2 +
 .../streampipes/model/container/versions.py        |    55 +
 .../streampipes/model/resource/__init__.py         |     6 +-
 .../streampipes/model/resource/data_lake_series.py |   126 -
 .../streampipes/model/resource/data_series.py      |   115 +
 .../streampipes/model/resource/exceptions.py       |    31 +
 .../streampipes/model/resource/query_result.py     |    89 +
 .../streampipes/model/resource/version.py          |    43 +
 streampipes-client-python/streampipes/py.typed     |    17 +
 .../tests/client/test_client.py                    |    42 +-
 .../tests/client/test_credential_provider.py       |    81 +-
 .../tests/client/test_data_lake_series.py          |   201 +-
 .../tests/client/test_endpoint.py                  |    82 +-
 .../tests/functions/test_function_handler.py       |   327 +-
 .../tests/functions/test_river_function.py         |    32 +-
 streampipes-client/pom.xml                         |    34 +-
 .../streampipes/client/StreamPipesClient.java      |    49 +-
 .../streampipes/client/StreamPipesCredentials.java |     2 +-
 .../client/annotation/NotYetImplemented.java       |    22 -
 .../client/api/AbstractTypedClientApi.java         |    14 +-
 .../apache/streampipes/client/api/AdminApi.java    |     6 +-
 .../org/apache/streampipes/client/api/CRUDApi.java |    33 -
 .../streampipes/client/api/CustomRequestApi.java   |     5 +-
 .../streampipes/client/api/DataLakeMeasureApi.java |     6 +-
 .../streampipes/client/api/DataProcessorApi.java   |    72 +-
 .../apache/streampipes/client/api/DataSinkApi.java |    37 +-
 .../streampipes/client/api/DataStreamApi.java      |    36 +-
 .../org/apache/streampipes/client/api/FileApi.java |     5 +-
 .../streampipes/client/api/NotificationsApi.java   |     3 +-
 .../apache/streampipes/client/api/PipelineApi.java |    14 +-
 .../client/api/PipelineElementTemplateApi.java     |     5 +-
 .../client/api/SupportsDataProcessorApi.java       |    23 -
 .../client/api/SupportsDataSinkApi.java            |    23 -
 .../client/api/SupportsDataStreamApi.java          |    23 -
 .../client/api/SupportsPipelineApi.java            |    23 -
 .../api/SupportsPipelineElementTemplateApi.java    |    23 -
 .../client/credentials/CredentialsProvider.java    |    28 -
 .../credentials/StreamPipesApiKeyCredentials.java  |     1 +
 .../credentials/StreamPipesTokenCredentials.java   |     1 +
 .../streampipes/client/http/HttpRequest.java       |    20 +-
 .../client/live/ConfiguredEventProducer.java       |    53 +
 .../streampipes/client/live/EventProcessor.java    |    25 -
 .../streampipes/client/live/KafkaConfig.java       |    41 -
 .../streampipes/client/live/ProducerManager.java   |    62 +
 .../streampipes/client/live/Subscription.java      |    38 +
 .../client/live/SubscriptionManager.java           |   117 +-
 .../model/ClientConnectionConfigResolver.java      |    39 -
 .../client/model/ClientConnectionUrlResolver.java  |    27 -
 .../streampipes/client/model/InputStreamIndex.java |    33 -
 .../client/model/StreamPipesClientConfig.java      |    26 +-
 .../model/StreamPipesClientConnectionConfig.java   |     3 +-
 streampipes-commons/pom.xml                        |    12 +-
 .../apache/streampipes/commons/constants/Envs.java |    10 +-
 .../commons/environment/DefaultEnvironment.java    |    15 +
 .../commons/environment/Environment.java           |     7 +
 .../commons/exceptions/SpHttpErrorStatusCode.java  |    39 +
 .../exceptions/connect/AdapterException.java       |    32 +
 .../commons/exceptions/connect/ParseException.java |    34 +
 .../streampipes/commons/resources/Resources.java   |    37 +
 .../src/test/java/TestResources.java               |    36 +
 streampipes-commons/src/test/resources/test.txt    |     1 +
 streampipes-config/pom.xml                         |    16 +-
 streampipes-connect-management/pom.xml             |    12 +-
 .../management/health/AdapterHealthCheck.java      |     9 +-
 .../management/AdapterMasterManagement.java        |    68 +-
 .../management/DescriptionManagement.java          |    18 +-
 .../management/management/GuessManagement.java     |    21 +-
 .../management/management/SourcesManagement.java   |    78 +-
 .../management/UnitMasterManagement.java           |     2 +-
 .../management/management/WorkerRestClient.java    |    30 +-
 .../management/AdapterMasterManagementTest.java    |     7 +-
 .../management/SourcesManagementTest.java          |     5 +-
 streampipes-data-explorer-commons/pom.xml          |    10 +-
 .../dataexplorer/commons/DataExplorerUtils.java    |    10 +-
 .../dataexplorer/commons/TimeSeriesStore.java      |     4 +-
 .../commons/configs/CouchDbConfigurations.java     |    35 -
 .../commons/configs/CouchDbEnvKeys.java            |    25 -
 .../configs/DataExplorerConfigurations.java        |    46 -
 .../commons/configs/DataExplorerEnvKeys.java       |    28 -
 streampipes-data-explorer/pom.xml                  |    10 +-
 .../dataexplorer/DataExplorerQueryManagement.java  |   142 +
 .../dataexplorer/DataExplorerSchemaManagement.java |   155 +
 .../dataexplorer/DataLakeManagementV4.java         |   245 -
 .../dataexplorer/DataLakeNoUserManagementV3.java   |    96 -
 .../api/IDataExplorerQueryManagement.java          |    47 +
 .../api/IDataExplorerSchemaManagement.java         |    38 +
 .../dataexplorer/api/IQueryStatement.java          |    26 +
 .../influx/DataExplorerInfluxQueryExecutor.java    |   169 +
 .../influx/DataLakeInfluxQueryBuilder.java         |   289 +
 .../dataexplorer/param/DeleteQueryParams.java      |    60 +
 .../param/ProvidedRestQueryParamConverter.java     |   147 +
 .../param/ProvidedRestQueryParams.java             |    83 +
 .../dataexplorer/param/SelectQueryParams.java      |   140 +
 .../param/SupportedRestQueryParams.java            |    64 +
 .../param/model/AggregationFunction.java           |    41 +
 .../dataexplorer/param/model/FillClauseParams.java |    38 +
 .../param/model/GroupByTagsClauseParams.java       |    44 +
 .../param/model/GroupByTimeClauseParams.java       |    39 +
 .../param/model/LimitClauseParams.java             |    44 +
 .../param/model/OffsetClauseParams.java            |    44 +
 .../param/model/OrderByClauseParams.java           |    40 +
 .../param/model/SelectClauseParams.java            |    93 +
 .../dataexplorer/param/model/SelectColumn.java     |   111 +
 .../param/model/WhereClauseParams.java             |   122 +
 .../dataexplorer/query/AutoAggregationHandler.java |   159 +
 .../query/DataExplorerQueryExecutor.java           |   107 +
 .../dataexplorer/query/QueryResultProvider.java    |    60 +
 .../query/StreamedQueryResultProvider.java         |   119 +
 .../query/writer/ConfiguredCsvOutputWriter.java    |    76 +
 .../query/writer/ConfiguredJsonOutputWriter.java   |    71 +
 .../query/writer/ConfiguredOutputWriter.java       |    53 +
 .../dataexplorer/query/writer/OutputFormat.java    |    36 +
 .../query/writer/item/CsvItemWriter.java           |    37 +
 .../query/writer/item/ItemGenerator.java           |    57 +
 .../query/writer/item/JsonItemWriter.java          |    50 +
 .../querybuilder/DataLakeQueryOrdering.java        |    23 +
 .../dataexplorer/querybuilder/FilterCondition.java |    44 +
 .../querybuilder/IDataLakeQueryBuilder.java        |    84 +
 .../dataexplorer/sdk/DataLakeQueryBuilder.java     |   253 -
 .../dataexplorer/sdk/DataLakeQueryConstants.java   |    30 -
 .../dataexplorer/sdk/DataLakeQueryOrdering.java    |    23 -
 .../dataexplorer/sdk/IDataLakeQueryBuilder.java    |    74 -
 .../streampipes/dataexplorer/utils/TimeParser.java |    50 +
 .../dataexplorer/v4/AutoAggregationHandler.java    |   152 -
 .../dataexplorer/v4/ProvidedQueryParams.java       |    83 -
 .../v4/SupportedDataLakeQueryParameters.java       |    64 -
 .../dataexplorer/v4/params/ColumnFunction.java     |    41 -
 .../v4/params/DeleteFromStatementParams.java       |    31 -
 .../dataexplorer/v4/params/FillParams.java         |    35 -
 .../v4/params/GroupingByTagsParams.java            |    42 -
 .../v4/params/GroupingByTimeParams.java            |    36 -
 .../v4/params/ItemLimitationParams.java            |    37 -
 .../dataexplorer/v4/params/OffsetParams.java       |    37 -
 .../v4/params/OrderingByTimeParams.java            |    36 -
 .../dataexplorer/v4/params/QueryParamsV4.java      |    32 -
 .../dataexplorer/v4/params/SelectColumn.java       |    93 -
 .../v4/params/SelectFromStatementParams.java       |    92 -
 .../dataexplorer/v4/params/TimeBoundaryParams.java |    43 -
 .../dataexplorer/v4/params/WhereCondition.java     |    56 -
 .../v4/params/WhereStatementParams.java            |   122 -
 .../dataexplorer/v4/query/DataExplorerQueryV4.java |   234 -
 .../dataexplorer/v4/query/QueryBuilder.java        |    64 -
 .../dataexplorer/v4/query/QueryResultProvider.java |    62 -
 .../v4/query/StreamedQueryResultProvider.java      |   119 -
 .../v4/query/elements/DeleteFromStatement.java     |    33 -
 .../v4/query/elements/FillStatement.java           |    32 -
 .../v4/query/elements/GroupingByTags.java          |    43 -
 .../v4/query/elements/GroupingByTime.java          |    34 -
 .../v4/query/elements/ItemLimitation.java          |    34 -
 .../dataexplorer/v4/query/elements/Offset.java     |    34 -
 .../v4/query/elements/OrderingByTime.java          |    34 -
 .../v4/query/elements/QueryElement.java            |    35 -
 .../v4/query/elements/SelectFromStatement.java     |    51 -
 .../v4/query/elements/TimeBoundary.java            |    40 -
 .../v4/query/elements/WhereStatement.java          |    39 -
 .../v4/query/writer/ConfiguredCsvOutputWriter.java |    76 -
 .../query/writer/ConfiguredJsonOutputWriter.java   |    71 -
 .../v4/query/writer/ConfiguredOutputWriter.java    |    53 -
 .../dataexplorer/v4/query/writer/OutputFormat.java |    36 -
 .../v4/query/writer/item/CsvItemWriter.java        |    37 -
 .../v4/query/writer/item/ItemGenerator.java        |    57 -
 .../v4/query/writer/item/JsonItemWriter.java       |    50 -
 .../dataexplorer/v4/template/QueryTemplatesV4.java |    63 -
 .../v4/utils/DataLakeManagementUtils.java          |   163 -
 .../dataexplorer/v4/utils/TimeParser.java          |    50 -
 .../dataexplorer/param/SelectQueryParamsTest.java  |   208 +
 .../param/WhereStatementParamsTest.java            |    62 +
 .../writer/TestConfiguredCsvOutputWriter.java      |    52 +
 .../writer/TestConfiguredJsonOutputWriter.java     |    53 +
 .../query/writer/TestConfiguredOutputWriter.java   |    42 +
 .../query/writer/item/TestCsvItemWriter.java       |    47 +
 .../query/writer/item/TestItemWriter.java          |    36 +
 .../query/writer/item/TestJsonItemWriter.java      |    38 +
 .../dataexplorer/sdk/DataLakeQueryBuilderTest.java |     6 +-
 .../utils/ProvidedQueryParameterBuilder.java       |    92 +
 .../writer/TestConfiguredCsvOutputWriter.java      |    53 -
 .../writer/TestConfiguredJsonOutputWriter.java     |    54 -
 .../query/writer/TestConfiguredOutputWriter.java   |    42 -
 .../v4/query/writer/item/TestCsvItemWriter.java    |    49 -
 .../v4/query/writer/item/TestItemWriter.java       |    36 -
 .../v4/query/writer/item/TestJsonItemWriter.java   |    40 -
 streampipes-data-export/pom.xml                    |    10 +-
 .../export/dataimport/PerformImportGenerator.java  |     4 +-
 .../export/dataimport/PreviewImportGenerator.java  |    18 +-
 .../export/resolver/AdapterResolver.java           |    13 +-
 .../export/resolver/PipelineResolver.java          |     2 -
 .../export/utils/ImportAdapterMigrationUtils.java  |    55 +
 streampipes-dataformat-cbor/pom.xml                |     6 +-
 streampipes-dataformat-fst/pom.xml                 |     6 +-
 streampipes-dataformat-json/pom.xml                |     6 +-
 streampipes-dataformat-smile/pom.xml               |     6 +-
 streampipes-dataformat/pom.xml                     |     4 +-
 streampipes-extensions-api/pom.xml                 |    18 +-
 .../api/DataSetReplayFinishedNotifier.java         |    23 -
 .../extensions/api/config/IConfigExtractor.java    |    27 +
 .../api/connect/AdapterOutputCollector.java        |    23 +
 .../extensions/api/connect/Connector.java          |    25 -
 .../extensions/api/connect/EmitBinaryEvent.java    |    23 -
 .../extensions/api/connect/IAdapter.java           |    41 -
 .../api/connect/IAdapterConfiguration.java         |    34 +
 .../extensions/api/connect/IEventCollector.java    |    25 +
 .../extensions/api/connect/IFormat.java            |    49 -
 .../extensions/api/connect/IParser.java            |    31 +-
 .../api/connect/IParserEventHandler.java           |    28 +
 .../extensions/api/connect/IPollingSettings.java   |    28 +
 .../extensions/api/connect/IProtocol.java          |    44 -
 .../extensions/api/connect/IPullAdapter.java       |    30 +
 .../extensions/api/connect/StreamPipesAdapter.java |    39 +
 .../context/IAdapterGuessSchemaContext.java        |    28 +
 .../connect/context/IAdapterRuntimeContext.java    |    27 +
 .../api/connect/exception/AdapterException.java    |    32 -
 .../api/connect/exception/ParseException.java      |    34 -
 .../extensions/api/declarer/DataSetDeclarer.java   |    29 -
 .../api/declarer/DataStreamDeclarer.java           |    29 -
 .../extensions/api/declarer/Declarer.java          |    28 -
 .../extensions/api/declarer/InvocableDeclarer.java |    31 -
 .../api/declarer/PipelineTemplateDeclarer.java     |    25 -
 .../declarer/SemanticEventConsumerDeclarer.java    |    26 -
 .../SemanticEventProcessingAgentDeclarer.java      |    27 -
 .../api/extractor/IAdapterParameterExtractor.java  |    30 +
 .../IDataProcessorParameterExtractor.java          |    29 +
 .../api/extractor/IDataSinkParameterExtractor.java |    24 +
 .../api/extractor/IParameterExtractor.java         |   119 +
 .../api/extractor/IStaticPropertyExtractor.java    |    24 +
 .../api/monitoring/IPipelineElementLogger.java     |    24 +
 .../api/monitoring/SpMonitoringManager.java        |   116 +
 .../api/pe/IStreamPipesDataProcessor.java          |    39 +
 .../extensions/api/pe/IStreamPipesDataSink.java    |    35 +
 .../extensions/api/pe/IStreamPipesDataStream.java  |    28 +
 .../api/pe/IStreamPipesPipelineElement.java        |    26 +
 .../api/pe/config/IDataProcessorConfiguration.java |    34 +
 .../api/pe/config/IDataSinkConfiguration.java      |    26 +
 .../api/pe/config/IDataStreamConfiguration.java    |    26 +
 .../pe/config/IPipelineElementConfiguration.java   |    32 +
 .../pe/context/EventProcessorRuntimeContext.java   |    24 +
 .../api/pe/context/EventSinkRuntimeContext.java    |    21 +
 .../api/pe/context/IContextGenerator.java          |    26 +
 .../extensions/api/pe/context/RuntimeContext.java  |    35 +
 .../api/pe/param/IDataProcessorParameters.java     |    41 +
 .../api/pe/param/IDataSinkParameters.java          |    26 +
 .../api/pe/param/IInternalRuntimeParameters.java   |    31 +
 .../api/pe/param/IParameterGenerator.java          |    31 +
 .../api/pe/param/IPipelineElementParameters.java   |    54 +
 .../extensions/api/pe/param/InputStreamParams.java |    87 +
 .../api/pe/param/OutputStreamParams.java           |    58 +
 .../api/pe/routing/PipelineElementCollector.java   |    32 +
 .../api/pe/routing/RawDataProcessor.java           |    25 +
 .../api/pe/routing/SpInputCollector.java           |    24 +
 .../api/pe/routing/SpOutputCollector.java          |    30 +
 .../api/pe/runtime/IDataProcessorRuntime.java      |    26 +
 .../api/pe/runtime/IDataSinkRuntime.java           |    25 +
 .../api/pe/runtime/IStreamPipesRuntime.java        |    34 +
 .../pe/runtime/IStreamPipesRuntimeProvider.java    |    29 +
 .../runtime/ResolvesContainerProvidedOptions.java  |     4 +-
 .../ResolvesContainerProvidedOutputStrategy.java   |     4 +-
 .../api/runtime/SupportsRuntimeConfig.java         |     4 +-
 streampipes-extensions-management/pom.xml          |    41 +-
 ...StreamPipesClientRuntimeConnectionResolver.java |     4 +-
 .../management/config/ConfigExtractor.java         |    10 +-
 .../management/connect/AdapterUtils.java           |    70 -
 .../connect/AdapterWorkerManagement.java           |    89 +-
 .../connect/ConnectWorkerDescriptionProvider.java  |    96 +-
 .../extensions/management/connect/GetNEvents.java  |    49 -
 .../management/connect/GuessManagement.java        |    71 +-
 .../management/connect/PullAdapterScheduler.java   |    62 +
 .../management/connect/RuntimeResovable.java       |    26 +-
 .../management/connect/SendToPipeline.java         |    48 -
 .../management/connect/adapter/Adapter.java        |    75 -
 .../connect/adapter/AdapterPipelineGenerator.java  |    11 -
 .../connect/adapter/AdapterRegistry.java           |    73 -
 .../connect/adapter/GroundingService.java          |    47 -
 .../connect/adapter/format/csv/CsvFormat.java      |   145 -
 .../connect/adapter/format/csv/CsvParser.java      |   196 -
 .../adapter/format/geojson/GeoJsonConstants.java   |    33 -
 .../adapter/format/geojson/GeoJsonFormat.java      |   152 -
 .../adapter/format/geojson/GeoJsonParser.java      |   203 -
 .../connect/adapter/format/image/ImageFormat.java  |    64 -
 .../connect/adapter/format/image/ImageParser.java  |    60 -
 .../adapter/format/json/AbstractJsonFormat.java    |    45 -
 .../adapter/format/json/AbstractJsonParser.java    |    76 -
 .../adapter/format/json/arraykey/JsonFormat.java   |    55 -
 .../adapter/format/json/arraykey/JsonParser.java   |   207 -
 .../format/json/arraynokey/JsonArrayFormat.java    |    50 -
 .../format/json/arraynokey/JsonArrayParser.java    |   182 -
 .../format/json/object/JsonObjectFormat.java       |    49 -
 .../format/json/object/JsonObjectParser.java       |    74 -
 .../adapter/format/util/JsonEventProperty.java     |   100 -
 .../connect/adapter/format/xml/XmlFormat.java      |    91 -
 .../adapter/format/xml/XmlMapConverter.java        |   121 -
 .../connect/adapter/format/xml/XmlParser.java      |   161 -
 .../connect/adapter/guess/SchemaGuesser.java       |    41 -
 .../connect/adapter/model/EventCollector.java      |    44 +
 .../adapter/model/generic/GenericAdapter.java      |    99 -
 .../model/generic/GenericDataSetAdapter.java       |    68 -
 .../model/generic/GenericDataStreamAdapter.java    |    68 -
 .../connect/adapter/model/generic/Parser.java      |    47 -
 .../connect/adapter/model/generic/Protocol.java    |    38 -
 .../adapter/model/specific/SpecificAdapter.java    |    34 -
 .../model/specific/SpecificDataSetAdapter.java     |    33 -
 .../model/specific/SpecificDataStreamAdapter.java  |    33 -
 .../connect/adapter/parser/CsvParser.java          |   203 +
 .../connect/adapter/parser/ImageParser.java        |    87 +
 .../connect/adapter/parser/JsonParsers.java        |   132 +
 .../connect/adapter/parser/ParserUtils.java        |    48 +
 .../management/connect/adapter/parser/Parsers.java |    36 +
 .../adapter/parser/json/GeoJsonConstants.java      |    33 +
 .../connect/adapter/parser/json/GeoJsonParser.java |   245 +
 .../adapter/parser/json/JsonArrayKeyParser.java    |    84 +
 .../adapter/parser/json/JsonArrayParser.java       |    59 +
 .../adapter/parser/json/JsonObjectParser.java      |    51 +
 .../connect/adapter/parser/json/JsonParser.java    |    58 +
 .../adapter/parser/util/JsonEventProperty.java     |   103 +
 .../adapter/parser/xml/XmlMapConverter.java        |   121 +
 .../connect/adapter/parser/xml/XmlParser.java      |   124 +
 .../connect/adapter/preprocessing/Util.java        |    14 -
 .../preprocessing/elements/DebugAdapterSink.java   |    47 -
 .../elements/SendToBrokerAdapterSink.java          |    23 +-
 .../elements/SendToJmsAdapterSink.java             |     8 +-
 .../elements/SendToKafkaAdapterSink.java           |     8 +-
 .../elements/SendToMqttAdapterSink.java            |     8 +-
 .../elements/SendToNatsAdapterSink.java            |     8 +-
 .../value/CorrectionValueTransformationRule.java   |    28 +-
 .../connect/adapter/sdk/ParameterExtractor.java    |   147 -
 .../adapter/util/AdapterOutputCollector.java       |    23 -
 .../connect/adapter/util/PollingSettings.java      |    30 +-
 .../context/AdapterContextGenerator.java           |    39 +
 .../context/SpAdapterGuessSchemaContext.java       |    45 +
 .../context/SpAdapterRuntimeContext.java           |    44 +
 .../management/init/DeclarersSingleton.java        |   213 +-
 .../management/init/IDeclarersSingleton.java       |    27 +
 .../management/init/RunningAdapterInstances.java   |    10 +-
 .../management/init/RunningDatasetInstances.java   |    55 -
 .../management/init/RunningInstances.java          |    15 +-
 .../management/locales/LabelGenerator.java         |    57 +-
 .../management/model/SpServiceDefinition.java      |    72 +-
 .../model/SpServiceDefinitionBuilder.java          |    33 +-
 .../management/monitoring/SpMonitoringManager.java |   116 -
 .../management/util/RuntimeContextUtils.java       |    36 +
 .../management/util/ServiceDefinitionUtil.java     |    26 +-
 .../connect/AdapterWorkerManagementTest.java       |    94 +-
 .../ConnectWorkerDescriptionProviderTest.java      |    79 +
 .../management/connect/GuessManagementTest.java    |    49 +
 .../extensions/management/connect/Utils.java       |    46 -
 .../connect/adapter/GroundingServiceTest.java      |    85 -
 .../management/connect/adapter/TestUtils.java      |     9 +
 .../connect/adapter/format/csv/CsvParserTest.java  |    45 -
 .../format/json/arraykey/JsonParserTest.java       |    91 -
 .../json/arraynokey/JsonArrayParserTest.java       |    93 -
 .../adapter/format/json/geojson/GeoJsonTest.java   |   330 -
 .../format/json/object/JsonObjectParserTest.java   |    67 -
 .../connect/adapter/format/json/xml/XmlTest.java   |   302 -
 .../adapter/format/xml/XmlMapConverterTest.java    |    56 -
 .../connect/adapter/parser/CsvParserTest.java      |   166 +
 .../connect/adapter/parser/ParserTest.java         |    34 +
 .../connect/adapter/parser/XmlParserTest.java      |   121 +
 .../adapter/parser/json/GeoJsonParserTest.java     |   111 +
 .../parser/json/JsonArrayKeyParserTest.java        |   113 +
 .../adapter/parser/json/JsonArrayParserTest.java   |    90 +
 .../adapter/parser/json/JsonObjectParsersTest.java |    95 +
 .../transform/value/CorrectionValueTest.java       |   158 +
 .../management/init/DeclarersSingletonTest.java    |    55 +
 .../model/SpServiceDefinitionBuilderTest.java      |    70 +
 streampipes-extensions/pom.xml                     |    14 +-
 .../streampipes-connect-adapters-iiot/pom.xml      |    22 +-
 .../connect/iiot/ConnectAdapterIiotInit.java       |    16 +-
 .../connect/iiot/adapters/PullAdapter.java         |   114 -
 .../connect/iiot/adapters/PullRestAdapter.java     |    72 -
 .../iiot/adapters/iolink/IfmAlMqttAdapter.java     |   186 +
 .../iiot/adapters/iolink/sensor/IoLinkSensor.java  |    29 +
 .../iiot/adapters/iolink/sensor/SensorVVB001.java  |   162 +
 .../opcua/MiloOpcUaConfigurationProvider.java      |   104 -
 .../connect/iiot/adapters/opcua/OpcNode.java       |   129 -
 .../connect/iiot/adapters/opcua/OpcUaAdapter.java  |   285 -
 .../iiot/adapters/opcua/OpcUaNodeBrowser.java      |   134 -
 .../connect/iiot/adapters/opcua/SpOpcUaClient.java |   193 -
 .../opcua/configuration/SpOpcUaConfig.java         |   225 -
 .../opcua/configuration/SpOpcUaConfigBuilder.java  |   111 -
 .../opcua/utils/ExceptionMessageExtractor.java     |    38 -
 .../adapters/opcua/utils/OpcUaNodeVariants.java    |    53 -
 .../iiot/adapters/opcua/utils/OpcUaTypes.java      |    58 -
 .../iiot/adapters/opcua/utils/OpcUaUtil.java       |   260 -
 .../adapters/plc4x/modbus/Plc4xModbusAdapter.java  |   188 +-
 .../plc4x/passive/Plc4xPassiveAdapter.java         |   117 -
 .../iiot/adapters/plc4x/s7/Plc4xS7Adapter.java     |   279 +-
 .../iiot/adapters/ros/RosBridgeAdapter.java        |   185 +-
 .../simulator/machine/MachineDataSimulator.java    |    17 +-
 .../machine/MachineDataSimulatorAdapter.java       |    84 +
 .../machine/MachineDataSimulatorUtils.java         |     2 +-
 .../machine/MachineDataStreamAdapter.java          |    96 -
 .../connect/iiot/protocol/set/FileProtocol.java    |   140 -
 .../connect/iiot/protocol/set/HttpProtocol.java    |   148 -
 .../iiot/protocol/stream/BrokerEventProcessor.java |    25 +-
 .../iiot/protocol/stream/BrokerProtocol.java       |    58 -
 .../iiot/protocol/stream/FileReplayAdapter.java    |   229 +
 .../iiot/protocol/stream/FileStreamProtocol.java   |   329 -
 .../protocol/stream/HttpServerEventReceiver.java   |    36 -
 .../iiot/protocol/stream/HttpServerProtocol.java   |   144 +-
 .../iiot/protocol/stream/HttpStreamProtocol.java   |   160 +-
 .../iiot/protocol/stream/KafkaProtocol.java        |   273 +-
 .../connect/iiot/protocol/stream/MqttProtocol.java |   105 +-
 .../connect/iiot/protocol/stream/NatsProtocol.java |   119 +-
 .../connect/iiot/protocol/stream/PullProtocol.java |   103 -
 .../iiot/protocol/stream/TubeMQProtocol.java       |   127 +-
 .../iiot/protocol/stream/pulsar/PulsarConfig.java  |    63 +
 .../protocol/stream/pulsar/PulsarProtocol.java     |   144 +-
 .../protocol/stream/rocketmq/RocketMQProtocol.java |   118 +-
 .../connect/iiot/utils/FileProtocolUtils.java      |     2 +-
 .../documentation.md                               |    84 +
 .../icon.png                                       |   Bin 0 -> 9219 bytes
 .../strings.en                                     |    50 +
 .../documentation.md                               |    33 -
 .../icon.png                                       |   Bin 99909 -> 0 bytes
 .../strings.en                                     |    41 -
 .../documentation.md                               |    33 -
 .../icon.png                                       |   Bin 99909 -> 0 bytes
 .../strings.en                                     |    42 -
 .../strings.en                                     |    76 -
 .../documentation.md                               |    32 +
 .../icon.png                                       |   Bin
 .../strings.en                                     |    44 +
 .../documentation.md                               |    34 +
 .../icon.png                                       |   Bin 0 -> 31009 bytes
 .../strings.en                                     |    26 +
 .../documentation.md                               |    32 -
 .../strings.en                                     |    28 -
 .../documentation.md                               |    32 -
 .../icon.png                                       |   Bin 17467 -> 0 bytes
 .../strings.en                                     |    25 -
 .../strings.en                                     |    12 +
 .../strings.en                                     |     3 +-
 .../streampipes/sensor/SensorVVB001Test.java       |    52 +
 .../streampipes-connect-adapters/pom.xml           |     6 +-
 .../streampipes/connect/ConnectAdapterInit.java    |    15 +-
 .../streampipes/connect/adapters/PullAdapter.java  |   105 -
 .../connect/adapters/PullRestAdapter.java          |    73 -
 .../adapters/coindesk/CoindeskBitcoinAdapter.java  |   145 +-
 .../connect/adapters/flic/FlicMQTTAdapter.java     |   109 +-
 .../connect/adapters/gdelt/GdeltAdapter.java       |   406 +-
 .../connect/adapters/iex/IexCloudAdapter.java      |    71 +-
 .../connect/adapters/iex/IexCloudNewsAdapter.java  |   219 +-
 .../connect/adapters/iex/IexCloudStockAdapter.java |   165 +-
 .../connect/adapters/image/ImageZipAdapter.java    |    30 +-
 .../adapters/image/set/ImageSetAdapter.java        |   100 -
 .../adapters/image/stream/ImageStreamAdapter.java  |    63 +-
 .../connect/adapters/iss/IssAdapter.java           |    78 +-
 .../connect/adapters/netio/NetioMQTTAdapter.java   |   107 +-
 .../connect/adapters/netio/NetioRestAdapter.java   |   184 +-
 .../adapters/sensemap/OpenSenseMapAdapter.java     |   742 +-
 .../simulator/random/RandomDataSetAdapter.java     |    91 -
 .../simulator/random/RandomDataSimulator.java      |    87 -
 .../simulator/random/RandomDataSimulatorUtils.java |    48 -
 .../simulator/random/RandomDataStreamAdapter.java  |    88 -
 .../connect/adapters/slack/SlackAdapter.java       |    59 +-
 .../connect/adapters/slack/SlackConsumer.java      |    13 +-
 .../connect/adapters/ti/TISensorTag.java           |    92 +-
 .../adapters/wikipedia/WikipediaAdapter.java       |    46 +-
 .../wikipedia/WikipediaEditedArticlesAdapter.java  |    29 +-
 .../wikipedia/WikipediaModelConverter.java         |     2 +-
 .../wikipedia/WikipediaNewArticlesAdapter.java     |    30 +-
 .../adapters/wikipedia/WikipediaSseConsumer.java   |     2 +-
 .../streampipes/connect/config/ConfigKeys.java     |    31 -
 .../connect/config/ConnectWorkerConfig.java        |    81 -
 .../documentation.md                               |    32 -
 .../icon.png                                       |   Bin 5332 -> 0 bytes
 .../strings.en                                     |    26 -
 .../documentation.md                               |    33 -
 .../icon.png                                       |   Bin 13079 -> 0 bytes
 .../strings.en                                     |    27 -
 .../connect/adapters/generic/UtilTest.java         |    52 -
 .../generic/protocol/set/HttpProtocolTest.java     |   123 -
 .../connect/adapters/ti/TISensorTagTest.java       |    78 +-
 .../streampipes-connectors-influx/pom.xml          |     8 +-
 .../connectors/influx/InfluxConnectorsInit.java    |     7 +-
 .../connectors/influx/adapter/InfluxDbClient.java  |     2 +-
 .../influx/adapter/InfluxDbStreamAdapter.java      |   153 +-
 .../connectors/influx/shared/InfluxConfigs.java    |     4 +-
 .../connectors/influx/sink/InfluxDbSink.java       |     6 +-
 .../streampipes-connectors-opcua/pom.xml           |    77 +
 .../connectors/opcua/adapter/OpcUaAdapter.java     |   253 +
 .../connectors/opcua/adapter/OpcUaNodeBrowser.java |   131 +
 .../opcua/adapter/OpcUaNodeMetadataExtractor.java  |   171 +
 .../connectors/opcua/client/SpOpcUaClient.java     |   184 +
 .../config/MiloOpcUaConfigurationProvider.java     |   103 +
 .../opcua/config/OpcUaAdapterConfig.java           |    36 +
 .../connectors/opcua/config/OpcUaConfig.java       |    70 +
 .../opcua/config/SharedUserConfiguration.java      |    89 +
 .../opcua/config/SpOpcUaConfigExtractor.java       |   109 +
 .../extensions/connectors/opcua/model/OpcNode.java |   129 +
 .../extensions/connectors/opcua/sink/OpcUa.java    |   159 +
 .../connectors/opcua/sink/OpcUaParameters.java     |    55 +
 .../connectors/opcua/sink/OpcUaSink.java           |   111 +
 .../opcua/utils/ExceptionMessageExtractor.java     |    38 +
 .../connectors/opcua/utils/OpcUaLabels.java        |    45 +
 .../connectors/opcua/utils/OpcUaTypes.java         |    58 +
 .../connectors/opcua/utils/OpcUaUtil.java          |   249 +
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |    69 +
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |    58 +
 .../adapter/OpcUaNodeMetadataExtractorTest.java    |   258 +
 .../streampipes-extensions-all-iiot/pom.xml        |    31 +-
 .../extensions/all/iiot/AllExtensionsIIoTInit.java |     2 +
 .../streampipes-extensions-all-jvm/pom.xml         |    18 +-
 .../extensions/all/jvm/AllExtensionsInit.java      |     3 +-
 .../pom.xml                                        |   131 -
 .../pe/flink/AllFlinkPipelineElementsInit.java     |    71 -
 .../streampipes-pipeline-elements-all-jvm/pom.xml  |    33 +-
 .../pe/jvm/AllPipelineElementsInit.java            |     6 +-
 .../pom.xml                                        |     2 +-
 .../Dockerfile                                     |     0
 .../development/env                                |     0
 .../pom.xml                                        |   143 +
 .../boilerpipe/BoilerpipeDocumentSource.java       |    45 +
 .../boilerpipe/BoilerpipeExtractor.java            |    82 +
 .../kohlschutter/boilerpipe/BoilerpipeFilter.java  |    54 +
 .../kohlschutter/boilerpipe/BoilerpipeInput.java   |    51 +
 .../boilerpipe/BoilerpipeProcessingException.java  |    59 +
 .../boilerpipe/conditions/TextBlockCondition.java  |    54 +
 .../kohlschutter/boilerpipe/document/Image.java    |   126 +
 .../boilerpipe/document/TextBlock.java             |   301 +
 .../boilerpipe/document/TextDocument.java          |   151 +
 .../document/TextDocumentStatistics.java           |    80 +
 .../boilerpipe/document/package-info.java          |    22 +
 .../boilerpipe/estimators/SimpleEstimator.java     |    79 +
 .../boilerpipe/extractors/ArticleExtractor.java    |    82 +
 .../extractors/ArticleSentencesExtractor.java      |    63 +
 .../boilerpipe/extractors/CanolaExtractor.java     |   112 +
 .../boilerpipe/extractors/CommonExtractors.java    |    74 +
 .../boilerpipe/extractors/DefaultExtractor.java    |    65 +
 .../boilerpipe/extractors/ExtractorBase.java       |   127 +
 .../extractors/KeepEverythingExtractor.java        |    57 +
 .../KeepEverythingWithMinKWordsExtractor.java      |    62 +
 .../extractors/LargestContentExtractor.java        |    68 +
 .../extractors/NumWordsRulesExtractor.java         |    61 +
 .../boilerpipe/extractors/package-info.java        |    22 +
 .../boilerpipe/filters/debug/PrintDebugFilter.java |    84 +
 .../filters/english/DensityRulesClassifier.java    |   128 +
 .../filters/english/HeuristicFilterBase.java       |    56 +
 .../english/IgnoreBlocksAfterContentFilter.java    |    96 +
 .../IgnoreBlocksAfterContentFromEndFilter.java     |    92 +
 .../english/KeepLargestFulltextBlockFilter.java    |    99 +
 .../filters/english/MinFulltextWordsFilter.java    |    77 +
 .../filters/english/NumWordsRulesClassifier.java   |   128 +
 .../filters/english/TerminatingBlocksFinder.java   |   127 +
 .../boilerpipe/filters/english/package-info.java   |    25 +
 .../heuristics/AddPrecedingLabelsFilter.java       |   100 +
 .../filters/heuristics/ArticleMetadataFilter.java  |    81 +
 .../filters/heuristics/BlockProximityFusion.java   |   140 +
 .../filters/heuristics/ContentFusion.java          |    90 +
 .../heuristics/DocumentTitleMatchClassifier.java   |   188 +
 .../heuristics/ExpandTitleToContentFilter.java     |    88 +
 .../filters/heuristics/KeepLargestBlockFilter.java |   135 +
 .../boilerpipe/filters/heuristics/LabelFusion.java |   105 +
 .../LargeBlockSameTagLevelToContentFilter.java     |    88 +
 .../filters/heuristics/ListAtEndFilter.java        |    75 +
 .../heuristics/SimpleBlockFusionProcessor.java     |    85 +
 .../TrailingHeadlineToBoilerplateFilter.java       |    82 +
 .../filters/heuristics/package-info.java           |    22 +
 .../filters/simple/BoilerplateBlockFilter.java     |    82 +
 .../boilerpipe/filters/simple/InvertedFilter.java  |    67 +
 .../filters/simple/LabelToBoilerplateFilter.java   |    76 +
 .../filters/simple/LabelToContentFilter.java       |    72 +
 .../simple/MarkEverythingBoilerplateFilter.java    |    67 +
 .../simple/MarkEverythingContentFilter.java        |    66 +
 .../filters/simple/MinClauseWordsFilter.java       |   126 +
 .../boilerpipe/filters/simple/MinWordsFilter.java  |    71 +
 .../filters/simple/SplitParagraphBlocksFilter.java |    97 +
 .../filters/simple/SurroundingToContentFilter.java |    95 +
 .../boilerpipe/filters/simple/package-info.java    |    23 +
 .../boilerpipe/labels/ConditionalLabelAction.java  |    58 +
 .../boilerpipe/labels/DefaultLabels.java           |    64 +
 .../boilerpipe/labels/LabelAction.java             |    65 +
 .../com/kohlschutter/boilerpipe/package-info.java  |    22 +
 .../sax/BoilerpipeHTMLContentHandler.java          |   458 +
 .../boilerpipe/sax/BoilerpipeHTMLParser.java       |    92 +
 .../boilerpipe/sax/BoilerpipeSAXInput.java         |    89 +
 .../boilerpipe/sax/CommonTagActions.java           |   361 +
 .../boilerpipe/sax/DefaultTagActionMap.java        |    99 +
 .../kohlschutter/boilerpipe/sax/HTMLDocument.java  |    74 +
 .../kohlschutter/boilerpipe/sax/HTMLFetcher.java   |   109 +
 .../boilerpipe/sax/HTMLHighlighter.java            |   522 +
 .../boilerpipe/sax/ImageExtractor.java             |   296 +
 .../boilerpipe/sax/InputSourceable.java            |    46 +
 .../boilerpipe/sax/MarkupTagAction.java            |   135 +
 .../com/kohlschutter/boilerpipe/sax/TagAction.java |    56 +
 .../kohlschutter/boilerpipe/sax/TagActionMap.java  |    77 +
 .../kohlschutter/boilerpipe/sax/package-info.java  |    23 +
 .../boilerpipe/util/UnicodeTokenizer.java          |    58 +
 .../kohlschutter/boilerpipe/util/package-info.java |    23 +
 .../flink/AbstractFlinkTransformationProgram.java  |    29 +
 .../pe/flink/AbstractPatternDetectionProgram.java  |    39 +
 .../pe/flink/AllFlinkPipelineElementsInit.java     |   100 +
 .../streampipes/pe/flink/config/ConfigKeys.java    |    28 +
 .../pe/flink/extensions/MapKeySelector.java        |    43 +
 .../pe/flink/extensions/SlidingBatchWindow.java    |    50 +
 .../flink/extensions/SlidingEventTimeWindow.java   |    79 +
 .../flink/extensions/TimestampMappingFunction.java |    28 +
 .../pe/flink/processor/absence/Absence.java        |    21 +
 .../flink/processor/absence/AbsenceController.java |    82 +
 .../flink/processor/absence/AbsenceParameters.java |    55 +
 .../pe/flink/processor/absence/AbsenceProgram.java |   127 +
 .../flink/processor/aggregation/Aggregation.java   |    87 +
 .../aggregation/AggregationController.java         |   162 +
 .../aggregation/AggregationParameters.java         |    83 +
 .../processor/aggregation/AggregationProgram.java  |    87 +
 .../processor/aggregation/AggregationType.java     |    26 +
 .../processor/aggregation/CountAggregation.java    |    55 +
 .../processor/aggregation/TimeAggregation.java     |    54 +
 .../processor/aggregation/config/aggregation.md    |     0
 .../streampipes/pe/flink/processor/and/And.java    |    21 +
 .../pe/flink/processor/and/AndController.java      |    84 +
 .../pe/flink/processor/and/AndParameters.java      |    59 +
 .../pe/flink/processor/and/AndProgram.java         |    75 +
 .../pe/flink/processor/and/TimeUnit.java           |    22 +
 .../pe/flink/processor/and/TimeUnitConverter.java  |    34 +
 .../boilerplate/BoilerplateController.java         |   105 +
 .../boilerplate/BoilerplateParameters.java         |    49 +
 .../processor/boilerplate/BoilerplateProgram.java  |    38 +
 .../processor/boilerplate/BoilerplateRemover.java  |   104 +
 .../flink/processor/boilerplate/ExtractorMode.java |    28 +
 .../pe/flink/processor/boilerplate/OutputMode.java |    25 +
 .../flink/processor/common/TimestampExtractor.java |    36 +
 .../flink/processor/converter/FieldConverter.java  |    62 +
 .../converter/FieldConverterController.java        |   155 +
 .../converter/FieldConverterParameters.java        |    42 +
 .../processor/converter/FieldConverterProgram.java |    35 +
 .../pe/flink/processor/count/CountController.java  |    86 +
 .../pe/flink/processor/count/CountMapper.java      |    38 +
 .../pe/flink/processor/count/CountParameters.java  |    50 +
 .../pe/flink/processor/count/CountProgram.java     |    51 +
 .../pe/flink/processor/count/CountTrigger.java     |    46 +
 .../flink/processor/count/TimeWindowConverter.java |    35 +
 .../pe/flink/processor/count/Tuple2MapMapper.java  |    39 +
 .../processor/eventcount/EventCountController.java |    77 +
 .../processor/eventcount/EventCountMapper.java     |    29 +
 .../eventcount/EventCountOutputMapper.java         |    39 +
 .../processor/eventcount/EventCountParameters.java |    42 +
 .../processor/eventcount/EventCountProgram.java    |    41 +
 .../flink/processor/gridenricher/CellOption.java   |   128 +
 .../processor/gridenricher/EnrichmentSettings.java |    84 +
 .../gridenricher/SpatialGridCalculator.java        |    64 +
 .../gridenricher/SpatialGridConstants.java         |    31 +
 .../gridenricher/SpatialGridEnricher.java          |    61 +
 .../SpatialGridEnrichmentController.java           |   102 +
 .../SpatialGridEnrichmentParameters.java           |    36 +
 .../gridenricher/SpatialGridEnrichmentProgram.java |    36 +
 .../MeasurementUnitConverter.java                  |    58 +
 .../MeasurementUnitConverterController.java        |   128 +
 .../MeasurementUnitConverterParameters.java        |    52 +
 .../MeasurementUnitConverterProgram.java           |    40 +
 .../processor/peak/PeakDetectionCalculator.java    |   135 +
 .../processor/peak/PeakDetectionController.java    |    91 +
 .../processor/peak/PeakDetectionParameters.java    |    84 +
 .../flink/processor/peak/PeakDetectionProgram.java |    73 +
 .../processor/peak/utils/SlidingBatchWindow.java   |    53 +
 .../pe/flink/processor/rate/EventRate.java         |    40 +
 .../flink/processor/rate/EventRateController.java  |    67 +
 .../flink/processor/rate/EventRateParameter.java   |    37 +
 .../pe/flink/processor/rate/EventRateProgram.java  |    49 +
 .../pe/flink/processor/rename/FieldRenamer.java    |    48 +
 .../processor/rename/FieldRenamerController.java   |    69 +
 .../processor/rename/FieldRenamerParameters.java   |    52 +
 .../processor/rename/FieldRenamerProgram.java      |    38 +
 .../pe/flink/processor/sequence/EventStorage.java  |    41 +
 .../pe/flink/processor/sequence/Sequence.java      |    86 +
 .../processor/sequence/SequenceController.java     |    68 +
 .../processor/sequence/SequenceParameters.java     |    42 +
 .../flink/processor/sequence/SequenceProgram.java  |    46 +
 .../stat/summary/StatisticsSummaryCalculator.java  |    64 +
 .../stat/summary/StatisticsSummaryController.java  |   107 +
 .../stat/summary/StatisticsSummaryParameters.java  |    38 +
 .../stat/summary/StatisticsSummaryProgram.java     |    36 +
 .../window/StatisticsSummaryCalculatorWindow.java  |    69 +
 .../window/StatisticsSummaryControllerWindow.java  |   118 +
 .../window/StatisticsSummaryParametersWindow.java  |    69 +
 .../StatisticsSummaryParamsSerializable.java       |    62 +
 .../window/StatisticsSummaryProgramWindow.java     |    67 +
 .../processor/timestamp/TimestampController.java   |    66 +
 .../processor/timestamp/TimestampEnricher.java     |    42 +
 .../processor/timestamp/TimestampParameters.java   |    38 +
 .../processor/timestamp/TimestampProgram.java      |    37 +
 .../urldereferencing/UrlDereferencing.java         |    60 +
 .../UrlDereferencingController.java                |    71 +
 .../UrlDereferencingParameter.java                 |    42 +
 .../urldereferencing/UrlDereferencingProgram.java  |    38 +
 .../pe/flink/processor/wordcount/Word.java         |    54 +
 .../processor/wordcount/WordCountController.java   |    77 +
 .../processor/wordcount/WordCountParameters.java   |    42 +
 .../processor/wordcount/WordCountProgram.java      |    45 +
 .../pe/flink/processor/wordcount/WordSplitter.java |    44 +
 .../processor/wordcount/WordToEventConverter.java  |    34 +
 .../elasticsearch/ElasticSearchController.java     |    72 +
 .../elasticsearch/ElasticSearchParameters.java     |    58 +
 .../sink/elasticsearch/ElasticSearchProgram.java   |    81 +
 .../ElasticsearchIndexRequestBuilder.java          |    55 +
 .../elastic/ActionRequestFailureHandler.java       |    42 +
 .../elastic/BulkProcessorIndexer.java              |    55 +
 .../elastic/Elasticsearch6ApiCallBridge.java       |   116 +
 .../elastic/ElasticsearchApiCallBridge.java        |    97 +
 .../elasticsearch/elastic/ElasticsearchSink.java   |    93 +
 .../elastic/ElasticsearchSinkBase.java             |   456 +
 .../elastic/ElasticsearchSinkFunction.java         |    40 +
 .../elasticsearch/elastic/NoOpFailureHandler.java  |    39 +
 .../sink/elasticsearch/elastic/RequestIndexer.java |    37 +
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../documentation.md                               |     0
 .../icon.png                                       |   Bin
 .../strings.en                                     |     0
 .../streampipes-pipeline-elements-shared/pom.xml   |    10 +-
 .../pe/shared/config/kafka/KafkaConfig.java        |    15 +-
 .../pe/shared/config/kafka/KafkaConnectUtils.java  |    32 +-
 .../pe/shared/config/kafka/kafka/KafkaConfig.java  |    13 +-
 .../config/kafka/kafka/KafkaConnectUtils.java      |    39 +-
 .../pe/shared/config/mqtt/MqttConnectUtils.java    |    12 +-
 .../pe/shared/config/nats/NatsConfigUtils.java     |     4 +-
 .../pom.xml                                        |   160 -
 .../flink/AbstractAggregationProgram.java          |    49 -
 .../aggregation/flink/AggregationFlinkInit.java    |    70 -
 .../aggregation/flink/config/ConfigKeys.java       |    26 -
 .../flink/processor/aggregation/Aggregation.java   |    87 -
 .../aggregation/AggregationController.java         |   166 -
 .../aggregation/AggregationParameters.java         |    83 -
 .../processor/aggregation/AggregationProgram.java  |    92 -
 .../processor/aggregation/AggregationType.java     |    26 -
 .../processor/aggregation/CountAggregation.java    |    55 -
 .../processor/aggregation/TimeAggregation.java     |    54 -
 .../flink/processor/count/CountController.java     |    90 -
 .../flink/processor/count/CountMapper.java         |    38 -
 .../flink/processor/count/CountParameters.java     |    50 -
 .../flink/processor/count/CountProgram.java        |    56 -
 .../flink/processor/count/CountTrigger.java        |    46 -
 .../flink/processor/count/TimeWindowConverter.java |    35 -
 .../flink/processor/count/Tuple2MapMapper.java     |    39 -
 .../processor/eventcount/EventCountController.java |    81 -
 .../processor/eventcount/EventCountMapper.java     |    29 -
 .../eventcount/EventCountOutputMapper.java         |    39 -
 .../processor/eventcount/EventCountParameters.java |    42 -
 .../processor/eventcount/EventCountProgram.java    |    45 -
 .../flink/processor/rate/EventRate.java            |    40 -
 .../flink/processor/rate/EventRateController.java  |    71 -
 .../flink/processor/rate/EventRateParameter.java   |    37 -
 .../flink/processor/rate/EventRateProgram.java     |    53 -
 .../pom.xml                                        |    11 +-
 .../jvm/ChangeDetectionJvmInit.java                |     6 +-
 .../changedetection/jvm/cusum/Cusum.java           |   105 -
 .../changedetection/jvm/cusum/CusumController.java |    84 -
 .../jvm/cusum/CusumEventFields.java                |    29 -
 .../changedetection/jvm/cusum/CusumParameters.java |    49 -
 .../jvm/cusum/WelfordAggregate.java                |    60 -
 .../jvm/welford/WelfordChangeDetection.java        |     6 +-
 .../streampipes-processors-enricher-flink/pom.xml  |    98 -
 .../enricher/flink/AbstractEnricherProgram.java    |    49 -
 .../enricher/flink/EnricherFlinkInit.java          |    64 -
 .../enricher/flink/config/ConfigKeys.java          |    26 -
 .../processor/timestamp/TimestampController.java   |    70 -
 .../processor/timestamp/TimestampEnricher.java     |    42 -
 .../processor/timestamp/TimestampParameters.java   |    38 -
 .../processor/timestamp/TimestampProgram.java      |    42 -
 .../urldereferencing/UrlDereferencing.java         |    60 -
 .../UrlDereferencingController.java                |    84 -
 .../UrlDereferencingParameter.java                 |    42 -
 .../urldereferencing/UrlDereferencingProgram.java  |    42 -
 .../streampipes-processors-enricher-jvm/pom.xml    |    11 +-
 .../processors/enricher/jvm/EnricherJvmInit.java   |    12 +-
 .../enricher/jvm/processor/jseval/JSEval.java      |    70 -
 .../jvm/processor/jseval/JSEvalController.java     |    61 -
 .../jvm/processor/jseval/JSEvalParameters.java     |    35 -
 .../jvm/processor/jseval/JSEvalProcessor.java      |    99 +
 .../jvm/processor/math/MathOpProcessor.java        |     6 +-
 .../math/staticmathop/StaticMathOpProcessor.java   |     6 +-
 .../jvm/processor/sizemeasure/SizeMeasure.java     |    70 -
 .../sizemeasure/SizeMeasureController.java         |    78 -
 .../sizemeasure/SizeMeasureParameters.java         |    36 -
 .../sizemeasure/SizeMeasureProcessor.java          |   114 +
 .../trigonometry/TrigonometryProcessor.java        |     6 +-
 .../valuechange/ValueChangeProcessor.java          |     6 +-
 .../streampipes-processors-filters-jvm/pom.xml     |    11 +-
 .../processors/filters/jvm/FiltersJvmInit.java     |     4 +-
 .../booleanfilter/BooleanFilterProcessor.java      |     6 +-
 .../jvm/processor/compose/ComposeProcessor.java    |     6 +-
 .../processor/enrich/MergeByEnrichProcessor.java   |     6 +-
 .../jvm/processor/limit/RateLimitProcessor.java    |     6 +-
 .../jvm/processor/limit/util/WindowFactory.java    |     2 +-
 .../jvm/processor/limit/window/CronWindow.java     |     2 +-
 .../jvm/processor/limit/window/LengthWindow.java   |     2 +-
 .../jvm/processor/limit/window/ScheduleWindow.java |     2 +-
 .../jvm/processor/limit/window/TimeWindow.java     |     2 +-
 .../jvm/processor/merge/MergeByTimeProcessor.java  |     6 +-
 .../movingaverage/MovingAverageProcessor.java      |     8 +-
 .../numericalfilter/NumericalFilterProcessor.java  |    60 +-
 .../NumericalTextFilterProcessor.java              |     6 +-
 .../processor/projection/ProjectionProcessor.java  |     6 +-
 .../processor/schema/MergeBySchemaProcessor.java   |     6 +-
 .../processor/sdt/SwingingDoorTrendingFilter.java  |     2 +-
 .../sdt/SwingingDoorTrendingFilterProcessor.java   |     6 +-
 .../processor/textfilter/TextFilterProcessor.java  |     8 +-
 .../threshold/ThresholdDetectionProcessor.java     |     6 +-
 .../throughputmon/ThroughputMonitorProcessor.java  |     6 +-
 .../streampipes-processors-filters-siddhi/pom.xml  |    13 +-
 .../processors/siddhi/FiltersSiddhiInit.java       |    14 +-
 .../processors/siddhi/count/CountAggregation.java  |     3 +-
 .../processors/siddhi/filter/NumericalFilter.java  |    85 -
 .../siddhi/filter/NumericalFilterController.java   |    93 -
 .../siddhi/filter/NumericalFilterParameters.java   |    50 -
 .../filter/NumericalFilterSiddhiProcessor.java     |   125 +
 .../processors/siddhi/frequency/Frequency.java     |    54 -
 .../siddhi/frequency/FrequencyController.java      |    69 -
 .../siddhi/frequency/FrequencyParameters.java      |    50 -
 .../siddhi/frequency/FrequencySiddhiProcessor.java |    89 +
 .../siddhi/frequencychange/FrequencyChange.java    |    54 -
 .../frequencychange/FrequencyChangeController.java |    74 -
 .../frequencychange/FrequencyChangeParameters.java |    61 -
 .../FrequencyChangeSiddhiProcessor.java            |    93 +
 .../siddhi/listcollector/ListCollector.java        |     3 +-
 .../processors/siddhi/listfilter/ListFilter.java   |     7 +-
 .../processors/siddhi/sequence/Sequence.java       |    57 -
 .../siddhi/sequence/SequenceController.java        |    69 -
 .../siddhi/sequence/SequenceParameters.java        |    40 -
 .../siddhi/sequence/SequenceSiddhiProcessor.java   |    90 +
 .../processors/siddhi/stop/StreamStop.java         |    60 -
 .../siddhi/stop/StreamStopController.java          |    74 -
 .../siddhi/stop/StreamStopParameters.java          |    40 -
 .../siddhi/stop/StreamStopSiddhiProcessor.java     |    94 +
 .../streampipes/processors/siddhi/topk/TopK.java   |     7 +-
 .../streampipes/processors/siddhi/trend/Trend.java |   107 -
 .../processors/siddhi/trend/TrendController.java   |    91 -
 .../processors/siddhi/trend/TrendOperator.java     |    13 +-
 .../processors/siddhi/trend/TrendParameters.java   |    66 -
 .../processors/siddhi/trend/TrendProcessor.java    |   155 +
 .../siddhi/trend/TestTrendProcessor.java           |    31 +-
 .../siddhi/trend/TrendConfigurationVisitor.java    |   156 +
 .../streampipes-processors-geo-flink/pom.xml       |    91 -
 .../processor/geo/flink/AbstractGeoProgram.java    |    47 -
 .../processor/geo/flink/GeoFlinkInit.java          |    63 -
 .../processor/geo/flink/config/ConfigKeys.java     |    26 -
 .../flink/processor/gridenricher/CellOption.java   |   128 -
 .../processor/gridenricher/EnrichmentSettings.java |    84 -
 .../gridenricher/SpatialGridCalculator.java        |    64 -
 .../gridenricher/SpatialGridConstants.java         |    31 -
 .../gridenricher/SpatialGridEnricher.java          |    61 -
 .../SpatialGridEnrichmentController.java           |   106 -
 .../SpatialGridEnrichmentParameters.java           |    36 -
 .../gridenricher/SpatialGridEnrichmentProgram.java |    40 -
 .../streampipes-processors-geo-jvm/pom.xml         |    13 +-
 .../streampipes/processors/geo/jvm/GeoJvmInit.java |     4 +-
 .../buffergeometry/BufferGeomProcessor.java        |     6 +-
 .../bufferpoint/BufferPointProcessor.java          |     6 +-
 .../geo/jvm/jts/processor/epsg/EpsgProcessor.java  |     6 +-
 .../LatLngToJtsPointProcessor.java                 |     6 +-
 .../reprojection/ReprojectionProcessor.java        |     6 +-
 .../trajectory/TrajectoryFromPointsProcessor.java  |     6 +-
 .../complex/TopologyValidationProcessor.java       |     8 +-
 .../simple/GeometryValidationProcessor.java        |     6 +-
 .../HaversineDistanceCalculatorProcessor.java      |     6 +-
 ...HaversineStaticDistanceCalculatorProcessor.java |     6 +-
 .../googlemaps/GoogleMapsGeocoderProcessor.java    |     6 +-
 .../GoogleMapsStaticGeocoderProcessor.java         |     6 +-
 .../geocityname/GeoCityNameRevdecodeProcessor.java |     6 +-
 .../speedcalculator/SpeedCalculatorProcessor.java  |     6 +-
 .../pom.xml                                        |    11 +-
 .../jvm/ImageProcessingJvmInit.java                |     4 +-
 .../GenericImageClassificationProcessor.java       |     6 +-
 .../imagecropper/ImageCropperProcessor.java        |     6 +-
 .../imageenrichment/ImageEnrichmentProcessor.java  |     6 +-
 .../processor/qrreader/QrCodeReaderProcessor.java  |     6 +-
 .../pom.xml                                        |   150 -
 .../flink/AbstractPatternDetectionProgram.java     |    57 -
 .../detection/flink/PatternDetectionFlinkInit.java |    71 -
 .../pattern/detection/flink/config/ConfigKeys.java |    26 -
 .../detection/flink/processor/absence/Absence.java |    21 -
 .../flink/processor/absence/AbsenceController.java |    86 -
 .../flink/processor/absence/AbsenceParameters.java |    55 -
 .../flink/processor/absence/AbsenceProgram.java    |   131 -
 .../pattern/detection/flink/processor/and/And.java |    21 -
 .../flink/processor/and/AndController.java         |    88 -
 .../flink/processor/and/AndParameters.java         |    59 -
 .../detection/flink/processor/and/AndProgram.java  |    79 -
 .../detection/flink/processor/and/TimeUnit.java    |    22 -
 .../flink/processor/and/TimeUnitConverter.java     |    34 -
 .../flink/processor/common/TimestampExtractor.java |    36 -
 .../processor/peak/PeakDetectionCalculator.java    |   135 -
 .../processor/peak/PeakDetectionController.java    |    95 -
 .../processor/peak/PeakDetectionParameters.java    |    84 -
 .../flink/processor/peak/PeakDetectionProgram.java |    77 -
 .../processor/peak/utils/SlidingBatchWindow.java   |    53 -
 .../flink/processor/sequence/EventStorage.java     |    41 -
 .../flink/processor/sequence/Sequence.java         |    86 -
 .../processor/sequence/SequenceController.java     |    72 -
 .../processor/sequence/SequenceParameters.java     |    42 -
 .../flink/processor/sequence/SequenceProgram.java  |    55 -
 .../pom.xml                                        |   103 -
 .../flink/AbstractStatisticsProgram.java           |    49 -
 .../statistics/flink/StatisticsFlinkInit.java      |    65 -
 .../statistics/flink/config/ConfigKeys.java        |    26 -
 .../flink/extensions/MapKeySelector.java           |    43 -
 .../flink/extensions/SlidingBatchWindow.java       |    50 -
 .../flink/extensions/SlidingEventTimeWindow.java   |    79 -
 .../flink/extensions/TimestampMappingFunction.java |    28 -
 .../stat/summary/StatisticsSummaryCalculator.java  |    64 -
 .../stat/summary/StatisticsSummaryController.java  |   111 -
 .../stat/summary/StatisticsSummaryParameters.java  |    38 -
 .../stat/summary/StatisticsSummaryProgram.java     |    40 -
 .../window/StatisticsSummaryCalculatorWindow.java  |    69 -
 .../window/StatisticsSummaryControllerWindow.java  |   122 -
 .../window/StatisticsSummaryParametersWindow.java  |    69 -
 .../StatisticsSummaryParamsSerializable.java       |    62 -
 .../window/StatisticsSummaryProgramWindow.java     |    72 -
 .../pom.xml                                        |   122 -
 .../flink/AbstractTextMiningProgram.java           |    49 -
 .../textmining/flink/TextMiningFlinkInit.java      |    62 -
 .../textmining/flink/config/ConfigKeys.java        |    26 -
 .../processor/language/LanguageDetection.java      |    76 -
 .../language/LanguageDetectionController.java      |    74 -
 .../language/LanguageDetectionParameters.java      |    36 -
 .../language/LanguageDetectionProgram.java         |    40 -
 .../processor/sentiment/SentimentDetection.java    |    21 -
 .../sentiment/SentimentDetectionController.java    |    21 -
 .../sentiment/SentimentDetectionParameters.java    |    21 -
 .../sentiment/SentimentDetectionProgram.java       |    21 -
 .../textmining/flink/processor/wordcount/Word.java |    54 -
 .../processor/wordcount/WordCountController.java   |    82 -
 .../processor/wordcount/WordCountParameters.java   |    42 -
 .../processor/wordcount/WordCountProgram.java      |    49 -
 .../flink/processor/wordcount/WordSplitter.java    |    44 -
 .../processor/wordcount/WordToEventConverter.java  |    34 -
 .../documentation.md                               |    47 -
 .../strings.en                                     |    24 -
 .../streampipes-processors-text-mining-jvm/pom.xml |    13 +-
 .../textmining/jvm/TextMiningJvmInit.java          |    28 +-
 .../textmining/jvm/processor/chunker/Chunker.java  |    99 -
 .../jvm/processor/chunker/ChunkerController.java   |    92 -
 .../jvm/processor/chunker/ChunkerParameters.java   |    47 -
 .../jvm/processor/chunker/ChunkerProcessor.java    |   139 +
 .../jvm/processor/language/LanguageDetection.java  |    79 -
 .../language/LanguageDetectionController.java      |    85 -
 .../language/LanguageDetectionParameters.java      |    41 -
 .../language/LanguageDetectionProcessor.java       |   118 +
 .../jvm/processor/namefinder/NameFinder.java       |    85 -
 .../processor/namefinder/NameFinderController.java |    96 -
 .../processor/namefinder/NameFinderParameters.java |    42 -
 .../processor/namefinder/NameFinderProcessor.java  |   121 +
 .../jvm/processor/partofspeech/PartOfSpeech.java   |    81 -
 .../partofspeech/PartOfSpeechController.java       |    85 -
 .../partofspeech/PartOfSpeechParameters.java       |    42 -
 .../partofspeech/PartOfSpeechProcessor.java        |   120 +
 .../sentencedetection/SentenceDetection.java       |    79 -
 .../SentenceDetectionController.java               |    74 -
 .../SentenceDetectionParameters.java               |    41 -
 .../SentenceDetectionProcessor.java                |   106 +
 .../jvm/processor/tokenizer/Tokenizer.java         |    76 -
 .../processor/tokenizer/TokenizerController.java   |    78 -
 .../processor/tokenizer/TokenizerParameters.java   |    41 -
 .../processor/tokenizer/TokenizerProcessor.java    |   109 +
 .../pom.xml                                        |   124 -
 .../boilerpipe/BoilerpipeDocumentSource.java       |    27 -
 .../boilerpipe/BoilerpipeExtractor.java            |    64 -
 .../kohlschutter/boilerpipe/BoilerpipeFilter.java  |    36 -
 .../kohlschutter/boilerpipe/BoilerpipeInput.java   |    33 -
 .../boilerpipe/BoilerpipeProcessingException.java  |    41 -
 .../boilerpipe/conditions/TextBlockCondition.java  |    36 -
 .../kohlschutter/boilerpipe/document/Image.java    |   108 -
 .../boilerpipe/document/TextBlock.java             |   283 -
 .../boilerpipe/document/TextDocument.java          |   133 -
 .../document/TextDocumentStatistics.java           |    62 -
 .../boilerpipe/document/package-info.java          |     4 -
 .../boilerpipe/estimators/SimpleEstimator.java     |    61 -
 .../boilerpipe/extractors/ArticleExtractor.java    |    64 -
 .../extractors/ArticleSentencesExtractor.java      |    45 -
 .../boilerpipe/extractors/CanolaExtractor.java     |    94 -
 .../boilerpipe/extractors/CommonExtractors.java    |    56 -
 .../boilerpipe/extractors/DefaultExtractor.java    |    47 -
 .../boilerpipe/extractors/ExtractorBase.java       |   109 -
 .../extractors/KeepEverythingExtractor.java        |    39 -
 .../KeepEverythingWithMinKWordsExtractor.java      |    44 -
 .../extractors/LargestContentExtractor.java        |    50 -
 .../extractors/NumWordsRulesExtractor.java         |    43 -
 .../boilerpipe/extractors/package-info.java        |     4 -
 .../boilerpipe/filters/debug/PrintDebugFilter.java |    66 -
 .../filters/english/DensityRulesClassifier.java    |   110 -
 .../filters/english/HeuristicFilterBase.java       |    38 -
 .../english/IgnoreBlocksAfterContentFilter.java    |    78 -
 .../IgnoreBlocksAfterContentFromEndFilter.java     |    74 -
 .../english/KeepLargestFulltextBlockFilter.java    |    81 -
 .../filters/english/MinFulltextWordsFilter.java    |    59 -
 .../filters/english/NumWordsRulesClassifier.java   |   110 -
 .../filters/english/TerminatingBlocksFinder.java   |   109 -
 .../boilerpipe/filters/english/package-info.java   |     7 -
 .../heuristics/AddPrecedingLabelsFilter.java       |    82 -
 .../filters/heuristics/ArticleMetadataFilter.java  |    63 -
 .../filters/heuristics/BlockProximityFusion.java   |   122 -
 .../filters/heuristics/ContentFusion.java          |    72 -
 .../heuristics/DocumentTitleMatchClassifier.java   |   170 -
 .../heuristics/ExpandTitleToContentFilter.java     |    70 -
 .../filters/heuristics/KeepLargestBlockFilter.java |   117 -
 .../boilerpipe/filters/heuristics/LabelFusion.java |    87 -
 .../LargeBlockSameTagLevelToContentFilter.java     |    70 -
 .../filters/heuristics/ListAtEndFilter.java        |    57 -
 .../heuristics/SimpleBlockFusionProcessor.java     |    67 -
 .../TrailingHeadlineToBoilerplateFilter.java       |    64 -
 .../filters/heuristics/package-info.java           |     4 -
 .../filters/simple/BoilerplateBlockFilter.java     |    64 -
 .../boilerpipe/filters/simple/InvertedFilter.java  |    49 -
 .../filters/simple/LabelToBoilerplateFilter.java   |    58 -
 .../filters/simple/LabelToContentFilter.java       |    54 -
 .../simple/MarkEverythingBoilerplateFilter.java    |    49 -
 .../simple/MarkEverythingContentFilter.java        |    48 -
 .../filters/simple/MinClauseWordsFilter.java       |   108 -
 .../boilerpipe/filters/simple/MinWordsFilter.java  |    53 -
 .../filters/simple/SplitParagraphBlocksFilter.java |    79 -
 .../filters/simple/SurroundingToContentFilter.java |    77 -
 .../boilerpipe/filters/simple/package-info.java    |     5 -
 .../boilerpipe/labels/ConditionalLabelAction.java  |    40 -
 .../boilerpipe/labels/DefaultLabels.java           |    46 -
 .../boilerpipe/labels/LabelAction.java             |    47 -
 .../com/kohlschutter/boilerpipe/package-info.java  |     4 -
 .../sax/BoilerpipeHTMLContentHandler.java          |   440 -
 .../boilerpipe/sax/BoilerpipeHTMLParser.java       |    74 -
 .../boilerpipe/sax/BoilerpipeSAXInput.java         |    71 -
 .../boilerpipe/sax/CommonTagActions.java           |   343 -
 .../boilerpipe/sax/DefaultTagActionMap.java        |    81 -
 .../kohlschutter/boilerpipe/sax/HTMLDocument.java  |    56 -
 .../kohlschutter/boilerpipe/sax/HTMLFetcher.java   |    91 -
 .../boilerpipe/sax/HTMLHighlighter.java            |   504 -
 .../boilerpipe/sax/ImageExtractor.java             |   278 -
 .../boilerpipe/sax/InputSourceable.java            |    28 -
 .../boilerpipe/sax/MarkupTagAction.java            |   117 -
 .../com/kohlschutter/boilerpipe/sax/TagAction.java |    38 -
 .../kohlschutter/boilerpipe/sax/TagActionMap.java  |    59 -
 .../kohlschutter/boilerpipe/sax/package-info.java  |     5 -
 .../boilerpipe/util/UnicodeTokenizer.java          |    40 -
 .../kohlschutter/boilerpipe/util/package-info.java |     5 -
 .../flink/AbstractFlinkTransformationProgram.java  |    49 -
 .../flink/TransformationFlinkInit.java             |    74 -
 .../transformation/flink/config/ConfigKeys.java    |    26 -
 .../boilerplate/BoilerplateController.java         |   109 -
 .../boilerplate/BoilerplateParameters.java         |    49 -
 .../processor/boilerplate/BoilerplateProgram.java  |    42 -
 .../processor/boilerplate/BoilerplateRemover.java  |   104 -
 .../flink/processor/boilerplate/ExtractorMode.java |    28 -
 .../flink/processor/boilerplate/OutputMode.java    |    25 -
 .../flink/processor/converter/FieldConverter.java  |    62 -
 .../converter/FieldConverterController.java        |   159 -
 .../converter/FieldConverterParameters.java        |    42 -
 .../processor/converter/FieldConverterProgram.java |    39 -
 .../flink/processor/hasher/FieldHasher.java        |    46 -
 .../processor/hasher/FieldHasherController.java    |    74 -
 .../processor/hasher/FieldHasherParameters.java    |    45 -
 .../flink/processor/hasher/FieldHasherProgram.java |    46 -
 .../processor/hasher/algorithm/HashAlgorithm.java  |    26 -
 .../hasher/algorithm/HashAlgorithmType.java        |    33 -
 .../hasher/algorithm/Md5HashAlgorithm.java         |    32 -
 .../hasher/algorithm/Sha1HashAlgorithm.java        |    32 -
 .../hasher/algorithm/Sha2HashAlgorithm.java        |    32 -
 .../flink/processor/mapper/FieldMapper.java        |    56 -
 .../processor/mapper/FieldMapperController.java    |    93 -
 .../processor/mapper/FieldMapperParameters.java    |    43 -
 .../flink/processor/mapper/FieldMapperProgram.java |    40 -
 .../MeasurementUnitConverter.java                  |    58 -
 .../MeasurementUnitConverterController.java        |   132 -
 .../MeasurementUnitConverterParameters.java        |    52 -
 .../MeasurementUnitConverterProgram.java           |    44 -
 .../flink/processor/rename/FieldRenamer.java       |    48 -
 .../processor/rename/FieldRenamerController.java   |    73 -
 .../processor/rename/FieldRenamerParameters.java   |    52 -
 .../processor/rename/FieldRenamerProgram.java      |    42 -
 .../pom.xml                                        |    13 +-
 .../transformation/jvm/TransformationJvmInit.java  |    58 +-
 .../jvm/processor/array/count/CountArray.java      |    59 -
 .../array/count/CountArrayController.java          |    68 -
 .../array/count/CountArrayParameters.java          |    37 -
 .../processor/array/count/CountArrayProcessor.java |    87 +
 .../jvm/processor/array/split/SplitArray.java      |    86 -
 .../array/split/SplitArrayController.java          |   101 -
 .../array/split/SplitArrayParameters.java          |    43 -
 .../processor/array/split/SplitArrayProcessor.java |   146 +
 .../counter/BooleanCounterProcessor.java           |    63 +-
 .../booloperator/edge/SignalEdgeFilter.java        |   120 -
 .../edge/SignalEdgeFilterController.java           |    85 -
 .../edge/SignalEdgeFilterParameters.java           |    70 -
 .../edge/SignalEdgeFilterProcessor.java            |   161 +
 .../inverter/BooleanInverterProcessor.java         |     8 +-
 .../logical/BooleanOperatorProcessor.java          |     6 +-
 .../booloperator/state/BooleanToState.java         |    70 -
 .../state/BooleanToStateController.java            |   106 -
 .../state/BooleanToStateParameters.java            |    63 -
 .../state/BooleanToStateProcessor.java             |   132 +
 .../timekeeping/BooleanTimekeeping.java            |    95 -
 .../timekeeping/BooleanTimekeepingController.java  |   104 -
 .../timekeeping/BooleanTimekeepingParameters.java  |    48 -
 .../timekeeping/BooleanTimekeepingProcessor.java   |   155 +
 .../processor/booloperator/timer/BooleanTimer.java |    85 -
 .../booloperator/timer/BooleanTimerController.java |   100 -
 .../booloperator/timer/BooleanTimerParameters.java |    48 -
 .../booloperator/timer/BooleanTimerProcessor.java  |   135 +
 .../csvmetadata/CsvMetadataEnrichment.java         |   124 -
 .../CsvMetadataEnrichmentController.java           |   192 -
 .../CsvMetadataEnrichmentParameters.java           |    58 -
 .../CsvMetadataEnrichmentProcessor.java            |   269 +
 .../fieldrename/FiledRenameProcessor.java          |     6 +-
 .../jvm/processor/hasher/FieldHasherProcessor.java |     6 +-
 .../jvm/processor/mapper/FieldMapperProcessor.java |     6 +-
 .../MeasurementUnitConverterProcessor.java         |    11 +-
 .../jvm/processor/state/buffer/StateBuffer.java    |    93 -
 .../state/buffer/StateBufferController.java        |    90 -
 .../state/buffer/StateBufferParameters.java        |    60 -
 .../state/buffer/StateBufferProcessor.java         |   143 +
 .../state/labeler/buffer/StateBufferLabeler.java   |    88 -
 .../buffer/StateBufferLabelerController.java       |   142 -
 .../buffer/StateBufferLabelerParameters.java       |   116 -
 .../buffer/StateBufferLabelerProcessor.java        |   181 +
 .../state/labeler/model/StatementUtils.java        |    12 +-
 .../state/labeler/number/NumberLabeler.java        |    70 -
 .../labeler/number/NumberLabelerController.java    |   119 -
 .../labeler/number/NumberLabelerParameters.java    |    80 -
 .../labeler/number/NumberLabelerProcessor.java     |   139 +
 .../counter/StringCounterProcessor.java            |     6 +-
 .../state/StringToStateProcessor.java              |     6 +-
 .../stringoperator/timer/StringTimerProcessor.java |     6 +-
 .../jvm/processor/task/TaskDuration.java           |    79 -
 .../jvm/processor/task/TaskDurationController.java |    94 -
 .../jvm/processor/task/TaskDurationParameters.java |    48 -
 .../jvm/processor/task/TaskDurationProcessor.java  |   137 +
 .../timestampextractor/TimestampExtractor.java     |   110 -
 .../TimestampExtractorController.java              |   127 -
 .../TimestampExtractorParameters.java              |    45 -
 .../TimestampExtractorProcessor.java               |   195 +
 .../transformtoboolean/TransformToBoolean.java     |    80 -
 .../TransformToBooleanController.java              |   113 -
 .../TransformToBooleanParameters.java              |    37 -
 .../TransformToBooleanProcessor.java               |   156 +
 .../value/change/ChangedValueDetection.java        |    61 -
 .../change/ChangedValueDetectionController.java    |    69 -
 .../change/ChangedValueDetectionParameters.java    |    41 -
 .../change/ChangedValueDetectionProcessor.java     |   122 +
 .../value/duration/CalculateDuration.java          |    71 -
 .../duration/CalculateDurationController.java      |    87 -
 .../duration/CalculateDurationParameters.java      |    57 -
 .../value/duration/CalculateDurationProcessor.java |   113 +
 .../counter/TestBooleanCounterProcessor.java       |    10 +-
 .../inverter/TestBooleanInverterProcessor.java     |     6 +-
 .../counter/TestStringCounterProcessor.java        |     6 +-
 .../state/TestStringToStateProcessor.java          |     4 +-
 .../timer/TestStringTimerProcessor.java            |     4 +-
 .../change/TestChangedValueDetectionProcessor.java |   200 +
 .../streampipes-sinks-brokers-jvm/pom.xml          |    17 +-
 .../sinks/brokers/jvm/BrokersJvmInit.java          |    24 +-
 .../sinks/brokers/jvm/bufferrest/BufferRest.java   |    84 -
 .../jvm/bufferrest/BufferRestController.java       |    72 -
 .../jvm/bufferrest/BufferRestParameters.java       |    51 -
 .../jvm/bufferrest/BufferRestPublisherSink.java    |   118 +
 .../sinks/brokers/jvm/jms/JmsController.java       |    81 -
 .../sinks/brokers/jvm/jms/JmsParameters.java       |    48 -
 .../sinks/brokers/jvm/jms/JmsPublisher.java        |    70 -
 .../sinks/brokers/jvm/jms/JmsPublisherSink.java    |   104 +
 .../sinks/brokers/jvm/kafka/KafkaController.java   |    91 -
 .../sinks/brokers/jvm/kafka/KafkaParameters.java   |    55 +-
 .../sinks/brokers/jvm/kafka/KafkaPublishSink.java  |   118 +
 .../sinks/brokers/jvm/kafka/KafkaPublisher.java    |    86 -
 .../sinks/brokers/jvm/mqtt/MqttClient.java         |     6 +-
 .../sinks/brokers/jvm/mqtt/MqttPublisherSink.java  |     4 +-
 .../sinks/brokers/jvm/mqtt/common/MqttOptions.java |     7 +-
 .../sinks/brokers/jvm/nats/NatsController.java     |    76 +-
 .../sinks/brokers/jvm/nats/NatsParameters.java     |    38 -
 .../sinks/brokers/jvm/nats/NatsPublisher.java      |    83 -
 .../sinks/brokers/jvm/pulsar/PulsarParameters.java |     5 +-
 .../brokers/jvm/pulsar/PulsarPublisherSink.java    |     4 +-
 .../brokers/jvm/rabbitmq/RabbitMqConsumer.java     |    69 -
 .../brokers/jvm/rabbitmq/RabbitMqController.java   |   110 -
 .../brokers/jvm/rabbitmq/RabbitMqParameters.java   |     8 +-
 .../jvm/rabbitmq/RabbitMqPublisherSink.java        |   115 +
 .../sinks/brokers/jvm/rest/RestController.java     |    64 -
 .../sinks/brokers/jvm/rest/RestParameters.java     |    36 -
 .../sinks/brokers/jvm/rest/RestPublisher.java      |    71 -
 .../sinks/brokers/jvm/rest/RestSink.java           |   100 +
 .../brokers/jvm/rocketmq/RocketMQParameters.java   |     5 +-
 .../jvm/rocketmq/RocketMQPublisherSink.java        |     4 +-
 .../sinks/brokers/jvm/tubemq/TubeMQParameters.java |     5 +-
 .../brokers/jvm/tubemq/TubeMQPublisherSink.java    |     4 +-
 .../brokers/jvm/websocket/WebsocketServerSink.java |     4 +-
 .../brokers/jvm/pulsar/TestPulsarParameters.java   |     2 +-
 .../jvm/pulsar/TestPulsarPublisherSink.java        |     2 +-
 .../jvm/rocketmq/TestRocketMQPublisherSink.java    |     2 +-
 .../streampipes-sinks-databases-flink/pom.xml      |   119 -
 .../sinks/databases/flink/DatabasesFlinkInit.java  |    64 -
 .../sinks/databases/flink/config/ConfigKeys.java   |    28 -
 .../elasticsearch/ElasticSearchController.java     |    76 -
 .../elasticsearch/ElasticSearchParameters.java     |    58 -
 .../flink/elasticsearch/ElasticSearchProgram.java  |    99 -
 .../ElasticsearchIndexRequestBuilder.java          |    55 -
 .../elastic/ActionRequestFailureHandler.java       |    42 -
 .../elastic/BulkProcessorIndexer.java              |    55 -
 .../elastic/Elasticsearch6ApiCallBridge.java       |   116 -
 .../elastic/ElasticsearchApiCallBridge.java        |    97 -
 .../elasticsearch/elastic/ElasticsearchSink.java   |    93 -
 .../elastic/ElasticsearchSinkBase.java             |   456 -
 .../elastic/ElasticsearchSinkFunction.java         |    40 -
 .../elasticsearch/elastic/NoOpFailureHandler.java  |    39 -
 .../elasticsearch/elastic/RequestIndexer.java      |    37 -
 .../streampipes-sinks-databases-jvm/pom.xml        |    16 +-
 .../sinks/databases/jvm/DatabasesJvmInit.java      |    28 +-
 .../sinks/databases/jvm/couchdb/CouchDb.java       |    59 -
 .../databases/jvm/couchdb/CouchDbController.java   |    79 -
 .../databases/jvm/couchdb/CouchDbParameters.java   |    61 -
 .../sinks/databases/jvm/couchdb/CouchDbSink.java   |   100 +
 .../sinks/databases/jvm/ditto/Ditto.java           |   120 -
 .../sinks/databases/jvm/ditto/DittoController.java |    81 -
 .../sinks/databases/jvm/ditto/DittoParameters.java |    75 -
 .../sinks/databases/jvm/ditto/DittoSink.java       |   162 +
 .../sinks/databases/jvm/iotdb/IotDb.java           |   129 -
 .../sinks/databases/jvm/iotdb/IotDbController.java |    80 -
 .../sinks/databases/jvm/iotdb/IotDbParameters.java |    87 -
 .../sinks/databases/jvm/iotdb/IotDbSink.java       |   179 +
 .../jdbcclient/model/JdbcConnectionParameters.java |    11 +-
 .../sinks/databases/jvm/opcua/OpcUa.java           |   209 -
 .../sinks/databases/jvm/opcua/OpcUaParameters.java |    99 -
 .../sinks/databases/jvm/opcua/UpcUaController.java |    90 -
 .../sinks/databases/jvm/postgresql/PostgreSql.java |     9 +-
 .../jvm/postgresql/PostgreSqlController.java       |    93 -
 .../jvm/postgresql/PostgreSqlParameters.java       |     3 -
 .../databases/jvm/postgresql/PostgreSqlSink.java   |   108 +
 .../sinks/databases/jvm/redis/Redis.java           |   264 +-
 .../sinks/databases/jvm/redis/RedisController.java |   103 -
 .../sinks/databases/jvm/redis/RedisParameters.java |   234 +-
 .../sinks/databases/jvm/redis/RedisSink.java       |   128 +
 .../strings.en                                     |    34 -
 .../databases/jvm/iotdb/TestIotDbParameters.java   |    52 -
 .../streampipes-sinks-internal-jvm/pom.xml         |    19 +-
 .../sinks/internal/jvm/SinksInternalJvmInit.java   |     8 +-
 .../sinks/internal/jvm/datalake/DataLakeSink.java  |     6 +-
 .../jvm/notification/NotificationProducer.java     |    12 +-
 .../streampipes-sinks-notifications-jvm/pom.xml    |    13 +-
 .../jvm/SinksNotificationsJvmInit.java             |    26 +-
 .../notifications/jvm/email/EmailController.java   |    73 -
 .../notifications/jvm/email/EmailParameters.java   |    58 -
 .../notifications/jvm/email/EmailPublisher.java    |    74 -
 .../sinks/notifications/jvm/email/EmailSink.java   |   113 +
 .../jvm/onesignal/OneSignalController.java         |    69 -
 .../jvm/onesignal/OneSignalParameters.java         |    49 -
 .../jvm/onesignal/OneSignalProducer.java           |    83 -
 .../notifications/jvm/onesignal/OneSignalSink.java |   112 +
 .../notifications/jvm/slack/SlackNotification.java |    99 -
 .../jvm/slack/SlackNotificationController.java     |    76 -
 .../jvm/slack/SlackNotificationParameters.java     |    58 -
 .../jvm/slack/SlackNotificationSink.java           |   142 +
 .../jvm/telegram/TelegramController.java           |    65 -
 .../jvm/telegram/TelegramParameters.java           |    52 -
 .../jvm/telegram/TelegramPublisher.java            |    94 -
 .../notifications/jvm/telegram/TelegramSink.java   |   126 +
 .../streampipes-sources-vehicle-simulator/pom.xml  |    10 +-
 .../pom.xml                                        |    15 +-
 .../watertank/streams/FlowRate2Stream.java         |     1 -
 streampipes-integration-tests/pom.xml              |   166 +-
 .../integration/adapters/AdapterTesterBase.java    |   138 +-
 .../integration/adapters/AdaptersTest.java         |    32 +-
 .../integration/adapters/KafkaAdapterTester.java   |   182 +
 .../integration/adapters/MqttAdapterTester.java    |   150 +
 .../integration/adapters/PulsarAdapterTester.java  |   116 +-
 .../integration/client/ClientLiveDataTest.java     |    31 +
 .../client/ClientLiveDataTesterBase.java           |   117 +
 .../integration/client/ClientNatsTester.java       |    64 +
 .../integration/containers/KafkaContainer.java     |    55 +
 .../integration/containers/KafkaDevContainer.java  |    34 +
 .../integration/containers/MosquittoContainer.java |    54 +
 .../containers/MosquittoDevContainer.java          |    26 +
 .../integration/containers/NatsContainer.java      |    49 +
 .../integration/containers/NatsDevContainer.java   |    27 +
 .../streampipes/integration/utils/Utils.java       |    40 +
 .../src/test/resources/mosquitto.conf              |    21 +
 streampipes-logging/pom.xml                        |     2 +-
 streampipes-mail/pom.xml                           |     6 +-
 .../template/AccountActiviationMailTemplate.java   |     6 -
 .../streampipes/mail/template/part/LogoPart.java   |     2 +-
 .../apache/streampipes/mail/utils/MailUtils.java   |     7 +-
 streampipes-maven-plugin/pom.xml                   |    13 +-
 streampipes-measurement-units/pom.xml              |     7 +-
 .../java/com/github/jqudt/onto/UnitFactory.java    |    24 -
 .../java/com/github/jqudt/onto/units/AreaUnit.java |    23 -
 .../github/jqudt/onto/units/ConcentrationUnit.java |    25 -
 .../com/github/jqudt/onto/units/CountingUnit.java  |    16 -
 .../com/github/jqudt/onto/units/EnergyUnit.java    |    16 -
 .../com/github/jqudt/onto/units/LengthUnit.java    |    19 -
 .../java/com/github/jqudt/onto/units/MassUnit.java |    23 -
 .../jqudt/onto/units/PressureOrStressUnit.java     |    15 -
 .../github/jqudt/onto/units/TemperatureUnit.java   |    18 -
 .../com/github/jqudt/onto/units/VolumeUnit.java    |    18 -
 streampipes-messaging-jms/pom.xml                  |     4 +-
 .../messaging/jms/ActiveMQConnectionProvider.java  |     8 +
 .../messaging/jms/ActiveMQConsumer.java            |    12 +-
 .../messaging/jms/ActiveMQPublisher.java           |    47 +-
 .../streampipes/messaging/jms/SpJmsProtocol.java   |    15 +-
 streampipes-messaging-kafka/pom.xml                |     6 +-
 .../messaging/kafka/SpKafkaConsumer.java           |    14 +-
 .../messaging/kafka/SpKafkaProducer.java           |    12 +-
 .../messaging/kafka/SpKafkaProtocol.java           |    16 +-
 .../kafka/config/AutoOffsetResetConfig.java        |    43 +
 .../kafka/config/ConsumerConfigFactory.java        |     3 +-
 streampipes-messaging-mqtt/pom.xml                 |     4 +-
 .../messaging/mqtt/AbstractMqttConnector.java      |     6 +
 .../streampipes/messaging/mqtt/MqttConsumer.java   |    12 +-
 .../streampipes/messaging/mqtt/MqttPublisher.java  |    12 +-
 .../streampipes/messaging/mqtt/SpMqttProtocol.java |    16 +-
 streampipes-messaging-nats/pom.xml                 |     4 +-
 .../messaging/nats/AbstractNatsConnector.java      |     8 +
 .../streampipes/messaging/nats/NatsConsumer.java   |    22 +-
 .../streampipes/messaging/nats/NatsPublisher.java  |    12 +-
 .../streampipes/messaging/nats/SpNatsProtocol.java |    16 +-
 streampipes-messaging/pom.xml                      |     4 +-
 .../streampipes/messaging/EventConsumer.java       |     6 +-
 .../streampipes/messaging/EventProducer.java       |     5 +-
 .../messaging/SpProtocolDefinition.java            |     5 +-
 streampipes-model-client/pom.xml                   |     6 +-
 streampipes-model-shared/pom.xml                   |     2 +-
 streampipes-model/pom.xml                          |    25 +-
 .../org/apache/streampipes/model/SpDataSet.java    |   121 -
 .../org/apache/streampipes/model/SpDataStream.java |     5 -
 .../model/connect/adapter/AdapterDescription.java  |    67 +-
 .../connect/adapter/AdapterSetDescription.java     |    57 -
 .../connect/adapter/AdapterStreamDescription.java  |    68 -
 .../connect/adapter/GenericAdapterDescription.java |    35 -
 .../adapter/GenericAdapterSetDescription.java      |    79 -
 .../adapter/GenericAdapterStreamDescription.java   |    76 -
 .../adapter/SpecificAdapterSetDescription.java     |    37 -
 .../adapter/SpecificAdapterStreamDescription.java  |    37 -
 .../adapter/migration/GenericAdapterConverter.java |   143 +
 .../adapter/migration/IAdapterConverter.java       |    26 +
 .../adapter/migration/MigrationHelpers.java        |    55 +
 .../migration/SpecificAdapterConverter.java        |    40 +
 .../migration/format/CsvFormatMigrator.java        |    70 +
 .../migration/format/EmptyFormatMigrator.java      |    29 +
 .../adapter/migration/format/FormatMigrator.java   |    26 +
 .../migration/format/JsonFormatMigrator.java       |    71 +
 .../migration/format/XmlFormatMigrator.java        |    49 +
 .../adapter/migration/utils/AdapterModels.java     |    61 +
 .../adapter/migration/utils/DocumentKeys.java      |    25 +
 .../connect/adapter/migration/utils/FormatIds.java |    38 +
 .../migration/utils/GenericAdapterUtils.java       |   313 +
 .../model/connect/grounding/FormatDescription.java |    82 -
 .../model/connect/grounding/ParserDescription.java |    68 +
 .../connect/grounding/ProtocolDescription.java     |     1 +
 .../connect/grounding/ProtocolSetDescription.java  |    41 -
 .../grounding/ProtocolStreamDescription.java       |    41 -
 .../model/connect/guess/FieldStatusInfo.java       |    20 +
 .../model/connect/guess/GuessSchema.java           |    26 +
 .../model/connect/guess/GuessTypeInfo.java         |    19 +
 .../connect/rules/DebugSinkRuleDescription.java    |    27 -
 .../rules/TransformationRuleDescription.java       |     1 -
 .../rules/value/AddTimestampRuleDescription.java   |     4 +
 .../model/file/GenericStorageAttachment.java       |    44 +
 .../model/grounding/EventGrounding.java            |     7 +-
 .../model/message/DataSetModificationMessage.java  |    51 -
 .../apache/streampipes/model/message/Message.java  |     1 -
 .../model/runtime/DataSetStatusMessage.java        |    66 -
 .../streampipes/model/schema/Enumeration.java      |    17 +
 .../streampipes/model/schema/EventProperty.java    |    62 +-
 .../model/schema/EventPropertyList.java            |    21 +
 .../model/schema/EventPropertyNested.java          |    20 +
 .../model/schema/EventPropertyPrimitive.java       |    32 +
 .../streampipes/model/schema/EventSchema.java      |    10 +-
 .../model/schema/QuantitativeValue.java            |    19 +
 .../RuntimeResolvableTreeInputStaticProperty.java  |    55 +
 .../staticproperty/StaticPropertyAlternative.java  |     3 +-
 .../model/staticproperty/TreeInputNode.java        |    14 +
 .../model/template/PipelineTemplateInvocation.java |    12 +-
 .../org/apache/streampipes/model/util/Cloner.java  |    38 +-
 .../apache/streampipes/model/util/ListUtils.java   |    49 +
 .../connect/adapter/AdapterDescriptionTest.java    |     2 +-
 streampipes-pipeline-management/pom.xml            |    42 +-
 .../manager/assets/DocumentationParser.java        |     6 +-
 .../manager/endpoint/EndpointItemFetcher.java      |     3 +-
 .../manager/endpoint/EndpointItemParser.java       |     3 +-
 .../manager/execution/PipelineExecutionInfo.java   |    21 -
 .../ExtensionsServiceEndpointGenerator.java        |    18 +-
 .../ExtensionsServiceEndpointProvider.java         |    12 -
 .../http/DetachPipelineElementSubmitter.java       |     5 -
 .../http/InvokePipelineElementSubmitter.java       |     5 -
 .../execution/http/PipelineElementSubmitter.java   |    11 +-
 .../provider/CurrentPipelineElementProvider.java   |     5 -
 .../provider/PipelineElementProvider.java          |     2 -
 .../provider/StoredPipelineElementProvider.java    |     9 -
 .../execution/task/AfterInvocationTask.java        |     8 +-
 .../execution/task/DiscoverEndpointsTask.java      |    13 -
 .../manager/execution/task/SubmitRequestTask.java  |     3 +-
 .../manager/matching/DataSetGroundingSelector.java |   128 -
 .../streampipes/manager/operations/Operations.java |     7 -
 .../manager/pipeline/PipelineManager.java          |    10 +-
 .../manager/preview/PipelinePreview.java           |     2 -
 .../runtime/PipelineElementRuntimeInfoFetcher.java |    43 +-
 .../storage/RunningPipelineElementStorage.java     |     3 -
 .../manager/template/AdapterTemplateHandler.java   |    12 +-
 .../template/PipelineElementTemplateVisitor.java   |     6 +-
 .../manager/template/PipelineGenerator.java        |    12 +-
 .../template/PipelineTemplateGenerator.java        |    17 +-
 .../PipelineTemplateInvocationGenerator.java       |     2 +-
 .../PipelineTemplateInvocationHandler.java         |     2 +-
 streampipes-platform-services/pom.xml              |    12 +-
 .../streampipes/ps/DataLakeMeasureResourceV3.java  |    57 -
 .../streampipes/ps/DataLakeMeasureResourceV4.java  |    23 +-
 .../apache/streampipes/ps/DataLakeResourceV4.java  |    70 +-
 streampipes-resource-management/pom.xml            |     8 +-
 .../management/DataStreamResourceManager.java      |     3 +-
 .../resource/management/secret/SecretService.java  |     7 +-
 .../management/AdapterResourceManagerTest.java     |     4 +-
 streampipes-rest-core-base/pom.xml                 |    10 +-
 streampipes-rest-extensions/pom.xml                |     8 +-
 .../AbstractPipelineElementResource.java           |    12 +-
 .../extensions/connect/AdapterWorkerResource.java  |    62 +-
 .../rest/extensions/connect/GuessResource.java     |     9 +-
 .../connect/RuntimeResolvableResource.java         |    11 +-
 .../extensions/html/page/WelcomePageGenerator.java |    55 +-
 .../extensions/monitoring/MonitoringResource.java  |     2 +-
 .../pe/DataProcessorPipelineElementResource.java   |    34 +-
 .../pe/DataSinkPipelineElementResource.java        |    33 +-
 .../pe/DataStreamPipelineElementResource.java      |    65 +-
 .../pe/InvocablePipelineElementResource.java       |    72 +-
 .../extensions/pe/PipelineTemplateResource.java    |    35 -
 streampipes-rest-shared/pom.xml                    |     6 +-
 .../shared/impl/AbstractSharedRestInterface.java   |     7 +-
 streampipes-rest/pom.xml                           |    43 +-
 .../apache/streampipes/rest/ResetManagement.java   |    16 +-
 .../rest/filter/TokenAuthenticationFilter.java     |   117 -
 .../rest/impl/PipelineElementRuntimeInfo.java      |     2 -
 .../streampipes/rest/impl/PipelineResource.java    |   109 +-
 .../streampipes/rest/impl/PipelineTemplate.java    |    19 -
 .../apache/streampipes/rest/impl/UserResource.java |    32 +-
 .../admin/ExtensionsServiceEndpointResource.java   |     3 +-
 .../rest/impl/connect/AdapterResource.java         |    10 +-
 .../rest/impl/connect/DescriptionResource.java     |    13 +-
 .../rest/impl/connect/GuessResource.java           |     2 +-
 .../impl/connect/RuntimeResolvableResource.java    |     5 +-
 .../rest/impl/connect/SourcesResource.java         |    81 -
 .../rest/impl/connect/UnitResource.java            |     2 +-
 .../v4/params/WhereStatementParamsTest.java        |    59 -
 streampipes-sdk-bundle/pom.xml                     |    22 +-
 streampipes-sdk/pom.xml                            |    32 +-
 .../apache/streampipes/sdk/StaticProperties.java   |     8 +-
 ...AbstractConfigurablePipelineElementBuilder.java |    14 +-
 .../streampipes/sdk/builder/DataSetBuilder.java    |    80 -
 .../sdk/builder/adapter/AdapterConfiguration.java  |   108 +
 .../adapter/AdapterConfigurationBuilder.java       |    91 +
 .../builder/adapter/AdapterDescriptionBuilder.java |    55 -
 .../builder/adapter/FormatDescriptionBuilder.java  |    64 -
 .../adapter/GenericDataSetAdapterBuilder.java      |    21 -
 .../adapter/GenericDataStreamAdapterBuilder.java   |    86 -
 .../builder/adapter/ParserDescriptionBuilder.java  |    59 +
 .../adapter/ProtocolDescriptionBuilder.java        |    83 -
 .../adapter/SpecificDataSetAdapterBuilder.java     |    68 -
 .../adapter/SpecificDataStreamAdapterBuilder.java  |    68 -
 .../processor/DataProcessorConfiguration.java      |    52 +
 .../sdk/builder/sink/DataSinkConfiguration.java    |    52 +
 .../builder/stream/DataStreamConfiguration.java    |    52 +
 .../sdk/extractor/AbstractParameterExtractor.java  |    52 +-
 .../sdk/extractor/AdapterParameterExtractor.java   |    94 +
 .../sdk/extractor/DataSinkParameterExtractor.java  |     7 +-
 .../ProcessingElementParameterExtractor.java       |     6 +-
 .../sdk/extractor/StaticPropertyExtractor.java     |     4 +-
 .../streampipes/sdk/helpers/AdapterSourceType.java |    33 -
 .../org/apache/streampipes/sdk/helpers/Labels.java |    27 +-
 .../adapter/AdapterConfigurationBuilderTest.java   |   102 +
 .../builder/adapter/AdapterConfigurationTest.java  |    37 +
 .../GenericDataStreamAdapterBuilderTest.java       |    89 -
 .../extractor/AdapterParameterExtractorTest.java   |    62 +
 .../apache/streampipes/sdk/helpers/LabelsTest.java |    41 +
 streampipes-security-jwt/pom.xml                   |     4 +-
 streampipes-serializers-json/pom.xml               |     8 +-
 streampipes-service-base/pom.xml                   |    10 +-
 streampipes-service-core/pom.xml                   |    15 +-
 .../service/core/StreamPipesResourceConfig.java    |     4 -
 .../service/core/WebSecurityConfig.java            |     2 +-
 .../core/filter/TokenAuthenticationFilter.java     |   117 +
 .../core/migrations/AvailableMigrations.java       |     4 +-
 .../core/migrations/v093/AdapterBackupWriter.java  |    63 +
 .../core/migrations/v093/AdapterMigration.java     |   139 +
 .../migrations/v093/migrator/AdapterMigrator.java  |    27 +
 .../v093/migrator/GenericAdapterMigrator.java      |    51 +
 .../v093/migrator/SpecificAdapterMigrator.java     |    51 +
 .../src/main/resources/openapi.yaml                |     2 +-
 streampipes-service-discovery-api/pom.xml          |     2 +-
 streampipes-service-discovery-consul/pom.xml       |    12 +-
 streampipes-service-discovery/pom.xml              |     6 +-
 streampipes-service-extensions/pom.xml             |     6 +-
 .../extensions/ExtensionsModelSubmitter.java       |     2 +-
 .../extensions/ExtensionsResourceConfig.java       |     2 -
 .../service/extensions/ServiceTagProvider.java     |    15 +-
 .../connect/ConnectWorkerRegistrationService.java  |     8 +-
 .../function/StreamPipesFunctionHandler.java       |    14 +-
 streampipes-sources/pom.xml                        |     4 +-
 .../sources/AbstractAdapterIncludedStream.java     |    17 +-
 .../sources/AbstractAlreadyExistingStream.java     |    25 +-
 streampipes-storage-api/pom.xml                    |     6 +-
 .../streampipes/storage/api/IGenericStorage.java   |     7 +
 streampipes-storage-couchdb/pom.xml                |    20 +-
 .../couchdb/impl/ConnectionStorageImpl.java        |     8 +-
 .../storage/couchdb/impl/GenericStorageImpl.java   |    25 +-
 .../storage/couchdb/serializer/GsonSerializer.java |    18 -
 .../streampipes/storage/couchdb/utils/Utils.java   |    15 +
 .../storage/couchdb/utils/TestUrlEscapers.java     |    44 +
 streampipes-storage-management/pom.xml             |     6 +-
 streampipes-test-utils/pom.xml                     |     4 +-
 .../template/PipelineElementTemplateHelpers.java   |     2 +-
 streampipes-user-management/pom.xml                |    14 +-
 streampipes-vocabulary/pom.xml                     |     2 +-
 streampipes-wrapper-distributed/pom.xml            |    15 +-
 .../distributed/runtime/DistributedRuntime.java    |    55 +-
 streampipes-wrapper-flink/pom.xml                  |    16 +-
 .../flink/FlinkDataProcessorCompatProgram.java     |    76 +
 .../wrapper/flink/FlinkDataProcessorDeclarer.java  |    46 +-
 .../wrapper/flink/FlinkDataProcessorProgram.java   |    30 +
 .../wrapper/flink/FlinkDataProcessorRuntime.java   |    92 +-
 .../wrapper/flink/FlinkDataSinkCompatProgram.java  |    38 +
 .../wrapper/flink/FlinkDataSinkDeclarer.java       |    43 +-
 .../wrapper/flink/FlinkDataSinkProgram.java        |    30 +
 .../wrapper/flink/FlinkDataSinkRuntime.java        |    55 +-
 .../streampipes/wrapper/flink/FlinkRuntime.java    |   137 +-
 .../wrapper/flink/FlinkRuntimeProvider.java        |    37 +
 .../wrapper/flink/IDataProcessorProgram.java       |    28 +
 .../wrapper/flink/IDataSinkProgram.java            |    28 +
 .../streampipes/wrapper/flink/IFlinkProgram.java   |    39 +
 .../wrapper/flink/consumer/JmsFlinkConsumer.java   |    12 +-
 .../wrapper/flink/consumer/MqttFlinkConsumer.java  |    12 +-
 .../flink/converter/MapToEventConverter.java       |    15 +-
 .../wrapper/flink/sink/JmsFlinkProducer.java       |     4 +-
 .../wrapper/flink/sink/MqttFlinkProducer.java      |     4 +-
 .../flink/status/PipelineElementStatusSender.java  |    46 -
 .../status/PipelineElementStatusSenderFactory.java |    42 -
 streampipes-wrapper-kafka-streams/pom.xml          |     9 +-
 .../wrapper/kafka/KafkaStreamRuntimeProvider.java  |    38 +
 .../kafka/KafkaStreamsDataProcessorDeclarer.java   |    27 -
 .../kafka/KafkaStreamsDataProcessorRuntime.java    |    79 +-
 .../kafka/KafkaStreamsDataSinkDeclarer.java        |    25 -
 .../wrapper/kafka/KafkaStreamsDataSinkRuntime.java |    28 +-
 .../wrapper/kafka/KafkaStreamsOutputCollector.java |    69 +
 .../wrapper/kafka/KafkaStreamsRuntime.java         |    78 +-
 .../wrapper/kafka/converter/MapToJsonFormat.java   |    45 -
 streampipes-wrapper-python/README.md               |    91 +-
 streampipes-wrapper-python/pom.xml                 |     7 +-
 streampipes-wrapper-python/requirements.txt        |     4 +-
 streampipes-wrapper-python/setup.py                |     3 +-
 streampipes-wrapper-python/streampipes/api/rest.py |     2 +
 streampipes-wrapper-python/streampipes/core.py     |     3 +
 streampipes-wrapper-python/streampipes/declarer.py |     4 +-
 .../streampipes/instances.py                       |     7 +-
 streampipes-wrapper-python/streampipes/manager.py  |     2 +
 .../model/base/abstract_streampipes_entity.py      |     3 +
 .../model/base/consumable_streampipes_entity.py    |     3 +
 .../model/base/named_streampipes_entity.py         |     3 +
 .../model/base/unnamed_streampipes_entity.py       |     4 +
 .../streampipes/model/config_item.py               |     2 +
 .../model/graph/data_processor_description.py      |     2 +
 .../streampipes/model/pipeline_element_config.py   |     2 +
 .../staticproperty/free_text_StaticProperty.py     |     5 +-
 .../model/staticproperty/static_property.py        |     3 +
 .../streampipes/submitter.py                       |     3 +-
 .../streampipes/utils/register.py                  |     2 +
 streampipes-wrapper-siddhi/pom.xml                 |     9 +-
 .../wrapper/siddhi/engine/SiddhiEngine.java        |    13 +-
 .../wrapper/siddhi/engine/SiddhiEventEngine.java   |    68 -
 .../siddhi/engine/SiddhiStatementGenerator.java    |     6 +-
 .../siddhi/engine/StreamPipesSiddhiProcessor.java  |    36 +-
 .../callback/SiddhiOutputStreamCallback.java       |    18 +-
 .../engine/generator/EventTypeGenerator.java       |     8 +-
 .../engine/generator/InputStreamNameGenerator.java |     8 +-
 .../engine/generator/SiddhiAppGenerator.java       |     9 +-
 .../generator/SiddhiInvocationConfigGenerator.java |    22 +-
 .../siddhi/model/SiddhiProcessorParams.java        |    10 +-
 .../wrapper/siddhi/utils/SiddhiUtils.java          |     8 +-
 streampipes-wrapper-standalone/pom.xml             |     4 +-
 .../AbstractConfiguredPipelineElement.java         |    46 -
 .../standalone/ConfiguredEventProcessor.java       |    33 -
 .../wrapper/standalone/ConfiguredEventSink.java    |    34 -
 .../ConfiguredExternalEventProcessor.java          |    33 -
 .../standalone/ConfiguredExternalEventSink.java    |    32 -
 .../wrapper/standalone/ProcessorParams.java        |    36 -
 .../streampipes/wrapper/standalone/SinkParams.java |    36 -
 .../standalone/StreamPipesDataProcessor.java       |    54 +-
 .../wrapper/standalone/StreamPipesDataSink.java    |    50 +-
 .../StreamPipesExternalDataProcessor.java          |   148 -
 .../StandaloneEventProcessingDeclarer.java         |    55 -
 .../StandaloneEventProcessorDeclarerSingleton.java |    60 -
 .../declarer/StandaloneEventSinkDeclarer.java      |    55 -
 .../StandaloneEventSinkDeclarerSingleton.java      |    54 -
 .../StandaloneExternalEventProcessingDeclarer.java |    55 -
 .../StandaloneExternalEventSinkDeclarer.java       |    61 -
 .../standalone/function/FunctionContext.java       |     4 +-
 .../function/FunctionContextGenerator.java         |     7 +-
 .../standalone/function/StreamPipesFunction.java   |     8 +-
 .../standalone/routing/StandaloneSpCollector.java  |     2 +-
 .../routing/StandaloneSpInputCollector.java        |    18 +-
 .../routing/StandaloneSpOutputCollector.java       |    16 +-
 .../runtime/StandaloneEventProcessorRuntime.java   |    89 +-
 .../runtime/StandaloneEventSinkRuntime.java        |    68 +-
 .../StandaloneExternalEventProcessorRuntime.java   |    69 -
 .../StandaloneExternalEventSinkRuntime.java        |    69 -
 .../runtime/StandalonePipelineElementRuntime.java  |   116 +-
 .../StandaloneStreamPipesRuntimeProvider.java      |    38 +
 streampipes-wrapper/pom.xml                        |    19 +-
 .../context/EventProcessorRuntimeContext.java      |    29 -
 .../wrapper/context/EventSinkRuntimeContext.java   |    21 -
 .../wrapper/context/RuntimeContext.java            |    43 -
 .../context/SpEventProcessorRuntimeContext.java    |    28 +-
 .../wrapper/context/SpEventSinkRuntimeContext.java |    12 +-
 .../wrapper/context/SpRuntimeContext.java          |    26 +-
 .../generator/DataProcessorContextGenerator.java   |    39 +
 .../generator/DataSinkContextGenerator.java        |    38 +
 .../wrapper/declarer/EventProcessorDeclarer.java   |    48 -
 .../wrapper/declarer/EventSinkDeclarer.java        |    43 -
 .../wrapper/declarer/PipelineElementDeclarer.java  |    75 -
 .../wrapper/params/DataProcessorParameters.java    |    98 +
 .../wrapper/params/DataSinkParameters.java         |    43 +
 .../wrapper/params/InternalRuntimeParameters.java  |    39 +
 .../wrapper/params/PipelineElementParameters.java  |   115 +
 .../wrapper/params/binding/BindingParams.java      |    72 -
 .../binding/EventProcessorBindingParams.java       |    75 -
 .../params/binding/EventSinkBindingParams.java     |    39 -
 .../wrapper/params/binding/InputStreamParams.java  |    86 -
 .../wrapper/params/binding/OutputStreamParams.java |    58 -
 .../wrapper/params/compat/ProcessorParams.java     |   126 +
 .../wrapper/params/compat/SinkParams.java          |    97 +
 .../generator/DataProcessorParameterGenerator.java |    55 +
 .../generator/DataSinkParameterGenerator.java      |    51 +
 .../PipelineElementParameterGenerator.java         |    58 +
 .../runtime/EventProcessorRuntimeParams.java       |    54 -
 .../params/runtime/EventSinkRuntimeParams.java     |    50 -
 .../wrapper/params/runtime/RuntimeParams.java      |   112 -
 .../wrapper/routing/PipelineElementCollector.java  |    32 -
 .../wrapper/routing/RawDataProcessor.java          |    25 -
 .../wrapper/routing/SpInputCollector.java          |    24 -
 .../wrapper/routing/SpOutputCollector.java         |    30 -
 .../wrapper/runtime/EventProcessor.java            |    38 -
 .../streampipes/wrapper/runtime/EventSink.java     |    35 -
 .../wrapper/runtime/ExternalEventProcessor.java    |    31 -
 .../wrapper/runtime/ExternalEventSink.java         |    30 -
 .../wrapper/runtime/PipelineElement.java           |    30 -
 .../wrapper/runtime/PipelineElementRuntime.java    |    63 +-
 tools/maven/checkstyle.xml                         |     2 +-
 ui/.gitignore                                      |     3 +-
 ui/.prettierignore                                 |     6 +
 ui/Dockerfile                                      |    13 +
 ui/README.md                                       |     2 +-
 ui/cypress/fixtures/connect/format/geoJson.json    |    23 +-
 ui/cypress/support/builder/AdapterBuilder.ts       |   117 +
 .../support/builder/GenericAdapterBuilder.ts       |   102 -
 ui/cypress/support/builder/ProcessorTestBuilder.ts |    44 -
 .../support/builder/SpecificAdapterBuilder.ts      |    75 -
 ui/cypress/support/model/AdapterInput.ts           |     6 +
 ui/cypress/support/model/GenericAdapterInput.ts    |    26 -
 ui/cypress/support/model/SpecificAdapterInput.ts   |    24 -
 ui/cypress/support/utils/DashboardUtils.ts         |     9 +
 ui/cypress/support/utils/PipelineUtils.ts          |     8 -
 ui/cypress/support/utils/PrepareTestDataUtils.ts   |    21 +-
 .../support/utils/ProcessingElementTestUtils.ts    |    19 +-
 ui/cypress/support/utils/StaticPropertyUtils.ts    |     2 +-
 .../support/utils/ThirdPartyIntegrationUtils.ts    |    16 +-
 ui/cypress/support/utils/connect/ConnectBtns.ts    |    60 +-
 ui/cypress/support/utils/connect/ConnectUtils.ts   |    78 +-
 ui/cypress/support/utils/datalake/DataLakeUtils.ts |    52 +-
 .../adapter/createAdapterWithoutStarting.spec.ts   |     8 +-
 ui/cypress/tests/adapter/editAdapter.smoke.spec.ts |    13 +-
 ui/cypress/tests/adapter/fileStream.smoke.spec.ts  |    11 +-
 ui/cypress/tests/adapter/formats/format.spec.ts    |   121 +-
 .../adapter/machineDataSimulator.smoke.spec.ts     |    10 +-
 ui/cypress/tests/adapter/opcAdapter.ts             |    11 +-
 .../tests/adapter/persistInDataLake.smoke.spec.ts  |    11 +-
 .../tests/adapter/randomDataSimulatorStream.ts     |     6 +-
 .../dashboard/standaloneDashboardTest.spec.ts      |    46 +
 .../tests/datalake/configuration.smoke.spec.ts     |     7 +-
 ui/cypress/tests/datalake/widgets/table.ts         |     2 +-
 .../tests/pipelineElement/SinglePipelineElement.ts |     2 +-
 ui/cypress/tests/thirdparty/InfluxDb.smoke.spec.ts |     4 +-
 ui/cypress/tests/thirdparty/Kafka.smoke.spec.ts    |     7 +-
 ui/cypress/tests/thirdparty/Mqtt.ts                |     2 +-
 ui/deployment/_variables.scss                      |   132 +
 ui/deployment/base-navigation.component.mst        |     2 +-
 ui/deployment/modules.yml                          |     2 +-
 ui/deployment/prebuild.js                          |    18 +-
 ui/deployment/sp-theme.scss                        |   333 -
 ui/nginx_config/nginx.conf                         |     2 +-
 ui/package-lock.json                               | 13480 +++++++++----------
 ui/package.json                                    |    24 +-
 .../streampipes/platform-services/package.json     |     2 +-
 .../src/lib/apis/adapter.service.ts                |    26 +-
 .../src/lib/apis/labels.service.ts                 |    64 +
 .../lib/apis/pipeline-element-template.service.ts  |    25 +-
 .../src/lib/apis/pipeline-element.service.ts       |    18 +-
 .../src/lib/model/gen/streampipes-model-client.ts  |   102 +-
 .../src/lib/model/gen/streampipes-model.ts         |   478 +-
 .../src/lib/model/labels/labels.model.ts           |    26 +
 .../platform-services/src/public-api.ts            |     2 +
 .../basic-view/basic-view.component.scss           |     7 +-
 .../components/sp-label/sp-label.component.html    |    28 +
 .../components/sp-label/sp-label.component.scss    |    27 +
 .../lib/components/sp-label/sp-label.component.ts  |    54 +
 .../split-section/split-section.component.html     |     0
 .../split-section/split-section.component.scss     |     0
 .../split-section/split-section.component.ts       |     0
 .../shared-ui/src/lib/shared-ui.module.ts          |     6 +
 .../streampipes/shared-ui/src/public-api.ts        |     2 +
 .../endpoint-item/endpoint-item.component.ts       |     2 -
 .../assets/dialog/base-asset-links.directive.ts    |     4 +-
 .../edit-asset-link-dialog.component.ts            |     7 -
 .../manage-asset-links-dialog.component.ts         |     9 -
 ui/src/app/configuration/configuration-tabs.ts     |    15 +-
 ui/src/app/configuration/configuration.module.ts   |    10 +
 .../edit-label/edit-label.component.html           |    66 +
 .../edit-label/edit-label.component.scss           |    26 +
 .../edit-label/edit-label.component.ts             |    52 +
 .../label-configuration.component.html             |    94 +
 .../label-configuration.component.scss             |    22 +
 .../label-configuration.component.ts               |    72 +
 .../adapter-configuration-header.component.html    |    10 +-
 .../adapter-configuration-header.component.scss    |     4 -
 .../adapter-configuration-header.component.ts      |     5 -
 .../adapter-configuration.component.html           |    29 +-
 .../adapter-configuration.component.ts             |    57 +-
 .../adapter-settings.component.html}               |     0
 .../adapter-settings.component.scss}               |     0
 .../adapter-settings/adapter-settings.component.ts |    84 +
 .../adapter-template-configuration.directive.ts    |    10 +-
 .../format-configuration.component.html            |    78 -
 .../format-configuration.component.ts              |   131 -
 .../format-item-json.component.html                |    28 -
 .../format-item-json.component.scss                |    46 -
 .../format-item-json/format-item-json.component.ts |    31 -
 .../format-item/format-item.component.html         |    30 -
 .../format-item/format-item.component.scss         |    46 -
 .../format-item/format-item.component.ts           |    62 -
 .../format-list/format-list.component.html         |    51 -
 .../format-list/format-list.component.scss         |    32 -
 .../format-list/format-list.component.ts           |    94 -
 .../generic-adapter-configuration.component.html   |   101 -
 .../generic-adapter-configuration.component.scss   |    21 -
 .../generic-adapter-configuration.component.ts     |   102 -
 .../event-property-row.component.ts                |    26 +-
 .../specific-adapter-configuration.component.scss  |    21 -
 .../specific-adapter-configuration.component.ts    |    88 -
 .../start-adapter-configuration.component.ts       |     4 +-
 .../abstract-adapter-details.directive.ts          |     4 +-
 .../adapter-description.component.html             |    15 -
 .../adapter-description.component.ts               |    26 +-
 .../data-marketplace/data-marketplace.component.ts |    27 +-
 .../edit-adapter/edit-adapter.component.ts         |     4 +-
 .../existing-adapters.component.html               |    69 +-
 .../existing-adapters.component.ts                 |    33 +-
 .../filter-toolbar/filter-toolbar.component.html   |    17 -
 .../filter-toolbar/filter-toolbar.component.ts     |     1 -
 .../new-adapter/new-adapter.component.ts           |     6 +-
 ui/src/app/connect/connect.module.ts               |    16 +-
 .../adapter-started-dialog.component.html          |    20 +-
 .../adapter-started-dialog.component.ts            |    28 +-
 .../delete-adapter-dialog.component.ts             |     4 +-
 .../edit-schema-transformation.component.html      |     3 +-
 .../edit-correction-value.component.ts             |     3 +-
 .../edit-event-property.component.ts               |     2 +-
 .../all-adapter-actions-dialog.component.ts        |    16 +-
 ui/src/app/connect/filter/adapter-filter.pipe.ts   |    31 +-
 ui/src/app/connect/services/connect.service.ts     |   134 +-
 ui/src/app/connect/services/rest.service.ts        |    28 +-
 ui/src/app/core-ui/core-ui.module.ts               |     3 -
 .../static-alternatives.component.html             |    20 +-
 .../static-alternatives.component.ts               |    66 +-
 .../static-group/static-group.component.html       |     1 +
 .../static-group/static-group.component.ts         |    35 +-
 .../static-property.component.html                 |     1 +
 .../base-runtime-resolvable-input.ts               |     7 +-
 ...tic-runtime-resolvable-oneof-input.component.ts |     1 -
 .../static-tree-input.component.html               |   262 +-
 .../static-tree-input.component.scss               |    59 +-
 .../static-tree-input.component.ts                 |   123 +-
 .../core/components/iconbar/iconbar.component.scss |     2 +-
 .../streampipes/streampipes.component.html         |     7 +-
 .../streampipes/streampipes.component.scss         |     3 +-
 .../streampipes/streampipes.component.ts           |    10 +
 .../core/components/toolbar/toolbar.component.ts   |     1 +
 .../standalone/standalone-dashboard.component.html |     1 +
 .../standalone/standalone-dashboard.component.ts   |    25 +-
 .../data-explorer-dashboard-panel.component.html   |     2 +-
 .../widgets/table/table-widget.component.html      |     1 +
 .../pipeline-assembly.component.html               |     2 +-
 .../pipeline-element-icon-stand.component.html     |     5 +-
 .../pipeline-element-icon-stand.component.scss     |     1 -
 .../pipeline-element-options.component.ts          |     1 -
 .../components/pipeline/pipeline.component.ts      |    36 +-
 ui/src/app/editor/constants/editor.constants.ts    |     2 -
 .../pipeline-element-discovery.component.ts        |     3 -
 ui/src/app/editor/editor.component.html            |     7 +-
 ui/src/app/editor/editor.component.scss            |     4 +
 ui/src/app/editor/model/editor.model.ts            |     3 -
 ui/src/app/editor/services/editor.service.ts       |    29 +-
 .../app/editor/services/jsplumb-bridge.service.ts  |     7 +-
 .../app/editor/services/jsplumb-config.service.ts  |     8 +-
 .../app/editor/services/jsplumb-factory.service.ts |     6 +-
 ui/src/app/editor/services/jsplumb.service.ts      |    74 +-
 .../services/pipeline-positioning.service.ts       |     2 +-
 .../app/editor/services/pipeline-style.service.ts  |     2 +-
 .../editor/services/pipeline-validation.service.ts |     2 +-
 ui/src/app/editor/utils/editor.utils.ts            |    16 +-
 ui/src/app/login/services/login.service.ts         |     5 +-
 .../notifications/service/notifications.service.ts |     5 +-
 .../monitoring/pipeline-monitoring.component.ts    |     2 -
 .../pipeline-element-statistics.component.ts       |     4 -
 ui/src/app/profile/profile.module.ts               |     2 +
 ui/src/app/services/rest-api.service.ts            |     7 +-
 ui/src/scss/_variables.scss                        |    41 -
 ui/src/scss/main.scss                              |     5 -
 ui/src/scss/sp/animations.ng1.scss                 |   118 -
 ui/src/scss/sp/buttons.ng1.scss                    |     6 +
 ui/src/scss/sp/buttons.scss                        |     2 +-
 ui/src/scss/sp/colors.scss                         |    70 -
 ui/src/scss/sp/input.ng1.scss                      |    88 -
 ui/src/scss/sp/layout.scss                         |     1 +
 ui/src/scss/sp/main.scss                           |   620 +-
 ui/src/scss/sp/pipeline-assembly.scss              |    17 -
 ui/src/scss/sp/sp-theme.scss                       |   267 +
 1969 files changed, 55825 insertions(+), 63247 deletions(-)

diff --cc ui/package.json
index 1fb5ca705,66d18c604..d0a50bc48
--- a/ui/package.json
+++ b/ui/package.json
@@@ -28,38 -28,34 +28,34 @@@
      "test-cypress-smoke": "npx cypress run --spec 'cypress/tests/**/*.smoke.spec.ts'",
      "test-cypress-all": "npx cypress run --spec 'cypress/tests/**/*.spec.ts'",
      "prepare": "cd ../ && husky install ./ui/.husky",
-     "postinstall": "npm run build-libraries"
+     "postinstall": "node ./deployment/prebuild.js  && npm run build-libraries"
    },
    "dependencies": {
 -    "@angular-architects/module-federation": "^14.3.14",
 -    "@angular/animations": "^14.2.12",
 -    "@angular/cdk": "^14.2.7",
 -    "@angular/common": "^14.2.12",
 -    "@angular/compiler": "^14.2.12",
 -    "@angular/core": "^14.2.12",
 -    "@angular/flex-layout": "^14.0.0-beta.41",
 -    "@angular/forms": "^14.2.12",
 -    "@angular/material": "^14.2.7",
 -    "@angular/platform-browser": "^14.2.12",
 -    "@angular/platform-browser-dynamic": "^14.2.12",
 -    "@angular/router": "^14.2.12",
 -    "@asymmetrik/ngx-leaflet": "14.0.1",
 -    "@auth0/angular-jwt": "5.1.2",
 +    "@angular-architects/module-federation": "^15.0.3",
 +    "@angular/animations": "^15.1.5",
 +    "@angular/cdk": "^15.1.5",
 +    "@angular/common": "^15.1.5",
 +    "@angular/compiler": "^15.1.5",
 +    "@angular/core": "^15.1.5",
 +    "@ngbracket/ngx-layout": "^15.0.1-beta.42-aa93e27",
 +    "@angular/forms": "^15.1.5",
 +    "@angular/material": "^15.1.5",
 +    "@angular/platform-browser": "^15.1.5",
 +    "@angular/platform-browser-dynamic": "^15.1.5",
 +    "@angular/router": "^15.1.5",
 +    "@asymmetrik/ngx-leaflet": "^15.0.1",
 +    "@auth0/angular-jwt": "^5.1.2",
      "@circlon/angular-tree-component": "^11.0.4",
      "@ctrl/ngx-codemirror": "5.1.1",
 -    "@danielmoncada/angular-datetime-picker": "^15.0.1",
 +    "@danielmoncada/angular-datetime-picker": "^15.0.2",
      "@fortawesome/fontawesome-free": "6.3.0",
-     "@jsplumb/browser-ui": "^5.13.2",
-     "@jsplumb/common": "^5.13.2",
-     "@jsplumb/connector-bezier": "^5.13.2",
-     "@jsplumb/core": "^5.13.2",
-     "@jsplumb/util": "^5.13.2",
+     "@jsplumb/browser-ui": "^6.1.1",
      "@ngx-loading-bar/core": "6.0.2",
      "@ngx-loading-bar/http-client": "6.0.2",
      "@panzoom/panzoom": "^4.5.1",
-     "@swimlane/ngx-charts": "^20.1.2",
+     "@swimlane/ngx-charts": "^20.4.1",
 -    "angular-datatables": "^14.0.2",
 -    "angular-gridster2": "^14.1.2",
 +    "angular-datatables": "^15.0.0",
 +    "angular-gridster2": "^15.0.3",
      "angular-plotly.js": "^4.0.4",
      "angular2-uuid": "1.1.1",
      "codemirror": "^5.65.11",
@@@ -78,11 -74,11 +74,11 @@@
      "lodash": "4.17.21",
      "material-icons": "^1.13.1",
      "ngx-color-picker": "^13.0.0",
 -    "ngx-echarts": "^14.0.0",
 -    "ngx-quill": "^19.0.1",
 +    "ngx-echarts": "^15.0.1",
 +    "ngx-quill": "^20.0.1",
      "ngx-showdown": "6.0.0",
-     "plotly.js": "^2.18.0",
-     "quill": "^1.3.7",
+     "plotly.js": "^2.20.0",
+     "quill": "1.3.7",
      "roboto-fontface": "0.10.0",
      "rxjs": "^7.8.0",
      "shepherd.js": "^11.0.1",
@@@ -98,13 -94,13 +94,13 @@@
      "@angular-eslint/builder": "15.2.1",
      "@angular-eslint/eslint-plugin": "^15.2.0",
      "@angular-eslint/eslint-plugin-template": "^15.2.0",
 -    "@angular-eslint/schematics": "^14.4.0",
 +    "@angular-eslint/schematics": "^15.2.1",
      "@angular-eslint/template-parser": "^15.2.0",
 -    "@angular/cli": "^14.2.10",
 -    "@angular/compiler-cli": "^14.2.12",
 +    "@angular/cli": "^15.1.6",
 +    "@angular/compiler-cli": "^15.1.5",
-     "@cypress/webpack-batteries-included-preprocessor": "2.3.0",
+     "@cypress/webpack-batteries-included-preprocessor": "2.4.1",
      "@cypress/webpack-preprocessor": "5.17.0",
 -    "@ngtools/webpack": "^14.2.10",
 +    "@ngtools/webpack": "^15.1.6",
      "@types/angular": "^1.8.4",
      "@types/jasmine": "~4.3.1",
      "@types/jqueryui": "^1.12.16",
diff --cc ui/projects/streampipes/shared-ui/src/lib/shared-ui.module.ts
index 20265f370,f53bb2062..68b908b6e
--- a/ui/projects/streampipes/shared-ui/src/lib/shared-ui.module.ts
+++ b/ui/projects/streampipes/shared-ui/src/lib/shared-ui.module.ts
@@@ -35,7 -35,8 +35,9 @@@ import { SpBasicHeaderTitleComponent } 
  import { SpExceptionMessageComponent } from './components/sp-exception-message/sp-exception-message.component';
  import { SpExceptionDetailsDialogComponent } from './components/sp-exception-message/exception-details-dialog/exception-details-dialog.component';
  import { MatDividerModule } from '@angular/material/divider';
 +import { MatDialogModule } from '@angular/material/dialog';
+ import { SplitSectionComponent } from './components/split-section/split-section.component';
+ import { SpLabelComponent } from './components/sp-label/sp-label.component';
  
  @NgModule({
      declarations: [
diff --cc ui/src/app/connect/components/filter-toolbar/filter-toolbar.component.html
index 7a37d4c86,74d70027c..7f790adbd
--- a/ui/src/app/connect/components/filter-toolbar/filter-toolbar.component.html
+++ b/ui/src/app/connect/components/filter-toolbar/filter-toolbar.component.html
@@@ -22,57 -22,31 +22,40 @@@
          fxLayoutAlign="start center"
          fxLayout="row"
      >
 -        <mat-icon color="accent">search</mat-icon>
 -        <mat-form-field class="form-style" color="accent" floatLabel="never">
 -            <input
 -                matInput
 -                placeholder="Find Element"
 -                value=""
 -                (input)="updateFilterTerm($event.target.value)"
 -                name="something"
 -            />
 -        </mat-form-field>
 +        <div class="form-field-small">
 +            <mat-form-field
 +                class="form-style"
 +                color="accent"
 +                floatLabel="auto"
 +                appearance="outline"
 +            >
 +                <input
 +                    matInput
 +                    placeholder="Find Element"
 +                    value=""
 +                    (input)="updateFilterTerm($event.target.value)"
 +                    name="something"
 +                />
 +                <mat-icon matPrefix color="accent">search</mat-icon>
 +            </mat-form-field>
 +        </div>
      </div>
-     <div class="data-marketplace-options-item">
-         <div class="form-field-small">
-             <mat-form-field color="accent" appearance="outline">
-                 <mat-select
-                     [(value)]="currentFilter.selectedType"
-                     (selectionChange)="filterAdapter($event)"
-                 >
-                     <mat-option
-                         *ngFor="let type of adapterTypes"
-                         [value]="type"
-                     >
-                         {{ type }}
-                     </mat-option>
-                 </mat-select>
-             </mat-form-field>
-         </div>
-     </div>
      <div class="data-marketplace-options-item">
 -        <mat-form-field color="accent">
 -            <mat-select
 -                [(value)]="currentFilter.selectedCategory"
 -                (selectionChange)="filterAdapter($event)"
 -            >
 -                <mat-option
 -                    *ngFor="let category of adapterCategories"
 -                    [value]="category.code"
 +        <div class="form-field-small">
 +            <mat-form-field color="accent" appearance="outline">
 +                <mat-select
 +                    [(value)]="currentFilter.selectedCategory"
 +                    (selectionChange)="filterAdapter($event)"
                  >
 -                    {{ category.label }}
 -                </mat-option>
 -            </mat-select>
 -        </mat-form-field>
 +                    <mat-option
 +                        *ngFor="let category of adapterCategories"
 +                        [value]="category.code"
 +                    >
 +                        {{ category.label }}
 +                    </mat-option>
 +                </mat-select>
 +            </mat-form-field>
 +        </div>
      </div>
      <span fxFlex></span>
  </div>
diff --cc ui/src/app/core/components/iconbar/iconbar.component.scss
index 26818f21e,57f257247..f02f95dff
--- a/ui/src/app/core/components/iconbar/iconbar.component.scss
+++ b/ui/src/app/core/components/iconbar/iconbar.component.scss
@@@ -16,11 -16,6 +16,11 @@@
   *
   */
  
 -.iconbar-size {
 +.mat-mdc-icon-button.iconbar-size {
-     width: 35px;
+     width: var(--iconbar-width);
 +    height: 40px;
 +}
 +
 +.mat-mdc-icon-button.iconbar-size mat-icon {
 +    margin-top: 5px;
  }
diff --cc ui/src/scss/sp/layout.scss
index 7370a4793,a51428f58..64d0b8f77
--- a/ui/src/scss/sp/layout.scss
+++ b/ui/src/scss/sp/layout.scss
@@@ -118,8 -114,9 +118,9 @@@
  
  .page-container-nav {
      line-height: 24px;
 -    height: 50px;
 +    height: 44px;
      border-bottom: 1px solid var(--color-bg-3);
+     background: var(--color-bg-main-panel-header);
  }
  
  .text-center {
diff --cc ui/src/scss/sp/sp-theme.scss
index 000000000,8f7d5f47a..f0a60d001
mode 000000,100644..100644
--- a/ui/src/scss/sp/sp-theme.scss
+++ b/ui/src/scss/sp/sp-theme.scss
@@@ -1,0 -1,227 +1,267 @@@
+ /*
+  * Licensed to the Apache Software Foundation (ASF) under one or more
+  * contributor license agreements.  See the NOTICE file distributed with
+  * this work for additional information regarding copyright ownership.
+  * The ASF licenses this file to You 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.
+  *
+  */
+ 
+ /**
+  *
+  * Note: to change this file, change sp-theme.scss in deployment folder
+  * changes in the root folder will be overridden by prebuild script
+  *
+  */
+ 
++@use '@angular/material' as mat;
++
+ @import '@angular/material/theming';
+ @import '../variables';
+ 
 -@include mat-core();
++@include mat.core();
++/*
++ TODO(mdc-migration): Remove legacy-core once all legacy components are migrated
++ */
++@include mat.legacy-core();
++@include mat.core();
++
++.nav-input {
++    @include mat.input-density(-3);
++}
++
++.nav-form-field {
++    @include mat.form-field-density(-2);
++}
+ 
+ $mat-streampipes-primary: (
+     50: #ffebee,
+     100: #ffcdd2,
+     200: #72e879,
+     300: #49e750,
+     400: #49e750,
+     500: $sp-color-primary,
+     600: #06c12a,
+     700: #01a51d,
+     800: #00841b,
+     900: #005818,
+     A100: #ff8a80,
+     A200: #ff5252,
+     A400: #ff1744,
+     A700: #d50000,
+     contrast: (
+         50: $black-87-opacity,
+         100: $black-87-opacity,
+         200: $black-87-opacity,
+         300: $black-87-opacity,
+         400: $black-87-opacity,
+         500: white,
+         600: white,
+         700: white,
+         800: $white-87-opacity,
+         900: $white-87-opacity,
+         A100: $black-87-opacity,
+         A200: white,
+         A400: white,
+         A700: white,
+     ),
+ );
+ 
+ $mat-streampipes-accent: (
+     50: #ffebee,
+     100: #ffcdd2,
+     200: #4e3c93,
+     300: #2a0c9a,
+     400: #395481,
+     500: $sp-color-accent,
+     600: #0303a3,
+     700: #01016a,
+     800: #000039,
+     900: #00002b,
+     A100: #ff8a80,
+     A200: #ff5252,
+     A400: #ff1744,
+     A700: #d50000,
+     contrast: (
+         50: $black-87-opacity,
+         100: $black-87-opacity,
+         200: $black-87-opacity,
+         300: $black-87-opacity,
+         400: $black-87-opacity,
+         500: white,
+         600: white,
+         700: white,
+         800: $white-87-opacity,
+         900: $white-87-opacity,
+         A100: $black-87-opacity,
+         A200: white,
+         A400: white,
+         A700: white,
+     ),
+ );
+ 
+ $mat-streampipes-accent-dark: (
+     50: #ffebee,
+     100: #ffcdd2,
+     200: #4e3c93,
+     300: #2a0c9a,
+     400: #395481,
+     500: $sp-color-accent-dark,
+     600: #0303a3,
+     700: #01016a,
+     800: #000039,
+     900: #00002b,
+     A100: #ff8a80,
+     A200: #ff5252,
+     A400: #ff1744,
+     A700: #d50000,
+     contrast: (
+         50: $black-87-opacity,
+         100: $black-87-opacity,
+         200: $black-87-opacity,
+         300: $black-87-opacity,
+         400: $black-87-opacity,
+         500: white,
+         600: white,
+         700: white,
+         800: $white-87-opacity,
+         900: $white-87-opacity,
+         A100: $black-87-opacity,
+         A200: white,
+         A400: white,
+         A700: white,
+     ),
+ );
+ 
 -$custom-theme-primary: mat-palette($mat-streampipes-primary);
 -$custom-theme-accent-dark: mat-palette($mat-streampipes-accent-dark);
 -$custom-theme-accent: mat-palette($mat-streampipes-accent);
 -$custom-theme-warn: mat-palette($mat-red);
++$custom-theme-primary: mat.define-palette($mat-streampipes-primary);
++$custom-theme-accent-dark: mat.define-palette($mat-streampipes-accent-dark);
++$custom-theme-accent: mat.define-palette($mat-streampipes-accent);
++$custom-theme-warn: mat.define-palette($mat-red);
+ 
 -$custom-theme-light: mat-light-theme(
 -    $custom-theme-primary,
 -    $custom-theme-accent,
 -    $custom-theme-warn
 -);
 -$custom-theme-dark: mat-dark-theme(
 -    $custom-theme-primary,
 -    $custom-theme-accent-dark,
 -    $custom-theme-warn
++$custom-typography: mat.define-typography-config(
++    $font-family: 'Roboto-Regular, Arial',
+ );
+ 
 -$custom-typography: mat-typography-config(
 -    $font-family: 'Roboto, Arial',
++$custom-theme-light: mat.define-light-theme(
++    (
++        color: (
++            primary: $custom-theme-primary,
++            accent: $custom-theme-accent,
++            warn: $custom-theme-warn,
++        ),
++        typography: $custom-typography,
++        density: -1,
++    )
+ );
+ 
 -@include angular-material-typography($custom-typography);
++$custom-theme-dark: mat.define-light-theme(
++    (
++        color: (
++            primary: $custom-theme-primary,
++            accent: $custom-theme-accent-dark,
++            warn: $custom-theme-warn,
++        ),
++        typography: $custom-typography,
++        density: -1,
++    )
++);
+ 
+ $primary: map-get($custom-theme-light, primary);
+ $accent-dark: map-get($custom-theme-dark, accent);
+ $accent: map-get($custom-theme-light, accent);
+ 
+ .small .mat-tab-label {
+     height: 24px;
+     padding: 0 12px;
+     cursor: pointer;
+     box-sizing: border-box;
+     opacity: 0.6;
+     min-width: 80px;
+     text-align: center;
+     display: inline-flex;
+     justify-content: center;
+     align-items: center;
+     white-space: nowrap;
+     position: relative;
+ }
+ 
+ .small .mat-tab-label-content {
+     text-transform: none;
+     font-size: 11pt;
+ }
+ 
+ .dark-mode {
 -    @include angular-material-theme($custom-theme-dark);
++    //@include angular-material-theme($custom-theme-dark);
++    @include mat.all-component-themes($custom-theme-dark);
++    /*
++ TODO(mdc-migration): Remove all-legacy-component-themes once all legacy components are migrated
++ */
++    @include mat.all-legacy-component-themes($custom-theme-dark);
++    @include mat.all-component-themes($custom-theme-dark);
+ 
+     .base-style {
+         color: rgba(255, 255, 255, 0.87);
+         background: #121212;
+     }
+ 
+     .mat-button-toggle-checked {
+         background: var(--color-accent);
+         color: var(--color-bg-0);
+     }
+ 
+     .mat-button-toggle-checked.mat-button-toggle-appearance-standard {
+         color: var(--color-bg-0);
+     }
+ 
+     .mat-button-toggle-appearance-standard .mat-button-toggle-label-content {
+         line-height: 30px;
+     }
+ 
+     .mat-toolbar.mat-primary {
+         color: #121212;
+     }
+ 
+     .mat-tooltip.tooltip {
+         background-color: rgba(255, 255, 255, 0.87);
+         font-size: 12px;
+     }
+ }
+ 
+ .light-mode {
 -    @include angular-material-theme($custom-theme-light);
++    //@include angular-material-theme($custom-theme-light);
++    @include mat.core-theme($custom-theme-light);
++    @include mat.all-component-typographies();
++    @include mat.all-component-themes($custom-theme-light);
++    /*
++ TODO(mdc-migration): Remove all-legacy-component-themes once all legacy components are migrated
++ */
++    @include mat.all-legacy-component-themes($custom-theme-light);
++    @include mat.all-component-themes($custom-theme-light);
+ 
+     .base-style {
+         color: #121212;
+         background: #ffffff;
+     }
+ 
+     .mat-button-toggle-checked {
+         background: var(--color-accent);
+         color: var(--color-bg-0);
+     }
+ 
+     .mat-button-toggle-checked.mat-button-toggle-appearance-standard {
+         color: var(--color-bg-0);
+     }
+ 
+     .mat-button-toggle-appearance-standard .mat-button-toggle-label-content {
+         line-height: 30px;
+     }
+ }


[streampipes] 02/02: Fix data explorer designer panel

Posted by ri...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch 1335-replace-angularflex-layout-dependency-with-ngbracketngx-layout-dependency
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit 0bf54c270bf1ce7e3b298d8f80e256f29afa9142
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Fri Jun 30 22:04:40 2023 +0200

    Fix data explorer designer panel
---
 ui/package-lock.json                               | 12030 +++++++++----------
 ui/package.json                                    |     2 +-
 .../basic-nav-tabs/basic-nav-tabs.component.html   |     7 +-
 .../add-visualization-dialog.component.html        |     9 +-
 .../add-visualization-dialog.component.scss        |     5 +
 .../add-visualization-dialog.component.ts          |     2 +-
 ...lorer-widget-appearance-settings.component.html |    60 +-
 ...ta-explorer-widget-data-settings.component.html |     9 +-
 .../field-selection/field-selection.component.html |     2 +-
 .../field-selection/field-selection.component.scss |     2 +-
 ...-explorer-visualisation-settings.component.html |    15 +-
 .../correlation-chart-widget-config.component.html |     9 +-
 ...distribution-chart-widget-config.component.html |     9 +-
 .../config/table-widget-config.component.html      |     9 +-
 .../aggregate-configuration.component.html         |    16 +-
 .../select-color-properties.component.html         |    58 +-
 .../select-color-properties.component.scss         |     6 +
 .../select-property/select-property.component.html |     7 +-
 ui/src/app/home/home.component.scss                |     5 +
 ui/src/scss/sp/data-explorer.scss                  |     4 +-
 ui/src/scss/sp/forms.scss                          |    15 +
 21 files changed, 5801 insertions(+), 6480 deletions(-)

diff --git a/ui/package-lock.json b/ui/package-lock.json
index d9c730e52..a8ea321aa 100644
--- a/ui/package-lock.json
+++ b/ui/package-lock.json
@@ -9,31 +9,31 @@
       "version": "0.93.0-SNAPSHOT",
       "hasInstallScript": true,
       "dependencies": {
-        "@angular-architects/module-federation": "^14.3.14",
-        "@angular/animations": "^14.2.12",
-        "@angular/cdk": "^14.2.7",
-        "@angular/common": "^14.2.12",
-        "@angular/compiler": "^14.2.12",
-        "@angular/core": "^14.2.12",
-        "@angular/flex-layout": "^14.0.0-beta.41",
-        "@angular/forms": "^14.2.12",
-        "@angular/material": "^14.2.7",
-        "@angular/platform-browser": "^14.2.12",
-        "@angular/platform-browser-dynamic": "^14.2.12",
-        "@angular/router": "^14.2.12",
-        "@asymmetrik/ngx-leaflet": "14.0.1",
-        "@auth0/angular-jwt": "5.1.2",
+        "@angular-architects/module-federation": "^15.0.3",
+        "@angular/animations": "^15.1.5",
+        "@angular/cdk": "^15.1.5",
+        "@angular/common": "^15.1.5",
+        "@angular/compiler": "^15.1.5",
+        "@angular/core": "^15.1.5",
+        "@angular/forms": "^15.1.5",
+        "@angular/material": "^15.1.5",
+        "@angular/platform-browser": "^15.1.5",
+        "@angular/platform-browser-dynamic": "^15.1.5",
+        "@angular/router": "^15.1.5",
+        "@asymmetrik/ngx-leaflet": "^15.0.1",
+        "@auth0/angular-jwt": "^5.1.2",
         "@circlon/angular-tree-component": "^11.0.4",
         "@ctrl/ngx-codemirror": "5.1.1",
-        "@danielmoncada/angular-datetime-picker": "^15.0.1",
+        "@danielmoncada/angular-datetime-picker": "^15.0.2",
         "@fortawesome/fontawesome-free": "6.3.0",
         "@jsplumb/browser-ui": "^6.1.1",
+        "@ngbracket/ngx-layout": "^15.0.1-beta.42-aa93e27",
         "@ngx-loading-bar/core": "6.0.2",
         "@ngx-loading-bar/http-client": "6.0.2",
         "@panzoom/panzoom": "^4.5.1",
         "@swimlane/ngx-charts": "^20.4.1",
-        "angular-datatables": "^14.0.2",
-        "angular-gridster2": "^14.1.2",
+        "angular-datatables": "^15.0.0",
+        "angular-gridster2": "^15.0.3",
         "angular-plotly.js": "^4.0.4",
         "angular2-uuid": "1.1.1",
         "codemirror": "^5.65.11",
@@ -51,9 +51,9 @@
         "leaflet": "1.9.3",
         "lodash": "4.17.21",
         "material-icons": "^1.13.1",
-        "ngx-color-picker": "^13.0.0",
-        "ngx-echarts": "^14.0.0",
-        "ngx-quill": "^19.0.1",
+        "ngx-color-picker": "^14.0.0",
+        "ngx-echarts": "^15.0.1",
+        "ngx-quill": "^20.0.1",
         "ngx-showdown": "6.0.0",
         "plotly.js": "^2.20.0",
         "quill": "1.3.7",
@@ -67,18 +67,18 @@
         "zone.js": "~0.12.0"
       },
       "devDependencies": {
-        "@angular-builders/custom-webpack": "^14.1.0",
-        "@angular-devkit/build-angular": "^14.2.10",
+        "@angular-builders/custom-webpack": "^15.0.0",
+        "@angular-devkit/build-angular": "^15.1.6",
         "@angular-eslint/builder": "15.2.1",
         "@angular-eslint/eslint-plugin": "^15.2.0",
         "@angular-eslint/eslint-plugin-template": "^15.2.0",
-        "@angular-eslint/schematics": "^14.4.0",
+        "@angular-eslint/schematics": "^15.2.1",
         "@angular-eslint/template-parser": "^15.2.0",
-        "@angular/cli": "^14.2.10",
-        "@angular/compiler-cli": "^14.2.12",
+        "@angular/cli": "^15.1.6",
+        "@angular/compiler-cli": "^15.1.5",
         "@cypress/webpack-batteries-included-preprocessor": "2.4.1",
         "@cypress/webpack-preprocessor": "5.17.0",
-        "@ngtools/webpack": "^14.2.10",
+        "@ngtools/webpack": "^15.1.6",
         "@types/angular": "^1.8.4",
         "@types/jasmine": "~4.3.1",
         "@types/jqueryui": "^1.12.16",
@@ -112,7 +112,7 @@
         "lint-staged": "^13.2.0",
         "mustache": "^4.2.0",
         "ng-lint-staged": "^12.0.4",
-        "ng-packagr": "^14.2.2",
+        "ng-packagr": "^15.1.2",
         "path": "^0.12.7",
         "prettier": "2.8.1",
         "raw-loader": "^4.0.2",
@@ -124,12 +124,6 @@
         "webpack-merge": "^5.8.0"
       }
     },
-    "node_modules/@adobe/css-tools": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz",
-      "integrity": "sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==",
-      "dev": true
-    },
     "node_modules/@ampproject/remapping": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
@@ -144,488 +138,82 @@
       }
     },
     "node_modules/@angular-architects/module-federation": {
-      "version": "14.3.14",
-      "resolved": "https://registry.npmjs.org/@angular-architects/module-federation/-/module-federation-14.3.14.tgz",
-      "integrity": "sha512-qV/GygoDRT80dbvGcFmHudR/ftu8/dURh4nWMLRViskZdJRFfSJ1pnZUmtmFaFUPL9NyS4APjQM1Shoxf+JWfg==",
+      "version": "15.0.3",
+      "resolved": "https://registry.npmjs.org/@angular-architects/module-federation/-/module-federation-15.0.3.tgz",
+      "integrity": "sha512-h+nXpkRqhjDshyau3YMf4kDRy3BDySSwQXviO1Bi5AI5Nc+qbgNMH+OOv0E2PV9VNEPwJbciAQQs+Gcofu+ntQ==",
       "dependencies": {
-        "@angular-architects/module-federation-runtime": "14.3.14",
+        "@angular-architects/module-federation-runtime": "15.0.3",
         "callsite": "^1.0.0",
         "node-fetch": "^2.6.7",
         "semver": "^7.3.5",
         "word-wrap": "^1.2.3"
       },
       "peerDependencies": {
-        "@angular/common": ">=14.1.1",
-        "@angular/core": ">=14.1.1",
-        "@angular/platform-browser-dynamic": ">=14.1.1",
+        "@angular/common": ">=15.0.0",
+        "@angular/core": ">=15.0.0",
+        "@angular/platform-browser-dynamic": ">=15.0.0",
         "rxjs": ">=6.6.3"
       }
     },
     "node_modules/@angular-architects/module-federation-runtime": {
-      "version": "14.0.1",
-      "resolved": "https://registry.npmjs.org/@angular-architects/module-federation-runtime/-/module-federation-runtime-14.0.1.tgz",
-      "integrity": "sha512-9k5nm98hSRWgDXDiBieoVWMv4yX1I1ujynBWk/e08QM2nOvJd00unl1bwBtwpX4bvadnuX1qKg+mmStgKiQm6Q==",
+      "version": "15.0.0",
+      "resolved": "https://registry.npmjs.org/@angular-architects/module-federation-runtime/-/module-federation-runtime-15.0.0.tgz",
+      "integrity": "sha512-gwOGY5gklt9pSGPMgJzzMIqPKTtQVKp2wfMPm6BKdNT6cgv/3XsAZt3DYyIxtJqt+M6ArwPlk+COLW7KrelvQw==",
       "dependencies": {
         "tslib": "^2.0.0"
       },
       "peerDependencies": {
-        "@angular/common": ">=12.0.0",
-        "@angular/core": ">=12.0.0"
+        "@angular/common": ">=15.0.0",
+        "@angular/core": ">=15.0.0",
+        "@angular/platform-browser-dynamic": ">=15.0.0"
       }
     },
     "node_modules/@angular-builders/custom-webpack": {
-      "version": "14.1.0",
-      "resolved": "https://registry.npmjs.org/@angular-builders/custom-webpack/-/custom-webpack-14.1.0.tgz",
-      "integrity": "sha512-FLGDrBOg04cYvzCudeb15LWY2v91dtJ5+AfmP0aS/0T0D0AYmY4uM3FxZeh4jJcWETLvnHVFBCjan6y2Ct9J3A==",
+      "version": "15.0.0",
+      "resolved": "https://registry.npmjs.org/@angular-builders/custom-webpack/-/custom-webpack-15.0.0.tgz",
+      "integrity": "sha512-i8ZQ7rJ+RTy73MivvIdNAa8sZpiDy9wHBetAEyYSlGtjaSB3lntEFtBw9edfyRkpbifw53QA/N5haOwox987/Q==",
       "dev": true,
       "dependencies": {
-        "@angular-devkit/architect": ">=0.1400.0 < 0.1500.0",
-        "@angular-devkit/build-angular": "^14.0.0",
-        "@angular-devkit/core": "^14.0.0",
+        "@angular-devkit/architect": ">=0.1500.0 < 0.1600.0",
+        "@angular-devkit/build-angular": "^15.0.0",
+        "@angular-devkit/core": "^15.0.0",
         "lodash": "^4.17.15",
         "ts-node": "^10.0.0",
-        "tsconfig-paths": "^3.9.0",
+        "tsconfig-paths": "^4.1.0",
         "webpack-merge": "^5.7.3"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0"
-      },
-      "peerDependencies": {
-        "@angular/compiler-cli": "^14.0.0"
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/node_modules/@angular-devkit/architect": {
-      "version": "0.1402.11",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1402.11.tgz",
-      "integrity": "sha512-RuSZrBQ+QbipAESZ4aXCyAMQHaEaDyyV/FDS9J2HJWfEFbRD5oxlEt/tBC8XjmJQsktaUOh07GT8MNJjPKVAQw==",
-      "dev": true,
-      "dependencies": {
-        "@angular-devkit/core": "14.2.11",
-        "rxjs": "6.6.7"
-      },
-      "engines": {
-        "node": "^14.15.0 || >=16.10.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/node_modules/@angular-devkit/build-angular": {
-      "version": "14.2.11",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.2.11.tgz",
-      "integrity": "sha512-O3X7GXcCBCGceVSHT+GIJ2JrRCg2YcO7HtNavpmPrraNr1o+aCdTkmT5WTS2cqWkZBm/z0wqKR8PsX/ZoD2r1A==",
-      "dev": true,
-      "dependencies": {
-        "@ampproject/remapping": "2.2.0",
-        "@angular-devkit/architect": "0.1402.11",
-        "@angular-devkit/build-webpack": "0.1402.11",
-        "@angular-devkit/core": "14.2.11",
-        "@babel/core": "7.18.10",
-        "@babel/generator": "7.18.12",
-        "@babel/helper-annotate-as-pure": "7.18.6",
-        "@babel/plugin-proposal-async-generator-functions": "7.18.10",
-        "@babel/plugin-transform-async-to-generator": "7.18.6",
-        "@babel/plugin-transform-runtime": "7.18.10",
-        "@babel/preset-env": "7.18.10",
-        "@babel/runtime": "7.18.9",
-        "@babel/template": "7.18.10",
-        "@discoveryjs/json-ext": "0.5.7",
-        "@ngtools/webpack": "14.2.11",
-        "ansi-colors": "4.1.3",
-        "babel-loader": "8.2.5",
-        "babel-plugin-istanbul": "6.1.1",
-        "browserslist": "^4.9.1",
-        "cacache": "16.1.2",
-        "copy-webpack-plugin": "11.0.0",
-        "critters": "0.0.16",
-        "css-loader": "6.7.1",
-        "esbuild-wasm": "0.15.5",
-        "glob": "8.0.3",
-        "https-proxy-agent": "5.0.1",
-        "inquirer": "8.2.4",
-        "jsonc-parser": "3.1.0",
-        "karma-source-map-support": "1.4.0",
-        "less": "4.1.3",
-        "less-loader": "11.0.0",
-        "license-webpack-plugin": "4.0.2",
-        "loader-utils": "3.2.1",
-        "mini-css-extract-plugin": "2.6.1",
-        "minimatch": "5.1.0",
-        "open": "8.4.0",
-        "ora": "5.4.1",
-        "parse5-html-rewriting-stream": "6.0.1",
-        "piscina": "3.2.0",
-        "postcss": "8.4.16",
-        "postcss-import": "15.0.0",
-        "postcss-loader": "7.0.1",
-        "postcss-preset-env": "7.8.0",
-        "regenerator-runtime": "0.13.9",
-        "resolve-url-loader": "5.0.0",
-        "rxjs": "6.6.7",
-        "sass": "1.54.4",
-        "sass-loader": "13.0.2",
-        "semver": "7.3.7",
-        "source-map-loader": "4.0.0",
-        "source-map-support": "0.5.21",
-        "stylus": "0.59.0",
-        "stylus-loader": "7.0.0",
-        "terser": "5.14.2",
-        "text-table": "0.2.0",
-        "tree-kill": "1.2.2",
-        "tslib": "2.4.0",
-        "webpack": "5.76.1",
-        "webpack-dev-middleware": "5.3.3",
-        "webpack-dev-server": "4.11.0",
-        "webpack-merge": "5.8.0",
-        "webpack-subresource-integrity": "5.1.0"
-      },
-      "engines": {
-        "node": "^14.15.0 || >=16.10.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
-      },
-      "optionalDependencies": {
-        "esbuild": "0.15.5"
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/compiler-cli": "^14.0.0",
-        "@angular/localize": "^14.0.0",
-        "@angular/service-worker": "^14.0.0",
-        "karma": "^6.3.0",
-        "ng-packagr": "^14.0.0",
-        "protractor": "^7.0.0",
-        "tailwindcss": "^2.0.0 || ^3.0.0",
-        "typescript": ">=4.6.2 <4.9"
-      },
-      "peerDependenciesMeta": {
-        "@angular/localize": {
-          "optional": true
-        },
-        "@angular/service-worker": {
-          "optional": true
-        },
-        "karma": {
-          "optional": true
-        },
-        "ng-packagr": {
-          "optional": true
-        },
-        "protractor": {
-          "optional": true
-        },
-        "tailwindcss": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/node_modules/@angular-devkit/build-webpack": {
-      "version": "0.1402.11",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1402.11.tgz",
-      "integrity": "sha512-Ajyg1O6B6JSHsDlPdh165uy3glW4IiUlRXu8VVAOSA88WIT1Dl17f4Oun0/t27ip0/CNceiVY9MzOqIwGL1E6g==",
-      "dev": true,
-      "dependencies": {
-        "@angular-devkit/architect": "0.1402.11",
-        "rxjs": "6.6.7"
-      },
-      "engines": {
-        "node": "^14.15.0 || >=16.10.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
-      },
-      "peerDependencies": {
-        "webpack": "^5.30.0",
-        "webpack-dev-server": "^4.0.0"
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/node_modules/@angular-devkit/core": {
-      "version": "14.2.11",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.2.11.tgz",
-      "integrity": "sha512-cBIGs6y9rykOQqnuAQOB1DgIRyBFYtvKRJb7QNUfIJ0qUfARKkuV/yikv3lrb95ePGkmoRzmjkFqcFZiYU+r7A==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "8.11.0",
-        "ajv-formats": "2.1.1",
-        "jsonc-parser": "3.1.0",
-        "rxjs": "6.6.7",
-        "source-map": "0.7.4"
-      },
-      "engines": {
-        "node": "^14.15.0 || >=16.10.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
-      },
-      "peerDependencies": {
-        "chokidar": "^3.5.2"
-      },
-      "peerDependenciesMeta": {
-        "chokidar": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/node_modules/@babel/core": {
-      "version": "7.18.10",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz",
-      "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==",
-      "dev": true,
-      "dependencies": {
-        "@ampproject/remapping": "^2.1.0",
-        "@babel/code-frame": "^7.18.6",
-        "@babel/generator": "^7.18.10",
-        "@babel/helper-compilation-targets": "^7.18.9",
-        "@babel/helper-module-transforms": "^7.18.9",
-        "@babel/helpers": "^7.18.9",
-        "@babel/parser": "^7.18.10",
-        "@babel/template": "^7.18.10",
-        "@babel/traverse": "^7.18.10",
-        "@babel/types": "^7.18.10",
-        "convert-source-map": "^1.7.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.2.1",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/babel"
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/node_modules/@babel/core/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/node_modules/@babel/preset-env": {
-      "version": "7.18.10",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
-      "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.18.8",
-        "@babel/helper-compilation-targets": "^7.18.9",
-        "@babel/helper-plugin-utils": "^7.18.9",
-        "@babel/helper-validator-option": "^7.18.6",
-        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
-        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
-        "@babel/plugin-proposal-async-generator-functions": "^7.18.10",
-        "@babel/plugin-proposal-class-properties": "^7.18.6",
-        "@babel/plugin-proposal-class-static-block": "^7.18.6",
-        "@babel/plugin-proposal-dynamic-import": "^7.18.6",
-        "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
-        "@babel/plugin-proposal-json-strings": "^7.18.6",
-        "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9",
-        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
-        "@babel/plugin-proposal-numeric-separator": "^7.18.6",
-        "@babel/plugin-proposal-object-rest-spread": "^7.18.9",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
-        "@babel/plugin-proposal-optional-chaining": "^7.18.9",
-        "@babel/plugin-proposal-private-methods": "^7.18.6",
-        "@babel/plugin-proposal-private-property-in-object": "^7.18.6",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
-        "@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.18.6",
-        "@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-transform-arrow-functions": "^7.18.6",
-        "@babel/plugin-transform-async-to-generator": "^7.18.6",
-        "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
-        "@babel/plugin-transform-block-scoping": "^7.18.9",
-        "@babel/plugin-transform-classes": "^7.18.9",
-        "@babel/plugin-transform-computed-properties": "^7.18.9",
-        "@babel/plugin-transform-destructuring": "^7.18.9",
-        "@babel/plugin-transform-dotall-regex": "^7.18.6",
-        "@babel/plugin-transform-duplicate-keys": "^7.18.9",
-        "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
-        "@babel/plugin-transform-for-of": "^7.18.8",
-        "@babel/plugin-transform-function-name": "^7.18.9",
-        "@babel/plugin-transform-literals": "^7.18.9",
-        "@babel/plugin-transform-member-expression-literals": "^7.18.6",
-        "@babel/plugin-transform-modules-amd": "^7.18.6",
-        "@babel/plugin-transform-modules-commonjs": "^7.18.6",
-        "@babel/plugin-transform-modules-systemjs": "^7.18.9",
-        "@babel/plugin-transform-modules-umd": "^7.18.6",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6",
-        "@babel/plugin-transform-new-target": "^7.18.6",
-        "@babel/plugin-transform-object-super": "^7.18.6",
-        "@babel/plugin-transform-parameters": "^7.18.8",
-        "@babel/plugin-transform-property-literals": "^7.18.6",
-        "@babel/plugin-transform-regenerator": "^7.18.6",
-        "@babel/plugin-transform-reserved-words": "^7.18.6",
-        "@babel/plugin-transform-shorthand-properties": "^7.18.6",
-        "@babel/plugin-transform-spread": "^7.18.9",
-        "@babel/plugin-transform-sticky-regex": "^7.18.6",
-        "@babel/plugin-transform-template-literals": "^7.18.9",
-        "@babel/plugin-transform-typeof-symbol": "^7.18.9",
-        "@babel/plugin-transform-unicode-escapes": "^7.18.10",
-        "@babel/plugin-transform-unicode-regex": "^7.18.6",
-        "@babel/preset-modules": "^0.1.5",
-        "@babel/types": "^7.18.10",
-        "babel-plugin-polyfill-corejs2": "^0.3.2",
-        "babel-plugin-polyfill-corejs3": "^0.5.3",
-        "babel-plugin-polyfill-regenerator": "^0.4.0",
-        "core-js-compat": "^3.22.1",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/node_modules/@babel/preset-env/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/node_modules/@ngtools/webpack": {
-      "version": "14.2.11",
-      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.2.11.tgz",
-      "integrity": "sha512-4enbLFAp98uTgWYF6OFceQqLcfv2/0brIrNN4iWT9xe/Mh3zdCt+eH42zvNRsqo9WXNWRSLvnx8I924p83LNlw==",
-      "dev": true,
-      "engines": {
-        "node": "^14.15.0 || >=16.10.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
-      },
-      "peerDependencies": {
-        "@angular/compiler-cli": "^14.0.0",
-        "typescript": ">=4.6.2 <4.9",
-        "webpack": "^5.54.0"
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/node_modules/ajv": {
-      "version": "8.11.0",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
-      "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
-      "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"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/node_modules/babel-loader": {
-      "version": "8.2.5",
-      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
-      "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
-      "dev": true,
-      "dependencies": {
-        "find-cache-dir": "^3.3.1",
-        "loader-utils": "^2.0.0",
-        "make-dir": "^3.1.0",
-        "schema-utils": "^2.6.5"
-      },
-      "engines": {
-        "node": ">= 8.9"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0",
-        "webpack": ">=2"
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/node_modules/babel-loader/node_modules/loader-utils": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
-      "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^2.1.2"
-      },
-      "engines": {
-        "node": ">=8.9.0"
-      }
-    },
-    "node_modules/@angular-builders/custom-webpack/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/@angular-builders/custom-webpack/node_modules/rxjs": {
-      "version": "6.6.7",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
-      "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^1.9.0"
-      },
-      "engines": {
-        "npm": ">=2.0.0"
+        "@angular/compiler-cli": "^15.0.0"
       }
     },
-    "node_modules/@angular-builders/custom-webpack/node_modules/rxjs/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/@angular-builders/custom-webpack/node_modules/semver": {
-      "version": "7.3.7",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+    "node_modules/@angular-builders/custom-webpack/node_modules/tsconfig-paths": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
+      "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
       "dev": true,
       "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
+        "json5": "^2.2.2",
+        "minimist": "^1.2.6",
+        "strip-bom": "^3.0.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=6"
       }
     },
-    "node_modules/@angular-builders/custom-webpack/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
     "node_modules/@angular-devkit/architect": {
-      "version": "0.1402.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1402.10.tgz",
-      "integrity": "sha512-/6YmPrgataj1jD2Uqd1ED+CG4DaZGacoeZd/89hH7hF76Nno8K18DrSOqJAEmDnOWegpSRGVLd0qP09IHmaG5w==",
+      "version": "0.1502.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.9.tgz",
+      "integrity": "sha512-CFn+LbtYeLG7WqO+BBSjogl764StHpwgfJnNAXQ/3UouUktZ92z4lxhUm0PwIPb5k0lILsf81ubcS1vzwoXEEg==",
       "dev": true,
       "dependencies": {
-        "@angular-devkit/core": "14.2.10",
+        "@angular-devkit/core": "15.2.9",
         "rxjs": "6.6.7"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0",
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
         "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
         "yarn": ">= 1.13.0"
       }
@@ -649,96 +237,98 @@
       "dev": true
     },
     "node_modules/@angular-devkit/build-angular": {
-      "version": "14.2.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.2.10.tgz",
-      "integrity": "sha512-VCeZAyq4uPCJukKInaSiD4i/GgxgcU4jFlLFQtoYNmaBS4xbPOymL19forRIihiV0dwNEa2L694vRTAPMBxIfw==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.2.9.tgz",
+      "integrity": "sha512-djOo2Q22zLrxPccSbINz93hD+pES/nNPoze4Ys/0IdtMlLmxO/YGsA+FG5eNeNAf2jK/JRoNydaYOh7XpGoCzA==",
       "dev": true,
       "dependencies": {
         "@ampproject/remapping": "2.2.0",
-        "@angular-devkit/architect": "0.1402.10",
-        "@angular-devkit/build-webpack": "0.1402.10",
-        "@angular-devkit/core": "14.2.10",
-        "@babel/core": "7.18.10",
-        "@babel/generator": "7.18.12",
+        "@angular-devkit/architect": "0.1502.9",
+        "@angular-devkit/build-webpack": "0.1502.9",
+        "@angular-devkit/core": "15.2.9",
+        "@babel/core": "7.20.12",
+        "@babel/generator": "7.20.14",
         "@babel/helper-annotate-as-pure": "7.18.6",
-        "@babel/plugin-proposal-async-generator-functions": "7.18.10",
-        "@babel/plugin-transform-async-to-generator": "7.18.6",
-        "@babel/plugin-transform-runtime": "7.18.10",
-        "@babel/preset-env": "7.18.10",
-        "@babel/runtime": "7.18.9",
-        "@babel/template": "7.18.10",
+        "@babel/helper-split-export-declaration": "7.18.6",
+        "@babel/plugin-proposal-async-generator-functions": "7.20.7",
+        "@babel/plugin-transform-async-to-generator": "7.20.7",
+        "@babel/plugin-transform-runtime": "7.19.6",
+        "@babel/preset-env": "7.20.2",
+        "@babel/runtime": "7.20.13",
+        "@babel/template": "7.20.7",
         "@discoveryjs/json-ext": "0.5.7",
-        "@ngtools/webpack": "14.2.10",
+        "@ngtools/webpack": "15.2.9",
         "ansi-colors": "4.1.3",
-        "babel-loader": "8.2.5",
+        "autoprefixer": "10.4.13",
+        "babel-loader": "9.1.2",
         "babel-plugin-istanbul": "6.1.1",
-        "browserslist": "^4.9.1",
-        "cacache": "16.1.2",
+        "browserslist": "4.21.5",
+        "cacache": "17.0.4",
+        "chokidar": "3.5.3",
         "copy-webpack-plugin": "11.0.0",
         "critters": "0.0.16",
-        "css-loader": "6.7.1",
-        "esbuild-wasm": "0.15.5",
-        "glob": "8.0.3",
+        "css-loader": "6.7.3",
+        "esbuild-wasm": "0.17.8",
+        "glob": "8.1.0",
         "https-proxy-agent": "5.0.1",
         "inquirer": "8.2.4",
-        "jsonc-parser": "3.1.0",
+        "jsonc-parser": "3.2.0",
         "karma-source-map-support": "1.4.0",
         "less": "4.1.3",
-        "less-loader": "11.0.0",
+        "less-loader": "11.1.0",
         "license-webpack-plugin": "4.0.2",
         "loader-utils": "3.2.1",
-        "mini-css-extract-plugin": "2.6.1",
-        "minimatch": "5.1.0",
-        "open": "8.4.0",
+        "magic-string": "0.29.0",
+        "mini-css-extract-plugin": "2.7.2",
+        "open": "8.4.1",
         "ora": "5.4.1",
-        "parse5-html-rewriting-stream": "6.0.1",
+        "parse5-html-rewriting-stream": "7.0.0",
         "piscina": "3.2.0",
-        "postcss": "8.4.16",
-        "postcss-import": "15.0.0",
-        "postcss-loader": "7.0.1",
-        "postcss-preset-env": "7.8.0",
-        "regenerator-runtime": "0.13.9",
+        "postcss": "8.4.21",
+        "postcss-loader": "7.0.2",
         "resolve-url-loader": "5.0.0",
         "rxjs": "6.6.7",
-        "sass": "1.54.4",
-        "sass-loader": "13.0.2",
-        "semver": "7.3.7",
-        "source-map-loader": "4.0.0",
+        "sass": "1.58.1",
+        "sass-loader": "13.2.0",
+        "semver": "7.5.3",
+        "source-map-loader": "4.0.1",
         "source-map-support": "0.5.21",
-        "stylus": "0.59.0",
-        "stylus-loader": "7.0.0",
-        "terser": "5.14.2",
+        "terser": "5.16.3",
         "text-table": "0.2.0",
         "tree-kill": "1.2.2",
-        "tslib": "2.4.0",
-        "webpack": "5.74.0",
-        "webpack-dev-middleware": "5.3.3",
-        "webpack-dev-server": "4.11.0",
+        "tslib": "2.5.0",
+        "webpack": "5.76.1",
+        "webpack-dev-middleware": "6.0.1",
+        "webpack-dev-server": "4.11.1",
         "webpack-merge": "5.8.0",
         "webpack-subresource-integrity": "5.1.0"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0",
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
         "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
         "yarn": ">= 1.13.0"
       },
       "optionalDependencies": {
-        "esbuild": "0.15.5"
+        "esbuild": "0.17.8"
       },
       "peerDependencies": {
-        "@angular/compiler-cli": "^14.0.0",
-        "@angular/localize": "^14.0.0",
-        "@angular/service-worker": "^14.0.0",
+        "@angular/compiler-cli": "^15.0.0",
+        "@angular/localize": "^15.0.0",
+        "@angular/platform-server": "^15.0.0",
+        "@angular/service-worker": "^15.0.0",
         "karma": "^6.3.0",
-        "ng-packagr": "^14.0.0",
+        "ng-packagr": "^15.0.0",
         "protractor": "^7.0.0",
         "tailwindcss": "^2.0.0 || ^3.0.0",
-        "typescript": ">=4.6.2 <4.9"
+        "typescript": ">=4.8.2 <5.0"
       },
       "peerDependenciesMeta": {
         "@angular/localize": {
           "optional": true
         },
+        "@angular/platform-server": {
+          "optional": true
+        },
         "@angular/service-worker": {
           "optional": true
         },
@@ -757,25 +347,25 @@
       }
     },
     "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": {
-      "version": "7.18.10",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz",
-      "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==",
+      "version": "7.20.12",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz",
+      "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==",
       "dev": true,
       "dependencies": {
         "@ampproject/remapping": "^2.1.0",
         "@babel/code-frame": "^7.18.6",
-        "@babel/generator": "^7.18.10",
-        "@babel/helper-compilation-targets": "^7.18.9",
-        "@babel/helper-module-transforms": "^7.18.9",
-        "@babel/helpers": "^7.18.9",
-        "@babel/parser": "^7.18.10",
-        "@babel/template": "^7.18.10",
-        "@babel/traverse": "^7.18.10",
-        "@babel/types": "^7.18.10",
+        "@babel/generator": "^7.20.7",
+        "@babel/helper-compilation-targets": "^7.20.7",
+        "@babel/helper-module-transforms": "^7.20.11",
+        "@babel/helpers": "^7.20.7",
+        "@babel/parser": "^7.20.7",
+        "@babel/template": "^7.20.7",
+        "@babel/traverse": "^7.20.12",
+        "@babel/types": "^7.20.7",
         "convert-source-map": "^1.7.0",
         "debug": "^4.1.0",
         "gensync": "^1.0.0-beta.2",
-        "json5": "^2.2.1",
+        "json5": "^2.2.2",
         "semver": "^6.3.0"
       },
       "engines": {
@@ -795,194 +385,21 @@
         "semver": "bin/semver.js"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env": {
-      "version": "7.18.10",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
-      "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.18.8",
-        "@babel/helper-compilation-targets": "^7.18.9",
-        "@babel/helper-plugin-utils": "^7.18.9",
-        "@babel/helper-validator-option": "^7.18.6",
-        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
-        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
-        "@babel/plugin-proposal-async-generator-functions": "^7.18.10",
-        "@babel/plugin-proposal-class-properties": "^7.18.6",
-        "@babel/plugin-proposal-class-static-block": "^7.18.6",
-        "@babel/plugin-proposal-dynamic-import": "^7.18.6",
-        "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
-        "@babel/plugin-proposal-json-strings": "^7.18.6",
-        "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9",
-        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
-        "@babel/plugin-proposal-numeric-separator": "^7.18.6",
-        "@babel/plugin-proposal-object-rest-spread": "^7.18.9",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
-        "@babel/plugin-proposal-optional-chaining": "^7.18.9",
-        "@babel/plugin-proposal-private-methods": "^7.18.6",
-        "@babel/plugin-proposal-private-property-in-object": "^7.18.6",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
-        "@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.18.6",
-        "@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-transform-arrow-functions": "^7.18.6",
-        "@babel/plugin-transform-async-to-generator": "^7.18.6",
-        "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
-        "@babel/plugin-transform-block-scoping": "^7.18.9",
-        "@babel/plugin-transform-classes": "^7.18.9",
-        "@babel/plugin-transform-computed-properties": "^7.18.9",
-        "@babel/plugin-transform-destructuring": "^7.18.9",
-        "@babel/plugin-transform-dotall-regex": "^7.18.6",
-        "@babel/plugin-transform-duplicate-keys": "^7.18.9",
-        "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
-        "@babel/plugin-transform-for-of": "^7.18.8",
-        "@babel/plugin-transform-function-name": "^7.18.9",
-        "@babel/plugin-transform-literals": "^7.18.9",
-        "@babel/plugin-transform-member-expression-literals": "^7.18.6",
-        "@babel/plugin-transform-modules-amd": "^7.18.6",
-        "@babel/plugin-transform-modules-commonjs": "^7.18.6",
-        "@babel/plugin-transform-modules-systemjs": "^7.18.9",
-        "@babel/plugin-transform-modules-umd": "^7.18.6",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6",
-        "@babel/plugin-transform-new-target": "^7.18.6",
-        "@babel/plugin-transform-object-super": "^7.18.6",
-        "@babel/plugin-transform-parameters": "^7.18.8",
-        "@babel/plugin-transform-property-literals": "^7.18.6",
-        "@babel/plugin-transform-regenerator": "^7.18.6",
-        "@babel/plugin-transform-reserved-words": "^7.18.6",
-        "@babel/plugin-transform-shorthand-properties": "^7.18.6",
-        "@babel/plugin-transform-spread": "^7.18.9",
-        "@babel/plugin-transform-sticky-regex": "^7.18.6",
-        "@babel/plugin-transform-template-literals": "^7.18.9",
-        "@babel/plugin-transform-typeof-symbol": "^7.18.9",
-        "@babel/plugin-transform-unicode-escapes": "^7.18.10",
-        "@babel/plugin-transform-unicode-regex": "^7.18.6",
-        "@babel/preset-modules": "^0.1.5",
-        "@babel/types": "^7.18.10",
-        "babel-plugin-polyfill-corejs2": "^0.3.2",
-        "babel-plugin-polyfill-corejs3": "^0.5.3",
-        "babel-plugin-polyfill-regenerator": "^0.4.0",
-        "core-js-compat": "^3.22.1",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/@types/estree": {
-      "version": "0.0.51",
-      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
-      "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
-      "dev": true
-    },
     "node_modules/@angular-devkit/build-angular/node_modules/babel-loader": {
-      "version": "8.2.5",
-      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
-      "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz",
+      "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==",
       "dev": true,
       "dependencies": {
-        "find-cache-dir": "^3.3.1",
-        "loader-utils": "^2.0.0",
-        "make-dir": "^3.1.0",
-        "schema-utils": "^2.6.5"
+        "find-cache-dir": "^3.3.2",
+        "schema-utils": "^4.0.0"
       },
       "engines": {
-        "node": ">= 8.9"
+        "node": ">= 14.15.0"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0",
-        "webpack": ">=2"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/babel-loader/node_modules/loader-utils": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
-      "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^2.1.2"
-      },
-      "engines": {
-        "node": ">=8.9.0"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/enhanced-resolve": {
-      "version": "5.12.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
-      "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.4",
-        "tapable": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/eslint-scope": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-      "dev": true,
-      "dependencies": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "node_modules/@angular-devkit/build-angular/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"
+        "@babel/core": "^7.12.0",
+        "webpack": ">=5"
       }
     },
     "node_modules/@angular-devkit/build-angular/node_modules/rxjs": {
@@ -1003,111 +420,19 @@
       "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
       "dev": true
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/semver": {
-      "version": "7.3.7",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/webpack": {
-      "version": "5.74.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz",
-      "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
-      "dev": true,
-      "dependencies": {
-        "@types/eslint-scope": "^3.7.3",
-        "@types/estree": "^0.0.51",
-        "@webassemblyjs/ast": "1.11.1",
-        "@webassemblyjs/wasm-edit": "1.11.1",
-        "@webassemblyjs/wasm-parser": "1.11.1",
-        "acorn": "^8.7.1",
-        "acorn-import-assertions": "^1.7.6",
-        "browserslist": "^4.14.5",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.10.0",
-        "es-module-lexer": "^0.9.0",
-        "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.1.0",
-        "tapable": "^2.1.1",
-        "terser-webpack-plugin": "^5.1.3",
-        "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
-        }
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/webpack/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": {
-        "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/@angular-devkit/build-angular/node_modules/webpack/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/@angular-devkit/build-angular/node_modules/webpack/node_modules/schema-utils": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
-      "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+    "node_modules/@angular-devkit/build-angular/node_modules/schema-utils": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
+      "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
       "dev": true,
       "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
+        "@types/json-schema": "^7.0.9",
+        "ajv": "^8.9.0",
+        "ajv-formats": "^2.1.1",
+        "ajv-keywords": "^5.1.0"
       },
       "engines": {
-        "node": ">= 10.13.0"
+        "node": ">= 12.13.0"
       },
       "funding": {
         "type": "opencollective",
@@ -1115,16 +440,16 @@
       }
     },
     "node_modules/@angular-devkit/build-webpack": {
-      "version": "0.1402.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1402.10.tgz",
-      "integrity": "sha512-h+2MaSY7QSvoJ3R+Hvin21jVCfPGOTLdASIUk4Jmq6J3y5BSku3KSSaV8dWoBOBkFCwQyPQMRjiHoHKLpC1K7g==",
+      "version": "0.1502.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1502.9.tgz",
+      "integrity": "sha512-VzMXoZjrbL1XlcSegqpZCBDbVvKFGPs3cKp4bXDD5ht95jcCyJPk5FA/wrh0pGGwbOF8ae/XOWFcPRzctC35iA==",
       "dev": true,
       "dependencies": {
-        "@angular-devkit/architect": "0.1402.10",
+        "@angular-devkit/architect": "0.1502.9",
         "rxjs": "6.6.7"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0",
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
         "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
         "yarn": ">= 1.13.0"
       },
@@ -1152,19 +477,19 @@
       "dev": true
     },
     "node_modules/@angular-devkit/core": {
-      "version": "14.2.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.2.10.tgz",
-      "integrity": "sha512-K4AO7mROTdbhQ7chtyQd6oPwmuL+BPUh+wn6Aq1qrmYJK4UZYFOPp8fi/Ehs8meCEeywtrssOPfrOE4Gsre9dg==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.9.tgz",
+      "integrity": "sha512-6u44YJ9tEG2hiWITL1rwA9yP6ot4a3cyN/UOMRkYSa/XO2Gz5/dM3U74E2kwg+P1NcxLXffBWl0rz8/Y/lSZyQ==",
       "dev": true,
       "dependencies": {
-        "ajv": "8.11.0",
+        "ajv": "8.12.0",
         "ajv-formats": "2.1.1",
-        "jsonc-parser": "3.1.0",
+        "jsonc-parser": "3.2.0",
         "rxjs": "6.6.7",
         "source-map": "0.7.4"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0",
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
         "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
         "yarn": ">= 1.13.0"
       },
@@ -1177,22 +502,6 @@
         }
       }
     },
-    "node_modules/@angular-devkit/core/node_modules/ajv": {
-      "version": "8.11.0",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
-      "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
-      "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"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
     "node_modules/@angular-devkit/core/node_modules/rxjs": {
       "version": "6.6.7",
       "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
@@ -1212,19 +521,19 @@
       "dev": true
     },
     "node_modules/@angular-devkit/schematics": {
-      "version": "14.2.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.2.10.tgz",
-      "integrity": "sha512-MMp31KpJTwKHisXOq+6VOXYApq97hZxFaFmZk396X5aIFTCELUwjcezQDk+u2nEs5iK/COUfnN3plGcfJxYhQA==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.2.9.tgz",
+      "integrity": "sha512-o08nE8sTpfq/Fknrr1rzBsM8vY36BDox+8dOo9Zc/KqcVPwDy94YKRzHb+xxVaU9jy1VYeCjy63mkyELy7Z3zQ==",
       "dev": true,
       "dependencies": {
-        "@angular-devkit/core": "14.2.10",
-        "jsonc-parser": "3.1.0",
-        "magic-string": "0.26.2",
+        "@angular-devkit/core": "15.2.9",
+        "jsonc-parser": "3.2.0",
+        "magic-string": "0.29.0",
         "ora": "5.4.1",
         "rxjs": "6.6.7"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0",
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
         "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
         "yarn": ">= 1.13.0"
       }
@@ -1258,19 +567,19 @@
       }
     },
     "node_modules/@angular-eslint/bundled-angular-compiler": {
-      "version": "14.4.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-14.4.0.tgz",
-      "integrity": "sha512-KMHPHd24s0HVvAP/DxSSqhYBWhwW8FgS/r0Uwv8eWpsIdc/z/Chd2ush2SgPchmmquAXTgOZsbEY7ZmW+XkJfQ==",
+      "version": "15.2.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-15.2.1.tgz",
+      "integrity": "sha512-LO7Am8eVCr7oh6a0VmKSL7K03CnQEQhFO7Wt/YtbfYOxVjrbwmYLwJn+wZPOT7A02t/BttOD/WXuDrOWtSMQ/Q==",
       "dev": true
     },
     "node_modules/@angular-eslint/eslint-plugin": {
-      "version": "15.2.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-15.2.0.tgz",
-      "integrity": "sha512-yJGbmSUU0B0MFJ48ktpkqqEK+zv5k9iwlZSqEHtiQMKvDelfluovnEusihel7uPRo1c1iVlbSgXfGpxpUCfocA==",
+      "version": "15.2.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-15.2.1.tgz",
+      "integrity": "sha512-OM7b1kS4E4CkXjkaWN+lEzawh4VxY6l7FO1Cuk4s7iv3/YpZG3rJxIZBqnFLTixwrBuqw8y4FNBzF3eDgmFAUw==",
       "dev": true,
       "dependencies": {
-        "@angular-eslint/utils": "15.2.0",
-        "@typescript-eslint/utils": "5.48.1"
+        "@angular-eslint/utils": "15.2.1",
+        "@typescript-eslint/utils": "5.48.2"
       },
       "peerDependencies": {
         "eslint": "^7.20.0 || ^8.0.0",
@@ -1278,15 +587,15 @@
       }
     },
     "node_modules/@angular-eslint/eslint-plugin-template": {
-      "version": "15.2.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-15.2.0.tgz",
-      "integrity": "sha512-aL3czf5Jpv29rKN3UG20tQepX1+V0d6xc0g+1l0zPHZJYjVd6Oy0nIxWiGfl4yanaXiVpmxiV4vUcLlqqaFwbw==",
+      "version": "15.2.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-15.2.1.tgz",
+      "integrity": "sha512-IeiSLk6YxapFdH2z5o/O3R7VwtBd2T6fWmhLFPwDYMDknrwegnOjwswCdBplOccpUp0wqlCeGUx7LTsuzwaz7w==",
       "dev": true,
       "dependencies": {
-        "@angular-eslint/bundled-angular-compiler": "15.2.0",
-        "@angular-eslint/utils": "15.2.0",
-        "@typescript-eslint/type-utils": "5.48.1",
-        "@typescript-eslint/utils": "5.48.1",
+        "@angular-eslint/bundled-angular-compiler": "15.2.1",
+        "@angular-eslint/utils": "15.2.1",
+        "@typescript-eslint/type-utils": "5.48.2",
+        "@typescript-eslint/utils": "5.48.2",
         "aria-query": "5.1.3",
         "axobject-query": "3.1.1"
       },
@@ -1295,420 +604,20 @@
         "typescript": "*"
       }
     },
-    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@angular-eslint/bundled-angular-compiler": {
-      "version": "15.2.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-15.2.0.tgz",
-      "integrity": "sha512-a0bfXxYyGoWJHrVQ4QER0HdRgselcTtJeyqiFPAxID2ZxF0IBGKLNTtugUTXekEmiLev8yGLX9TqAtthN57fEg==",
-      "dev": true
-    },
-    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@angular-eslint/utils": {
-      "version": "15.2.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-15.2.0.tgz",
-      "integrity": "sha512-qfTOKQ+aef/YER679/xN1E+FkZKMd0I73P6txUZAb9k2G1ACVktG+wOUIBfgjIlUVq9Q01AV91LGOWcd+rdEEA==",
-      "dev": true,
-      "dependencies": {
-        "@angular-eslint/bundled-angular-compiler": "15.2.0",
-        "@typescript-eslint/utils": "5.48.1"
-      },
-      "peerDependencies": {
-        "eslint": "^7.20.0 || ^8.0.0",
-        "typescript": "*"
-      }
-    },
-    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/scope-manager": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz",
-      "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "5.48.1",
-        "@typescript-eslint/visitor-keys": "5.48.1"
-      },
-      "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/types": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz",
-      "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==",
-      "dev": true,
-      "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz",
-      "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "5.48.1",
-        "@typescript-eslint/visitor-keys": "5.48.1",
-        "debug": "^4.3.4",
-        "globby": "^11.1.0",
-        "is-glob": "^4.0.3",
-        "semver": "^7.3.7",
-        "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/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/utils": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.1.tgz",
-      "integrity": "sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.9",
-        "@types/semver": "^7.3.12",
-        "@typescript-eslint/scope-manager": "5.48.1",
-        "@typescript-eslint/types": "5.48.1",
-        "@typescript-eslint/typescript-estree": "5.48.1",
-        "eslint-scope": "^5.1.1",
-        "eslint-utils": "^3.0.0",
-        "semver": "^7.3.7"
-      },
-      "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/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz",
-      "integrity": "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "5.48.1",
-        "eslint-visitor-keys": "^3.3.0"
-      },
-      "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/eslint-scope": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-      "dev": true,
-      "dependencies": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/@angular-eslint/eslint-plugin-template/node_modules/estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/@angular-eslint/eslint-plugin/node_modules/@angular-eslint/bundled-angular-compiler": {
-      "version": "15.2.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-15.2.0.tgz",
-      "integrity": "sha512-a0bfXxYyGoWJHrVQ4QER0HdRgselcTtJeyqiFPAxID2ZxF0IBGKLNTtugUTXekEmiLev8yGLX9TqAtthN57fEg==",
-      "dev": true
-    },
-    "node_modules/@angular-eslint/eslint-plugin/node_modules/@angular-eslint/utils": {
-      "version": "15.2.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-15.2.0.tgz",
-      "integrity": "sha512-qfTOKQ+aef/YER679/xN1E+FkZKMd0I73P6txUZAb9k2G1ACVktG+wOUIBfgjIlUVq9Q01AV91LGOWcd+rdEEA==",
-      "dev": true,
-      "dependencies": {
-        "@angular-eslint/bundled-angular-compiler": "15.2.0",
-        "@typescript-eslint/utils": "5.48.1"
-      },
-      "peerDependencies": {
-        "eslint": "^7.20.0 || ^8.0.0",
-        "typescript": "*"
-      }
-    },
-    "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz",
-      "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "5.48.1",
-        "@typescript-eslint/visitor-keys": "5.48.1"
-      },
-      "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz",
-      "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==",
-      "dev": true,
-      "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz",
-      "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "5.48.1",
-        "@typescript-eslint/visitor-keys": "5.48.1",
-        "debug": "^4.3.4",
-        "globby": "^11.1.0",
-        "is-glob": "^4.0.3",
-        "semver": "^7.3.7",
-        "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/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.1.tgz",
-      "integrity": "sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.9",
-        "@types/semver": "^7.3.12",
-        "@typescript-eslint/scope-manager": "5.48.1",
-        "@typescript-eslint/types": "5.48.1",
-        "@typescript-eslint/typescript-estree": "5.48.1",
-        "eslint-scope": "^5.1.1",
-        "eslint-utils": "^3.0.0",
-        "semver": "^7.3.7"
-      },
-      "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/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz",
-      "integrity": "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "5.48.1",
-        "eslint-visitor-keys": "^3.3.0"
-      },
-      "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@angular-eslint/eslint-plugin/node_modules/eslint-scope": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-      "dev": true,
-      "dependencies": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/@angular-eslint/eslint-plugin/node_modules/estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
     "node_modules/@angular-eslint/schematics": {
-      "version": "14.4.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-14.4.0.tgz",
-      "integrity": "sha512-BrGkPug+CZQWOfmNRsJDrEtYJcxvzF/kLlV7RjvIN9Ky5TjUiJVCeafl3VY6COSY32tjlh2GvBdl1AQKWWovbA==",
+      "version": "15.2.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-15.2.1.tgz",
+      "integrity": "sha512-0ZfBCejHWIcgy3J5kFs9sS/jqi8i5AptxggOwFySOlCLJ+CzNrktjD4jff1Zy8K/VLzY0Ci0BSZXvgWfP0k9Rg==",
       "dev": true,
       "dependencies": {
-        "@angular-eslint/eslint-plugin": "14.4.0",
-        "@angular-eslint/eslint-plugin-template": "14.4.0",
-        "ignore": "5.2.0",
+        "@angular-eslint/eslint-plugin": "15.2.1",
+        "@angular-eslint/eslint-plugin-template": "15.2.1",
+        "ignore": "5.2.4",
         "strip-json-comments": "3.1.1",
         "tmp": "0.2.1"
       },
       "peerDependencies": {
-        "@angular/cli": ">= 14.0.0 < 15.0.0"
-      }
-    },
-    "node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/eslint-plugin": {
-      "version": "14.4.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-14.4.0.tgz",
-      "integrity": "sha512-2rZQ4mt7tEUW+lI5jjuj3HWaT4VQtWTG6+LDnmuUmx76m8hqQ7NvFUpOcNDofu5KbEVBP+oF2DA6wjoZOIuSOA==",
-      "dev": true,
-      "dependencies": {
-        "@angular-eslint/utils": "14.4.0",
-        "@typescript-eslint/utils": "5.43.0"
-      },
-      "peerDependencies": {
-        "eslint": "^7.0.0 || ^8.0.0",
-        "typescript": "*"
-      }
-    },
-    "node_modules/@angular-eslint/schematics/node_modules/@angular-eslint/eslint-plugin-template": {
-      "version": "14.4.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-14.4.0.tgz",
-      "integrity": "sha512-d3GM/EU2iWzr+BrITwO4gBf9WfDfuOdTjfinV/zN84oXMFaK2ENo+IP6OEsD9hh36rdPps+m2gFGDdx+rTzBpg==",
-      "dev": true,
-      "dependencies": {
-        "@angular-eslint/bundled-angular-compiler": "14.4.0",
-        "@angular-eslint/utils": "14.4.0",
-        "@typescript-eslint/type-utils": "5.43.0",
-        "@typescript-eslint/utils": "5.43.0",
-        "aria-query": "5.1.3",
-        "axobject-query": "3.1.1"
-      },
-      "peerDependencies": {
-        "eslint": "^7.0.0 || ^8.0.0",
-        "typescript": "*"
-      }
-    },
-    "node_modules/@angular-eslint/schematics/node_modules/@typescript-eslint/type-utils": {
-      "version": "5.43.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.43.0.tgz",
-      "integrity": "sha512-K21f+KY2/VvYggLf5Pk4tgBOPs2otTaIHy2zjclo7UZGLyFH86VfUOm5iq+OtDtxq/Zwu2I3ujDBykVW4Xtmtg==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/typescript-estree": "5.43.0",
-        "@typescript-eslint/utils": "5.43.0",
-        "debug": "^4.3.4",
-        "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": {
-        "eslint": "*"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@angular-eslint/schematics/node_modules/@typescript-eslint/types": {
-      "version": "5.43.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.43.0.tgz",
-      "integrity": "sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg==",
-      "dev": true,
-      "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@angular-eslint/schematics/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "5.43.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.43.0.tgz",
-      "integrity": "sha512-BZ1WVe+QQ+igWal2tDbNg1j2HWUkAa+CVqdU79L4HP9izQY6CNhXfkNwd1SS4+sSZAP/EthI1uiCSY/+H0pROg==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "5.43.0",
-        "@typescript-eslint/visitor-keys": "5.43.0",
-        "debug": "^4.3.4",
-        "globby": "^11.1.0",
-        "is-glob": "^4.0.3",
-        "semver": "^7.3.7",
-        "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/@angular-eslint/schematics/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "5.43.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.43.0.tgz",
-      "integrity": "sha512-icl1jNH/d18OVHLfcwdL3bWUKsBeIiKYTGxMJCoGe7xFht+E4QgzOqoWYrU8XSLJWhVw8nTacbm03v23J/hFTg==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "5.43.0",
-        "eslint-visitor-keys": "^3.3.0"
-      },
-      "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
+        "@angular/cli": ">= 15.0.0 < 16.0.0"
       }
     },
     "node_modules/@angular-eslint/template-parser": {
@@ -1732,139 +641,110 @@
       "dev": true
     },
     "node_modules/@angular-eslint/utils": {
-      "version": "14.4.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-14.4.0.tgz",
-      "integrity": "sha512-dPHklAVfh+JfueDfXre9Xooq7p5bFyKO2Z6y1agYeofAgHCPIJOPx2AhtFPrOtsc4VXFFiyE9XbowlXh4ogoKQ==",
+      "version": "15.2.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-15.2.1.tgz",
+      "integrity": "sha512-++FneAJHxJqcSu0igVN6uOkSoHxlzgLoMBswuovYJy3UKwm33/T6WFku8++753Ca/JucIoR1gdUfO7SoSspMDg==",
       "dev": true,
       "dependencies": {
-        "@angular-eslint/bundled-angular-compiler": "14.4.0",
-        "@typescript-eslint/utils": "5.43.0"
+        "@angular-eslint/bundled-angular-compiler": "15.2.1",
+        "@typescript-eslint/utils": "5.48.2"
       },
       "peerDependencies": {
-        "eslint": "^7.0.0 || ^8.0.0",
+        "eslint": "^7.20.0 || ^8.0.0",
         "typescript": "*"
       }
     },
     "node_modules/@angular/animations": {
-      "version": "14.2.12",
-      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.2.12.tgz",
-      "integrity": "sha512-gwdnFZkvVUr+enUNfhfCGRGGqNHn1+vTA81apLfHYhJxgjiLUtETc4KTOrQevtDm022pEd+LSrvr8r+7ag+jkw==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-15.2.9.tgz",
+      "integrity": "sha512-GQujLhI0cQFcl4Q8y0oSYKSRnW23GIeSL+Arl4eFufziJ9hGAAQNuesaNs/7i+9UlTHDMkPH3kd5ScXuYYz6wg==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0"
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/core": "14.2.12"
+        "@angular/core": "15.2.9"
       }
     },
     "node_modules/@angular/cdk": {
-      "version": "14.2.7",
-      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-14.2.7.tgz",
-      "integrity": "sha512-/tEsYaUbDSnfEmKVvAMramIptmhI67O+9STjOV0i+74XR2NospeK0fkbywIANu1n3w6AHGMotvRWJrjmbCElFg==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-15.2.9.tgz",
+      "integrity": "sha512-koaM07N1AIQ5oHU27l0/FoQSSoYAwlAYwVZ4Di3bYrJsTBNCN2Xsby7wI8gZxdepMnV4Fe9si382BDBov+oO4Q==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
       "optionalDependencies": {
-        "parse5": "^5.0.0"
+        "parse5": "^7.1.2"
       },
       "peerDependencies": {
-        "@angular/common": "^14.0.0 || ^15.0.0",
-        "@angular/core": "^14.0.0 || ^15.0.0",
+        "@angular/common": "^15.0.0 || ^16.0.0",
+        "@angular/core": "^15.0.0 || ^16.0.0",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
     "node_modules/@angular/cli": {
-      "version": "14.2.10",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.2.10.tgz",
-      "integrity": "sha512-gX9sAKOwq4lKdPWeABB7TzKDHdjQXvkUU8NmPJA6mEAVXvm3lhQtFvHDalZstwK8au2LY0LaXTcEtcKYOt3AXQ==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.2.9.tgz",
+      "integrity": "sha512-mI6hkGyIJDKd8MRiBl3p5chsUhgnluwmpsq3g1FFPw+wv+eXsPYgCiHqXS/OsK+shFxii9XMxoZQO28bJ4NAOQ==",
       "dev": true,
       "dependencies": {
-        "@angular-devkit/architect": "0.1402.10",
-        "@angular-devkit/core": "14.2.10",
-        "@angular-devkit/schematics": "14.2.10",
-        "@schematics/angular": "14.2.10",
+        "@angular-devkit/architect": "0.1502.9",
+        "@angular-devkit/core": "15.2.9",
+        "@angular-devkit/schematics": "15.2.9",
+        "@schematics/angular": "15.2.9",
         "@yarnpkg/lockfile": "1.1.0",
         "ansi-colors": "4.1.3",
-        "debug": "4.3.4",
-        "ini": "3.0.0",
+        "ini": "3.0.1",
         "inquirer": "8.2.4",
-        "jsonc-parser": "3.1.0",
-        "npm-package-arg": "9.1.0",
-        "npm-pick-manifest": "7.0.1",
-        "open": "8.4.0",
+        "jsonc-parser": "3.2.0",
+        "npm-package-arg": "10.1.0",
+        "npm-pick-manifest": "8.0.1",
+        "open": "8.4.1",
         "ora": "5.4.1",
-        "pacote": "13.6.2",
+        "pacote": "15.1.0",
         "resolve": "1.22.1",
-        "semver": "7.3.7",
+        "semver": "7.5.3",
         "symbol-observable": "4.0.0",
-        "uuid": "8.3.2",
-        "yargs": "17.5.1"
+        "yargs": "17.6.2"
       },
       "bin": {
         "ng": "bin/ng.js"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0",
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
         "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
         "yarn": ">= 1.13.0"
       }
     },
-    "node_modules/@angular/cli/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/@angular/cli/node_modules/semver": {
-      "version": "7.3.7",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
     "node_modules/@angular/common": {
-      "version": "14.2.12",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.2.12.tgz",
-      "integrity": "sha512-oZunh9wfInFWhNO1P8uoEs/o4u8kerKMhw8GruywKm1TV7gHDP2Fi5WHGjFqq3XYptgBTPCTSEfyLX6Cwq1PUw==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.2.9.tgz",
+      "integrity": "sha512-LM9/UHG2dRrOzlu2KovrFwWIziFMjRxHzSP3Igw6Symw/wIl0kXGq8Fn6RpFP78zmLqnv+IQOoRiby9MCXsI4g==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0"
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/core": "14.2.12",
+        "@angular/core": "15.2.9",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
     "node_modules/@angular/compiler": {
-      "version": "14.2.12",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.2.12.tgz",
-      "integrity": "sha512-u2MH9+NRwbbFDRNiPWPexed9CnCq9+pGHLuyACSP2uR6Ik68cE6cayeZbIeoEV5vWpda/XsLmJgPJysw7dAZLQ==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.2.9.tgz",
+      "integrity": "sha512-MoKugbjk+E0wRBj12uvIyDLELlVLonnqjA2+XiF+7FxALIeyds3/qQeEoMmYIqAbN3NnTT5pV92RxWwG4tHFwA==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0"
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/core": "14.2.12"
+        "@angular/core": "15.2.9"
       },
       "peerDependenciesMeta": {
         "@angular/core": {
@@ -1873,19 +753,19 @@
       }
     },
     "node_modules/@angular/compiler-cli": {
-      "version": "14.2.12",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.2.12.tgz",
-      "integrity": "sha512-9Gkb9KFkaQPz8XaS8ZwwTioRZ4ywykdAWyceICEi78/Y9ConYrTX2SbFogzI2dPUZU8a04tMlbqTSmHjVbJftQ==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.2.9.tgz",
+      "integrity": "sha512-zsbI8G2xHOeYWI0hjFzrI//ZhZV9il/uQW5dAimfwJp06KZDeXZ3PdwY9JQslf6F+saLwOObxy6QMrIVvfjy9w==",
       "dev": true,
       "dependencies": {
-        "@babel/core": "^7.17.2",
+        "@babel/core": "7.19.3",
+        "@jridgewell/sourcemap-codec": "^1.4.14",
         "chokidar": "^3.0.0",
         "convert-source-map": "^1.5.1",
         "dependency-graph": "^0.11.0",
-        "magic-string": "^0.26.0",
+        "magic-string": "^0.27.0",
         "reflect-metadata": "^0.1.2",
         "semver": "^7.0.0",
-        "sourcemap-codec": "^1.4.8",
         "tslib": "^2.3.0",
         "yargs": "^17.2.1"
       },
@@ -1895,92 +775,174 @@
         "ngcc": "bundles/ngcc/main-ngcc.js"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0"
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/compiler": "14.2.12",
-        "typescript": ">=4.6.2 <4.9"
+        "@angular/compiler": "15.2.9",
+        "typescript": ">=4.8.2 <5.0"
       }
     },
-    "node_modules/@angular/core": {
-      "version": "14.2.12",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.2.12.tgz",
-      "integrity": "sha512-sGQxU5u4uawwvJa6jOTmGoisJiQ5HIN/RoBw99CmoqZIVyUSg9IRJJC1KVdH8gbpWBNLkElZv21lwJTL/msWyg==",
+    "node_modules/@angular/compiler-cli/node_modules/@babel/core": {
+      "version": "7.19.3",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz",
+      "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==",
+      "dev": true,
       "dependencies": {
-        "tslib": "^2.3.0"
+        "@ampproject/remapping": "^2.1.0",
+        "@babel/code-frame": "^7.18.6",
+        "@babel/generator": "^7.19.3",
+        "@babel/helper-compilation-targets": "^7.19.3",
+        "@babel/helper-module-transforms": "^7.19.0",
+        "@babel/helpers": "^7.19.0",
+        "@babel/parser": "^7.19.3",
+        "@babel/template": "^7.18.10",
+        "@babel/traverse": "^7.19.3",
+        "@babel/types": "^7.19.3",
+        "convert-source-map": "^1.7.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.1",
+        "semver": "^6.3.0"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0"
+        "node": ">=6.9.0"
       },
-      "peerDependencies": {
-        "rxjs": "^6.5.3 || ^7.4.0",
-        "zone.js": "~0.11.4 || ~0.12.0"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
+      }
+    },
+    "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
       }
     },
-    "node_modules/@angular/flex-layout": {
-      "version": "14.0.0-beta.41",
-      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-14.0.0-beta.41.tgz",
-      "integrity": "sha512-x1YcxqkdFlcbVXEy9ebCgW/F+7n/MXkEkwEcVEIPf5v5qn7HZsjQxgIj35Lf0amvMyF7h35prpoxO1uX5+ntFg==",
-      "deprecated": "This package has been deprecated. Please see https://blog.angular.io/modern-css-in-angular-layouts-4a259dca9127",
+    "node_modules/@angular/compiler-cli/node_modules/magic-string": {
+      "version": "0.27.0",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
+      "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/sourcemap-codec": "^1.4.13"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@angular/core": {
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.2.9.tgz",
+      "integrity": "sha512-w46Z1yUXCQfKV7XfnamOoLA2VD0MVUUYVrUjO73mHSskDXSXxfZAEHO9kfUS71Cj35PvhP3mbkqWscpea2WeYg==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
+      "engines": {
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
+      },
       "peerDependencies": {
-        "@angular/cdk": "^14.0.0",
-        "@angular/common": "^14.0.0",
-        "@angular/core": "^14.0.0",
-        "@angular/platform-browser": "^14.0.0",
-        "rxjs": "^6.5.3 || ^7.4.0"
+        "rxjs": "^6.5.3 || ^7.4.0",
+        "zone.js": "~0.11.4 || ~0.12.0 || ~0.13.0"
       }
     },
     "node_modules/@angular/forms": {
-      "version": "14.2.12",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.2.12.tgz",
-      "integrity": "sha512-7abYlGIT2JnAtutQUlH3fQS6QEpbfftgvsVcZJCyvX0rXL3u2w2vUQkDHJH4YJJp3AHFVCH4/l7R4VcaPnrwvA==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.2.9.tgz",
+      "integrity": "sha512-sk0pC2EFi2Ohg5J0q0NYptbT+2WOkoiERSMYA39ncDvlSZBWsNlxpkbGUSck7NIxjK2QfcVN1ldGbHlZTFvtqg==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0"
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/common": "14.2.12",
-        "@angular/core": "14.2.12",
-        "@angular/platform-browser": "14.2.12",
+        "@angular/common": "15.2.9",
+        "@angular/core": "15.2.9",
+        "@angular/platform-browser": "15.2.9",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
     "node_modules/@angular/material": {
-      "version": "14.2.7",
-      "resolved": "https://registry.npmjs.org/@angular/material/-/material-14.2.7.tgz",
-      "integrity": "sha512-WXHh8pEStpgkXZJmYOg2cI8BSHkV82ET4XTJCNPdveumaCn1UYnaNzsXD13kw5z+zmy8CufhFEzdXTrv/yt7KQ==",
-      "dependencies": {
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/material/-/material-15.2.9.tgz",
+      "integrity": "sha512-emuFF/7+91Jq+6kVCl3FiVoFLtAZoh+woFQWNuK8nhx0HmD4ckLFI8d9a6ERYR3zRuKhq5deSRE2kYsfpjrrsQ==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/auto-init": "15.0.0-canary.684e33d25.0",
+        "@material/banner": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/button": "15.0.0-canary.684e33d25.0",
+        "@material/card": "15.0.0-canary.684e33d25.0",
+        "@material/checkbox": "15.0.0-canary.684e33d25.0",
+        "@material/chips": "15.0.0-canary.684e33d25.0",
+        "@material/circular-progress": "15.0.0-canary.684e33d25.0",
+        "@material/data-table": "15.0.0-canary.684e33d25.0",
+        "@material/density": "15.0.0-canary.684e33d25.0",
+        "@material/dialog": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/drawer": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/fab": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/floating-label": "15.0.0-canary.684e33d25.0",
+        "@material/form-field": "15.0.0-canary.684e33d25.0",
+        "@material/icon-button": "15.0.0-canary.684e33d25.0",
+        "@material/image-list": "15.0.0-canary.684e33d25.0",
+        "@material/layout-grid": "15.0.0-canary.684e33d25.0",
+        "@material/line-ripple": "15.0.0-canary.684e33d25.0",
+        "@material/linear-progress": "15.0.0-canary.684e33d25.0",
+        "@material/list": "15.0.0-canary.684e33d25.0",
+        "@material/menu": "15.0.0-canary.684e33d25.0",
+        "@material/menu-surface": "15.0.0-canary.684e33d25.0",
+        "@material/notched-outline": "15.0.0-canary.684e33d25.0",
+        "@material/radio": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/segmented-button": "15.0.0-canary.684e33d25.0",
+        "@material/select": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/slider": "15.0.0-canary.684e33d25.0",
+        "@material/snackbar": "15.0.0-canary.684e33d25.0",
+        "@material/switch": "15.0.0-canary.684e33d25.0",
+        "@material/tab": "15.0.0-canary.684e33d25.0",
+        "@material/tab-bar": "15.0.0-canary.684e33d25.0",
+        "@material/tab-indicator": "15.0.0-canary.684e33d25.0",
+        "@material/tab-scroller": "15.0.0-canary.684e33d25.0",
+        "@material/textfield": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tooltip": "15.0.0-canary.684e33d25.0",
+        "@material/top-app-bar": "15.0.0-canary.684e33d25.0",
+        "@material/touch-target": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
         "tslib": "^2.3.0"
       },
       "peerDependencies": {
-        "@angular/animations": "^14.0.0 || ^15.0.0",
-        "@angular/cdk": "14.2.7",
-        "@angular/common": "^14.0.0 || ^15.0.0",
-        "@angular/core": "^14.0.0 || ^15.0.0",
-        "@angular/forms": "^14.0.0 || ^15.0.0",
-        "@angular/platform-browser": "^14.0.0 || ^15.0.0",
+        "@angular/animations": "^15.0.0 || ^16.0.0",
+        "@angular/cdk": "15.2.9",
+        "@angular/common": "^15.0.0 || ^16.0.0",
+        "@angular/core": "^15.0.0 || ^16.0.0",
+        "@angular/forms": "^15.0.0 || ^16.0.0",
+        "@angular/platform-browser": "^15.0.0 || ^16.0.0",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
     "node_modules/@angular/platform-browser": {
-      "version": "14.2.12",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.2.12.tgz",
-      "integrity": "sha512-vOarWym8ucl1gjYWCzdwyBha+MTvL381mvTTUu8aUx6nVhHFjv4bvpjlZnZgojecqUPyxOwmPLLHvCZPJVHZYg==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.2.9.tgz",
+      "integrity": "sha512-ufCHeSX+U6d43YOMkn3igwfqtlozoCXADcbyfUEG8m2y9XASobqmCKvdSk/zfl62oyiA8msntWBJVBE2l4xKXg==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0"
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/animations": "14.2.12",
-        "@angular/common": "14.2.12",
-        "@angular/core": "14.2.12"
+        "@angular/animations": "15.2.9",
+        "@angular/common": "15.2.9",
+        "@angular/core": "15.2.9"
       },
       "peerDependenciesMeta": {
         "@angular/animations": {
@@ -1989,36 +951,36 @@
       }
     },
     "node_modules/@angular/platform-browser-dynamic": {
-      "version": "14.2.12",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.2.12.tgz",
-      "integrity": "sha512-oZhNJeaBmgw8+KBSYpKz2RYqEDyETC+HJXH8dwIFcP6BqqwL2NE70FdSR7EnOa5c41MEtTmMCGhrJSFR60x5/w==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.9.tgz",
+      "integrity": "sha512-ZIYDM6MShblb8OyV1m4+18lJJ2LCeICmeg2uSbpFYptYBSOClrTiYOOFVDJvn7HLvNzljLs16XPrgyaYVqNpcw==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0"
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/common": "14.2.12",
-        "@angular/compiler": "14.2.12",
-        "@angular/core": "14.2.12",
-        "@angular/platform-browser": "14.2.12"
+        "@angular/common": "15.2.9",
+        "@angular/compiler": "15.2.9",
+        "@angular/core": "15.2.9",
+        "@angular/platform-browser": "15.2.9"
       }
     },
     "node_modules/@angular/router": {
-      "version": "14.2.12",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.2.12.tgz",
-      "integrity": "sha512-r5tVus5RJDNc4U2v0jMtjPiAS1xDsVsJ70lS313DgZmBDHIVZP1cWIehdxwgNlGwQQtAA36eG7toBwqUU3gb/A==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.2.9.tgz",
+      "integrity": "sha512-UCbh5DLSDhybv0xKYT7kGQMfOVdyhHIHOZz5EYVebbhste6S+W1LE57vTHq7QtxJsyKBa/WSkaUkCLXD6ntCAg==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0"
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "peerDependencies": {
-        "@angular/common": "14.2.12",
-        "@angular/core": "14.2.12",
-        "@angular/platform-browser": "14.2.12",
+        "@angular/common": "15.2.9",
+        "@angular/core": "15.2.9",
+        "@angular/platform-browser": "15.2.9",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
@@ -2029,15 +991,15 @@
       "dev": true
     },
     "node_modules/@asymmetrik/ngx-leaflet": {
-      "version": "14.0.1",
-      "resolved": "https://registry.npmjs.org/@asymmetrik/ngx-leaflet/-/ngx-leaflet-14.0.1.tgz",
-      "integrity": "sha512-bARZjrkB8JbXGpeMnE2SLL4WFwpKpkyxCkHWTHR1vT/oRva6hpDhTf8PgR2zF1TYOB8GZt0JXYVZ8ao5qzYvaA==",
+      "version": "15.0.1",
+      "resolved": "https://registry.npmjs.org/@asymmetrik/ngx-leaflet/-/ngx-leaflet-15.0.1.tgz",
+      "integrity": "sha512-vlwk6lxt+KtBBeGOX6XX1pRBfkH3c41kp29UsY/tj/pVGrMZ3tGH9heeal0vUMIr3ERAZzExJEqwjzoqoU2IMw==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
       "peerDependencies": {
-        "@angular/common": "14",
-        "@angular/core": "14",
+        "@angular/common": "15",
+        "@angular/core": "15",
         "leaflet": "1"
       }
     },
@@ -2053,21 +1015,21 @@
       }
     },
     "node_modules/@babel/code-frame": {
-      "version": "7.18.6",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
-      "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz",
+      "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==",
       "dev": true,
       "dependencies": {
-        "@babel/highlight": "^7.18.6"
+        "@babel/highlight": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/compat-data": {
-      "version": "7.20.5",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz",
-      "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz",
+      "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
@@ -2103,34 +1065,6 @@
         "url": "https://opencollective.com/babel"
       }
     },
-    "node_modules/@babel/core/node_modules/@babel/generator": {
-      "version": "7.20.5",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz",
-      "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.20.5",
-        "@jridgewell/gen-mapping": "^0.3.2",
-        "jsesc": "^2.5.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/core/node_modules/@jridgewell/gen-mapping": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
-      "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
-      "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"
-      }
-    },
     "node_modules/@babel/core/node_modules/semver": {
       "version": "6.3.0",
       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -2141,12 +1075,12 @@
       }
     },
     "node_modules/@babel/generator": {
-      "version": "7.18.12",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz",
-      "integrity": "sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==",
+      "version": "7.20.14",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz",
+      "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.18.10",
+        "@babel/types": "^7.20.7",
         "@jridgewell/gen-mapping": "^0.3.2",
         "jsesc": "^2.5.1"
       },
@@ -2155,9 +1089,9 @@
       }
     },
     "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
-      "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+      "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
       "dev": true,
       "dependencies": {
         "@jridgewell/set-array": "^1.0.1",
@@ -2194,14 +1128,15 @@
       }
     },
     "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.20.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz",
-      "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz",
+      "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==",
       "dev": true,
       "dependencies": {
-        "@babel/compat-data": "^7.20.0",
-        "@babel/helper-validator-option": "^7.18.6",
+        "@babel/compat-data": "^7.22.5",
+        "@babel/helper-validator-option": "^7.22.5",
         "browserslist": "^4.21.3",
+        "lru-cache": "^5.1.1",
         "semver": "^6.3.0"
       },
       "engines": {
@@ -2211,6 +1146,15 @@
         "@babel/core": "^7.0.0"
       }
     },
+    "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+      "dev": true,
+      "dependencies": {
+        "yallist": "^3.0.2"
+      }
+    },
     "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
       "version": "6.3.0",
       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -2220,6 +1164,12 @@
         "semver": "bin/semver.js"
       }
     },
+    "node_modules/@babel/helper-compilation-targets/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/@babel/helper-create-class-features-plugin": {
       "version": "7.20.5",
       "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz",
@@ -2284,9 +1234,9 @@
       }
     },
     "node_modules/@babel/helper-environment-visitor": {
-      "version": "7.18.9",
-      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
-      "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz",
+      "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
@@ -2305,25 +1255,39 @@
       }
     },
     "node_modules/@babel/helper-function-name": {
-      "version": "7.19.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
-      "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
+      "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
       "dev": true,
       "dependencies": {
-        "@babel/template": "^7.18.10",
-        "@babel/types": "^7.19.0"
+        "@babel/template": "^7.22.5",
+        "@babel/types": "^7.22.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-function-name/node_modules/@babel/template": {
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz",
+      "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.22.5",
+        "@babel/parser": "^7.22.5",
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-hoist-variables": {
-      "version": "7.18.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
-      "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+      "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.18.6"
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -2342,31 +1306,57 @@
       }
     },
     "node_modules/@babel/helper-module-imports": {
-      "version": "7.18.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
-      "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz",
+      "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.18.6"
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-module-transforms": {
-      "version": "7.20.2",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz",
-      "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz",
+      "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-environment-visitor": "^7.18.9",
-        "@babel/helper-module-imports": "^7.18.6",
-        "@babel/helper-simple-access": "^7.20.2",
-        "@babel/helper-split-export-declaration": "^7.18.6",
-        "@babel/helper-validator-identifier": "^7.19.1",
-        "@babel/template": "^7.18.10",
-        "@babel/traverse": "^7.20.1",
-        "@babel/types": "^7.20.2"
+        "@babel/helper-environment-visitor": "^7.22.5",
+        "@babel/helper-module-imports": "^7.22.5",
+        "@babel/helper-simple-access": "^7.22.5",
+        "@babel/helper-split-export-declaration": "^7.22.5",
+        "@babel/helper-validator-identifier": "^7.22.5",
+        "@babel/template": "^7.22.5",
+        "@babel/traverse": "^7.22.5",
+        "@babel/types": "^7.22.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz",
+      "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.22.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-module-transforms/node_modules/@babel/template": {
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz",
+      "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.22.5",
+        "@babel/parser": "^7.22.5",
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -2428,12 +1418,12 @@
       }
     },
     "node_modules/@babel/helper-simple-access": {
-      "version": "7.20.2",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
-      "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
+      "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==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.20.2"
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -2464,27 +1454,27 @@
       }
     },
     "node_modules/@babel/helper-string-parser": {
-      "version": "7.19.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
-      "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
+      "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-validator-identifier": {
-      "version": "7.19.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
-      "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
+      "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-validator-option": {
-      "version": "7.18.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
-      "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz",
+      "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==",
       "dev": true,
       "engines": {
         "node": ">=6.9.0"
@@ -2506,26 +1496,40 @@
       }
     },
     "node_modules/@babel/helpers": {
-      "version": "7.20.6",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz",
-      "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz",
+      "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==",
       "dev": true,
       "dependencies": {
-        "@babel/template": "^7.18.10",
-        "@babel/traverse": "^7.20.5",
-        "@babel/types": "^7.20.5"
+        "@babel/template": "^7.22.5",
+        "@babel/traverse": "^7.22.5",
+        "@babel/types": "^7.22.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helpers/node_modules/@babel/template": {
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz",
+      "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.22.5",
+        "@babel/parser": "^7.22.5",
+        "@babel/types": "^7.22.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/highlight": {
-      "version": "7.18.6",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
-      "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz",
+      "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-validator-identifier": "^7.18.6",
+        "@babel/helper-validator-identifier": "^7.22.5",
         "chalk": "^2.0.0",
         "js-tokens": "^4.0.0"
       },
@@ -2534,9 +1538,9 @@
       }
     },
     "node_modules/@babel/parser": {
-      "version": "7.20.5",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz",
-      "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz",
+      "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==",
       "dev": true,
       "bin": {
         "parser": "bin/babel-parser.js"
@@ -2578,13 +1582,13 @@
       }
     },
     "node_modules/@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.18.10",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
-      "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz",
+      "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==",
       "dev": true,
       "dependencies": {
         "@babel/helper-environment-visitor": "^7.18.9",
-        "@babel/helper-plugin-utils": "^7.18.9",
+        "@babel/helper-plugin-utils": "^7.20.2",
         "@babel/helper-remap-async-to-generator": "^7.18.9",
         "@babel/plugin-syntax-async-generators": "^7.8.4"
       },
@@ -3049,14 +2053,14 @@
       }
     },
     "node_modules/@babel/plugin-transform-async-to-generator": {
-      "version": "7.18.6",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz",
-      "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==",
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz",
+      "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==",
       "dev": true,
       "dependencies": {
         "@babel/helper-module-imports": "^7.18.6",
-        "@babel/helper-plugin-utils": "^7.18.6",
-        "@babel/helper-remap-async-to-generator": "^7.18.6"
+        "@babel/helper-plugin-utils": "^7.20.2",
+        "@babel/helper-remap-async-to-generator": "^7.18.9"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -3498,16 +2502,16 @@
       }
     },
     "node_modules/@babel/plugin-transform-runtime": {
-      "version": "7.18.10",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.10.tgz",
-      "integrity": "sha512-q5mMeYAdfEbpBAgzl7tBre/la3LeCxmDO1+wMXRdPWbcoMjR3GiXlCLk7JBZVVye0bqTGNMbt0yYVXX1B1jEWQ==",
+      "version": "7.19.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz",
+      "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==",
       "dev": true,
       "dependencies": {
         "@babel/helper-module-imports": "^7.18.6",
-        "@babel/helper-plugin-utils": "^7.18.9",
-        "babel-plugin-polyfill-corejs2": "^0.3.2",
-        "babel-plugin-polyfill-corejs3": "^0.5.3",
-        "babel-plugin-polyfill-regenerator": "^0.4.0",
+        "@babel/helper-plugin-utils": "^7.19.0",
+        "babel-plugin-polyfill-corejs2": "^0.3.3",
+        "babel-plugin-polyfill-corejs3": "^0.6.0",
+        "babel-plugin-polyfill-regenerator": "^0.4.1",
         "semver": "^6.3.0"
       },
       "engines": {
@@ -3722,37 +2726,6 @@
         "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.20.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz",
-      "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-environment-visitor": "^7.18.9",
-        "@babel/helper-plugin-utils": "^7.19.0",
-        "@babel/helper-remap-async-to-generator": "^7.18.9",
-        "@babel/plugin-syntax-async-generators": "^7.8.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz",
-      "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-define-polyfill-provider": "^0.3.3",
-        "core-js-compat": "^3.25.1"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
     "node_modules/@babel/preset-env/node_modules/semver": {
       "version": "6.3.0",
       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -3799,11 +2772,11 @@
       }
     },
     "node_modules/@babel/runtime": {
-      "version": "7.18.9",
-      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz",
-      "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
+      "version": "7.20.13",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz",
+      "integrity": "sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==",
       "dependencies": {
-        "regenerator-runtime": "^0.13.4"
+        "regenerator-runtime": "^0.13.11"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -3821,39 +2794,34 @@
         "node": ">=6.9.0"
       }
     },
-    "node_modules/@babel/runtime-corejs3/node_modules/regenerator-runtime": {
-      "version": "0.13.11",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
-      "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
-    },
     "node_modules/@babel/template": {
-      "version": "7.18.10",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
-      "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
+      "version": "7.20.7",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
+      "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
       "dev": true,
       "dependencies": {
         "@babel/code-frame": "^7.18.6",
-        "@babel/parser": "^7.18.10",
-        "@babel/types": "^7.18.10"
+        "@babel/parser": "^7.20.7",
+        "@babel/types": "^7.20.7"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/traverse": {
-      "version": "7.20.5",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz",
-      "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.18.6",
-        "@babel/generator": "^7.20.5",
-        "@babel/helper-environment-visitor": "^7.18.9",
-        "@babel/helper-function-name": "^7.19.0",
-        "@babel/helper-hoist-variables": "^7.18.6",
-        "@babel/helper-split-export-declaration": "^7.18.6",
-        "@babel/parser": "^7.20.5",
-        "@babel/types": "^7.20.5",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz",
+      "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.22.5",
+        "@babel/generator": "^7.22.5",
+        "@babel/helper-environment-visitor": "^7.22.5",
+        "@babel/helper-function-name": "^7.22.5",
+        "@babel/helper-hoist-variables": "^7.22.5",
+        "@babel/helper-split-export-declaration": "^7.22.5",
+        "@babel/parser": "^7.22.5",
+        "@babel/types": "^7.22.5",
         "debug": "^4.1.0",
         "globals": "^11.1.0"
       },
@@ -3862,23 +2830,36 @@
       }
     },
     "node_modules/@babel/traverse/node_modules/@babel/generator": {
-      "version": "7.20.5",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz",
-      "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz",
+      "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==",
       "dev": true,
       "dependencies": {
-        "@babel/types": "^7.20.5",
+        "@babel/types": "^7.22.5",
         "@jridgewell/gen-mapping": "^0.3.2",
+        "@jridgewell/trace-mapping": "^0.3.17",
         "jsesc": "^2.5.1"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
+    "node_modules/@babel/traverse/node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz",
+      "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.22.5"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
     "node_modules/@babel/traverse/node_modules/@jridgewell/gen-mapping": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
-      "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+      "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
       "dev": true,
       "dependencies": {
         "@jridgewell/set-array": "^1.0.1",
@@ -3890,13 +2871,13 @@
       }
     },
     "node_modules/@babel/types": {
-      "version": "7.20.5",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz",
-      "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==",
+      "version": "7.22.5",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz",
+      "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-string-parser": "^7.19.4",
-        "@babel/helper-validator-identifier": "^7.19.1",
+        "@babel/helper-string-parser": "^7.22.5",
+        "@babel/helper-validator-identifier": "^7.22.5",
         "to-fast-properties": "^2.0.0"
       },
       "engines": {
@@ -3968,287 +2949,6 @@
         "@jridgewell/sourcemap-codec": "^1.4.10"
       }
     },
-    "node_modules/@csstools/postcss-cascade-layers": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz",
-      "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/selector-specificity": "^2.0.2",
-        "postcss-selector-parser": "^6.0.10"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/postcss-color-function": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz",
-      "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/postcss-progressive-custom-properties": "^1.1.0",
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/postcss-font-format-keywords": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz",
-      "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/postcss-hwb-function": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz",
-      "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/postcss-ic-unit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz",
-      "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/postcss-progressive-custom-properties": "^1.1.0",
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/postcss-is-pseudo-class": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz",
-      "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/selector-specificity": "^2.0.0",
-        "postcss-selector-parser": "^6.0.10"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/postcss-nested-calc": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz",
-      "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/postcss-normalize-display-values": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz",
-      "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/postcss-oklab-function": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz",
-      "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/postcss-progressive-custom-properties": "^1.1.0",
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/postcss-progressive-custom-properties": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz",
-      "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "peerDependencies": {
-        "postcss": "^8.3"
-      }
-    },
-    "node_modules/@csstools/postcss-stepped-value-functions": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz",
-      "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/postcss-text-decoration-shorthand": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz",
-      "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/postcss-trigonometric-functions": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz",
-      "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/postcss-unset-value": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz",
-      "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==",
-      "dev": true,
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/@csstools/selector-specificity": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz",
-      "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==",
-      "dev": true,
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2",
-        "postcss-selector-parser": "^6.0.10"
-      }
-    },
     "node_modules/@ctrl/ngx-codemirror": {
       "version": "5.1.1",
       "resolved": "https://registry.npmjs.org/@ctrl/ngx-codemirror/-/ngx-codemirror-5.1.1.tgz",
@@ -4999,199 +3699,535 @@
         "terser": "bin/terser"
       },
       "engines": {
-        "node": ">=6.0.0"
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@cypress/webpack-batteries-included-preprocessor/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==",
+      "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"
+      }
+    },
+    "node_modules/@cypress/webpack-batteries-included-preprocessor/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,
+      "dependencies": {
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@cypress/webpack-batteries-included-preprocessor/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,
+      "dependencies": {
+        "graceful-fs": "^4.1.2",
+        "neo-async": "^2.5.0"
+      },
+      "optionalDependencies": {
+        "chokidar": "^3.4.1",
+        "watchpack-chokidar2": "^2.0.1"
+      }
+    },
+    "node_modules/@cypress/webpack-batteries-included-preprocessor/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"
+      },
+      "bin": {
+        "webpack": "bin/webpack.js"
+      },
+      "engines": {
+        "node": ">=6.11.5"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependenciesMeta": {
+        "webpack-cli": {
+          "optional": true
+        },
+        "webpack-command": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@cypress/webpack-batteries-included-preprocessor/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==",
+      "dev": true,
+      "dependencies": {
+        "source-list-map": "^2.0.0",
+        "source-map": "~0.6.1"
+      }
+    },
+    "node_modules/@cypress/webpack-batteries-included-preprocessor/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/@cypress/webpack-batteries-included-preprocessor/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/@cypress/webpack-preprocessor": {
+      "version": "5.17.0",
+      "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.0.tgz",
+      "integrity": "sha512-HyFqHkrOrIIYOt4G+r3VK0kVYTcev1tEcqBI/0DJ4AzEuEgW/TB+cX56txy4Cgn60XXdJoul2utclZwUqOsPZA==",
+      "dev": true,
+      "dependencies": {
+        "bluebird": "3.7.1",
+        "debug": "^4.3.4",
+        "lodash": "^4.17.20"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.1",
+        "@babel/preset-env": "^7.0.0",
+        "babel-loader": "^8.0.2 || ^9",
+        "webpack": "^4 || ^5"
+      }
+    },
+    "node_modules/@cypress/xvfb": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz",
+      "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^3.1.0",
+        "lodash.once": "^4.1.1"
+      }
+    },
+    "node_modules/@cypress/xvfb/node_modules/debug": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
+    "node_modules/@danielmoncada/angular-datetime-picker": {
+      "version": "15.0.2",
+      "resolved": "https://registry.npmjs.org/@danielmoncada/angular-datetime-picker/-/angular-datetime-picker-15.0.2.tgz",
+      "integrity": "sha512-kWmT35i1sdE10uzMsmLT2iUmSnRNnWwS8Wg7VQZjVogqpOfsPmgdcFtGsUudq0C1OxT5eCxtp3cIfY7h1Hohbw==",
+      "dependencies": {
+        "tslib": "^2.3.1"
+      },
+      "peerDependencies": {
+        "@angular/cdk": "^13.0.3 || ^14.0.0 || ^15.0.0",
+        "@angular/common": "^13.0.3 || ^14.0.0 || ^15.0.0",
+        "@angular/core": "^13.0.3 || ^14.0.0 || ^15.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==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
+    "node_modules/@esbuild/android-arm": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.8.tgz",
+      "integrity": "sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/android-arm64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.8.tgz",
+      "integrity": "sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/android-x64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.8.tgz",
+      "integrity": "sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/darwin-arm64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.8.tgz",
+      "integrity": "sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/darwin-x64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.8.tgz",
+      "integrity": "sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/freebsd-arm64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.8.tgz",
+      "integrity": "sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/freebsd-x64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.8.tgz",
+      "integrity": "sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-arm": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.8.tgz",
+      "integrity": "sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-arm64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.8.tgz",
+      "integrity": "sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@esbuild/linux-ia32": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.8.tgz",
+      "integrity": "sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@cypress/webpack-batteries-included-preprocessor/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/@esbuild/linux-loong64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.8.tgz",
+      "integrity": "sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==",
+      "cpu": [
+        "loong64"
+      ],
       "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"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">= 6.9.0"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0"
+        "node": ">=12"
       }
     },
-    "node_modules/@cypress/webpack-batteries-included-preprocessor/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==",
+    "node_modules/@esbuild/linux-mips64el": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.8.tgz",
+      "integrity": "sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==",
+      "cpu": [
+        "mips64el"
+      ],
       "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=12"
       }
     },
-    "node_modules/@cypress/webpack-batteries-included-preprocessor/node_modules/watchpack": {
-      "version": "1.7.5",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
-      "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
+    "node_modules/@esbuild/linux-ppc64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.8.tgz",
+      "integrity": "sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==",
+      "cpu": [
+        "ppc64"
+      ],
       "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0"
-      },
-      "optionalDependencies": {
-        "chokidar": "^3.4.1",
-        "watchpack-chokidar2": "^2.0.1"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@cypress/webpack-batteries-included-preprocessor/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==",
+    "node_modules/@esbuild/linux-riscv64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.8.tgz",
+      "integrity": "sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==",
+      "cpu": [
+        "riscv64"
+      ],
       "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"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=6.11.5"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        },
-        "webpack-command": {
-          "optional": true
-        }
+        "node": ">=12"
       }
     },
-    "node_modules/@cypress/webpack-batteries-included-preprocessor/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==",
+    "node_modules/@esbuild/linux-s390x": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.8.tgz",
+      "integrity": "sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==",
+      "cpu": [
+        "s390x"
+      ],
       "dev": true,
-      "dependencies": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@cypress/webpack-batteries-included-preprocessor/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/@cypress/webpack-batteries-included-preprocessor/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/@esbuild/linux-x64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.8.tgz",
+      "integrity": "sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
     },
-    "node_modules/@cypress/webpack-preprocessor": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmjs.org/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.0.tgz",
-      "integrity": "sha512-HyFqHkrOrIIYOt4G+r3VK0kVYTcev1tEcqBI/0DJ4AzEuEgW/TB+cX56txy4Cgn60XXdJoul2utclZwUqOsPZA==",
+    "node_modules/@esbuild/netbsd-x64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.8.tgz",
+      "integrity": "sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "dependencies": {
-        "bluebird": "3.7.1",
-        "debug": "^4.3.4",
-        "lodash": "^4.17.20"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.1",
-        "@babel/preset-env": "^7.0.0",
-        "babel-loader": "^8.0.2 || ^9",
-        "webpack": "^4 || ^5"
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@cypress/xvfb": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz",
-      "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==",
+    "node_modules/@esbuild/openbsd-x64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.8.tgz",
+      "integrity": "sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "dependencies": {
-        "debug": "^3.1.0",
-        "lodash.once": "^4.1.1"
+      "optional": true,
+      "os": [
+        "openbsd"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@cypress/xvfb/node_modules/debug": {
-      "version": "3.2.7",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+    "node_modules/@esbuild/sunos-x64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.8.tgz",
+      "integrity": "sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "dependencies": {
-        "ms": "^2.1.1"
+      "optional": true,
+      "os": [
+        "sunos"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@danielmoncada/angular-datetime-picker": {
-      "version": "15.0.1",
-      "resolved": "https://registry.npmjs.org/@danielmoncada/angular-datetime-picker/-/angular-datetime-picker-15.0.1.tgz",
-      "integrity": "sha512-YMeZGjyVYertU98cQdpp+En+BXY5YxZObLxn6FzpV1/7jLUV2TUwJo1HvLpLQlQg+JY7B1vC3WFkd408pjR61A==",
-      "dependencies": {
-        "tslib": "^2.3.1"
-      },
-      "peerDependencies": {
-        "@angular/cdk": "^13.0.3 || ^14.0.0 || ^15.0.0",
-        "@angular/common": "^13.0.3 || ^14.0.0 || ^15.0.0",
-        "@angular/core": "^13.0.3 || ^14.0.0 || ^15.0.0"
+    "node_modules/@esbuild/win32-arm64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.8.tgz",
+      "integrity": "sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "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/@esbuild/win32-ia32": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.8.tgz",
+      "integrity": "sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==",
+      "cpu": [
+        "ia32"
+      ],
       "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=10.0.0"
+        "node": ">=12"
       }
     },
-    "node_modules/@esbuild/linux-loong64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.5.tgz",
-      "integrity": "sha512-UHkDFCfSGTuXq08oQltXxSZmH1TXyWsL+4QhZDWvvLl6mEJQqk3u7/wq1LjhrrAXYIllaTtRSzUXl4Olkf2J8A==",
+    "node_modules/@esbuild/win32-x64": {
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.8.tgz",
+      "integrity": "sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==",
       "cpu": [
-        "loong64"
+        "x64"
       ],
       "dev": true,
       "optional": true,
       "os": [
-        "linux"
+        "win32"
       ],
       "engines": {
         "node": ">=12"
@@ -5346,12 +4382,6 @@
         "node": ">=6"
       }
     },
-    "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/@humanwhocodes/config-array": {
       "version": "0.11.8",
       "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
@@ -5407,6 +4437,102 @@
       "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
       "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==",
+      "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"
+      },
+      "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==",
+      "dev": true,
+      "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==",
+      "dev": true,
+      "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==",
+      "dev": true,
+      "dependencies": {
+        "eastasianwidth": "^0.2.0",
+        "emoji-regex": "^9.2.2",
+        "strip-ansi": "^7.0.1"
+      },
+      "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==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^6.0.1"
+      },
+      "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==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^6.1.0",
+        "string-width": "^5.0.1",
+        "strip-ansi": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
     "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",
@@ -5602,19 +4728,785 @@
         "node": ">=6.0.0"
       }
     },
+    "node_modules/@material/animation": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-5osi1z4JQIXcklPALbH/zTfOm2pDzHt9Fxm7ZyURy250xIZj6QjULRzPTnzOhC2ropfix9ra2Cfggbf0dcRbEQ==",
+      "dependencies": {
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/auto-init": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-OigQTmrVzkcGvxNjOaIe5oItTFPgrO9xLewvharDI6m6yvO1z7OBnkcW+sFN6ggLNYNxd0O1u9v64vMsmeDABQ==",
+      "dependencies": {
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/banner": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-PqtGp3KWzdu58rWv/DIvSfe38m5YKOBbAAbBinSvgadBb/da+IE1t5F7YPNKE1T5lJsQBGVUYx6QBIeXm+aI/A==",
+      "dependencies": {
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/button": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/base": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-oOaqb/SfjWwTKsdJUZmeh/Qrs41nIJI0N+zELsxnvbGjSIN1ZMAKYZFPMahqvC68OJ6+5CvJM8PoTNs5l+B8IQ==",
+      "dependencies": {
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/button": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-Nkekk4edeX+ObVOa7UlwavaHdmckPV5wU4SAJf3iA3R61cmz+KsgAgpzfcwv5WfNhIlc2nLu8QYEecpHdo9d/w==",
+      "dependencies": {
+        "@material/density": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/focus-ring": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/touch-target": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/card": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-xhyB7XX5KkEiCEqwSPkl58ZGYL6xFdnY62zimyBXJRG/Eaa0Swj3kW20hVCpt4f7c9Zmp8Se27rg8vnKmhvO3g==",
+      "dependencies": {
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/checkbox": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-NFpM3TS924PmVsk2KQLNU95OYCf8ZwYgzeqfnAexU0bEfjUJXINBun2Go0AaeOUMjuvWUe+byjrXgv8SFYbMUA==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/density": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/focus-ring": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/touch-target": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/chips": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-z4ajQ4NnsAQ/Si9tZ4xmxzjj2Qb+vW++4QjCjjjwAGIZbCe0xglAnMh2t66XLJUxt7RoKZuZVEO7ZqcFZpvJFQ==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/checkbox": "15.0.0-canary.684e33d25.0",
+        "@material/density": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/focus-ring": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/touch-target": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "safevalues": "^0.3.4",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/circular-progress": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-G6qD0nGNtEUwWnAMJuA9INYFpZoKtx7KFjBaPF4Ol2YLHtmShALNAYyn54TMAK8AZ2IpW08PXjGS7Ye88vrdEQ==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/progress-indicator": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/data-table": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-+wDw1DDDFfAsKAMzs84f/5GCjux39zjNfW8tL4wFbkWNwewmQrG9zaQMJhBpVOtLCrM8Gj6SOgOANqgqoCjvGg==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/checkbox": "15.0.0-canary.684e33d25.0",
+        "@material/density": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/icon-button": "15.0.0-canary.684e33d25.0",
+        "@material/linear-progress": "15.0.0-canary.684e33d25.0",
+        "@material/list": "15.0.0-canary.684e33d25.0",
+        "@material/menu": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/select": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/touch-target": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/density": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-661yEVRMGrlq6S6WuSbPRO+ZwpdUOg2glCc7y96doM6itSLOa3UEAldjOLfsYZVB74GnKCiuDp//QmfoRyYTfA==",
+      "dependencies": {
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/dialog": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-szn0dHnfeQTSOC6SSRSGAzX6Tnx+4NnSMUwNkXm+3bwjds8ZVK26+DXwLrP5f3ID5F1K5sFsRf2INo5/TNTHyQ==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/button": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/icon-button": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/touch-target": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/dom": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-7pEJLYov+tGgfuD8mZxoVU6rWtPI8ppjTAhz+F27Hz9FG0JETMWTKpDPBXLnKvX7vhIxL83GvZ9geNHCe8Hfog==",
+      "dependencies": {
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/drawer": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-/KMckLf1PYU/H3PXnS4e0aFl03qG3JlSv4LGgX6juJufcONqGTl/m63EMO/L/eUy6H1CRrXmVDjik/jzHLyDhg==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/list": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/elevation": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-WDF8SsRtq3rXUbVVbd9K4DUijIPH0bUFSOreVYxudpuxAfTlDS5+aeS1EK9UIBFYLuba4u5wVT2tDv6e1RTfrQ==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/fab": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-KCu87rWOKEAe9vZcAm6K8XazYSWPNjMG+OhrbPjHW6bCO7as1YCgtmkBkhff7csY/rFmcVpIy884xtUfLmSudQ==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/focus-ring": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/touch-target": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/feature-targeting": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-HyH1erNTSjS63sigNSUMaCd0nJhTNdDFeC+myrxwtDaQm+uYJ8troCNtQM3g6mx0XATNtX5aTOoPmrM6yVVi1A==",
+      "dependencies": {
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/floating-label": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-f7TPp6bKpGvV3sYYiZHSGlrixXKkXXITW3Esp7KB9jRq42c0H82novmdwvY0eTef4ootmA2JEysr78KQfHBUPg==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/focus-ring": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-ikw2RVUfgzXChpWIzPH1VzRvTjYb5ZKj4H+CZf7jqPUXMstFOZg90Bp7ARLZHqYiyNMuUq3zUTHozS6iHorSqg==",
+      "dependencies": {
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0"
+      }
+    },
+    "node_modules/@material/form-field": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-vpF9N/uq5no/7+8GAbEH0868FhOuBgxAWRr1Sfb+jthKfBr8OS/wPU/AHzZHdHdAm7PQynbeOXfDsX2dI//PDA==",
+      "dependencies": {
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/icon-button": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-wMI+XGzmIN/o2ePBKg2hLyx7H4pXCRAyyIKMQS1FMp1UKa2tYmiHVX/V8skhKwCqxg3i6Ls/LxMjfPxTR18WvQ==",
+      "dependencies": {
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/density": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/focus-ring": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/touch-target": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/image-list": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-Ol+uaHYBe5R/cgzlfh5ONnMVX0wO6fV74JMUcQCQlxP6lXau/edARo4tkRc7A7UJUkU3VRv0EpEjLoCRNUPGaA==",
+      "dependencies": {
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/layout-grid": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-ALXE1mqFNb/RB2lVRQ3/r1Aufw2mFZnOjRE+boYDVepmAG/xWyPCyaGoavELJF5l4GAb0tXi8wA/8HeGbLOpuA==",
+      "dependencies": {
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/line-ripple": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-7hRx8C/e9i0P6pgQpNOMfTwSS2r1fwEvBL72QDVGLtLuoKKwsjjgP6Z0Jat/GeHJe87u9LQvGBoD4upt+of/HA==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/linear-progress": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-iJclt7mKmcMk6pqD7ocXKfCWZhqBoODp7N593jYlxVpTJuEz2wiVAjZUDn/YGj/Uz3CRH+2YFfOiLr9pwWjhDg==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/progress-indicator": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/list": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-rQ+FCSdzmwTcT00IYE0uRV3CS4oGSccKFl9hkcF+aHFW61L7ORh/SCGUDPrEfQFrFkMn5f8qroVJjpUAMXBz4g==",
+      "dependencies": {
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/density": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/menu": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-r7wzDLSGSI9629/mfpvsMzkVxpmV75kcD3IrW0Pcu6/Bv/1xi0EvjcUXzNJJoQlwN4Zj35Ymz/PCjZkIDIz68Q==",
+      "dependencies": {
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/list": "15.0.0-canary.684e33d25.0",
+        "@material/menu-surface": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/menu-surface": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-RVO5GAYcfWPaKwxsF/NhUAmrYXQCQBKvRQW0TIlbmAJz6lcFeTs6YZqF3u1C7qrL3ZQGz+sur/7ywj6QU0oMow==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/notched-outline": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-9YHcBkvJLPVYzkHcWoTpBZAFrEd+j1hjhGxLhh0LuNrZe8VroUkZD1TTnUAPHRG3os6EqEWWaKb0RN+aPIF2yQ==",
+      "dependencies": {
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/floating-label": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/progress-indicator": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-c0icji4faeNWUoqGENGC7Hav0Puxh0RwXIDVizffaUxKIGbajpIp5+4Zop73fK/xFLGMB/npg7TbP+aCGjQ3fw==",
+      "dependencies": {
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/radio": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-U3Eh8sNUA8trDla1Bq8Bo02foxYvtoewaKeF8A8tAju81XZ4jRiftfOsOWZDZEHCVbbCB2QwvutvFlnay5n+Aw==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/density": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/focus-ring": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/touch-target": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/ripple": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-RyePu7SjIm/OuyyEieZ/gxiPYkNZOZHeid72WRcN9ofdlljj2pifcdPvcfZA+v/DMS33xo5GjG2L/Qj6ClWrKw==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/rtl": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-NqdJl8Ayupp1Th+vCNCpVQHbUFOuF7TCte9LD1norTIBUF/QizIxWby2W5uUEiPbnh5j9PmE1CJtfLwKun3pcw==",
+      "dependencies": {
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/segmented-button": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-bEGgg8vgXNLyukyV8HRjFMuQ6t6nm5LQ4Pgm22um61Yc8qyi0BOqV41OR4SVdUrUqZxh1aVD+p+4NN03+LfQXw==",
+      "dependencies": {
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/touch-target": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/select": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-kf178/2TeEinTv0mgmSBcmmExQ2h7a7dtR1E3WuqQgisJ/R6+zVLMkC2CnfIyzxYX2vkuUTG0ue3Reh/6XiqSg==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/density": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/floating-label": "15.0.0-canary.684e33d25.0",
+        "@material/line-ripple": "15.0.0-canary.684e33d25.0",
+        "@material/list": "15.0.0-canary.684e33d25.0",
+        "@material/menu": "15.0.0-canary.684e33d25.0",
+        "@material/menu-surface": "15.0.0-canary.684e33d25.0",
+        "@material/notched-outline": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/shape": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-aEelpaTFmpnCji3TUGP9bVCS/bRVjUmLTHBPZtuu1gOrUVVtJ6kYOg73dZNJF+XOoNL2yOX/LRcKwsop29tptA==",
+      "dependencies": {
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/slider": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-WVyK+2pSNSZmj07M2K/a3TADoQ9FBCndfNC/vE7/wGIg4dddJJK5KvQ+yruf9R2cSzTL/S1sZ5WpyyeM8E9HTw==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/snackbar": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-itO+DCkOannZzR1/cCHcqAm7ifhuFvXmDItNoA8qLEcAyJDJJRkhpwj3XQ01yuo9gBFcSctp7Txt7e+Hncm/Jg==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/button": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/icon-button": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/switch": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-Jxi0gl92yvvZZsAPxvVHzXx2ga+T/djMow98jvEczmpUorWnAhgiCr9CsSSRoosahWyRB8NLZOxUQrACxvffjw==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/density": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/focus-ring": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "safevalues": "^0.3.4",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/tab": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-WQL3wj9syHNcfe8KbgGGUcA34M8C/xZ+n0Fkkh8Kk6puVwaU+xqUNihsxPY6YzKpmh4PZ4oJaBdiN8zvFT1zqQ==",
+      "dependencies": {
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/focus-ring": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/tab-indicator": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/tab-bar": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-SW/cMaDsIGGkM1ag3A7GJRlmr8eXmObWsvitQJzh6Azr5zzZtSI+GQygkMesAEE1gbpqOVN8d40rh3H7VVIAcA==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/density": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/tab": "15.0.0-canary.684e33d25.0",
+        "@material/tab-indicator": "15.0.0-canary.684e33d25.0",
+        "@material/tab-scroller": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/tab-indicator": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-kKICqSPqOlaf0lzaFFCmuOqPXJC+cK48Qmsc+m5o6fJhkmuZRCYpIwB2JeP+uZSOq/bTH+SrPtCtnVlgWg6ksA==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/tab-scroller": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-H6EU/TSiK/M2DyyORX5GEtXD9rKYxTMHC2VxsNWARPMFJGzgeW2ugYkFv+rKI1/c0bs0CJ4e+qFnOlBsQXZvyQ==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/tab": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/textfield": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-OvgpDXjvpyJTtAWskO69IDybFvDNzr9w2PN/Fk7yFm+uNVupaWz1Ew8lZ4gGslaTNSVmh2XcsvmzxcLINSiiNg==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/density": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/floating-label": "15.0.0-canary.684e33d25.0",
+        "@material/line-ripple": "15.0.0-canary.684e33d25.0",
+        "@material/notched-outline": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/theme": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-AZxaXXAvRKzAi20RlMxzt2U5UmkCWyv7DMWEBXsxtG5Tk54mi1HsbVUp3fxDPTlmL7Pq8p1/DESg/o7TgRCVlw==",
+      "dependencies": {
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/tokens": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-wVwbQOTCXDPKYPdHQHLr026y36MMFelID1CmbfRk6mSol4O8yE9U0fXcShfRDW8Qo5E3X31w9c2A6T3neJY7wQ==",
+      "dependencies": {
+        "@material/elevation": "15.0.0-canary.684e33d25.0"
+      }
+    },
+    "node_modules/@material/tooltip": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-dtm26QjxyQdinc8btgz6yys07b7bUW4FZgNF2EBPeGrICrPg7jf+JEvDziz5g8VMaTBQLOQRSCGy0MKuRlOjLw==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/button": "15.0.0-canary.684e33d25.0",
+        "@material/dom": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/tokens": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "safevalues": "^0.3.4",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/top-app-bar": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-1M+oupUxflfW7u81P1XlxoLZB8bLzwtpKofIfDNRbEsiKhlLTERJR3Yak3BGE9xakNMysAaBHlkb5MrN5bNPFw==",
+      "dependencies": {
+        "@material/animation": "15.0.0-canary.684e33d25.0",
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/elevation": "15.0.0-canary.684e33d25.0",
+        "@material/ripple": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/shape": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "@material/typography": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/touch-target": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-zdE69Slg8+T7sTn1OwqZ6H7WBYac9mxJ/JlJqfTqthzIjZRcCxBSYymQJcDHjsrPnUojOtr9U4Tpm5YZ96TEkQ==",
+      "dependencies": {
+        "@material/base": "15.0.0-canary.684e33d25.0",
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/rtl": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@material/typography": {
+      "version": "15.0.0-canary.684e33d25.0",
+      "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.684e33d25.0.tgz",
+      "integrity": "sha512-aVnvgMwcfNa/K4wujzpKDIxjGl2hbkEL+m+OKDSQqWYjKcP9QrbzCXJruJBqxrBoPRHLbqo47k5f9uT8raSgjw==",
+      "dependencies": {
+        "@material/feature-targeting": "15.0.0-canary.684e33d25.0",
+        "@material/theme": "15.0.0-canary.684e33d25.0",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/@ngbracket/ngx-layout": {
+      "version": "15.1.3",
+      "resolved": "https://registry.npmjs.org/@ngbracket/ngx-layout/-/ngx-layout-15.1.3.tgz",
+      "integrity": "sha512-0fPiJ/DLNEWfyn/71IHuJ3SWpNFGLKMrEE79AIBczWStQ9I1t2IrOANKYi3r+7gcojisHbdfUc4q/6vjVfKt8w==",
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "peerDependencies": {
+        "@angular/cdk": ">=15.0.0",
+        "@angular/common": ">=15.0.2",
+        "@angular/core": ">=15.0.2",
+        "@angular/platform-browser": ">=15.0.2",
+        "rxjs": "^6.5.3 || ^7.8.0"
+      }
+    },
     "node_modules/@ngtools/webpack": {
-      "version": "14.2.10",
-      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.2.10.tgz",
-      "integrity": "sha512-sLHapZLVub6mEz5b19tf1VfIV1w3tYfg7FNPLeni79aldxu1FbP1v2WmiFAnMzrswqyK0bhTtxrl+Z/CLKqyoQ==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.9.tgz",
+      "integrity": "sha512-nOXUGqKkAEMlCcrhkDwWDzcVdKNH7MNRUXfNzsFc9zdeR/5p3qt6SVMN7OOE3NREyI7P6nzARc3S+6QDBjf3Jg==",
       "dev": true,
       "engines": {
-        "node": "^14.15.0 || >=16.10.0",
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
         "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
         "yarn": ">= 1.13.0"
       },
       "peerDependencies": {
-        "@angular/compiler-cli": "^14.0.0",
-        "typescript": ">=4.6.2 <4.9",
+        "@angular/compiler-cli": "^15.0.0",
+        "typescript": ">=4.8.2 <5.0",
         "webpack": "^5.54.0"
       }
     },
@@ -5677,103 +5569,132 @@
       }
     },
     "node_modules/@npmcli/fs": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz",
-      "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==",
+      "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": {
-        "@gar/promisify": "^1.1.3",
         "semver": "^7.3.5"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/@npmcli/git": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.2.tgz",
-      "integrity": "sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==",
+      "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": {
-        "@npmcli/promise-spawn": "^3.0.0",
+        "@npmcli/promise-spawn": "^6.0.0",
         "lru-cache": "^7.4.4",
-        "mkdirp": "^1.0.4",
-        "npm-pick-manifest": "^7.0.0",
-        "proc-log": "^2.0.0",
+        "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": "^2.0.2"
+        "which": "^3.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/@npmcli/installed-package-contents": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz",
-      "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==",
+    "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": {
-        "npm-bundled": "^1.1.1",
-        "npm-normalize-package-bin": "^1.0.1"
+        "isexe": "^2.0.0"
       },
       "bin": {
-        "installed-package-contents": "index.js"
+        "node-which": "bin/which.js"
       },
       "engines": {
-        "node": ">= 10"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "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/@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": {
-        "mkdirp": "^1.0.4",
-        "rimraf": "^3.0.2"
+        "npm-bundled": "^3.0.0",
+        "npm-normalize-package-bin": "^3.0.0"
+      },
+      "bin": {
+        "installed-package-contents": "lib/index.js"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "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==",
+      "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": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "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==",
+      "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": {
-        "infer-owner": "^1.0.4"
+        "which": "^3.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "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": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/which.js"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/@npmcli/run-script": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.1.tgz",
-      "integrity": "sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg==",
+      "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": {
-        "@npmcli/node-gyp": "^2.0.0",
-        "@npmcli/promise-spawn": "^3.0.0",
+        "@npmcli/node-gyp": "^3.0.0",
+        "@npmcli/promise-spawn": "^6.0.0",
         "node-gyp": "^9.0.0",
-        "read-package-json-fast": "^2.0.3",
-        "which": "^2.0.2"
+        "read-package-json-fast": "^3.0.0",
+        "which": "^3.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@npmcli/run-script/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": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/which.js"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/@panzoom/panzoom": {
@@ -5781,6 +5702,16 @@
       "resolved": "https://registry.npmjs.org/@panzoom/panzoom/-/panzoom-4.5.1.tgz",
       "integrity": "sha512-QOr/t7314XTwgAUDazR+RDcTAWSbkpjDnZJddd9f56jSUA8ptUsyDblAb+sp/O5O1o5Fiu9KpWxVHKuhGUgp5w=="
     },
+    "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,
+      "engines": {
+        "node": ">=14"
+      }
+    },
     "node_modules/@plotly/d3": {
       "version": "3.8.1",
       "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.1.tgz",
@@ -5861,76 +5792,110 @@
       }
     },
     "node_modules/@rollup/plugin-json": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz",
-      "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz",
+      "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==",
       "dev": true,
       "dependencies": {
-        "@rollup/pluginutils": "^3.0.8"
+        "@rollup/pluginutils": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=14.0.0"
       },
       "peerDependencies": {
-        "rollup": "^1.20.0 || ^2.0.0"
+        "rollup": "^1.20.0||^2.0.0||^3.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
       }
     },
     "node_modules/@rollup/plugin-node-resolve": {
-      "version": "13.3.0",
-      "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz",
-      "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==",
+      "version": "15.1.0",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.1.0.tgz",
+      "integrity": "sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==",
       "dev": true,
       "dependencies": {
-        "@rollup/pluginutils": "^3.1.0",
-        "@types/resolve": "1.17.1",
+        "@rollup/pluginutils": "^5.0.1",
+        "@types/resolve": "1.20.2",
         "deepmerge": "^4.2.2",
-        "is-builtin-module": "^3.1.0",
+        "is-builtin-module": "^3.2.1",
         "is-module": "^1.0.0",
-        "resolve": "^1.19.0"
+        "resolve": "^1.22.1"
       },
       "engines": {
-        "node": ">= 10.0.0"
+        "node": ">=14.0.0"
       },
       "peerDependencies": {
-        "rollup": "^2.42.0"
+        "rollup": "^2.78.0||^3.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
       }
     },
     "node_modules/@rollup/pluginutils": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
-      "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz",
+      "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==",
       "dev": true,
       "dependencies": {
-        "@types/estree": "0.0.39",
-        "estree-walker": "^1.0.1",
-        "picomatch": "^2.2.2"
+        "@types/estree": "^1.0.0",
+        "estree-walker": "^2.0.2",
+        "picomatch": "^2.3.1"
       },
       "engines": {
-        "node": ">= 8.0.0"
+        "node": ">=14.0.0"
       },
       "peerDependencies": {
-        "rollup": "^1.20.0||^2.0.0"
+        "rollup": "^1.20.0||^2.0.0||^3.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@rollup/pluginutils/node_modules/@types/estree": {
-      "version": "0.0.39",
-      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
-      "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
-      "dev": true
-    },
     "node_modules/@schematics/angular": {
-      "version": "14.2.10",
-      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-14.2.10.tgz",
-      "integrity": "sha512-YFTc/9QJdx422XcApizEcVLKoyknu8b9zHIlAepZCu7WkV8GPT0hvVEHQ7KBWys5aQ7pPZMT0JpZLeAz0F2xYQ==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.2.9.tgz",
+      "integrity": "sha512-0Lit6TLNUwcAYiEkXgZp3vY9xAO1cnZCBXuUcp+6v+Ddnrt2w/YOiGe74p21cYe0StkTpTljsqsKBTiX7TMjQg==",
       "dev": true,
       "dependencies": {
-        "@angular-devkit/core": "14.2.10",
-        "@angular-devkit/schematics": "14.2.10",
-        "jsonc-parser": "3.1.0"
+        "@angular-devkit/core": "15.2.9",
+        "@angular-devkit/schematics": "15.2.9",
+        "jsonc-parser": "3.2.0"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0",
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0",
         "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
         "yarn": ">= 1.13.0"
       }
     },
+    "node_modules/@sigstore/protobuf-specs": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz",
+      "integrity": "sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@sigstore/tuf": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.2.tgz",
+      "integrity": "sha512-vjwcYePJzM01Ha6oWWZ9gNcdIgnzyFxfqfWzph483DPJTH8Tb7f7bQRRll3CYVkyH56j0AgcPAcl6Vg95DPF+Q==",
+      "dev": true,
+      "dependencies": {
+        "@sigstore/protobuf-specs": "^0.1.0",
+        "tuf-js": "^1.1.7"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.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",
@@ -6344,6 +6309,43 @@
       "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==",
       "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/@tufjs/models/node_modules/minimatch": {
+      "version": "9.0.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz",
+      "integrity": "sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
     "node_modules/@turf/area": {
       "version": "6.5.0",
       "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.5.0.tgz",
@@ -6442,9 +6444,9 @@
       }
     },
     "node_modules/@types/connect-history-api-fallback": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz",
-      "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==",
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz",
+      "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==",
       "dev": true,
       "dependencies": {
         "@types/express-serve-static-core": "*",
@@ -6492,26 +6494,27 @@
       "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ=="
     },
     "node_modules/@types/express": {
-      "version": "4.17.15",
-      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz",
-      "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==",
+      "version": "4.17.17",
+      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz",
+      "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==",
       "dev": true,
       "dependencies": {
         "@types/body-parser": "*",
-        "@types/express-serve-static-core": "^4.17.31",
+        "@types/express-serve-static-core": "^4.17.33",
         "@types/qs": "*",
         "@types/serve-static": "*"
       }
     },
     "node_modules/@types/express-serve-static-core": {
-      "version": "4.17.31",
-      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz",
-      "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==",
+      "version": "4.17.35",
+      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz",
+      "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==",
       "dev": true,
       "dependencies": {
         "@types/node": "*",
         "@types/qs": "*",
-        "@types/range-parser": "*"
+        "@types/range-parser": "*",
+        "@types/send": "*"
       }
     },
     "node_modules/@types/geojson": {
@@ -6543,10 +6546,16 @@
       "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==",
       "dev": true
     },
+    "node_modules/@types/http-errors": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz",
+      "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==",
+      "dev": true
+    },
     "node_modules/@types/http-proxy": {
-      "version": "1.17.9",
-      "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz",
-      "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==",
+      "version": "1.17.11",
+      "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz",
+      "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==",
       "dev": true,
       "dependencies": {
         "@types/node": "*"
@@ -6604,9 +6613,9 @@
       }
     },
     "node_modules/@types/mime": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
-      "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==",
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+      "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
       "dev": true
     },
     "node_modules/@types/node": {
@@ -6657,13 +6666,10 @@
       }
     },
     "node_modules/@types/resolve": {
-      "version": "1.17.1",
-      "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
-      "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*"
-      }
+      "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/retry": {
       "version": "0.12.0",
@@ -6808,6 +6814,16 @@
       "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==",
       "dev": true
     },
+    "node_modules/@types/send": {
+      "version": "0.17.1",
+      "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
+      "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
+      "dev": true,
+      "dependencies": {
+        "@types/mime": "^1",
+        "@types/node": "*"
+      }
+    },
     "node_modules/@types/serve-index": {
       "version": "1.9.1",
       "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz",
@@ -6818,11 +6834,12 @@
       }
     },
     "node_modules/@types/serve-static": {
-      "version": "1.15.0",
-      "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz",
-      "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==",
+      "version": "1.15.2",
+      "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz",
+      "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==",
       "dev": true,
       "dependencies": {
+        "@types/http-errors": "*",
         "@types/mime": "*",
         "@types/node": "*"
       }
@@ -6830,7 +6847,8 @@
     "node_modules/@types/showdown": {
       "version": "1.9.4",
       "resolved": "https://registry.npmjs.org/@types/showdown/-/showdown-1.9.4.tgz",
-      "integrity": "sha512-50ehC3IAijfkvoNqmQ+VL73S7orOxmAK8ljQAFBv8o7G66lAZyxQj1L3BAv2dD86myLXI+sgKP1kcxAaxW356w=="
+      "integrity": "sha512-50ehC3IAijfkvoNqmQ+VL73S7orOxmAK8ljQAFBv8o7G66lAZyxQj1L3BAv2dD86myLXI+sgKP1kcxAaxW356w==",
+      "dev": true
     },
     "node_modules/@types/sinonjs__fake-timers": {
       "version": "8.1.1",
@@ -6884,9 +6902,9 @@
       "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
     },
     "node_modules/@types/ws": {
-      "version": "8.5.3",
-      "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz",
-      "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==",
+      "version": "8.5.5",
+      "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz",
+      "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==",
       "dev": true,
       "dependencies": {
         "@types/node": "*"
@@ -7130,13 +7148,13 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz",
-      "integrity": "sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==",
+      "version": "5.48.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz",
+      "integrity": "sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/typescript-estree": "5.48.1",
-        "@typescript-eslint/utils": "5.48.1",
+        "@typescript-eslint/typescript-estree": "5.48.2",
+        "@typescript-eslint/utils": "5.48.2",
         "debug": "^4.3.4",
         "tsutils": "^3.21.0"
       },
@@ -7156,27 +7174,10 @@
         }
       }
     },
-    "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz",
-      "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "5.48.1",
-        "@typescript-eslint/visitor-keys": "5.48.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/type-utils/node_modules/@typescript-eslint/types": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz",
-      "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==",
+      "version": "5.48.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.2.tgz",
+      "integrity": "sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==",
       "dev": true,
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -7187,13 +7188,13 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz",
-      "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==",
+      "version": "5.48.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz",
+      "integrity": "sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.48.1",
-        "@typescript-eslint/visitor-keys": "5.48.1",
+        "@typescript-eslint/types": "5.48.2",
+        "@typescript-eslint/visitor-keys": "5.48.2",
         "debug": "^4.3.4",
         "globby": "^11.1.0",
         "is-glob": "^4.0.3",
@@ -7213,39 +7214,13 @@
         }
       }
     },
-    "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.1.tgz",
-      "integrity": "sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.9",
-        "@types/semver": "^7.3.12",
-        "@typescript-eslint/scope-manager": "5.48.1",
-        "@typescript-eslint/types": "5.48.1",
-        "@typescript-eslint/typescript-estree": "5.48.1",
-        "eslint-scope": "^5.1.1",
-        "eslint-utils": "^3.0.0",
-        "semver": "^7.3.7"
-      },
-      "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/type-utils/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "5.48.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz",
-      "integrity": "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==",
+      "version": "5.48.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz",
+      "integrity": "sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.48.1",
+        "@typescript-eslint/types": "5.48.2",
         "eslint-visitor-keys": "^3.3.0"
       },
       "engines": {
@@ -7256,28 +7231,6 @@
         "url": "https://opencollective.com/typescript-eslint"
       }
     },
-    "node_modules/@typescript-eslint/type-utils/node_modules/eslint-scope": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-      "dev": true,
-      "dependencies": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/@typescript-eslint/type-utils/node_modules/estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
     "node_modules/@typescript-eslint/types": {
       "version": "5.59.11",
       "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz",
@@ -7319,16 +7272,16 @@
       }
     },
     "node_modules/@typescript-eslint/utils": {
-      "version": "5.43.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.43.0.tgz",
-      "integrity": "sha512-8nVpA6yX0sCjf7v/NDfeaOlyaIIqL7OaIGOWSPFqUKK59Gnumd3Wa+2l8oAaYO2lk0sO+SbWFWRSvhu8gLGv4A==",
+      "version": "5.48.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.2.tgz",
+      "integrity": "sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==",
       "dev": true,
       "dependencies": {
         "@types/json-schema": "^7.0.9",
         "@types/semver": "^7.3.12",
-        "@typescript-eslint/scope-manager": "5.43.0",
-        "@typescript-eslint/types": "5.43.0",
-        "@typescript-eslint/typescript-estree": "5.43.0",
+        "@typescript-eslint/scope-manager": "5.48.2",
+        "@typescript-eslint/types": "5.48.2",
+        "@typescript-eslint/typescript-estree": "5.48.2",
         "eslint-scope": "^5.1.1",
         "eslint-utils": "^3.0.0",
         "semver": "^7.3.7"
@@ -7345,13 +7298,13 @@
       }
     },
     "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": {
-      "version": "5.43.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.43.0.tgz",
-      "integrity": "sha512-XNWnGaqAtTJsUiZaoiGIrdJYHsUOd3BZ3Qj5zKp9w6km6HsrjPk/TGZv0qMTWyWj0+1QOqpHQ2gZOLXaGA9Ekw==",
+      "version": "5.48.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz",
+      "integrity": "sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.43.0",
-        "@typescript-eslint/visitor-keys": "5.43.0"
+        "@typescript-eslint/types": "5.48.2",
+        "@typescript-eslint/visitor-keys": "5.48.2"
       },
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -7362,9 +7315,9 @@
       }
     },
     "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": {
-      "version": "5.43.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.43.0.tgz",
-      "integrity": "sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg==",
+      "version": "5.48.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.2.tgz",
+      "integrity": "sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==",
       "dev": true,
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -7375,13 +7328,13 @@
       }
     },
     "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "5.43.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.43.0.tgz",
-      "integrity": "sha512-BZ1WVe+QQ+igWal2tDbNg1j2HWUkAa+CVqdU79L4HP9izQY6CNhXfkNwd1SS4+sSZAP/EthI1uiCSY/+H0pROg==",
+      "version": "5.48.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz",
+      "integrity": "sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.43.0",
-        "@typescript-eslint/visitor-keys": "5.43.0",
+        "@typescript-eslint/types": "5.48.2",
+        "@typescript-eslint/visitor-keys": "5.48.2",
         "debug": "^4.3.4",
         "globby": "^11.1.0",
         "is-glob": "^4.0.3",
@@ -7402,12 +7355,12 @@
       }
     },
     "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "5.43.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.43.0.tgz",
-      "integrity": "sha512-icl1jNH/d18OVHLfcwdL3bWUKsBeIiKYTGxMJCoGe7xFht+E4QgzOqoWYrU8XSLJWhVw8nTacbm03v23J/hFTg==",
+      "version": "5.48.2",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz",
+      "integrity": "sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.43.0",
+        "@typescript-eslint/types": "5.48.2",
         "eslint-visitor-keys": "^3.3.0"
       },
       "engines": {
@@ -7885,28 +7838,19 @@
       }
     },
     "node_modules/agentkeepalive": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
-      "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz",
+      "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==",
       "dev": true,
       "dependencies": {
         "debug": "^4.1.0",
-        "depd": "^1.1.2",
+        "depd": "^2.0.0",
         "humanize-ms": "^1.2.1"
       },
       "engines": {
         "node": ">= 8.0.0"
       }
     },
-    "node_modules/agentkeepalive/node_modules/depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-      "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
     "node_modules/aggregate-error": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
@@ -7921,9 +7865,9 @@
       }
     },
     "node_modules/ajv": {
-      "version": "8.11.2",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz",
-      "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==",
+      "version": "8.12.0",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+      "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
       "dev": true,
       "dependencies": {
         "fast-deep-equal": "^3.1.1",
@@ -7980,23 +7924,20 @@
       "integrity": "sha512-0V/PkoculFl5+0Lp47JoxUcO0xSxhIBvm+BxHdD/OgXNmdRpRHCFnKVuUoWyS9EzQP+otSGv0m9Lb4yVkQBn2A=="
     },
     "node_modules/angular-datatables": {
-      "version": "14.0.2",
-      "resolved": "https://registry.npmjs.org/angular-datatables/-/angular-datatables-14.0.2.tgz",
-      "integrity": "sha512-uhiuiByiQxCr3MUw9Cjo0NYfbNUTGFez47BYpehGZAcaxAZkyMb0AJfKNly1jGhN9Cltn5LKGlX41+I4rENe3g==",
-      "engines": {
-        "node": ">=8.9.0"
-      }
+      "version": "15.0.1",
+      "resolved": "https://registry.npmjs.org/angular-datatables/-/angular-datatables-15.0.1.tgz",
+      "integrity": "sha512-dNck9aEDj9p7EzwtGfwOVS4s09f7gecgCfyPd/vwqoFVmPh5Lkb0gKofWZbaxSAx+TgU5VQhxOCdxOZh0kkIEw=="
     },
     "node_modules/angular-gridster2": {
-      "version": "14.1.2",
-      "resolved": "https://registry.npmjs.org/angular-gridster2/-/angular-gridster2-14.1.2.tgz",
-      "integrity": "sha512-roqjM6/CEgoOy534H45vWFVW/1V+KceBtDDCcEJOHNhhkbnjbhyfswLNx2FZUT6uDEAX+0zBWQ3KzuY+BHfJhw==",
+      "version": "15.0.4",
+      "resolved": "https://registry.npmjs.org/angular-gridster2/-/angular-gridster2-15.0.4.tgz",
+      "integrity": "sha512-5BUUn4ihar8pLdN2YwILygZBPk3v94GQzSML6eYdg5o2USPCRuqXyFznYjiMWJRGrcLrzZYdcKULR+LB/1+tfQ==",
       "dependencies": {
-        "tslib": "^2.3.0"
+        "tslib": "^2.4.0"
       },
       "peerDependencies": {
-        "@angular/common": "^14.0.0",
-        "@angular/core": "^14.0.0",
+        "@angular/common": "^15.0.0",
+        "@angular/core": "^15.0.0",
         "rxjs": "^7.0.0"
       }
     },
@@ -8126,9 +8067,9 @@
       }
     },
     "node_modules/are-we-there-yet/node_modules/readable-stream": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+      "version": "3.6.2",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+      "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
       "dev": true,
       "dependencies": {
         "inherits": "^2.0.3",
@@ -8546,13 +8487,13 @@
       }
     },
     "node_modules/babel-plugin-polyfill-corejs3": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
-      "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz",
+      "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==",
       "dev": true,
       "dependencies": {
-        "@babel/helper-define-polyfill-provider": "^0.3.2",
-        "core-js-compat": "^3.21.0"
+        "@babel/helper-define-polyfill-provider": "^0.3.3",
+        "core-js-compat": "^3.25.1"
       },
       "peerDependencies": {
         "@babel/core": "^7.0.0-0"
@@ -8798,9 +8739,9 @@
       }
     },
     "node_modules/bonjour-service": {
-      "version": "1.0.14",
-      "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz",
-      "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==",
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz",
+      "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==",
       "dev": true,
       "dependencies": {
         "array-flatten": "^2.1.2",
@@ -8937,9 +8878,9 @@
       }
     },
     "node_modules/browserslist": {
-      "version": "4.21.4",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
-      "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
+      "version": "4.21.5",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
+      "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
       "dev": true,
       "funding": [
         {
@@ -8952,10 +8893,10 @@
         }
       ],
       "dependencies": {
-        "caniuse-lite": "^1.0.30001400",
-        "electron-to-chromium": "^1.4.251",
-        "node-releases": "^2.0.6",
-        "update-browserslist-db": "^1.0.9"
+        "caniuse-lite": "^1.0.30001449",
+        "electron-to-chromium": "^1.4.284",
+        "node-releases": "^2.0.8",
+        "update-browserslist-db": "^1.0.10"
       },
       "bin": {
         "browserslist": "cli.js"
@@ -9045,32 +8986,51 @@
       }
     },
     "node_modules/cacache": {
-      "version": "16.1.2",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.2.tgz",
-      "integrity": "sha512-Xx+xPlfCZIUHagysjjOAje9nRo8pRDczQCcXb4J2O0BLtH+xeVue6ba4y1kfJfQMAnM2mkcoMIAyOctlaRGWYA==",
+      "version": "17.0.4",
+      "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz",
+      "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==",
       "dev": true,
       "dependencies": {
-        "@npmcli/fs": "^2.1.0",
-        "@npmcli/move-file": "^2.0.0",
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.1.0",
+        "@npmcli/fs": "^3.1.0",
+        "fs-minipass": "^3.0.0",
         "glob": "^8.0.1",
-        "infer-owner": "^1.0.4",
         "lru-cache": "^7.7.1",
-        "minipass": "^3.1.6",
+        "minipass": "^4.0.0",
         "minipass-collect": "^1.0.2",
         "minipass-flush": "^1.0.5",
         "minipass-pipeline": "^1.2.4",
-        "mkdirp": "^1.0.4",
         "p-map": "^4.0.0",
         "promise-inflight": "^1.0.1",
-        "rimraf": "^3.0.2",
-        "ssri": "^9.0.0",
+        "ssri": "^10.0.0",
         "tar": "^6.1.11",
-        "unique-filename": "^1.1.1"
+        "unique-filename": "^3.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/cacache/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": {
+        "unique-slug": "^4.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/cacache/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": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/cache-base": {
@@ -9150,9 +9110,9 @@
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001439",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz",
-      "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==",
+      "version": "1.0.30001509",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz",
+      "integrity": "sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==",
       "dev": true,
       "funding": [
         {
@@ -9162,6 +9122,10 @@
         {
           "type": "tidelift",
           "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
         }
       ]
     },
@@ -10533,24 +10497,6 @@
         "node": "*"
       }
     },
-    "node_modules/css-blank-pseudo": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz",
-      "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss-selector-parser": "^6.0.9"
-      },
-      "bin": {
-        "css-blank-pseudo": "dist/cli.cjs"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4"
-      }
-    },
     "node_modules/css-font": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/css-font/-/css-font-1.2.0.tgz",
@@ -10592,38 +10538,20 @@
       "resolved": "https://registry.npmjs.org/css-global-keywords/-/css-global-keywords-1.0.1.tgz",
       "integrity": "sha512-X1xgQhkZ9n94WDwntqst5D/FKkmiU0GlJSFZSV3kLvyJ1WC5VeyoXDOuleUD+SIuH9C7W05is++0Woh0CGfKjQ=="
     },
-    "node_modules/css-has-pseudo": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz",
-      "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==",
-      "dev": true,
-      "dependencies": {
-        "postcss-selector-parser": "^6.0.9"
-      },
-      "bin": {
-        "css-has-pseudo": "dist/cli.cjs"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4"
-      }
-    },
     "node_modules/css-loader": {
-      "version": "6.7.1",
-      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz",
-      "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==",
+      "version": "6.7.3",
+      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz",
+      "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==",
       "dev": true,
       "dependencies": {
         "icss-utils": "^5.1.0",
-        "postcss": "^8.4.7",
+        "postcss": "^8.4.19",
         "postcss-modules-extract-imports": "^3.0.0",
         "postcss-modules-local-by-default": "^4.0.0",
         "postcss-modules-scope": "^3.0.0",
         "postcss-modules-values": "^4.0.0",
         "postcss-value-parser": "^4.2.0",
-        "semver": "^7.3.5"
+        "semver": "^7.3.8"
       },
       "engines": {
         "node": ">= 12.13.0"
@@ -10636,21 +10564,6 @@
         "webpack": "^5.0.0"
       }
     },
-    "node_modules/css-prefers-color-scheme": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz",
-      "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==",
-      "dev": true,
-      "bin": {
-        "css-prefers-color-scheme": "dist/cli.cjs"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4"
-      }
-    },
     "node_modules/css-select": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
@@ -10694,16 +10607,6 @@
       "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz",
       "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w=="
     },
-    "node_modules/cssdb": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.2.0.tgz",
-      "integrity": "sha512-JYlIsE7eKHSi0UNuCyo96YuIDFqvhGgHw4Ck6lsN+DP0Tp8M64UTDT2trGbkMDqnCoEjks7CkS0XcjU0rkvBdg==",
-      "dev": true,
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      }
-    },
     "node_modules/cssesc": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -11606,9 +11509,9 @@
       "dev": true
     },
     "node_modules/dns-packet": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz",
-      "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==",
+      "version": "5.6.0",
+      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz",
+      "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==",
       "dev": true,
       "dependencies": {
         "@leichtgewicht/ip-codec": "^2.0.1"
@@ -11920,6 +11823,7 @@
       "version": "0.1.13",
       "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
       "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+      "dev": true,
       "optional": true,
       "dependencies": {
         "iconv-lite": "^0.6.2"
@@ -11929,6 +11833,7 @@
       "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,
       "optional": true,
       "dependencies": {
         "safer-buffer": ">= 2.1.2 < 3.0.0"
@@ -12149,9 +12054,9 @@
       }
     },
     "node_modules/esbuild": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.5.tgz",
-      "integrity": "sha512-VSf6S1QVqvxfIsSKb3UKr3VhUCis7wgDbtF4Vd9z84UJr05/Sp2fRKmzC+CSPG/dNAPPJZ0BTBLTT1Fhd6N9Gg==",
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.8.tgz",
+      "integrity": "sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==",
       "dev": true,
       "hasInstallScript": true,
       "optional": true,
@@ -12162,305 +12067,34 @@
         "node": ">=12"
       },
       "optionalDependencies": {
-        "@esbuild/linux-loong64": "0.15.5",
-        "esbuild-android-64": "0.15.5",
-        "esbuild-android-arm64": "0.15.5",
-        "esbuild-darwin-64": "0.15.5",
-        "esbuild-darwin-arm64": "0.15.5",
-        "esbuild-freebsd-64": "0.15.5",
-        "esbuild-freebsd-arm64": "0.15.5",
-        "esbuild-linux-32": "0.15.5",
-        "esbuild-linux-64": "0.15.5",
-        "esbuild-linux-arm": "0.15.5",
-        "esbuild-linux-arm64": "0.15.5",
-        "esbuild-linux-mips64le": "0.15.5",
-        "esbuild-linux-ppc64le": "0.15.5",
-        "esbuild-linux-riscv64": "0.15.5",
-        "esbuild-linux-s390x": "0.15.5",
-        "esbuild-netbsd-64": "0.15.5",
-        "esbuild-openbsd-64": "0.15.5",
-        "esbuild-sunos-64": "0.15.5",
-        "esbuild-windows-32": "0.15.5",
-        "esbuild-windows-64": "0.15.5",
-        "esbuild-windows-arm64": "0.15.5"
-      }
-    },
-    "node_modules/esbuild-android-64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.5.tgz",
-      "integrity": "sha512-dYPPkiGNskvZqmIK29OPxolyY3tp+c47+Fsc2WYSOVjEPWNCHNyqhtFqQadcXMJDQt8eN0NMDukbyQgFcHquXg==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-android-arm64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.5.tgz",
-      "integrity": "sha512-YyEkaQl08ze3cBzI/4Cm1S+rVh8HMOpCdq8B78JLbNFHhzi4NixVN93xDrHZLztlocEYqi45rHHCgA8kZFidFg==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "android"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-darwin-64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.5.tgz",
-      "integrity": "sha512-Cr0iIqnWKx3ZTvDUAzG0H/u9dWjLE4c2gTtRLz4pqOBGjfjqdcZSfAObFzKTInLLSmD0ZV1I/mshhPoYSBMMCQ==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-darwin-arm64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.5.tgz",
-      "integrity": "sha512-WIfQkocGtFrz7vCu44ypY5YmiFXpsxvz2xqwe688jFfSVCnUsCn2qkEVDo7gT8EpsLOz1J/OmqjExePL1dr1Kg==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-freebsd-64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.5.tgz",
-      "integrity": "sha512-M5/EfzV2RsMd/wqwR18CELcenZ8+fFxQAAEO7TJKDmP3knhWSbD72ILzrXFMMwshlPAS1ShCZ90jsxkm+8FlaA==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "freebsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-freebsd-arm64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.5.tgz",
-      "integrity": "sha512-2JQQ5Qs9J0440F/n/aUBNvY6lTo4XP/4lt1TwDfHuo0DY3w5++anw+jTjfouLzbJmFFiwmX7SmUhMnysocx96w==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "freebsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-linux-32": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.5.tgz",
-      "integrity": "sha512-gO9vNnIN0FTUGjvTFucIXtBSr1Woymmx/aHQtuU+2OllGU6YFLs99960UD4Dib1kFovVgs59MTXwpFdVoSMZoQ==",
-      "cpu": [
-        "ia32"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-linux-64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.5.tgz",
-      "integrity": "sha512-ne0GFdNLsm4veXbTnYAWjbx3shpNKZJUd6XpNbKNUZaNllDZfYQt0/zRqOg0sc7O8GQ+PjSMv9IpIEULXVTVmg==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-linux-arm": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.5.tgz",
-      "integrity": "sha512-wvAoHEN+gJ/22gnvhZnS/+2H14HyAxM07m59RSLn3iXrQsdS518jnEWRBnJz3fR6BJa+VUTo0NxYjGaNt7RA7Q==",
-      "cpu": [
-        "arm"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-linux-arm64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.5.tgz",
-      "integrity": "sha512-7EgFyP2zjO065XTfdCxiXVEk+f83RQ1JsryN1X/VSX2li9rnHAt2swRbpoz5Vlrl6qjHrCmq5b6yxD13z6RheA==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-linux-mips64le": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.5.tgz",
-      "integrity": "sha512-KdnSkHxWrJ6Y40ABu+ipTZeRhFtc8dowGyFsZY5prsmMSr1ZTG9zQawguN4/tunJ0wy3+kD54GaGwdcpwWAvZQ==",
-      "cpu": [
-        "mips64el"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-linux-ppc64le": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.5.tgz",
-      "integrity": "sha512-QdRHGeZ2ykl5P0KRmfGBZIHmqcwIsUKWmmpZTOq573jRWwmpfRmS7xOhmDHBj9pxv+6qRMH8tLr2fe+ZKQvCYw==",
-      "cpu": [
-        "ppc64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-linux-riscv64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.5.tgz",
-      "integrity": "sha512-p+WE6RX+jNILsf+exR29DwgV6B73khEQV0qWUbzxaycxawZ8NE0wA6HnnTxbiw5f4Gx9sJDUBemh9v49lKOORA==",
-      "cpu": [
-        "riscv64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-linux-s390x": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.5.tgz",
-      "integrity": "sha512-J2ngOB4cNzmqLHh6TYMM/ips8aoZIuzxJnDdWutBw5482jGXiOzsPoEF4j2WJ2mGnm7FBCO4StGcwzOgic70JQ==",
-      "cpu": [
-        "s390x"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-netbsd-64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.5.tgz",
-      "integrity": "sha512-MmKUYGDizYjFia0Rwt8oOgmiFH7zaYlsoQ3tIOfPxOqLssAsEgG0MUdRDm5lliqjiuoog8LyDu9srQk5YwWF3w==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "netbsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-openbsd-64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.5.tgz",
-      "integrity": "sha512-2mMFfkLk3oPWfopA9Plj4hyhqHNuGyp5KQyTT9Rc8hFd8wAn5ZrbJg+gNcLMo2yzf8Uiu0RT6G9B15YN9WQyMA==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "openbsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-sunos-64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.5.tgz",
-      "integrity": "sha512-2sIzhMUfLNoD+rdmV6AacilCHSxZIoGAU2oT7XmJ0lXcZWnCvCtObvO6D4puxX9YRE97GodciRGDLBaiC6x1SA==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "sunos"
-      ],
-      "engines": {
-        "node": ">=12"
+        "@esbuild/android-arm": "0.17.8",
+        "@esbuild/android-arm64": "0.17.8",
+        "@esbuild/android-x64": "0.17.8",
+        "@esbuild/darwin-arm64": "0.17.8",
+        "@esbuild/darwin-x64": "0.17.8",
+        "@esbuild/freebsd-arm64": "0.17.8",
+        "@esbuild/freebsd-x64": "0.17.8",
+        "@esbuild/linux-arm": "0.17.8",
+        "@esbuild/linux-arm64": "0.17.8",
+        "@esbuild/linux-ia32": "0.17.8",
+        "@esbuild/linux-loong64": "0.17.8",
+        "@esbuild/linux-mips64el": "0.17.8",
+        "@esbuild/linux-ppc64": "0.17.8",
+        "@esbuild/linux-riscv64": "0.17.8",
+        "@esbuild/linux-s390x": "0.17.8",
+        "@esbuild/linux-x64": "0.17.8",
+        "@esbuild/netbsd-x64": "0.17.8",
+        "@esbuild/openbsd-x64": "0.17.8",
+        "@esbuild/sunos-x64": "0.17.8",
+        "@esbuild/win32-arm64": "0.17.8",
+        "@esbuild/win32-ia32": "0.17.8",
+        "@esbuild/win32-x64": "0.17.8"
       }
     },
     "node_modules/esbuild-wasm": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.15.5.tgz",
-      "integrity": "sha512-lTJOEKekN/4JI/eOEq0wLcx53co2N6vaT/XjBz46D1tvIVoUEyM0o2K6txW6gEotf31szFD/J1PbxmnbkGlK9A==",
+      "version": "0.17.8",
+      "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.8.tgz",
+      "integrity": "sha512-zCmpxv95E0FuCmvdw1K836UHnj4EdiQnFfjTby35y3LAjRPtXMj3sbHDRHjbD8Mqg5lTwq3knacr/1qIFU51CQ==",
       "dev": true,
       "bin": {
         "esbuild": "bin/esbuild"
@@ -12469,54 +12103,6 @@
         "node": ">=12"
       }
     },
-    "node_modules/esbuild-windows-32": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.5.tgz",
-      "integrity": "sha512-e+duNED9UBop7Vnlap6XKedA/53lIi12xv2ebeNS4gFmu7aKyTrok7DPIZyU5w/ftHD4MUDs5PJUkQPP9xJRzg==",
-      "cpu": [
-        "ia32"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-windows-64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.5.tgz",
-      "integrity": "sha512-v+PjvNtSASHOjPDMIai9Yi+aP+Vwox+3WVdg2JB8N9aivJ7lyhp4NVU+J0MV2OkWFPnVO8AE/7xH+72ibUUEnw==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/esbuild-windows-arm64": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.5.tgz",
-      "integrity": "sha512-Yz8w/D8CUPYstvVQujByu6mlf48lKmXkq6bkeSZZxTA626efQOJb26aDGLzmFWx6eg/FwrXgt6SZs9V8Pwy/aA==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
     "node_modules/escalade": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@@ -13036,9 +12622,9 @@
       }
     },
     "node_modules/estree-walker": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
-      "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
       "dev": true
     },
     "node_modules/esutils": {
@@ -13283,6 +12869,12 @@
         "node": ">=6"
       }
     },
+    "node_modules/exponential-backoff": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz",
+      "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==",
+      "dev": true
+    },
     "node_modules/express": {
       "version": "4.18.2",
       "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
@@ -13930,6 +13522,34 @@
         "node": ">=0.10.0"
       }
     },
+    "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==",
+      "dev": true,
+      "dependencies": {
+        "cross-spawn": "^7.0.0",
+        "signal-exit": "^4.0.1"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/foreground-child/node_modules/signal-exit": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz",
+      "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
     "node_modules/forever-agent": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
@@ -14069,21 +13689,30 @@
       "optional": true
     },
     "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==",
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz",
+      "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==",
       "dev": true,
       "dependencies": {
-        "minipass": "^3.0.0"
+        "minipass": "^5.0.0"
       },
       "engines": {
-        "node": ">= 8"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/fs-minipass/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/fs-monkey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
-      "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==",
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz",
+      "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==",
       "dev": true
     },
     "node_modules/fs-write-stream-atomic": {
@@ -14295,9 +13924,9 @@
       }
     },
     "node_modules/glob": {
-      "version": "8.0.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
-      "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+      "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",
@@ -14919,15 +14548,15 @@
       }
     },
     "node_modules/hosted-git-info": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz",
-      "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==",
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz",
+      "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==",
       "dev": true,
       "dependencies": {
         "lru-cache": "^7.5.1"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/hpack.js": {
@@ -14949,9 +14578,9 @@
       "dev": true
     },
     "node_modules/hpack.js/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+      "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",
@@ -14984,10 +14613,20 @@
       "integrity": "sha512-08iL2VyCRbkQKBySkSh6m8zMUa3sADAxGVWs3Z1aPcUkTJeK0ETG4Fc27tEmQBGUAXZjIsXOZqBvacuVNSC/fQ=="
     },
     "node_modules/html-entities": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz",
-      "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==",
-      "dev": true
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz",
+      "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/mdevils"
+        },
+        {
+          "type": "patreon",
+          "url": "https://patreon.com/mdevils"
+        }
+      ]
     },
     "node_modules/html-escaper": {
       "version": "2.0.2",
@@ -15337,24 +14976,39 @@
       "dev": true
     },
     "node_modules/ignore": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-      "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+      "version": "5.2.4",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+      "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
       "dev": true,
       "engines": {
         "node": ">= 4"
       }
     },
     "node_modules/ignore-walk": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz",
-      "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==",
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz",
+      "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==",
       "dev": true,
       "dependencies": {
-        "minimatch": "^5.0.1"
+        "minimatch": "^9.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/ignore-walk/node_modules/minimatch": {
+      "version": "9.0.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz",
+      "integrity": "sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
     "node_modules/image-palette": {
@@ -15381,9 +15035,10 @@
       }
     },
     "node_modules/immutable": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
-      "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ=="
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz",
+      "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==",
+      "dev": true
     },
     "node_modules/import-fresh": {
       "version": "3.3.0",
@@ -15468,9 +15123,9 @@
       "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
     },
     "node_modules/ini": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.0.tgz",
-      "integrity": "sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz",
+      "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==",
       "dev": true,
       "engines": {
         "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
@@ -15613,9 +15268,9 @@
       "dev": true
     },
     "node_modules/ipaddr.js": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
-      "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz",
+      "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==",
       "dev": true,
       "engines": {
         "node": ">= 10"
@@ -15744,9 +15399,9 @@
       "dev": true
     },
     "node_modules/is-builtin-module": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz",
-      "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==",
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
+      "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
       "dev": true,
       "dependencies": {
         "builtin-modules": "^3.3.0"
@@ -16488,6 +16143,24 @@
         "node": ">=8"
       }
     },
+    "node_modules/jackspeak": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz",
+      "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==",
+      "dev": true,
+      "dependencies": {
+        "@isaacs/cliui": "^8.0.2"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      },
+      "optionalDependencies": {
+        "@pkgjs/parseargs": "^0.11.0"
+      }
+    },
     "node_modules/jasmine-core": {
       "version": "4.6.0",
       "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz",
@@ -16704,9 +16377,9 @@
       }
     },
     "node_modules/jsonc-parser": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz",
-      "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==",
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+      "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
       "dev": true
     },
     "node_modules/jsonfile": {
@@ -17012,9 +16685,9 @@
       }
     },
     "node_modules/klona": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz",
-      "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==",
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
+      "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
       "dev": true,
       "engines": {
         "node": ">= 8"
@@ -17080,9 +16753,9 @@
       }
     },
     "node_modules/less-loader": {
-      "version": "11.0.0",
-      "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.0.0.tgz",
-      "integrity": "sha512-9+LOWWjuoectIEx3zrfN83NAGxSUB5pWEabbbidVQVgZhN+wN68pOvuyirVlH1IK4VT1f3TmlyvAnCXh8O5KEw==",
+      "version": "11.1.0",
+      "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz",
+      "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==",
       "dev": true,
       "dependencies": {
         "klona": "^2.0.4"
@@ -17925,21 +17598,21 @@
       }
     },
     "node_modules/lru-cache": {
-      "version": "7.14.1",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz",
-      "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==",
+      "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/magic-string": {
-      "version": "0.26.2",
-      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz",
-      "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==",
+      "version": "0.29.0",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz",
+      "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==",
       "dev": true,
       "dependencies": {
-        "sourcemap-codec": "^1.4.8"
+        "@jridgewell/sourcemap-codec": "^1.4.13"
       },
       "engines": {
         "node": ">=12"
@@ -17976,30 +17649,38 @@
       "dev": true
     },
     "node_modules/make-fetch-happen": {
-      "version": "10.2.1",
-      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz",
-      "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==",
+      "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": "^16.1.0",
-        "http-cache-semantics": "^4.1.0",
+        "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": "^3.1.6",
-        "minipass-collect": "^1.0.2",
-        "minipass-fetch": "^2.0.3",
+        "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": "^9.0.0"
+        "ssri": "^10.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "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/map-cache": {
@@ -18106,12 +17787,12 @@
       }
     },
     "node_modules/memfs": {
-      "version": "3.4.12",
-      "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.12.tgz",
-      "integrity": "sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw==",
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz",
+      "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==",
       "dev": true,
       "dependencies": {
-        "fs-monkey": "^1.0.3"
+        "fs-monkey": "^1.0.4"
       },
       "engines": {
         "node": ">= 4.0.0"
@@ -18280,9 +17961,9 @@
       }
     },
     "node_modules/mini-css-extract-plugin": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz",
-      "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==",
+      "version": "2.7.2",
+      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz",
+      "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==",
       "dev": true,
       "dependencies": {
         "schema-utils": "^4.0.0"
@@ -18299,15 +17980,15 @@
       }
     },
     "node_modules/mini-css-extract-plugin/node_modules/schema-utils": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
-      "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
+      "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
       "dev": true,
       "dependencies": {
         "@types/json-schema": "^7.0.9",
-        "ajv": "^8.8.0",
+        "ajv": "^8.9.0",
         "ajv-formats": "^2.1.1",
-        "ajv-keywords": "^5.0.0"
+        "ajv-keywords": "^5.1.0"
       },
       "engines": {
         "node": ">= 12.13.0"
@@ -18341,9 +18022,9 @@
       "dev": true
     },
     "node_modules/minimatch": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
-      "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+      "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"
@@ -18361,13 +18042,10 @@
       }
     },
     "node_modules/minipass": {
-      "version": "3.3.6",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
-      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+      "version": "4.2.8",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
+      "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==",
       "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
       "engines": {
         "node": ">=8"
       }
@@ -18384,23 +18062,44 @@
         "node": ">= 8"
       }
     },
+    "node_modules/minipass-collect/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": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/minipass-fetch": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz",
-      "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz",
+      "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==",
       "dev": true,
       "dependencies": {
-        "minipass": "^3.1.6",
+        "minipass": "^5.0.0",
         "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/minipass-fetch/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/minipass-flush": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
@@ -18413,6 +18112,18 @@
         "node": ">= 8"
       }
     },
+    "node_modules/minipass-flush/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": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/minipass-json-stream": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz",
@@ -18423,6 +18134,18 @@
         "minipass": "^3.0.0"
       }
     },
+    "node_modules/minipass-json-stream/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": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/minipass-pipeline": {
       "version": "1.2.4",
       "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
@@ -18435,6 +18158,18 @@
         "node": ">=8"
       }
     },
+    "node_modules/minipass-pipeline/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": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/minipass-sized": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
@@ -18447,6 +18182,18 @@
         "node": ">=8"
       }
     },
+    "node_modules/minipass-sized/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": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/minizlib": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
@@ -18460,6 +18207,18 @@
         "node": ">= 8"
       }
     },
+    "node_modules/minizlib/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": {
+        "yallist": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/mississippi": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
@@ -18815,64 +18574,76 @@
       }
     },
     "node_modules/ng-packagr": {
-      "version": "14.2.2",
-      "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-14.2.2.tgz",
-      "integrity": "sha512-AqwHcMM6x+JkCHT++IsbulnTdyoXcC2Cr4tbPamuieacc77+fFbB195hdcqEFwsKX5410cymx/ZUyHird9rxlg==",
+      "version": "15.2.2",
+      "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-15.2.2.tgz",
+      "integrity": "sha512-+042GBD35ztxbHywGJloAiDM/s3Ja3TZtQh361TWqd/xza3K5DMUu6VRGLTgMwG7CW1YsqYHWgMZslP1c+ng7A==",
       "dev": true,
       "dependencies": {
-        "@rollup/plugin-json": "^4.1.0",
-        "@rollup/plugin-node-resolve": "^13.1.3",
-        "ajv": "^8.10.0",
-        "ansi-colors": "^4.1.1",
-        "browserslist": "^4.20.0",
-        "cacache": "^16.0.0",
+        "@rollup/plugin-json": "^6.0.0",
+        "@rollup/plugin-node-resolve": "^15.0.0",
+        "ajv": "^8.11.0",
+        "ansi-colors": "^4.1.3",
+        "autoprefixer": "^10.4.12",
+        "browserslist": "^4.21.4",
+        "cacache": "^17.0.0",
         "chokidar": "^3.5.3",
-        "commander": "^9.0.0",
+        "commander": "^10.0.0",
+        "convert-source-map": "^2.0.0",
         "dependency-graph": "^0.11.0",
-        "esbuild-wasm": "^0.15.0",
+        "esbuild-wasm": "^0.17.0",
         "find-cache-dir": "^3.3.2",
-        "glob": "^8.0.0",
+        "glob": "^8.0.3",
         "injection-js": "^2.4.0",
-        "jsonc-parser": "^3.0.0",
-        "less": "^4.1.2",
+        "jsonc-parser": "^3.2.0",
+        "less": "^4.1.3",
         "ora": "^5.1.0",
-        "postcss": "^8.4.8",
-        "postcss-preset-env": "^7.4.2",
+        "piscina": "^3.2.0",
+        "postcss": "^8.4.16",
         "postcss-url": "^10.1.3",
-        "rollup": "^2.70.0",
-        "rollup-plugin-sourcemaps": "^0.6.3",
-        "rxjs": "^7.5.5",
-        "sass": "^1.49.9",
-        "stylus": "^0.59.0"
+        "rollup": "^3.0.0",
+        "rxjs": "^7.5.6",
+        "sass": "^1.55.0"
       },
       "bin": {
         "ng-packagr": "cli/main.js"
       },
       "engines": {
-        "node": "^14.15.0 || >=16.10.0"
+        "node": "^14.20.0 || ^16.13.0 || >=18.10.0"
       },
       "optionalDependencies": {
-        "esbuild": "^0.15.0"
+        "esbuild": "^0.17.0"
       },
       "peerDependencies": {
-        "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.2.0-next",
+        "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next.0",
+        "tailwindcss": "^2.0.0 || ^3.0.0",
         "tslib": "^2.3.0",
-        "typescript": ">=4.6.2 <4.9"
+        "typescript": ">=4.8.2 <5.0"
+      },
+      "peerDependenciesMeta": {
+        "tailwindcss": {
+          "optional": true
+        }
       }
     },
     "node_modules/ng-packagr/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==",
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+      "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
       "dev": true,
       "engines": {
-        "node": "^12.20.0 || >=14"
+        "node": ">=14"
       }
     },
+    "node_modules/ng-packagr/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/ngx-color-picker": {
-      "version": "13.0.0",
-      "resolved": "https://registry.npmjs.org/ngx-color-picker/-/ngx-color-picker-13.0.0.tgz",
-      "integrity": "sha512-3mgMbs21KeqnmmY5p1cn71ckTH3q7gBt6Qn0fMfeF/Ql7ddTZsW4Z7Z8ga6LymMP/ugooGuLOFX+V6yx0dDxAw==",
+      "version": "14.0.0",
+      "resolved": "https://registry.npmjs.org/ngx-color-picker/-/ngx-color-picker-14.0.0.tgz",
+      "integrity": "sha512-w28zx2DyVpIJeNsTB3T2LUI4Ed/Ujf5Uhxuh0dllputfpxXwZG9ocSJM/0L67+fxA3UnfvvXVZNUX1Ny5nZIIw==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
@@ -18883,9 +18654,9 @@
       }
     },
     "node_modules/ngx-echarts": {
-      "version": "14.0.0",
-      "resolved": "https://registry.npmjs.org/ngx-echarts/-/ngx-echarts-14.0.0.tgz",
-      "integrity": "sha512-Q8J/DXiWqYM2vqTfQq16A7KyxbWECZSiAApS0rBjsAJCPjG/VZogUe0snZ/i3mA6bV3vYm41imTYOaH+Rl97QA==",
+      "version": "15.0.3",
+      "resolved": "https://registry.npmjs.org/ngx-echarts/-/ngx-echarts-15.0.3.tgz",
+      "integrity": "sha512-WK8nqRkzF23cjUerTpct0RLoJ1zOIxFZ0mxtASp781zv1KPZzfdD9bPEzUMTv4N/1lWfR7x3odAj2AElvFS8tg==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
@@ -18894,17 +18665,17 @@
       }
     },
     "node_modules/ngx-quill": {
-      "version": "19.0.1",
-      "resolved": "https://registry.npmjs.org/ngx-quill/-/ngx-quill-19.0.1.tgz",
-      "integrity": "sha512-yIEaWrFS96SahmqmC/9YT1cHYmN3ajV+6JmWtmiwVY6bBZYmZQr7W34FNyHsKn1ziNUp09IWEFn2XHZZTsiCKg==",
+      "version": "20.0.1",
+      "resolved": "https://registry.npmjs.org/ngx-quill/-/ngx-quill-20.0.1.tgz",
+      "integrity": "sha512-X02Me3RYuQgoOHXzYrkdi4aaDHPkyTZTUib+2amKxAMpM9LEOh/QYrFjudreQJtih6rhV6kRorO5AS4UueX9Mw==",
       "dependencies": {
         "tslib": "^2.3.0"
       },
       "engines": {
-        "node": ">= 12"
+        "node": ">= 16"
       },
       "peerDependencies": {
-        "@angular/core": "^14.0.0",
+        "@angular/core": "^14.0.0 || ^15.0.0",
         "quill": "^1.3.7",
         "rxjs": "^7.0.0"
       }
@@ -19029,15 +18800,16 @@
       }
     },
     "node_modules/node-gyp": {
-      "version": "9.3.1",
-      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz",
-      "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==",
+      "version": "9.4.0",
+      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz",
+      "integrity": "sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==",
       "dev": true,
       "dependencies": {
         "env-paths": "^2.2.0",
+        "exponential-backoff": "^3.1.1",
         "glob": "^7.1.4",
         "graceful-fs": "^4.2.6",
-        "make-fetch-happen": "^10.0.3",
+        "make-fetch-happen": "^11.0.3",
         "nopt": "^6.0.0",
         "npmlog": "^6.0.0",
         "rimraf": "^3.0.2",
@@ -19271,18 +19043,18 @@
       }
     },
     "node_modules/normalize-package-data": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz",
-      "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==",
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz",
+      "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==",
       "dev": true,
       "dependencies": {
-        "hosted-git-info": "^5.0.0",
+        "hosted-git-info": "^6.0.0",
         "is-core-module": "^2.8.1",
         "semver": "^7.3.5",
         "validate-npm-package-license": "^3.0.4"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/normalize-path": {
@@ -19309,117 +19081,105 @@
       "integrity": "sha512-1/kmYej2iedi5+ROxkRESL/pI02pkg0OBnaR4hJkSIX6+ORzepwbuUXfrdZaPjysTsJInj0Rj5NuX027+dMBvA=="
     },
     "node_modules/npm-bundled": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz",
-      "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz",
+      "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==",
       "dev": true,
       "dependencies": {
-        "npm-normalize-package-bin": "^1.0.1"
+        "npm-normalize-package-bin": "^3.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/npm-install-checks": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz",
-      "integrity": "sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==",
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.1.tgz",
+      "integrity": "sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==",
       "dev": true,
       "dependencies": {
         "semver": "^7.1.1"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "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/npm-package-arg": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.0.tgz",
-      "integrity": "sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz",
+      "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==",
       "dev": true,
-      "dependencies": {
-        "hosted-git-info": "^5.0.0",
-        "proc-log": "^2.0.1",
-        "semver": "^7.3.5",
-        "validate-npm-package-name": "^4.0.0"
-      },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/npm-packlist": {
-      "version": "5.1.3",
-      "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.3.tgz",
-      "integrity": "sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==",
+    "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": {
-        "glob": "^8.0.1",
-        "ignore-walk": "^5.0.1",
-        "npm-bundled": "^2.0.0",
-        "npm-normalize-package-bin": "^2.0.0"
-      },
-      "bin": {
-        "npm-packlist": "bin/index.js"
+        "hosted-git-info": "^6.0.0",
+        "proc-log": "^3.0.0",
+        "semver": "^7.3.5",
+        "validate-npm-package-name": "^5.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/npm-packlist/node_modules/npm-bundled": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-2.0.1.tgz",
-      "integrity": "sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==",
+    "node_modules/npm-packlist": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz",
+      "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==",
       "dev": true,
       "dependencies": {
-        "npm-normalize-package-bin": "^2.0.0"
+        "ignore-walk": "^6.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
-      }
-    },
-    "node_modules/npm-packlist/node_modules/npm-normalize-package-bin": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz",
-      "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==",
-      "dev": true,
-      "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/npm-pick-manifest": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz",
-      "integrity": "sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg==",
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz",
+      "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==",
       "dev": true,
       "dependencies": {
-        "npm-install-checks": "^5.0.0",
-        "npm-normalize-package-bin": "^1.0.1",
-        "npm-package-arg": "^9.0.0",
+        "npm-install-checks": "^6.0.0",
+        "npm-normalize-package-bin": "^3.0.0",
+        "npm-package-arg": "^10.0.0",
         "semver": "^7.3.5"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/npm-registry-fetch": {
-      "version": "13.3.1",
-      "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz",
-      "integrity": "sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw==",
+      "version": "14.0.5",
+      "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz",
+      "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==",
       "dev": true,
       "dependencies": {
-        "make-fetch-happen": "^10.0.6",
-        "minipass": "^3.1.6",
-        "minipass-fetch": "^2.0.3",
+        "make-fetch-happen": "^11.0.0",
+        "minipass": "^5.0.0",
+        "minipass-fetch": "^3.0.0",
         "minipass-json-stream": "^1.0.1",
         "minizlib": "^2.1.2",
-        "npm-package-arg": "^9.0.1",
-        "proc-log": "^2.0.0"
+        "npm-package-arg": "^10.0.0",
+        "proc-log": "^3.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/npm-registry-fetch/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/npm-run-path": {
@@ -19698,9 +19458,9 @@
       }
     },
     "node_modules/open": {
-      "version": "8.4.0",
-      "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
-      "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
+      "version": "8.4.1",
+      "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz",
+      "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==",
       "dev": true,
       "dependencies": {
         "define-lazy-prop": "^2.0.0",
@@ -19916,38 +19676,35 @@
       }
     },
     "node_modules/pacote": {
-      "version": "13.6.2",
-      "resolved": "https://registry.npmjs.org/pacote/-/pacote-13.6.2.tgz",
-      "integrity": "sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg==",
+      "version": "15.1.0",
+      "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.0.tgz",
+      "integrity": "sha512-FFcjtIl+BQNfeliSm7MZz5cpdohvUV1yjGnqgVM4UnVF7JslRY0ImXAygdaCDV0jjUADEWu4y5xsDV8brtrTLg==",
       "dev": true,
       "dependencies": {
-        "@npmcli/git": "^3.0.0",
-        "@npmcli/installed-package-contents": "^1.0.7",
-        "@npmcli/promise-spawn": "^3.0.0",
-        "@npmcli/run-script": "^4.1.0",
-        "cacache": "^16.0.0",
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.1.0",
-        "infer-owner": "^1.0.4",
-        "minipass": "^3.1.6",
-        "mkdirp": "^1.0.4",
-        "npm-package-arg": "^9.0.0",
-        "npm-packlist": "^5.1.0",
-        "npm-pick-manifest": "^7.0.0",
-        "npm-registry-fetch": "^13.0.1",
-        "proc-log": "^2.0.0",
+        "@npmcli/git": "^4.0.0",
+        "@npmcli/installed-package-contents": "^2.0.1",
+        "@npmcli/promise-spawn": "^6.0.1",
+        "@npmcli/run-script": "^6.0.0",
+        "cacache": "^17.0.0",
+        "fs-minipass": "^3.0.0",
+        "minipass": "^4.0.0",
+        "npm-package-arg": "^10.0.0",
+        "npm-packlist": "^7.0.0",
+        "npm-pick-manifest": "^8.0.0",
+        "npm-registry-fetch": "^14.0.0",
+        "proc-log": "^3.0.0",
         "promise-retry": "^2.0.1",
-        "read-package-json": "^5.0.0",
-        "read-package-json-fast": "^2.0.3",
-        "rimraf": "^3.0.2",
-        "ssri": "^9.0.0",
+        "read-package-json": "^6.0.0",
+        "read-package-json-fast": "^3.0.0",
+        "sigstore": "^1.0.0",
+        "ssri": "^10.0.0",
         "tar": "^6.1.11"
       },
       "bin": {
         "pacote": "lib/bin.js"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/pako": {
@@ -20111,26 +19868,42 @@
       "integrity": "sha512-hrqldJHokR3Qj88EIlV/kAyAi/G5R2+R56TBANxNMy0uPlYcttx0jnMW6Yx5KsKPSbC3KddM/7qQm3+0wEXKxg=="
     },
     "node_modules/parse5": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
-      "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
-      "optional": true
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+      "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+      "devOptional": true,
+      "dependencies": {
+        "entities": "^4.4.0"
+      },
+      "funding": {
+        "url": "https://github.com/inikulin/parse5?sponsor=1"
+      }
     },
     "node_modules/parse5-html-rewriting-stream": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz",
-      "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==",
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz",
+      "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==",
       "dev": true,
       "dependencies": {
-        "parse5": "^6.0.1",
-        "parse5-sax-parser": "^6.0.1"
+        "entities": "^4.3.0",
+        "parse5": "^7.0.0",
+        "parse5-sax-parser": "^7.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/inikulin/parse5?sponsor=1"
       }
     },
-    "node_modules/parse5-html-rewriting-stream/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/parse5-html-rewriting-stream/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/parse5-htmlparser2-tree-adapter": {
       "version": "6.0.1",
@@ -20148,19 +19921,28 @@
       "dev": true
     },
     "node_modules/parse5-sax-parser": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz",
-      "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==",
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz",
+      "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==",
       "dev": true,
       "dependencies": {
-        "parse5": "^6.0.1"
+        "parse5": "^7.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/inikulin/parse5?sponsor=1"
       }
     },
-    "node_modules/parse5-sax-parser/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/parse5/node_modules/entities": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+      "devOptional": true,
+      "engines": {
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
+      }
     },
     "node_modules/parseurl": {
       "version": "1.3.3",
@@ -20526,6 +20308,40 @@
       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
       "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
     },
+    "node_modules/path-scurry": {
+      "version": "1.10.0",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.0.tgz",
+      "integrity": "sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==",
+      "dev": true,
+      "dependencies": {
+        "lru-cache": "^9.1.1 || ^10.0.0",
+        "minipass": "^5.0.0 || ^6.0.2"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/path-scurry/node_modules/lru-cache": {
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz",
+      "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==",
+      "dev": true,
+      "engines": {
+        "node": "14 || >=16.14"
+      }
+    },
+    "node_modules/path-scurry/node_modules/minipass": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz",
+      "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==",
+      "dev": true,
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      }
+    },
     "node_modules/path-to-regexp": {
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
@@ -20775,9 +20591,9 @@
       }
     },
     "node_modules/postcss": {
-      "version": "8.4.16",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
-      "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
+      "version": "8.4.21",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
+      "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
       "dev": true,
       "funding": [
         {
@@ -20798,337 +20614,15 @@
         "node": "^10 || ^12 || >=14"
       }
     },
-    "node_modules/postcss-attribute-case-insensitive": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz",
-      "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss-selector-parser": "^6.0.10"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-clamp": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz",
-      "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": ">=7.6.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.6"
-      }
-    },
-    "node_modules/postcss-color-functional-notation": {
-      "version": "4.2.4",
-      "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz",
-      "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-color-hex-alpha": {
-      "version": "8.0.4",
-      "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz",
-      "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4"
-      }
-    },
-    "node_modules/postcss-color-rebeccapurple": {
-      "version": "7.1.1",
-      "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz",
-      "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-custom-media": {
-      "version": "8.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz",
-      "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.3"
-      }
-    },
-    "node_modules/postcss-custom-properties": {
-      "version": "12.1.11",
-      "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz",
-      "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-custom-selectors": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz",
-      "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==",
-      "dev": true,
-      "dependencies": {
-        "postcss-selector-parser": "^6.0.4"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.3"
-      }
-    },
-    "node_modules/postcss-dir-pseudo-class": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz",
-      "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==",
-      "dev": true,
-      "dependencies": {
-        "postcss-selector-parser": "^6.0.10"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-double-position-gradients": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz",
-      "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/postcss-progressive-custom-properties": "^1.1.0",
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-env-function": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz",
-      "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4"
-      }
-    },
-    "node_modules/postcss-focus-visible": {
-      "version": "6.0.4",
-      "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz",
-      "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==",
-      "dev": true,
-      "dependencies": {
-        "postcss-selector-parser": "^6.0.9"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4"
-      }
-    },
-    "node_modules/postcss-focus-within": {
-      "version": "5.0.4",
-      "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz",
-      "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss-selector-parser": "^6.0.9"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4"
-      }
-    },
-    "node_modules/postcss-font-variant": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz",
-      "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==",
-      "dev": true,
-      "peerDependencies": {
-        "postcss": "^8.1.0"
-      }
-    },
-    "node_modules/postcss-gap-properties": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz",
-      "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==",
-      "dev": true,
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-image-set-function": {
-      "version": "4.0.7",
-      "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz",
-      "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-import": {
-      "version": "15.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.0.0.tgz",
-      "integrity": "sha512-Y20shPQ07RitgBGv2zvkEAu9bqvrD77C9axhj/aA1BQj4czape2MdClCExvB27EwYEJdGgKZBpKanb0t1rK2Kg==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.0.0",
-        "read-cache": "^1.0.0",
-        "resolve": "^1.1.7"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.0.0"
-      }
-    },
-    "node_modules/postcss-initial": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz",
-      "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==",
-      "dev": true,
-      "peerDependencies": {
-        "postcss": "^8.0.0"
-      }
-    },
-    "node_modules/postcss-lab-function": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz",
-      "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/postcss-progressive-custom-properties": "^1.1.0",
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
     "node_modules/postcss-loader": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz",
-      "integrity": "sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==",
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.2.tgz",
+      "integrity": "sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==",
       "dev": true,
       "dependencies": {
         "cosmiconfig": "^7.0.0",
         "klona": "^2.0.5",
-        "semver": "^7.3.7"
+        "semver": "^7.3.8"
       },
       "engines": {
         "node": ">= 14.15.0"
@@ -21142,30 +20636,6 @@
         "webpack": "^5.0.0"
       }
     },
-    "node_modules/postcss-logical": {
-      "version": "5.0.4",
-      "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz",
-      "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==",
-      "dev": true,
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4"
-      }
-    },
-    "node_modules/postcss-media-minmax": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz",
-      "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10.0.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
-      }
-    },
     "node_modules/postcss-modules-extract-imports": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
@@ -21179,9 +20649,9 @@
       }
     },
     "node_modules/postcss-modules-local-by-default": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
-      "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz",
+      "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==",
       "dev": true,
       "dependencies": {
         "icss-utils": "^5.0.0",
@@ -21225,213 +20695,10 @@
         "postcss": "^8.1.0"
       }
     },
-    "node_modules/postcss-nesting": {
-      "version": "10.2.0",
-      "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz",
-      "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/selector-specificity": "^2.0.0",
-        "postcss-selector-parser": "^6.0.10"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-opacity-percentage": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz",
-      "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "kofi",
-          "url": "https://ko-fi.com/mrcgrtz"
-        },
-        {
-          "type": "liberapay",
-          "url": "https://liberapay.com/mrcgrtz"
-        }
-      ],
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-overflow-shorthand": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz",
-      "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-page-break": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz",
-      "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==",
-      "dev": true,
-      "peerDependencies": {
-        "postcss": "^8"
-      }
-    },
-    "node_modules/postcss-place": {
-      "version": "7.0.5",
-      "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz",
-      "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==",
-      "dev": true,
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-preset-env": {
-      "version": "7.8.0",
-      "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.0.tgz",
-      "integrity": "sha512-leqiqLOellpLKfbHkD06E04P6d9ZQ24mat6hu4NSqun7WG0UhspHR5Myiv/510qouCjoo4+YJtNOqg5xHaFnCA==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/postcss-cascade-layers": "^1.0.5",
-        "@csstools/postcss-color-function": "^1.1.1",
-        "@csstools/postcss-font-format-keywords": "^1.0.1",
-        "@csstools/postcss-hwb-function": "^1.0.2",
-        "@csstools/postcss-ic-unit": "^1.0.1",
-        "@csstools/postcss-is-pseudo-class": "^2.0.7",
-        "@csstools/postcss-nested-calc": "^1.0.0",
-        "@csstools/postcss-normalize-display-values": "^1.0.1",
-        "@csstools/postcss-oklab-function": "^1.1.1",
-        "@csstools/postcss-progressive-custom-properties": "^1.3.0",
-        "@csstools/postcss-stepped-value-functions": "^1.0.1",
-        "@csstools/postcss-text-decoration-shorthand": "^1.0.0",
-        "@csstools/postcss-trigonometric-functions": "^1.0.2",
-        "@csstools/postcss-unset-value": "^1.0.2",
-        "autoprefixer": "^10.4.8",
-        "browserslist": "^4.21.3",
-        "css-blank-pseudo": "^3.0.3",
-        "css-has-pseudo": "^3.0.4",
-        "css-prefers-color-scheme": "^6.0.3",
-        "cssdb": "^7.0.0",
-        "postcss-attribute-case-insensitive": "^5.0.2",
-        "postcss-clamp": "^4.1.0",
-        "postcss-color-functional-notation": "^4.2.4",
-        "postcss-color-hex-alpha": "^8.0.4",
-        "postcss-color-rebeccapurple": "^7.1.1",
-        "postcss-custom-media": "^8.0.2",
-        "postcss-custom-properties": "^12.1.8",
-        "postcss-custom-selectors": "^6.0.3",
-        "postcss-dir-pseudo-class": "^6.0.5",
-        "postcss-double-position-gradients": "^3.1.2",
-        "postcss-env-function": "^4.0.6",
-        "postcss-focus-visible": "^6.0.4",
-        "postcss-focus-within": "^5.0.4",
-        "postcss-font-variant": "^5.0.0",
-        "postcss-gap-properties": "^3.0.5",
-        "postcss-image-set-function": "^4.0.7",
-        "postcss-initial": "^4.0.1",
-        "postcss-lab-function": "^4.2.1",
-        "postcss-logical": "^5.0.4",
-        "postcss-media-minmax": "^5.0.0",
-        "postcss-nesting": "^10.1.10",
-        "postcss-opacity-percentage": "^1.1.2",
-        "postcss-overflow-shorthand": "^3.0.4",
-        "postcss-page-break": "^3.0.4",
-        "postcss-place": "^7.0.5",
-        "postcss-pseudo-class-any-link": "^7.1.6",
-        "postcss-replace-overflow-wrap": "^4.0.0",
-        "postcss-selector-not": "^6.0.1",
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-pseudo-class-any-link": {
-      "version": "7.1.6",
-      "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz",
-      "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==",
-      "dev": true,
-      "dependencies": {
-        "postcss-selector-parser": "^6.0.10"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
-    "node_modules/postcss-replace-overflow-wrap": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz",
-      "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==",
-      "dev": true,
-      "peerDependencies": {
-        "postcss": "^8.0.3"
-      }
-    },
-    "node_modules/postcss-selector-not": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz",
-      "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss-selector-parser": "^6.0.10"
-      },
-      "engines": {
-        "node": "^12 || ^14 || >=16"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2"
-      }
-    },
     "node_modules/postcss-selector-parser": {
-      "version": "6.0.11",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
-      "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
+      "version": "6.0.13",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
+      "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
       "dev": true,
       "dependencies": {
         "cssesc": "^3.0.0",
@@ -21747,12 +21014,12 @@
       }
     },
     "node_modules/proc-log": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz",
-      "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz",
+      "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==",
       "dev": true,
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/process": {
@@ -22426,50 +21693,96 @@
         "react": ">= 0.14.0"
       }
     },
-    "node_modules/read-cache": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
-      "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+    "node_modules/read-package-json": {
+      "version": "6.0.4",
+      "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz",
+      "integrity": "sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==",
       "dev": true,
       "dependencies": {
-        "pify": "^2.3.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.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/read-package-json": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz",
-      "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==",
+    "node_modules/read-package-json-fast": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz",
+      "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==",
       "dev": true,
       "dependencies": {
-        "glob": "^8.0.1",
-        "json-parse-even-better-errors": "^2.3.1",
-        "normalize-package-data": "^4.0.0",
-        "npm-normalize-package-bin": "^2.0.0"
+        "json-parse-even-better-errors": "^3.0.0",
+        "npm-normalize-package-bin": "^3.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "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/read-package-json-fast/node_modules/json-parse-even-better-errors": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz",
+      "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/read-package-json/node_modules/glob": {
+      "version": "10.3.1",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.1.tgz",
+      "integrity": "sha512-9BKYcEeIs7QwlCYs+Y3GBvqAMISufUS0i2ELd11zpZjxI5V9iyRj0HgzB5/cLf2NY4vcYBTYzJ7GIui7j/4DOw==",
       "dev": true,
       "dependencies": {
-        "json-parse-even-better-errors": "^2.3.0",
-        "npm-normalize-package-bin": "^1.0.1"
+        "foreground-child": "^3.1.0",
+        "jackspeak": "^2.0.3",
+        "minimatch": "^9.0.1",
+        "minipass": "^5.0.0 || ^6.0.2",
+        "path-scurry": "^1.10.0"
+      },
+      "bin": {
+        "glob": "dist/cjs/src/bin.js"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/read-package-json/node_modules/npm-normalize-package-bin": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz",
-      "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==",
+    "node_modules/read-package-json/node_modules/json-parse-even-better-errors": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz",
+      "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==",
       "dev": true,
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/read-package-json/node_modules/minimatch": {
+      "version": "9.0.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz",
+      "integrity": "sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/read-package-json/node_modules/minipass": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz",
+      "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==",
+      "dev": true,
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
       }
     },
     "node_modules/readable-stream": {
@@ -22575,9 +21888,9 @@
       }
     },
     "node_modules/regenerator-runtime": {
-      "version": "0.13.9",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
-      "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
+      "version": "0.13.11",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+      "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
     },
     "node_modules/regenerator-transform": {
       "version": "0.15.1",
@@ -23090,42 +22403,21 @@
       "integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g=="
     },
     "node_modules/rollup": {
-      "version": "2.79.1",
-      "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
-      "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
+      "version": "3.26.0",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.0.tgz",
+      "integrity": "sha512-YzJH0eunH2hr3knvF3i6IkLO/jTjAEwU4HoMUbQl4//Tnl3ou0e7P5SjxdDr8HQJdeUJShlbEHXrrnEHy1l7Yg==",
       "dev": true,
       "bin": {
         "rollup": "dist/bin/rollup"
       },
       "engines": {
-        "node": ">=10.0.0"
+        "node": ">=14.18.0",
+        "npm": ">=8.0.0"
       },
       "optionalDependencies": {
         "fsevents": "~2.3.2"
       }
     },
-    "node_modules/rollup-plugin-sourcemaps": {
-      "version": "0.6.3",
-      "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz",
-      "integrity": "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==",
-      "dev": true,
-      "dependencies": {
-        "@rollup/pluginutils": "^3.0.9",
-        "source-map-resolve": "^0.6.0"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      },
-      "peerDependencies": {
-        "@types/node": ">=10.0.0",
-        "rollup": ">=0.31.2"
-      },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
-      }
-    },
     "node_modules/run-async": {
       "version": "2.4.1",
       "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
@@ -23228,10 +22520,15 @@
       "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
     },
+    "node_modules/safevalues": {
+      "version": "0.3.4",
+      "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz",
+      "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw=="
+    },
     "node_modules/sass": {
-      "version": "1.54.4",
-      "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.4.tgz",
-      "integrity": "sha512-3tmF16yvnBwtlPrNBHw/H907j8MlOX8aTBnlNX1yrKx24RKcJGPyLhFUwkoKBKesR3unP93/2z14Ll8NicwQUA==",
+      "version": "1.58.1",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.1.tgz",
+      "integrity": "sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg==",
       "dev": true,
       "dependencies": {
         "chokidar": ">=3.0.0 <4.0.0",
@@ -23246,9 +22543,9 @@
       }
     },
     "node_modules/sass-loader": {
-      "version": "13.0.2",
-      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.2.tgz",
-      "integrity": "sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q==",
+      "version": "13.2.0",
+      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.0.tgz",
+      "integrity": "sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==",
       "dev": true,
       "dependencies": {
         "klona": "^2.0.4",
@@ -23263,7 +22560,7 @@
       },
       "peerDependencies": {
         "fibers": ">= 3.1.0",
-        "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0",
+        "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0",
         "sass": "^1.3.0",
         "sass-embedded": "*",
         "webpack": "^5.0.0"
@@ -23365,9 +22662,9 @@
       }
     },
     "node_modules/semver": {
-      "version": "7.3.8",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
-      "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+      "version": "7.5.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
+      "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
       "dependencies": {
         "lru-cache": "^6.0.0"
       },
@@ -23890,6 +23187,23 @@
       "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz",
       "integrity": "sha512-yodFGwcyt59XRh7w5W3jPcIQb3Bwi21suEfT7MAWnBX3iCdklJpgDgvGT9o04UonglZN5SNMfJFkHIR/jO8GHw=="
     },
+    "node_modules/sigstore": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.7.0.tgz",
+      "integrity": "sha512-KP7QULhWdlu3hlp+jw2EvgWKlOGOY9McLj/jrchLjHNlNPK0KWIwF919cbmOp6QiKXLmPijR2qH/5KYWlbtG9Q==",
+      "dev": true,
+      "dependencies": {
+        "@sigstore/protobuf-specs": "^0.1.0",
+        "@sigstore/tuf": "^1.0.1",
+        "make-fetch-happen": "^11.0.1"
+      },
+      "bin": {
+        "sigstore": "bin/sigstore.js"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
     "node_modules/simple-concat": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
@@ -24301,9 +23615,9 @@
       }
     },
     "node_modules/source-map-loader": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.0.tgz",
-      "integrity": "sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw==",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz",
+      "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==",
       "dev": true,
       "dependencies": {
         "abab": "^2.0.6",
@@ -24333,17 +23647,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/source-map-resolve": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz",
-      "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==",
-      "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
-      "dev": true,
-      "dependencies": {
-        "atob": "^2.1.2",
-        "decode-uri-component": "^0.2.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",
@@ -24370,13 +23673,6 @@
       "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
       "dev": true
     },
-    "node_modules/sourcemap-codec": {
-      "version": "1.4.8",
-      "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
-      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
-      "deprecated": "Please use @jridgewell/sourcemap-codec instead",
-      "dev": true
-    },
     "node_modules/space-separated-tokens": {
       "version": "1.1.5",
       "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz",
@@ -24387,9 +23683,9 @@
       }
     },
     "node_modules/spdx-correct": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
-      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+      "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",
@@ -24413,9 +23709,9 @@
       }
     },
     "node_modules/spdx-license-ids": {
-      "version": "3.0.12",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
-      "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==",
+      "version": "3.0.13",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
+      "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==",
       "dev": true
     },
     "node_modules/spdy": {
@@ -24449,9 +23745,9 @@
       }
     },
     "node_modules/spdy-transport/node_modules/readable-stream": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+      "version": "3.6.2",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+      "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
       "dev": true,
       "dependencies": {
         "inherits": "^2.0.3",
@@ -24514,15 +23810,24 @@
       }
     },
     "node_modules/ssri": {
-      "version": "9.0.1",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
-      "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
+      "version": "10.0.4",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz",
+      "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==",
       "dev": true,
       "dependencies": {
-        "minipass": "^3.1.1"
+        "minipass": "^5.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/ssri/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/stack-trace": {
@@ -24857,6 +24162,21 @@
         "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==",
+      "dev": true,
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/strip-ansi": {
       "version": "6.0.1",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -24869,6 +24189,19 @@
         "node": ">=8"
       }
     },
+    "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": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/strip-bom": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
@@ -24904,92 +24237,6 @@
       "resolved": "https://registry.npmjs.org/strongly-connected-components/-/strongly-connected-components-1.0.1.tgz",
       "integrity": "sha512-i0TFx4wPcO0FwX+4RkLJi1MxmcTv90jNZgxMu9XRnMXMeFUY1VJlIoXpZunPUvUUqbCT1pg5PEkFqqpcaElNaA=="
     },
-    "node_modules/stylus": {
-      "version": "0.59.0",
-      "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.59.0.tgz",
-      "integrity": "sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg==",
-      "dev": true,
-      "dependencies": {
-        "@adobe/css-tools": "^4.0.1",
-        "debug": "^4.3.2",
-        "glob": "^7.1.6",
-        "sax": "~1.2.4",
-        "source-map": "^0.7.3"
-      },
-      "bin": {
-        "stylus": "bin/stylus"
-      },
-      "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://opencollective.com/stylus"
-      }
-    },
-    "node_modules/stylus-loader": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-7.0.0.tgz",
-      "integrity": "sha512-WTbtLrNfOfLgzTaR9Lj/BPhQroKk/LC1hfTXSUbrxmxgfUo3Y3LpmKRVA2R1XbjvTAvOfaian9vOyfv1z99E+A==",
-      "dev": true,
-      "dependencies": {
-        "fast-glob": "^3.2.11",
-        "klona": "^2.0.5",
-        "normalize-path": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 14.15.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "stylus": ">=0.52.4",
-        "webpack": "^5.0.0"
-      }
-    },
-    "node_modules/stylus/node_modules/brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dev": true,
-      "dependencies": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "node_modules/stylus/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/stylus/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/supercluster": {
       "version": "7.1.5",
       "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz",
@@ -25179,14 +24426,14 @@
       }
     },
     "node_modules/tar": {
-      "version": "6.1.13",
-      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz",
-      "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==",
+      "version": "6.1.15",
+      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
+      "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
       "dev": true,
       "dependencies": {
         "chownr": "^2.0.0",
         "fs-minipass": "^2.0.0",
-        "minipass": "^4.0.0",
+        "minipass": "^5.0.0",
         "minizlib": "^2.1.1",
         "mkdirp": "^1.0.3",
         "yallist": "^4.0.0"
@@ -25252,10 +24499,22 @@
         "safe-buffer": "~5.2.0"
       }
     },
-    "node_modules/tar/node_modules/minipass": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz",
-      "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==",
+    "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.0.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/tar/node_modules/fs-minipass/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": {
         "yallist": "^4.0.0"
@@ -25264,10 +24523,19 @@
         "node": ">=8"
       }
     },
+    "node_modules/tar/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/terser": {
-      "version": "5.14.2",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
-      "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
+      "version": "5.16.3",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.3.tgz",
+      "integrity": "sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==",
       "dev": true,
       "dependencies": {
         "@jridgewell/source-map": "^0.3.2",
@@ -26100,6 +25368,20 @@
       "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==",
+      "dev": true,
+      "dependencies": {
+        "@tufjs/models": "1.0.4",
+        "debug": "^4.3.4",
+        "make-fetch-happen": "^11.1.1"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
     "node_modules/tunnel-agent": {
       "version": "0.6.0",
       "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
@@ -26590,15 +25872,15 @@
       }
     },
     "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==",
+      "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": {
         "builtins": "^5.0.0"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/validate.io-array": {
@@ -27214,38 +26496,38 @@
       }
     },
     "node_modules/webpack-dev-middleware": {
-      "version": "5.3.3",
-      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz",
-      "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==",
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.1.tgz",
+      "integrity": "sha512-PZPZ6jFinmqVPJZbisfggDiC+2EeGZ1ZByyMP5sOFJcPPWSexalISz+cvm+j+oYPT7FIJyxT76esjnw9DhE5sw==",
       "dev": true,
       "dependencies": {
         "colorette": "^2.0.10",
-        "memfs": "^3.4.3",
+        "memfs": "^3.4.12",
         "mime-types": "^2.1.31",
         "range-parser": "^1.2.1",
         "schema-utils": "^4.0.0"
       },
       "engines": {
-        "node": ">= 12.13.0"
+        "node": ">= 14.15.0"
       },
       "funding": {
         "type": "opencollective",
         "url": "https://opencollective.com/webpack"
       },
       "peerDependencies": {
-        "webpack": "^4.0.0 || ^5.0.0"
+        "webpack": "^5.0.0"
       }
     },
     "node_modules/webpack-dev-middleware/node_modules/schema-utils": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
-      "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
+      "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
       "dev": true,
       "dependencies": {
         "@types/json-schema": "^7.0.9",
-        "ajv": "^8.8.0",
+        "ajv": "^8.9.0",
         "ajv-formats": "^2.1.1",
-        "ajv-keywords": "^5.0.0"
+        "ajv-keywords": "^5.1.0"
       },
       "engines": {
         "node": ">= 12.13.0"
@@ -27256,9 +26538,9 @@
       }
     },
     "node_modules/webpack-dev-server": {
-      "version": "4.11.0",
-      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.0.tgz",
-      "integrity": "sha512-L5S4Q2zT57SK7tazgzjMiSMBdsw+rGYIX27MgPgx7LDhWO0lViPrHKoLS7jo5In06PWYAhlYu3PbyoC6yAThbw==",
+      "version": "4.11.1",
+      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz",
+      "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==",
       "dev": true,
       "dependencies": {
         "@types/bonjour": "^3.5.9",
@@ -27284,7 +26566,7 @@
         "p-retry": "^4.5.0",
         "rimraf": "^3.0.2",
         "schema-utils": "^4.0.0",
-        "selfsigned": "^2.0.1",
+        "selfsigned": "^2.1.1",
         "serve-index": "^1.9.1",
         "sockjs": "^0.3.24",
         "spdy": "^4.0.2",
@@ -27311,15 +26593,15 @@
       }
     },
     "node_modules/webpack-dev-server/node_modules/schema-utils": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
-      "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
+      "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
       "dev": true,
       "dependencies": {
         "@types/json-schema": "^7.0.9",
-        "ajv": "^8.8.0",
+        "ajv": "^8.9.0",
         "ajv-formats": "^2.1.1",
-        "ajv-keywords": "^5.0.0"
+        "ajv-keywords": "^5.1.0"
       },
       "engines": {
         "node": ">= 12.13.0"
@@ -27329,6 +26611,29 @@
         "url": "https://opencollective.com/webpack"
       }
     },
+    "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": {
+      "version": "5.3.3",
+      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz",
+      "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==",
+      "dev": true,
+      "dependencies": {
+        "colorette": "^2.0.10",
+        "memfs": "^3.4.3",
+        "mime-types": "^2.1.31",
+        "range-parser": "^1.2.1",
+        "schema-utils": "^4.0.0"
+      },
+      "engines": {
+        "node": ">= 12.13.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "webpack": "^4.0.0 || ^5.0.0"
+      }
+    },
     "node_modules/webpack-merge": {
       "version": "5.8.0",
       "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
@@ -27605,23 +26910,74 @@
         "object-assign": "^4.1.0"
       }
     },
-    "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/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": {
+        "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_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": {
+        "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_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": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "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": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
+        "color-name": "~1.1.4"
       },
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+        "node": ">=7.0.0"
       }
     },
+    "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/wrap-ansi/node_modules/ansi-styles": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -27734,18 +27090,32 @@
       }
     },
     "node_modules/yargs": {
-      "version": "17.5.1",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
-      "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
+      "version": "17.6.2",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz",
+      "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==",
       "dev": true,
       "dependencies": {
-        "cliui": "^7.0.2",
+        "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.0.0"
+        "yargs-parser": "^21.1.1"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "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==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.1",
+        "wrap-ansi": "^7.0.0"
       },
       "engines": {
         "node": ">=12"
@@ -27819,12 +27189,6 @@
     }
   },
   "dependencies": {
-    "@adobe/css-tools": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz",
-      "integrity": "sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==",
-      "dev": true
-    },
     "@ampproject/remapping": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
@@ -27836,11 +27200,11 @@
       }
     },
     "@angular-architects/module-federation": {
-      "version": "14.3.14",
-      "resolved": "https://registry.npmjs.org/@angular-architects/module-federation/-/module-federation-14.3.14.tgz",
-      "integrity": "sha512-qV/GygoDRT80dbvGcFmHudR/ftu8/dURh4nWMLRViskZdJRFfSJ1pnZUmtmFaFUPL9NyS4APjQM1Shoxf+JWfg==",
+      "version": "15.0.3",
+      "resolved": "https://registry.npmjs.org/@angular-architects/module-federation/-/module-federation-15.0.3.tgz",
+      "integrity": "sha512-h+nXpkRqhjDshyau3YMf4kDRy3BDySSwQXviO1Bi5AI5Nc+qbgNMH+OOv0E2PV9VNEPwJbciAQQs+Gcofu+ntQ==",
       "requires": {
-        "@angular-architects/module-federation-runtime": "14.0.1",
+        "@angular-architects/module-federation-runtime": "15.0.0",
         "callsite": "^1.0.0",
         "node-fetch": "^2.6.7",
         "semver": "^7.3.5",
@@ -27848,348 +27212,48 @@
       }
     },
     "@angular-architects/module-federation-runtime": {
-      "version": "14.0.1",
-      "resolved": "https://registry.npmjs.org/@angular-architects/module-federation-runtime/-/module-federation-runtime-14.0.1.tgz",
-      "integrity": "sha512-9k5nm98hSRWgDXDiBieoVWMv4yX1I1ujynBWk/e08QM2nOvJd00unl1bwBtwpX4bvadnuX1qKg+mmStgKiQm6Q==",
+      "version": "15.0.0",
+      "resolved": "https://registry.npmjs.org/@angular-architects/module-federation-runtime/-/module-federation-runtime-15.0.0.tgz",
+      "integrity": "sha512-gwOGY5gklt9pSGPMgJzzMIqPKTtQVKp2wfMPm6BKdNT6cgv/3XsAZt3DYyIxtJqt+M6ArwPlk+COLW7KrelvQw==",
       "requires": {
         "tslib": "^2.0.0"
       }
     },
     "@angular-builders/custom-webpack": {
-      "version": "14.1.0",
-      "resolved": "https://registry.npmjs.org/@angular-builders/custom-webpack/-/custom-webpack-14.1.0.tgz",
-      "integrity": "sha512-FLGDrBOg04cYvzCudeb15LWY2v91dtJ5+AfmP0aS/0T0D0AYmY4uM3FxZeh4jJcWETLvnHVFBCjan6y2Ct9J3A==",
+      "version": "15.0.0",
+      "resolved": "https://registry.npmjs.org/@angular-builders/custom-webpack/-/custom-webpack-15.0.0.tgz",
+      "integrity": "sha512-i8ZQ7rJ+RTy73MivvIdNAa8sZpiDy9wHBetAEyYSlGtjaSB3lntEFtBw9edfyRkpbifw53QA/N5haOwox987/Q==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": ">=0.1400.0 < 0.1500.0",
-        "@angular-devkit/build-angular": "^14.0.0",
-        "@angular-devkit/core": "^14.0.0",
+        "@angular-devkit/architect": ">=0.1500.0 < 0.1600.0",
+        "@angular-devkit/build-angular": "^15.0.0",
+        "@angular-devkit/core": "^15.0.0",
         "lodash": "^4.17.15",
         "ts-node": "^10.0.0",
-        "tsconfig-paths": "^3.9.0",
+        "tsconfig-paths": "^4.1.0",
         "webpack-merge": "^5.7.3"
       },
       "dependencies": {
-        "@angular-devkit/architect": {
-          "version": "0.1402.11",
-          "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1402.11.tgz",
-          "integrity": "sha512-RuSZrBQ+QbipAESZ4aXCyAMQHaEaDyyV/FDS9J2HJWfEFbRD5oxlEt/tBC8XjmJQsktaUOh07GT8MNJjPKVAQw==",
-          "dev": true,
-          "requires": {
-            "@angular-devkit/core": "14.2.11",
-            "rxjs": "6.6.7"
-          }
-        },
-        "@angular-devkit/build-angular": {
-          "version": "14.2.11",
-          "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.2.11.tgz",
-          "integrity": "sha512-O3X7GXcCBCGceVSHT+GIJ2JrRCg2YcO7HtNavpmPrraNr1o+aCdTkmT5WTS2cqWkZBm/z0wqKR8PsX/ZoD2r1A==",
-          "dev": true,
-          "requires": {
-            "@ampproject/remapping": "2.2.0",
-            "@angular-devkit/architect": "0.1402.11",
-            "@angular-devkit/build-webpack": "0.1402.11",
-            "@angular-devkit/core": "14.2.11",
-            "@babel/core": "7.18.10",
-            "@babel/generator": "7.18.12",
-            "@babel/helper-annotate-as-pure": "7.18.6",
-            "@babel/plugin-proposal-async-generator-functions": "7.18.10",
-            "@babel/plugin-transform-async-to-generator": "7.18.6",
-            "@babel/plugin-transform-runtime": "7.18.10",
-            "@babel/preset-env": "7.18.10",
-            "@babel/runtime": "7.18.9",
-            "@babel/template": "7.18.10",
-            "@discoveryjs/json-ext": "0.5.7",
-            "@ngtools/webpack": "14.2.11",
-            "ansi-colors": "4.1.3",
-            "babel-loader": "8.2.5",
-            "babel-plugin-istanbul": "6.1.1",
-            "browserslist": "^4.9.1",
-            "cacache": "16.1.2",
-            "copy-webpack-plugin": "11.0.0",
-            "critters": "0.0.16",
-            "css-loader": "6.7.1",
-            "esbuild": "0.15.5",
-            "esbuild-wasm": "0.15.5",
-            "glob": "8.0.3",
-            "https-proxy-agent": "5.0.1",
-            "inquirer": "8.2.4",
-            "jsonc-parser": "3.1.0",
-            "karma-source-map-support": "1.4.0",
-            "less": "4.1.3",
-            "less-loader": "11.0.0",
-            "license-webpack-plugin": "4.0.2",
-            "loader-utils": "3.2.1",
-            "mini-css-extract-plugin": "2.6.1",
-            "minimatch": "5.1.0",
-            "open": "8.4.0",
-            "ora": "5.4.1",
-            "parse5-html-rewriting-stream": "6.0.1",
-            "piscina": "3.2.0",
-            "postcss": "8.4.16",
-            "postcss-import": "15.0.0",
-            "postcss-loader": "7.0.1",
-            "postcss-preset-env": "7.8.0",
-            "regenerator-runtime": "0.13.9",
-            "resolve-url-loader": "5.0.0",
-            "rxjs": "6.6.7",
-            "sass": "1.54.4",
-            "sass-loader": "13.0.2",
-            "semver": "7.3.7",
-            "source-map-loader": "4.0.0",
-            "source-map-support": "0.5.21",
-            "stylus": "0.59.0",
-            "stylus-loader": "7.0.0",
-            "terser": "5.14.2",
-            "text-table": "0.2.0",
-            "tree-kill": "1.2.2",
-            "tslib": "2.4.0",
-            "webpack": "5.76.1",
-            "webpack-dev-middleware": "5.3.3",
-            "webpack-dev-server": "4.11.0",
-            "webpack-merge": "5.8.0",
-            "webpack-subresource-integrity": "5.1.0"
-          }
-        },
-        "@angular-devkit/build-webpack": {
-          "version": "0.1402.11",
-          "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1402.11.tgz",
-          "integrity": "sha512-Ajyg1O6B6JSHsDlPdh165uy3glW4IiUlRXu8VVAOSA88WIT1Dl17f4Oun0/t27ip0/CNceiVY9MzOqIwGL1E6g==",
-          "dev": true,
-          "requires": {
-            "@angular-devkit/architect": "0.1402.11",
-            "rxjs": "6.6.7"
-          }
-        },
-        "@angular-devkit/core": {
-          "version": "14.2.11",
-          "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.2.11.tgz",
-          "integrity": "sha512-cBIGs6y9rykOQqnuAQOB1DgIRyBFYtvKRJb7QNUfIJ0qUfARKkuV/yikv3lrb95ePGkmoRzmjkFqcFZiYU+r7A==",
-          "dev": true,
-          "requires": {
-            "ajv": "8.11.0",
-            "ajv-formats": "2.1.1",
-            "jsonc-parser": "3.1.0",
-            "rxjs": "6.6.7",
-            "source-map": "0.7.4"
-          }
-        },
-        "@babel/core": {
-          "version": "7.18.10",
-          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz",
-          "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==",
-          "dev": true,
-          "requires": {
-            "@ampproject/remapping": "^2.1.0",
-            "@babel/code-frame": "^7.18.6",
-            "@babel/generator": "^7.18.10",
-            "@babel/helper-compilation-targets": "^7.18.9",
-            "@babel/helper-module-transforms": "^7.18.9",
-            "@babel/helpers": "^7.18.9",
-            "@babel/parser": "^7.18.10",
-            "@babel/template": "^7.18.10",
-            "@babel/traverse": "^7.18.10",
-            "@babel/types": "^7.18.10",
-            "convert-source-map": "^1.7.0",
-            "debug": "^4.1.0",
-            "gensync": "^1.0.0-beta.2",
-            "json5": "^2.2.1",
-            "semver": "^6.3.0"
-          },
-          "dependencies": {
-            "semver": {
-              "version": "6.3.0",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-              "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-              "dev": true
-            }
-          }
-        },
-        "@babel/preset-env": {
-          "version": "7.18.10",
-          "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
-          "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
-          "dev": true,
-          "requires": {
-            "@babel/compat-data": "^7.18.8",
-            "@babel/helper-compilation-targets": "^7.18.9",
-            "@babel/helper-plugin-utils": "^7.18.9",
-            "@babel/helper-validator-option": "^7.18.6",
-            "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
-            "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
-            "@babel/plugin-proposal-async-generator-functions": "^7.18.10",
-            "@babel/plugin-proposal-class-properties": "^7.18.6",
-            "@babel/plugin-proposal-class-static-block": "^7.18.6",
-            "@babel/plugin-proposal-dynamic-import": "^7.18.6",
-            "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
-            "@babel/plugin-proposal-json-strings": "^7.18.6",
-            "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9",
-            "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
-            "@babel/plugin-proposal-numeric-separator": "^7.18.6",
-            "@babel/plugin-proposal-object-rest-spread": "^7.18.9",
-            "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
-            "@babel/plugin-proposal-optional-chaining": "^7.18.9",
-            "@babel/plugin-proposal-private-methods": "^7.18.6",
-            "@babel/plugin-proposal-private-property-in-object": "^7.18.6",
-            "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
-            "@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.18.6",
-            "@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-transform-arrow-functions": "^7.18.6",
-            "@babel/plugin-transform-async-to-generator": "^7.18.6",
-            "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
-            "@babel/plugin-transform-block-scoping": "^7.18.9",
-            "@babel/plugin-transform-classes": "^7.18.9",
-            "@babel/plugin-transform-computed-properties": "^7.18.9",
-            "@babel/plugin-transform-destructuring": "^7.18.9",
-            "@babel/plugin-transform-dotall-regex": "^7.18.6",
-            "@babel/plugin-transform-duplicate-keys": "^7.18.9",
-            "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
-            "@babel/plugin-transform-for-of": "^7.18.8",
-            "@babel/plugin-transform-function-name": "^7.18.9",
-            "@babel/plugin-transform-literals": "^7.18.9",
-            "@babel/plugin-transform-member-expression-literals": "^7.18.6",
-            "@babel/plugin-transform-modules-amd": "^7.18.6",
-            "@babel/plugin-transform-modules-commonjs": "^7.18.6",
-            "@babel/plugin-transform-modules-systemjs": "^7.18.9",
-            "@babel/plugin-transform-modules-umd": "^7.18.6",
-            "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6",
-            "@babel/plugin-transform-new-target": "^7.18.6",
-            "@babel/plugin-transform-object-super": "^7.18.6",
-            "@babel/plugin-transform-parameters": "^7.18.8",
-            "@babel/plugin-transform-property-literals": "^7.18.6",
-            "@babel/plugin-transform-regenerator": "^7.18.6",
-            "@babel/plugin-transform-reserved-words": "^7.18.6",
-            "@babel/plugin-transform-shorthand-properties": "^7.18.6",
-            "@babel/plugin-transform-spread": "^7.18.9",
-            "@babel/plugin-transform-sticky-regex": "^7.18.6",
-            "@babel/plugin-transform-template-literals": "^7.18.9",
-            "@babel/plugin-transform-typeof-symbol": "^7.18.9",
-            "@babel/plugin-transform-unicode-escapes": "^7.18.10",
-            "@babel/plugin-transform-unicode-regex": "^7.18.6",
-            "@babel/preset-modules": "^0.1.5",
-            "@babel/types": "^7.18.10",
-            "babel-plugin-polyfill-corejs2": "^0.3.2",
-            "babel-plugin-polyfill-corejs3": "^0.5.3",
-            "babel-plugin-polyfill-regenerator": "^0.4.0",
-            "core-js-compat": "^3.22.1",
-            "semver": "^6.3.0"
-          },
-          "dependencies": {
-            "semver": {
-              "version": "6.3.0",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-              "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-              "dev": true
-            }
-          }
-        },
-        "@ngtools/webpack": {
-          "version": "14.2.11",
-          "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.2.11.tgz",
-          "integrity": "sha512-4enbLFAp98uTgWYF6OFceQqLcfv2/0brIrNN4iWT9xe/Mh3zdCt+eH42zvNRsqo9WXNWRSLvnx8I924p83LNlw==",
-          "dev": true,
-          "requires": {}
-        },
-        "ajv": {
-          "version": "8.11.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
-          "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
-          "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"
-          }
-        },
-        "babel-loader": {
-          "version": "8.2.5",
-          "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
-          "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
-          "dev": true,
-          "requires": {
-            "find-cache-dir": "^3.3.1",
-            "loader-utils": "^2.0.0",
-            "make-dir": "^3.1.0",
-            "schema-utils": "^2.6.5"
-          },
-          "dependencies": {
-            "loader-utils": {
-              "version": "2.0.4",
-              "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
-              "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
-              "dev": true,
-              "requires": {
-                "big.js": "^5.2.2",
-                "emojis-list": "^3.0.0",
-                "json5": "^2.1.2"
-              }
-            }
-          }
-        },
-        "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"
-          }
-        },
-        "rxjs": {
-          "version": "6.6.7",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
-          "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
-          "dev": true,
-          "requires": {
-            "tslib": "^1.9.0"
-          },
-          "dependencies": {
-            "tslib": {
-              "version": "1.14.1",
-              "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-              "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-              "dev": true
-            }
-          }
-        },
-        "semver": {
-          "version": "7.3.7",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-          "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+        "tsconfig-paths": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
+          "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
           "dev": true,
           "requires": {
-            "lru-cache": "^6.0.0"
+            "json5": "^2.2.2",
+            "minimist": "^1.2.6",
+            "strip-bom": "^3.0.0"
           }
-        },
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
         }
       }
     },
     "@angular-devkit/architect": {
-      "version": "0.1402.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1402.10.tgz",
-      "integrity": "sha512-/6YmPrgataj1jD2Uqd1ED+CG4DaZGacoeZd/89hH7hF76Nno8K18DrSOqJAEmDnOWegpSRGVLd0qP09IHmaG5w==",
+      "version": "0.1502.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.9.tgz",
+      "integrity": "sha512-CFn+LbtYeLG7WqO+BBSjogl764StHpwgfJnNAXQ/3UouUktZ92z4lxhUm0PwIPb5k0lILsf81ubcS1vzwoXEEg==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "14.2.10",
+        "@angular-devkit/core": "15.2.9",
         "rxjs": "6.6.7"
       },
       "dependencies": {
@@ -28211,187 +27275,94 @@
       }
     },
     "@angular-devkit/build-angular": {
-      "version": "14.2.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.2.10.tgz",
-      "integrity": "sha512-VCeZAyq4uPCJukKInaSiD4i/GgxgcU4jFlLFQtoYNmaBS4xbPOymL19forRIihiV0dwNEa2L694vRTAPMBxIfw==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.2.9.tgz",
+      "integrity": "sha512-djOo2Q22zLrxPccSbINz93hD+pES/nNPoze4Ys/0IdtMlLmxO/YGsA+FG5eNeNAf2jK/JRoNydaYOh7XpGoCzA==",
       "dev": true,
       "requires": {
         "@ampproject/remapping": "2.2.0",
-        "@angular-devkit/architect": "0.1402.10",
-        "@angular-devkit/build-webpack": "0.1402.10",
-        "@angular-devkit/core": "14.2.10",
-        "@babel/core": "7.18.10",
-        "@babel/generator": "7.18.12",
+        "@angular-devkit/architect": "0.1502.9",
+        "@angular-devkit/build-webpack": "0.1502.9",
+        "@angular-devkit/core": "15.2.9",
+        "@babel/core": "7.20.12",
+        "@babel/generator": "7.20.14",
         "@babel/helper-annotate-as-pure": "7.18.6",
-        "@babel/plugin-proposal-async-generator-functions": "7.18.10",
-        "@babel/plugin-transform-async-to-generator": "7.18.6",
-        "@babel/plugin-transform-runtime": "7.18.10",
-        "@babel/preset-env": "7.18.10",
-        "@babel/runtime": "7.18.9",
-        "@babel/template": "7.18.10",
+        "@babel/helper-split-export-declaration": "7.18.6",
+        "@babel/plugin-proposal-async-generator-functions": "7.20.7",
+        "@babel/plugin-transform-async-to-generator": "7.20.7",
+        "@babel/plugin-transform-runtime": "7.19.6",
+        "@babel/preset-env": "7.20.2",
+        "@babel/runtime": "7.20.13",
+        "@babel/template": "7.20.7",
         "@discoveryjs/json-ext": "0.5.7",
-        "@ngtools/webpack": "14.2.10",
+        "@ngtools/webpack": "15.2.9",
         "ansi-colors": "4.1.3",
-        "babel-loader": "8.2.5",
+        "autoprefixer": "10.4.13",
+        "babel-loader": "9.1.2",
         "babel-plugin-istanbul": "6.1.1",
-        "browserslist": "^4.9.1",
-        "cacache": "16.1.2",
+        "browserslist": "4.21.5",
+        "cacache": "17.0.4",
+        "chokidar": "3.5.3",
         "copy-webpack-plugin": "11.0.0",
         "critters": "0.0.16",
-        "css-loader": "6.7.1",
-        "esbuild": "0.15.5",
-        "esbuild-wasm": "0.15.5",
-        "glob": "8.0.3",
+        "css-loader": "6.7.3",
+        "esbuild": "0.17.8",
+        "esbuild-wasm": "0.17.8",
+        "glob": "8.1.0",
         "https-proxy-agent": "5.0.1",
         "inquirer": "8.2.4",
-        "jsonc-parser": "3.1.0",
+        "jsonc-parser": "3.2.0",
         "karma-source-map-support": "1.4.0",
         "less": "4.1.3",
-        "less-loader": "11.0.0",
+        "less-loader": "11.1.0",
         "license-webpack-plugin": "4.0.2",
         "loader-utils": "3.2.1",
-        "mini-css-extract-plugin": "2.6.1",
-        "minimatch": "5.1.0",
-        "open": "8.4.0",
+        "magic-string": "0.29.0",
+        "mini-css-extract-plugin": "2.7.2",
+        "open": "8.4.1",
         "ora": "5.4.1",
-        "parse5-html-rewriting-stream": "6.0.1",
+        "parse5-html-rewriting-stream": "7.0.0",
         "piscina": "3.2.0",
-        "postcss": "8.4.16",
-        "postcss-import": "15.0.0",
-        "postcss-loader": "7.0.1",
-        "postcss-preset-env": "7.8.0",
-        "regenerator-runtime": "0.13.9",
+        "postcss": "8.4.21",
+        "postcss-loader": "7.0.2",
         "resolve-url-loader": "5.0.0",
         "rxjs": "6.6.7",
-        "sass": "1.54.4",
-        "sass-loader": "13.0.2",
-        "semver": "7.3.7",
-        "source-map-loader": "4.0.0",
+        "sass": "1.58.1",
+        "sass-loader": "13.2.0",
+        "semver": "7.5.3",
+        "source-map-loader": "4.0.1",
         "source-map-support": "0.5.21",
-        "stylus": "0.59.0",
-        "stylus-loader": "7.0.0",
-        "terser": "5.14.2",
+        "terser": "5.16.3",
         "text-table": "0.2.0",
         "tree-kill": "1.2.2",
-        "tslib": "2.4.0",
-        "webpack": "5.74.0",
-        "webpack-dev-middleware": "5.3.3",
-        "webpack-dev-server": "4.11.0",
+        "tslib": "2.5.0",
+        "webpack": "5.76.1",
+        "webpack-dev-middleware": "6.0.1",
+        "webpack-dev-server": "4.11.1",
         "webpack-merge": "5.8.0",
         "webpack-subresource-integrity": "5.1.0"
       },
       "dependencies": {
         "@babel/core": {
-          "version": "7.18.10",
-          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz",
-          "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==",
+          "version": "7.20.12",
+          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz",
+          "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==",
           "dev": true,
           "requires": {
             "@ampproject/remapping": "^2.1.0",
             "@babel/code-frame": "^7.18.6",
-            "@babel/generator": "^7.18.10",
-            "@babel/helper-compilation-targets": "^7.18.9",
-            "@babel/helper-module-transforms": "^7.18.9",
-            "@babel/helpers": "^7.18.9",
-            "@babel/parser": "^7.18.10",
-            "@babel/template": "^7.18.10",
-            "@babel/traverse": "^7.18.10",
-            "@babel/types": "^7.18.10",
+            "@babel/generator": "^7.20.7",
+            "@babel/helper-compilation-targets": "^7.20.7",
+            "@babel/helper-module-transforms": "^7.20.11",
+            "@babel/helpers": "^7.20.7",
+            "@babel/parser": "^7.20.7",
+            "@babel/template": "^7.20.7",
+            "@babel/traverse": "^7.20.12",
+            "@babel/types": "^7.20.7",
             "convert-source-map": "^1.7.0",
             "debug": "^4.1.0",
             "gensync": "^1.0.0-beta.2",
-            "json5": "^2.2.1",
-            "semver": "^6.3.0"
-          },
-          "dependencies": {
-            "semver": {
-              "version": "6.3.0",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-              "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-              "dev": true
-            }
-          }
-        },
-        "@babel/preset-env": {
-          "version": "7.18.10",
-          "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
-          "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
-          "dev": true,
-          "requires": {
-            "@babel/compat-data": "^7.18.8",
-            "@babel/helper-compilation-targets": "^7.18.9",
-            "@babel/helper-plugin-utils": "^7.18.9",
-            "@babel/helper-validator-option": "^7.18.6",
-            "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
-            "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
-            "@babel/plugin-proposal-async-generator-functions": "^7.18.10",
-            "@babel/plugin-proposal-class-properties": "^7.18.6",
-            "@babel/plugin-proposal-class-static-block": "^7.18.6",
-            "@babel/plugin-proposal-dynamic-import": "^7.18.6",
-            "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
-            "@babel/plugin-proposal-json-strings": "^7.18.6",
-            "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9",
-            "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
-            "@babel/plugin-proposal-numeric-separator": "^7.18.6",
-            "@babel/plugin-proposal-object-rest-spread": "^7.18.9",
-            "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
-            "@babel/plugin-proposal-optional-chaining": "^7.18.9",
-            "@babel/plugin-proposal-private-methods": "^7.18.6",
-            "@babel/plugin-proposal-private-property-in-object": "^7.18.6",
-            "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
-            "@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.18.6",
-            "@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-transform-arrow-functions": "^7.18.6",
-            "@babel/plugin-transform-async-to-generator": "^7.18.6",
-            "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
-            "@babel/plugin-transform-block-scoping": "^7.18.9",
-            "@babel/plugin-transform-classes": "^7.18.9",
-            "@babel/plugin-transform-computed-properties": "^7.18.9",
-            "@babel/plugin-transform-destructuring": "^7.18.9",
-            "@babel/plugin-transform-dotall-regex": "^7.18.6",
-            "@babel/plugin-transform-duplicate-keys": "^7.18.9",
-            "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
-            "@babel/plugin-transform-for-of": "^7.18.8",
-            "@babel/plugin-transform-function-name": "^7.18.9",
-            "@babel/plugin-transform-literals": "^7.18.9",
-            "@babel/plugin-transform-member-expression-literals": "^7.18.6",
-            "@babel/plugin-transform-modules-amd": "^7.18.6",
-            "@babel/plugin-transform-modules-commonjs": "^7.18.6",
-            "@babel/plugin-transform-modules-systemjs": "^7.18.9",
-            "@babel/plugin-transform-modules-umd": "^7.18.6",
-            "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6",
-            "@babel/plugin-transform-new-target": "^7.18.6",
-            "@babel/plugin-transform-object-super": "^7.18.6",
-            "@babel/plugin-transform-parameters": "^7.18.8",
-            "@babel/plugin-transform-property-literals": "^7.18.6",
-            "@babel/plugin-transform-regenerator": "^7.18.6",
-            "@babel/plugin-transform-reserved-words": "^7.18.6",
-            "@babel/plugin-transform-shorthand-properties": "^7.18.6",
-            "@babel/plugin-transform-spread": "^7.18.9",
-            "@babel/plugin-transform-sticky-regex": "^7.18.6",
-            "@babel/plugin-transform-template-literals": "^7.18.9",
-            "@babel/plugin-transform-typeof-symbol": "^7.18.9",
-            "@babel/plugin-transform-unicode-escapes": "^7.18.10",
-            "@babel/plugin-transform-unicode-regex": "^7.18.6",
-            "@babel/preset-modules": "^0.1.5",
-            "@babel/types": "^7.18.10",
-            "babel-plugin-polyfill-corejs2": "^0.3.2",
-            "babel-plugin-polyfill-corejs3": "^0.5.3",
-            "babel-plugin-polyfill-regenerator": "^0.4.0",
-            "core-js-compat": "^3.22.1",
+            "json5": "^2.2.2",
             "semver": "^6.3.0"
           },
           "dependencies": {
@@ -28403,76 +27374,14 @@
             }
           }
         },
-        "@types/estree": {
-          "version": "0.0.51",
-          "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
-          "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
-          "dev": true
-        },
         "babel-loader": {
-          "version": "8.2.5",
-          "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
-          "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
-          "dev": true,
-          "requires": {
-            "find-cache-dir": "^3.3.1",
-            "loader-utils": "^2.0.0",
-            "make-dir": "^3.1.0",
-            "schema-utils": "^2.6.5"
-          },
-          "dependencies": {
-            "loader-utils": {
-              "version": "2.0.4",
-              "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
-              "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
-              "dev": true,
-              "requires": {
-                "big.js": "^5.2.2",
-                "emojis-list": "^3.0.0",
-                "json5": "^2.1.2"
-              }
-            }
-          }
-        },
-        "enhanced-resolve": {
-          "version": "5.12.0",
-          "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
-          "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.2.4",
-            "tapable": "^2.2.0"
-          }
-        },
-        "eslint-scope": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-          "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-          "dev": true,
-          "requires": {
-            "esrecurse": "^4.3.0",
-            "estraverse": "^4.1.1"
-          }
-        },
-        "estraverse": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-          "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-          "dev": true
-        },
-        "json-schema-traverse": {
-          "version": "0.4.1",
-          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-          "dev": true
-        },
-        "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==",
+          "version": "9.1.2",
+          "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz",
+          "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==",
           "dev": true,
           "requires": {
-            "yallist": "^4.0.0"
+            "find-cache-dir": "^3.3.2",
+            "schema-utils": "^4.0.0"
           }
         },
         "rxjs": {
@@ -28492,94 +27401,27 @@
             }
           }
         },
-        "semver": {
-          "version": "7.3.7",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-          "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+        "schema-utils": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
+          "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
           "dev": true,
           "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        },
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        },
-        "webpack": {
-          "version": "5.74.0",
-          "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz",
-          "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
-          "dev": true,
-          "requires": {
-            "@types/eslint-scope": "^3.7.3",
-            "@types/estree": "^0.0.51",
-            "@webassemblyjs/ast": "1.11.1",
-            "@webassemblyjs/wasm-edit": "1.11.1",
-            "@webassemblyjs/wasm-parser": "1.11.1",
-            "acorn": "^8.7.1",
-            "acorn-import-assertions": "^1.7.6",
-            "browserslist": "^4.14.5",
-            "chrome-trace-event": "^1.0.2",
-            "enhanced-resolve": "^5.10.0",
-            "es-module-lexer": "^0.9.0",
-            "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.1.0",
-            "tapable": "^2.1.1",
-            "terser-webpack-plugin": "^5.1.3",
-            "watchpack": "^2.4.0",
-            "webpack-sources": "^3.2.3"
-          },
-          "dependencies": {
-            "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-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": {}
-            },
-            "schema-utils": {
-              "version": "3.1.1",
-              "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
-              "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
-              "dev": true,
-              "requires": {
-                "@types/json-schema": "^7.0.8",
-                "ajv": "^6.12.5",
-                "ajv-keywords": "^3.5.2"
-              }
-            }
+            "@types/json-schema": "^7.0.9",
+            "ajv": "^8.9.0",
+            "ajv-formats": "^2.1.1",
+            "ajv-keywords": "^5.1.0"
           }
         }
       }
     },
     "@angular-devkit/build-webpack": {
-      "version": "0.1402.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1402.10.tgz",
-      "integrity": "sha512-h+2MaSY7QSvoJ3R+Hvin21jVCfPGOTLdASIUk4Jmq6J3y5BSku3KSSaV8dWoBOBkFCwQyPQMRjiHoHKLpC1K7g==",
+      "version": "0.1502.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1502.9.tgz",
+      "integrity": "sha512-VzMXoZjrbL1XlcSegqpZCBDbVvKFGPs3cKp4bXDD5ht95jcCyJPk5FA/wrh0pGGwbOF8ae/XOWFcPRzctC35iA==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.1402.10",
+        "@angular-devkit/architect": "0.1502.9",
         "rxjs": "6.6.7"
       },
       "dependencies": {
@@ -28601,30 +27443,18 @@
       }
     },
     "@angular-devkit/core": {
-      "version": "14.2.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.2.10.tgz",
-      "integrity": "sha512-K4AO7mROTdbhQ7chtyQd6oPwmuL+BPUh+wn6Aq1qrmYJK4UZYFOPp8fi/Ehs8meCEeywtrssOPfrOE4Gsre9dg==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.9.tgz",
+      "integrity": "sha512-6u44YJ9tEG2hiWITL1rwA9yP6ot4a3cyN/UOMRkYSa/XO2Gz5/dM3U74E2kwg+P1NcxLXffBWl0rz8/Y/lSZyQ==",
       "dev": true,
       "requires": {
-        "ajv": "8.11.0",
+        "ajv": "8.12.0",
         "ajv-formats": "2.1.1",
-        "jsonc-parser": "3.1.0",
+        "jsonc-parser": "3.2.0",
         "rxjs": "6.6.7",
         "source-map": "0.7.4"
       },
       "dependencies": {
-        "ajv": {
-          "version": "8.11.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
-          "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
-          "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"
-          }
-        },
         "rxjs": {
           "version": "6.6.7",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
@@ -28643,14 +27473,14 @@
       }
     },
     "@angular-devkit/schematics": {
-      "version": "14.2.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.2.10.tgz",
-      "integrity": "sha512-MMp31KpJTwKHisXOq+6VOXYApq97hZxFaFmZk396X5aIFTCELUwjcezQDk+u2nEs5iK/COUfnN3plGcfJxYhQA==",
+      "version": "15.2.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.2.9.tgz",
+      "integrity": "sha512-o08nE8sTpfq/Fknrr1rzBsM8vY36BDox+8dOo9Zc/KqcVPwDy94YKRzHb+xxVaU9jy1VYeCjy63mkyELy7Z3zQ==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "14.2.10",
-        "jsonc-parser": "3.1.0",
-        "magic-string": "0.26.2",
+        "@angular-devkit/core": "15.2.9",
+        "jsonc-parser": "3.2.0",
+        "magic-string": "0.29.0",
         "ora": "5.4.1",
         "rxjs": "6.6.7"
       },
@@ -28676,301 +27506,49 @@
       "version": "15.2.1",
       "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-15.2.1.tgz",
       "integrity": "sha512-7x2DANebLRl997Mj4DhZrnz5+vnSjavGGveJ0mBuU7CEsL0ZYLftdRqL0e0HtU3ksseS7xpchD6OM08nkNgySw==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     "@angular-eslint/bundled-angular-compiler": {
-      "version": "14.4.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-14.4.0.tgz",
-      "integrity": "sha512-KMHPHd24s0HVvAP/DxSSqhYBWhwW8FgS/r0Uwv8eWpsIdc/z/Chd2ush2SgPchmmquAXTgOZsbEY7ZmW+XkJfQ==",
+      "version": "15.2.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-15.2.1.tgz",
+      "integrity": "sha512-LO7Am8eVCr7oh6a0VmKSL7K03CnQEQhFO7Wt/YtbfYOxVjrbwmYLwJn+wZPOT7A02t/BttOD/WXuDrOWtSMQ/Q==",
       "dev": true
     },
     "@angular-eslint/eslint-plugin": {
-      "version": "15.2.0",
-      "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-15.2.0.tgz",
-      "integrity": "sha512-yJGbmSUU0B0MFJ48ktpkqqEK+zv5k9iwlZSqEHtiQMKvDelfluovnEusihel7uPRo1c1iVlbSgXfGpxpUCfocA==",
+      "version": "15.2.1",
+      "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-15.2.1.tgz",
+      "integrity": "sha512-OM7b1kS4E4CkXjkaWN+lEzawh4VxY6l7FO1Cuk4s7iv3/YpZG3rJxIZBqnFLTixwrBuqw8y4FNBzF3eDgmFAUw==",
       "dev": true,
       "requires": {
-        "@angular-eslint/utils": "15.2.0",
-        "@typescript-eslint/utils": "5.48.1"
-      },
-      "dependencies": {
-        "@angular-eslint/bundled-angular-compiler": {
-          "version": "15.2.0",
-          "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-15.2.0.tgz",
-          "integrity": "sha512-a0bfXxYyGoWJHrVQ4QER0HdRgselcTtJeyqiFPAxID2ZxF0IBGKLNTtugUTXekEmiLev8yGLX9TqAtthN57fEg==",
-          "dev": true
-        },
-        "@angular-eslint/utils": {
-          "version": "15.2.0",
-          "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-15.2.0.tgz",
-          "integrity": "sha512-qfTOKQ+aef/YER679/xN1E+FkZKMd0I73P6txUZAb9k2G1ACVktG+wOUIBfgjIlUVq9Q01AV91LGOWcd+rdEEA==",
-          "dev": true,
-          "requires": {
-            "@angular-eslint/bundled-angular-compiler": "15.2.0",
-            "@typescript-eslint/utils": "5.48.1"
-          }
-        },
-        "@typescript-eslint/scope-manager": {
-          "version": "5.48.1",
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz",
-          "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==",
-          "dev": true,
-          "requires": {
-            "@typescript-eslint/types": "5.48.1",
-            "@typescript-eslint/visitor-keys": "5.48.1"
-          }
-        },
-        "@typescript-eslint/types": {
-          "version": "5.48.1",
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz",
-          "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==",
-          "dev": true
-        },
-        "@typescript-eslint/typescript-estree": {
-          "version": "5.48.1",
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz",
-          "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==",
-          "dev": true,
-          "requires": {
-            "@typescript-eslint/types": "5.48.1",
-            "@typescript-eslint/visitor-keys": "5.48.1",
-            "debug": "^4.3.4",
-            "globby": "^11.1.0",
... 6349 lines suppressed ...