diff --git a/connectors/camel-jms-apache-activemq-sink-kafka-connector/pom.xml b/connectors/camel-jms-apache-activemq-sink-kafka-connector/pom.xml
deleted file mode 100644
index 9474277..0000000
--- a/connectors/camel-jms-apache-activemq-sink-kafka-connector/pom.xml
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.camel.kafkaconnector</groupId>
-    <artifactId>connectors</artifactId>
-    <version>4.0.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>camel-jms-apache-activemq-sink-kafka-connector</artifactId>
-  <name>Camel-Kafka-Connector :: jms-apache-activemq-sink</name>
-  <description>Camel Kafka Connector for jms-apache-activemq-sink</description>
-  <dependencies>
-    <!-- Kafka -->
-    <dependency>
-      <groupId>org.apache.kafka</groupId>
-      <artifactId>connect-api</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.kafka</groupId>
-      <artifactId>connect-transforms</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <!-- Camel -->
-    <!--START OF GENERATED CODE-->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-activemq</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.activemq</groupId>
-      <artifactId>activemq-http</artifactId>
-      <version>5.17.3</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel.kafkaconnector</groupId>
-      <artifactId>camel-kafka-connector</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-yaml-dsl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-kamelet</artifactId>
-    </dependency>
-    <!--END OF GENERATED CODE-->
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>${version.maven.surefire.plugin}</version>
-        <configuration>
-          <failIfNoTests>false</failIfNoTests>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>${version.maven.jar}</version>
-        <configuration>
-          <archive>
-            <manifest>
-              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
-            </manifest>
-          </archive>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>2.5.1</version>
-        <inherited>true</inherited>
-        <configuration>
-          <source>1.8</source>
-          <target>1.8</target>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <version>3.3.0</version>
-        <configuration>
-          <descriptors>
-            <descriptor>src/main/assembly/package.xml</descriptor>
-          </descriptors>
-        </configuration>
-        <executions>
-          <execution>
-            <id>make-assembly</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-  <!--START OF GENERATED CODE-->
-  <repositories>
-    <!-- camel-jira -->
-    <repository>
-      <id>atlassian-public</id>
-      <url>https://packages.atlassian.com/maven-external</url>
-      <name>Atlassian Public Repo</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-      <releases>
-        <enabled>true</enabled>
-      </releases>
-    </repository>
-    <!-- camel-ipfs and camel-weka -->
-    <repository>
-      <id>jboss.thirdparty</id>
-      <name>JBoss Thirdparty Repository</name>
-      <url>https://repository.jboss.org/nexus/service/local/repositories/thirdparty-releases/content/</url>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-      <releases>
-        <enabled>true</enabled>
-      </releases>
-    </repository>
-  </repositories>
-  <!--END OF GENERATED CODE-->
-</project>
diff --git a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/generated/descriptors/connector-sink.properties b/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/generated/descriptors/connector-sink.properties
deleted file mode 100644
index d9ffbcc..0000000
--- a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/generated/descriptors/connector-sink.properties
+++ /dev/null
@@ -1 +0,0 @@
-camel-jms-apache-activemq-sink-sink
\ No newline at end of file
diff --git a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/generated/resources/camel-jms-apache-activemq-sink-sink.json b/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/generated/resources/camel-jms-apache-activemq-sink-sink.json
deleted file mode 100644
index 61ae4d6..0000000
--- a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/generated/resources/camel-jms-apache-activemq-sink-sink.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-	"connector": {
-		"class": "org.apache.camel.kafkaconnector.jmsapacheactivemqsink.CamelJmsapacheactivemqsinkSinkConnector",
-		"artifactId": "camel-jms-apache-activemq-sink-kafka-connector",
-		"groupId": "org.apache.camel.kafkaconnector",
-		"id": "camel-jms-apache-activemq-sink-sink",
-		"type": "sink",
-		"version": "3.20.1-SNAPSHOT",
-		"description": "A Kamelet that can produce events to an Apache ActiveMQ Classic message broker using JMS"
-	},
-	"properties": {
-		"camel.kamelet.jms-apache-activemq-sink.destinationType": {
-			"name": "camel.kamelet.jms-apache-activemq-sink.destinationType",
-			"description": "The JMS destination type (i.e.: queue or topic)",
-			"defaultValue": "\"queue\"",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.kamelet.jms-apache-activemq-sink.destinationName": {
-			"name": "camel.kamelet.jms-apache-activemq-sink.destinationName",
-			"description": "The JMS destination name Example: person",
-			"priority": "HIGH",
-			"required": "true"
-		},
-		"camel.kamelet.jms-apache-activemq-sink.brokerURL": {
-			"name": "camel.kamelet.jms-apache-activemq-sink.brokerURL",
-			"description": "The JMS URL Example: tcp:\/\/my-host:61616",
-			"priority": "HIGH",
-			"required": "true"
-		},
-		"camel.kamelet.jms-apache-activemq-sink.password": {
-			"name": "camel.kamelet.jms-apache-activemq-sink.password",
-			"description": "Target AMQ Broker password Example: password1!",
-			"defaultValue": "\"admin\"",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.kamelet.jms-apache-activemq-sink.username": {
-			"name": "camel.kamelet.jms-apache-activemq-sink.username",
-			"description": "Target AMQ Broker Username Example: userName",
-			"defaultValue": "\"admin\"",
-			"priority": "MEDIUM",
-			"required": "false"
-		}
-	}
-}
\ No newline at end of file
diff --git a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/assembly/package.xml b/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/assembly/package.xml
deleted file mode 100644
index 05f0b1a..0000000
--- a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/assembly/package.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<assembly>
-  <!-- Assembles a packaged version targeting OS installation. -->
-  <id>package</id>
-  <formats>
-    <format>tar.gz</format>
-  </formats>
-  <includeBaseDirectory>false</includeBaseDirectory>
-  <fileSets>
-    <fileSet>
-      <directory>${project.basedir}/../..</directory>
-      <outputDirectory>${project.artifactId}/</outputDirectory>
-      <includes>
-        <include>README*</include>
-        <include>LICENSE*</include>
-        <include>NOTICE*</include>
-        <include>licenses/</include>
-      </includes>
-    </fileSet>
-    <fileSet>
-      <directory>${project.basedir}/src/main/docs</directory>
-      <outputDirectory>docs/</outputDirectory>
-      <includes>
-        <include>**/*</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-  <dependencySets>
-    <dependencySet>
-      <outputDirectory>${project.artifactId}/</outputDirectory>
-      <useProjectArtifact>true</useProjectArtifact>
-      <useTransitiveFiltering>true</useTransitiveFiltering>
-      <excludes>
-        <exclude>org.apache.kafka:connect-api</exclude>
-      </excludes>
-    </dependencySet>
-  </dependencySets>
-</assembly>
diff --git a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/docs/examples/CamelJmsapacheactivemqsinkSinkConnector.properties b/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/docs/examples/CamelJmsapacheactivemqsinkSinkConnector.properties
deleted file mode 100644
index 8acf9d4..0000000
--- a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/docs/examples/CamelJmsapacheactivemqsinkSinkConnector.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-name=CamelJms-apache-activemq-sinkSinkConnector
-connector.class=org.apache.camel.kafkaconnector.jmsapacheactivemqsink.CamelJmsapacheactivemqsinkSinkConnector
-tasks.max=1
-
-# use the kafka converters that better suit your needs, these are just defaults:
-key.converter=org.apache.kafka.connect.storage.StringConverter
-value.converter=org.apache.kafka.connect.storage.StringConverter
-
-# comma separated topics to get messages from
-topics=
-
-# mandatory properties (for a complete properties list see the connector documentation):
-
-# The JMS URL Example: tcp://my-host:61616
-camel.kamelet.jms-apache-activemq-sink.brokerURL=
-# The JMS destination name Example: person
-camel.kamelet.jms-apache-activemq-sink.destinationName=
diff --git a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsink/CamelJmsapacheactivemqsinkSinkConnector.java b/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsink/CamelJmsapacheactivemqsinkSinkConnector.java
deleted file mode 100644
index 7b54dce..0000000
--- a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsink/CamelJmsapacheactivemqsinkSinkConnector.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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.
- */package org.apache.camel.kafkaconnector.jmsapacheactivemqsink;
-
-import javax.annotation.Generated;
-import org.apache.camel.kafkaconnector.CamelSinkConnector;
-import org.apache.kafka.common.config.ConfigDef;
-import org.apache.kafka.connect.connector.Task;
-
-@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
-public class CamelJmsapacheactivemqsinkSinkConnector
-        extends
-            CamelSinkConnector {
-
-    @Override
-    public ConfigDef config() {
-        return CamelJmsapacheactivemqsinkSinkConnectorConfig.conf();
-    }
-    @Override
-    public Class<? extends Task> taskClass() {
-        return CamelJmsapacheactivemqsinkSinkTask.class;
-    }
-}
\ No newline at end of file
diff --git a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsink/CamelJmsapacheactivemqsinkSinkConnectorConfig.java b/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsink/CamelJmsapacheactivemqsinkSinkConnectorConfig.java
deleted file mode 100644
index 6375daf..0000000
--- a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsink/CamelJmsapacheactivemqsinkSinkConnectorConfig.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * 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.
- */package org.apache.camel.kafkaconnector.jmsapacheactivemqsink;
-
-import java.util.Map;
-import javax.annotation.Generated;
-import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
-import org.apache.kafka.common.config.ConfigDef;
-
-@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
-public class CamelJmsapacheactivemqsinkSinkConnectorConfig
-        extends
-            CamelSinkConnectorConfig {
-
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_DESTINATION_TYPE_CONF = "camel.kamelet.jms-apache-activemq-sink.destinationType";
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_DESTINATION_TYPE_DOC = "The JMS destination type (i.e.: queue or topic)";
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_DESTINATION_TYPE_DEFAULT = "queue";
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_DESTINATION_NAME_CONF = "camel.kamelet.jms-apache-activemq-sink.destinationName";
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_DESTINATION_NAME_DOC = "The JMS destination name Example: person";
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_DESTINATION_NAME_DEFAULT = null;
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_BROKER_URLCONF = "camel.kamelet.jms-apache-activemq-sink.brokerURL";
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_BROKER_URLDOC = "The JMS URL Example: tcp://my-host:61616";
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_BROKER_URLDEFAULT = null;
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_PASSWORD_CONF = "camel.kamelet.jms-apache-activemq-sink.password";
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_PASSWORD_DOC = "Target AMQ Broker password Example: password1!";
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_PASSWORD_DEFAULT = "admin";
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_USERNAME_CONF = "camel.kamelet.jms-apache-activemq-sink.username";
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_USERNAME_DOC = "Target AMQ Broker Username Example: userName";
-    public static final String CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_USERNAME_DEFAULT = "admin";
-
-    public CamelJmsapacheactivemqsinkSinkConnectorConfig(
-            ConfigDef config,
-            Map<String, String> parsedConfig) {
-        super(config, parsedConfig);
-    }
-
-    public CamelJmsapacheactivemqsinkSinkConnectorConfig(
-            Map<String, String> parsedConfig) {
-        this(conf(), parsedConfig);
-    }
-
-    public static ConfigDef conf() {
-        ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
-        conf.define(CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_DESTINATION_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_DESTINATION_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_DESTINATION_TYPE_DOC);
-        conf.define(CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_DESTINATION_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_DESTINATION_NAME_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_DESTINATION_NAME_DOC);
-        conf.define(CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_BROKER_URLCONF, ConfigDef.Type.STRING, CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_BROKER_URLDEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_BROKER_URLDOC);
-        conf.define(CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_PASSWORD_CONF, ConfigDef.Type.PASSWORD, CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_PASSWORD_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_PASSWORD_DOC);
-        conf.define(CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_USERNAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_USERNAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JMSAPACHEACTIVEMQSINK_KAMELET_USERNAME_DOC);
-        return conf;
-    }
-}
\ No newline at end of file
diff --git a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsink/CamelJmsapacheactivemqsinkSinkTask.java b/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsink/CamelJmsapacheactivemqsinkSinkTask.java
deleted file mode 100644
index d286efe..0000000
--- a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsink/CamelJmsapacheactivemqsinkSinkTask.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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.
- */package org.apache.camel.kafkaconnector.jmsapacheactivemqsink;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.annotation.Generated;
-import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
-import org.apache.camel.kafkaconnector.CamelSinkTask;
-
-@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
-public class CamelJmsapacheactivemqsinkSinkTask extends CamelSinkTask {
-
-    @Override
-    protected CamelSinkConnectorConfig getCamelSinkConnectorConfig(
-            Map<String, String> props) {
-        return new CamelJmsapacheactivemqsinkSinkConnectorConfig(props);
-    }
-    @Override
-    protected String getSinkKamelet() {
-        return "kamelet:jms-apache-activemq-sink";
-    }
-}
\ No newline at end of file
diff --git a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/resources/META-INF/LICENSE.txt b/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
diff --git a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/resources/META-INF/NOTICE.txt b/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/resources/kamelets/jms-apache-activemq-sink.kamelet.yaml b/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/resources/kamelets/jms-apache-activemq-sink.kamelet.yaml
deleted file mode 100644
index 1702f5c..0000000
--- a/connectors/camel-jms-apache-activemq-sink-kafka-connector/src/main/resources/kamelets/jms-apache-activemq-sink.kamelet.yaml
+++ /dev/null
@@ -1,96 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
-metadata:
-  name: jms-apache-activemq-sink
-  annotations:
-    camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iOTQuNTY2OTFtbSIKICAgaGVpZ2h0PSI4My44MzA0NDRtbSIKICAgdmlld0JveD0iMCAwIDk0LjU2NjkxIDgzLjgzMDQ0NCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnNDM5MCI+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp6b29tPSIyLjgiCiAgICAgaW5rc2NhcGU6Y3g9IjI0LjE0MTM0OSIKICAgICBpbmtzY2FwZTpjeT0iMjAxLjA3Njk3IgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJtbSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMzg0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIyMDU2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6c25hcC10ZXh0LWJhc2VsaW5lPSJ0cnVlIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9InRydWUiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIyMCIKICAgICBpbmtzY2FwZTpzbmFwLW9iamVjdC1taWRwb2ludHM9InRydWUiCiAgICAgZml0LW1hcmdpbi10b3A9IjEwIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMTAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMTAiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjEwIiAvPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0Mzg0Ij4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQiIKICAgICAgIGlua3NjYXBlOmxhYmVsPSJEcm9wIFNoYWRvdyIKICAgICAgIGlkPSJmaWx0ZXI1NTI5Ij4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDU1MTkiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjEiIC8+CiAgICAgIDxmZUdhdXNzaWFuQmx1cgogICAgICAgICBpbj0iY29tcG9zaXRlMSIKICAgICAgICAgc3RkRGV2aWF0aW9uPSIwLjIiCiAgICAgICAgIHJlc3VsdD0iYmx1ciIKICAgICAgICAgaWQ9ImZlR2F1c3NpYW5CbHVyNTUyMyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU1MjUiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjciIC8+CiAgICA8L2ZpbHRlcj4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQjsiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iRHJvcCBTaGFkb3ciCiAgICAgICBpZD0iZmlsdGVyNTYiPgogICAgICA8ZmVGbG9vZAogICAgICAgICBmbG9vZC1vcGFjaXR5PSIwLjQ5ODAzOSIKICAgICAgICAgZmxvb2QtY29sb3I9InJnYigwLDAsMCkiCiAgICAgICAgIHJlc3VsdD0iZmxvb2QiCiAgICAgICAgIGlkPSJmZUZsb29kNDYiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTQ4IiAvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIKICAgICAgICAgaW49ImNvbXBvc2l0ZTEiCiAgICAgICAgIHN0ZERldmlhdGlvbj0iMC4xIgogICAgICAgICByZXN1bHQ9ImJsdXIiCiAgICAgICAgIGlkPSJmZUdhdXNzaWFuQmx1cjUwIiAvPgogICAgICA8ZmVPZmZzZXQKICAgICAgICAgZHg9IjEiCiAgICAgICAgIGR5PSIxIgogICAgICAgICByZXN1bHQ9Im9mZnNldCIKICAgICAgICAgaWQ9ImZlT2Zmc2V0NTIiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU0IiAvPgogICAgPC9maWx0ZXI+CiAgICA8ZmlsdGVyCiAgICAgICBzdHlsZT0iY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOnNSR0I7IgogICAgICAgaW5rc2NhcGU6bGFiZWw9IkRyb3AgU2hhZG93IgogICAgICAgaWQ9ImZpbHRlcjYzIj4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDUyIiAvPgogICAgICA8ZmVDb21wb3NpdGUKICAgICAgICAgaW49ImZsb29kIgogICAgICAgICBpbjI9IlNvdXJjZUdyYXBoaWMiCiAgICAgICAgIG9wZXJhdG9yPSJpbiIKICAgICAgICAgcmVzdWx0PSJjb21wb3NpdGUxIgogICAgICAgICBpZD0iZmVDb21wb3NpdGU1NSIgLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyCiAgICAgICAgIGluPSJjb21wb3NpdGUxIgogICAgICAgICBzdGREZXZpYXRpb249IjAuMSIKICAgICAgICAgcmVzdWx0PSJibHVyIgogICAgICAgICBpZD0iZmVHYXVzc2lhbkJsdXI1NyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU5IiAvPgogICAgICA8ZmVDb21wb3NpdGUKICAgICAgICAgaW49IlNvdXJjZUdyYXBoaWMiCiAgICAgICAgIGluMj0ib2Zmc2V0IgogICAgICAgICBvcGVyYXRvcj0ib3ZlciIKICAgICAgICAgcmVzdWx0PSJjb21wb3NpdGUyIgogICAgICAgICBpZD0iZmVDb21wb3NpdGU2MSIgLz4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0Mzg3Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZSAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZwogICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiCiAgICAgaWQ9ImxheWVyMiIKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMiIKICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTguMDUyNzc3OCwtOTYuOTUwODk0KSI+CiAgICA8ZwogICAgICAgaWQ9Imc1MDczIgogICAgICAgc3R5bGU9ImZpbHRlcjp1cmwoI2ZpbHRlcjU1MjkpIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNjQuNjk3MTkzLDE1My41NTE4MSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDYgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzU5OSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjE0Ni4yOTQzNCIKICAgICAgICAgc29kaXBvZGk6Y3g9IjYwLjU2MzgwMSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4MyIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNTIuNjMyMTM3LDE0Ni41NTMwOSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzUgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwNCIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjEzOS4yOTU2MiIKICAgICAgICAgc29kaXBvZGk6Y3g9IjQ4LjQ5ODc0NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00IgogICAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjM5NDY5ODU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteD0iMy4zNTY0NDcyZS0wNiIKICAgICAgICAgZD0ibSA2NC43NzEyNjMsMTM5LjU4ODg5IC04LjM1MTg0OCwtMC4wNDkxIC00LjEzMzM5MiwtNy4yNTc0NyA0LjIxODQ1NSwtNy4yMDgzNiA4LjM1MTg0OSwwLjA0OTEgNC4xMzMzOTIsNy4yNTc0NyB6IgogICAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgICBpbmtzY2FwZTpmbGF0c2lkZWQ9InRydWUiCiAgICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuNTc2Njc2NiIKICAgICAgICAgc29kaXBvZGk6YXJnMT0iMS4wNTMwNzc4IgogICAgICAgICBzb2RpcG9kaTpyMj0iNi4wNDczNjA5IgogICAgICAgICBzb2RpcG9kaTpyMT0iOC4zNTE5OTI2IgogICAgICAgICBzb2RpcG9kaTpjeT0iMTMyLjMzMTQyIgogICAgICAgICBzb2RpcG9kaTpjeD0iNjAuNjM3ODcxIgogICAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgICAgaWQ9InBhdGg0ODgzLTQtMiIKICAgICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNjQuNzY1NDg4LDEyNS43MDIyOCAtOC4zNTE4NDksLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkzLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwOSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjExOC40NDQ4MSIKICAgICAgICAgc29kaXBvZGk6Y3g9IjYwLjYzMjA5NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00LTItMCIKICAgICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNTIuNjk2MDM3LDEzMi42NzYxMSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwOSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjEyNS40MTg2NCIKICAgICAgICAgc29kaXBvZGk6Y3g9IjQ4LjU2MjY0NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00LTItMC0wIgogICAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjM5NDY5ODU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8L2c+CiAgPC9nPgogIDxnCiAgICAgaWQ9ImxheWVyMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlua3NjYXBlOmxhYmVsPSJMYXllciAxIgogICAgIHN0eWxlPSJkaXNwbGF5OmlubGluZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtOC4wNTI3Nzc4LC05Ni45NTA4OTQpIj4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDcyMDU3NSwwLjAxNTUzMzQ1LC0wLjAxNTUzMzQ1LDAuMDcyMDU3NSwtNTkuMDMxMDU1LDYzLjc5NTc3NikiCiAgICAgICBkPSJtIDE4NDkuMTM4Nyw2NDAuMzUyNTIgLTk2LjgyNDIsMjAuNTU4MDIgLTY2LjIxNTgsLTczLjU3MzE2IDMwLjYwODMsLTk0LjEzMTE4IDk2LjgyNDIsLTIwLjU1ODAyIDY2LjIxNTgsNzMuNTczMTYgeiIKICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4zNjE1OCIKICAgICAgIHNvZGlwb2RpOmFyZzE9IjAuODM3OTgxMjMiCiAgICAgICBzb2RpcG9kaTpyMj0iNDkuNDkxMjgiCiAgICAgICBzb2RpcG9kaTpyMT0iOTguOTgyNTU5IgogICAgICAgc29kaXBvZGk6Y3k9IjU2Ni43NzkzNiIKICAgICAgIHNvZGlwb2RpOmN4PSIxNzgyLjkyMjkiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgIGlkPSJwYXRoNTAxOS0wMi05IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNjMTI3NjY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTcxLjE3MDE3OSw3MC43NTk5ODUpIgogICAgICAgZD0ibSAxODQ5LjEzODcsNjQwLjM1MjUyIC05Ni44MjQyLDIwLjU1ODAyIC02Ni4yMTU4LC03My41NzMxNiAzMC42MDgzLC05NC4xMzExOCA5Ni44MjQyLC0yMC41NTgwMiA2Ni4yMTU4LDczLjU3MzE2IHoiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgIGlua3NjYXBlOmZsYXRzaWRlZD0idHJ1ZSIKICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuMzYxNTgiCiAgICAgICBzb2RpcG9kaTphcmcxPSIwLjgzNzk4MTIzIgogICAgICAgc29kaXBvZGk6cjI9IjQ5LjQ5MTI4IgogICAgICAgc29kaXBvZGk6cjE9Ijk4Ljk4MjU1OSIKICAgICAgIHNvZGlwb2RpOmN5PSI1NjYuNzc5MzYiCiAgICAgICBzb2RpcG9kaTpjeD0iMTc4Mi45MjI5IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICBpZD0icGF0aDUwMTktMC01LTEiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6IzNlNDg5ZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MTU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii05Ni43ODY0NjUiCiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjE5OC4xMDMzNSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDcyMDU3NSwwLjAxNTUzMzQ1LC0wLjAxNTUzMzQ1LDAuMDcyMDU3NSwtNTkuMTA2NDksNzcuNzU4MjkzKSIKICAgICAgIGQ9Im0gMTg0OS4xMzg3LDY0MC4zNTI1MiAtOTYuODI0MiwyMC41NTgwMiAtNjYuMjE1OCwtNzMuNTczMTYgMzAuNjA4MywtOTQuMTMxMTggOTYuODI0MiwtMjAuNTU4MDIgNjYuMjE1OCw3My41NzMxNiB6IgogICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpmbGF0c2lkZWQ9InRydWUiCiAgICAgICBzb2RpcG9kaTphcmcyPSIxLjM2MTU4IgogICAgICAgc29kaXBvZGk6YXJnMT0iMC44Mzc5ODEyMyIKICAgICAgIHNvZGlwb2RpOnIyPSI0OS40OTEyOCIKICAgICAgIHNvZGlwb2RpOnIxPSI5OC45ODI1NTkiCiAgICAgICBzb2RpcG9kaTpjeT0iNTY2Ljc3OTM2IgogICAgICAgc29kaXBvZGk6Y3g9IjE3ODIuOTIyOSIKICAgICAgIHNvZGlwb2RpOnNpZGVzPSI2IgogICAgICAgaWQ9InBhdGg1MDE5LTQtMS0yIgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiM3MTQwOTk7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTcxLjEwNjI4MSw1Ni44ODI5OSkiCiAgICAgICBkPSJtIDE4NDkuMTM4Nyw2NDAuMzUyNTIgLTk2LjgyNDIsMjAuNTU4MDIgLTY2LjIxNTgsLTczLjU3MzE2IDMwLjYwODMsLTk0LjEzMTE4IDk2LjgyNDIsLTIwLjU1ODAyIDY2LjIxNTgsNzMuNTczMTYgeiIKICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4zNjE1OCIKICAgICAgIHNvZGlwb2RpOmFyZzE9IjAuODM3OTgxMjMiCiAgICAgICBzb2RpcG9kaTpyMj0iNDkuNDkxMjgiCiAgICAgICBzb2RpcG9kaTpyMT0iOTguOTgyNTU5IgogICAgICAgc29kaXBvZGk6Y3k9IjU2Ni43NzkzNiIKICAgICAgIHNvZGlwb2RpOmN4PSIxNzgyLjkyMjkiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgIGlkPSJwYXRoNTAxOS0wLTQtOS04IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiM3ODkzMmM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTU5LjAzNjgyOCw0OS45MDkxNjcpIgogICAgICAgZD0ibSAxODQ5LjEzODcsNjQwLjM1MjUyIC05Ni44MjQyLDIwLjU1ODAyIC02Ni4yMTU4LC03My41NzMxNiAzMC42MDgzLC05NC4xMzExOCA5Ni44MjQyLC0yMC41NTgwMiA2Ni4yMTU4LDczLjU3MzE2IHoiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgIGlua3NjYXBlOmZsYXRzaWRlZD0idHJ1ZSIKICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuMzYxNTgiCiAgICAgICBzb2RpcG9kaTphcmcxPSIwLjgzNzk4MTIzIgogICAgICAgc29kaXBvZGk6cjI9IjQ5LjQ5MTI4IgogICAgICAgc29kaXBvZGk6cjE9Ijk4Ljk4MjU1OSIKICAgICAgIHNvZGlwb2RpOmN5PSI1NjYuNzc5MzYiCiAgICAgICBzb2RpcG9kaTpjeD0iMTc4Mi45MjI5IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICBpZD0icGF0aDUwMTktMC0wLTctOSIKICAgICAgIHN0eWxlPSJvcGFjaXR5OjE7ZmlsbDojY2YyNDJhO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDozO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTQ2LjI5NDM0IgogICAgICAgY3g9IjYwLjU2MzgwMSIKICAgICAgIGlkPSJwYXRoNTU1My03IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMzIwMDcxMTM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHI9IjEuNjAwMzU1NiIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItdHlwZT0icG9seWxpbmUiCiAgICAgICBpZD0icGF0aDU1OTIiCiAgICAgICBkPSJNIDYxLjc0NzY1NywxMTcuNzEwMzkgNDcuNDgwNzksMTI1Ljg4NDI0IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi03IgogICAgICAgZD0ibSA0OC41MTM2MjcsMTI0LjE5Njc1IDAuMDQ4MTEsMTYuNDQyNDIiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjUyMzc1Mjc1O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLXR5cGU9InBvbHlsaW5lIgogICAgICAgaWQ9InBhdGg1NTkyLTctMSIKICAgICAgIGQ9Im0gNDcuNTI0NTE5LDEzOC43MTQ2OCAxNC4xMzY0NTMsOC4zOTc0MSIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuNTIzNzUyNzU7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItdHlwZT0icG9seWxpbmUiCiAgICAgICBpZD0icGF0aDU1OTItNy03IgogICAgICAgZD0ibSA2MC41OTAxMDEsMTE3LjEzMjUxIDAuMDQ4MTEsMTYuNDQyNDIiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjUyMzc1Mjc1O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLXR5cGU9InBvbHlsaW5lIgogICAgICAgaWQ9InBhdGg1NTkyLTctNCIKICAgICAgIGQ9Im0gNjAuNjU3Mzc0LDEzMS4wOTI3OCAwLjA0ODExLDE2LjQ0MjQyIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM4MDAwMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi01IgogICAgICAgZD0ibSA2MS43NjU1NSwxMzEuNzA4MDEgLTE0LjI2Njg2Nyw4LjE3Mzg2IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi03LTEtMyIKICAgICAgIGQ9Im0gNDcuNTYzODksMTI0Ljg0MDg2IDE0LjEzNjQ1Myw4LjM5NzQxIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHRleHQKICAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZTowLjY3NzAwOTUycHg7bGluZS1oZWlnaHQ6MCU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMDU2NDE3NDVweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxO2ZpbHRlcjp1cmwoI2ZpbHRlcjYzKSIKICAgICAgIHg9IjE3Ljk5MjA5NiIKICAgICAgIHk9IjE2OC45NjY5NSIKICAgICAgIGlkPSJ0ZXh0NTA5My0xLTQiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSI+PHRzcGFuCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTIuNDI3NjQ1NjhweDtsaW5lLWhlaWdodDoxLjI1O2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4IgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW41MDk1LTMtNiIKICAgICAgICAgeD0iMTcuOTkyMDk2IgogICAgICAgICB5PSIxNjguOTY2OTUiPjx0c3BhbgogICAgICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjA1NjQxNzQ1cHgiCiAgICAgICAgICAgaWQ9InRzcGFuNTA5Ny0xLTQiPkFDVElWRTwvdHNwYW4+PC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjAuNjc3MDA5NTJweDtsaW5lLWhlaWdodDowJTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICB4PSIxOS43OTU2MjIiCiAgICAgICB5PSIxNTguMzA0OTMiCiAgICAgICBpZD0idGV4dDY5MzgtNCIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5Ij48dHNwYW4KICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo1LjExNzE5Nzk5cHg7bGluZS1oZWlnaHQ6MS4yNTtmaWxsOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMDU2NDE3NDVweCIKICAgICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgICAgaWQ9InRzcGFuNjk0MC0xIgogICAgICAgICB4PSIxOS43OTU2MjIiCiAgICAgICAgIHk9IjE1OC4zMDQ5MyI+QVBBQ0hFPC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjAuNjc3MDA5NTJweDtsaW5lLWhlaWdodDowJTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6I2MxMjc2NjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjE7ZmlsdGVyOnVybCgjZmlsdGVyNTYpIgogICAgICAgeD0iNjcuNzg2ODY1IgogICAgICAgeT0iMTY4Ljk2Njk1IgogICAgICAgaWQ9InRleHQ1MDkzLTEtNC0yLTgtOS00IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW41MDk1LTMtNi01LTUtNi0zIgogICAgICAgICB4PSI2Ny43ODY4NjUiCiAgICAgICAgIHk9IjE2OC45NjY5NSIKICAgICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMi40Mjc2NDU2OHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjA1NjQxNzQ1cHgiPk1RPC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgaWQ9InRleHQzOTYwIgogICAgICAgeT0iMTYwLjY1NzczIgogICAgICAgeD0iODkuNDMyMTc1IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6My4xNzUwMDAwOHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMDU3ODkzMTsiCiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPjx0c3BhbgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjA1Nzg5MzE7Zm9udC1zaXplOjMuMTc1MDAwMDhweDsiCiAgICAgICAgIHk9IjE2MC42NTc3MyIKICAgICAgICAgeD0iODkuNDMyMTc1IgogICAgICAgICBpZD0idHNwYW4zOTU4IgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIj7CrjwvdHNwYW4+PC90ZXh0PgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTM5LjI0MjE5IgogICAgICAgY3g9IjQ4LjMzMzcwNiIKICAgICAgIGlkPSJwYXRoNTU1My03LTEiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTMyLjQ4NTg2IgogICAgICAgY3g9IjYwLjkwMTQxMyIKICAgICAgIGlkPSJwYXRoNTU1My03LTMiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTI1LjQxODY0IgogICAgICAgY3g9IjQ4LjU2MjY0NSIKICAgICAgIGlkPSJwYXRoNTU1My03LTAiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTE4LjQ0NDgyIgogICAgICAgY3g9IjYwLjYzMjA5NSIKICAgICAgIGlkPSJwYXRoNTU1My03LTM5IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMzIwMDcxMTM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHI9IjEuNjAwMzU1NiIgLz4KICA8L2c+Cjwvc3ZnPgo="
-    camel.apache.org/kamelet.support.level: "Stable"
-    camel.apache.org/provider: "Apache Software Foundation"
-    camel.apache.org/catalog.version: "3.21.0"
-    camel.apache.org/kamelet.group: "JMS"
-    camel.apache.org/kamelet.namespace: "Messaging"
-  labels:
-    camel.apache.org/kamelet.type: "sink"
-    camel.apache.org/requires.runtime: camel-k
-spec:
-  definition:
-    title: "JMS - Apache ActiveMQ Classic Sink"
-    description: "A Kamelet that can produce events to an Apache ActiveMQ Classic message broker using JMS"
-    required:
-      - destinationName
-      - brokerURL
-    type: object
-    properties:
-      destinationType:
-        title: "Destination Type"
-        description: "The JMS destination type (i.e.: queue or topic)"
-        type: string
-        default: queue
-      destinationName:
-        title: "Destination Name"
-        description: "The JMS destination name"
-        type: string
-        example: person
-      brokerURL:
-        title: "Broker URL"
-        description: "The JMS URL"
-        type: string
-        example: "tcp://my-host:61616"
-      password:
-        default: admin
-        description: Target AMQ Broker password
-        example: password1!
-        title: Broker Password
-        type: string
-        format: password
-        x-descriptors:
-          - urn:alm:descriptor:com.tectonic.ui:password
-          - urn:camel:group:credentials        
-      username:
-        default: admin
-        description: Target AMQ Broker Username
-        example: userName
-        title: Broker Username
-        type: string    
-        x-descriptors:
-          - urn:camel:group:credentials             
-  dependencies:
-  - "camel:kamelet"
-  - "camel:activemq"
-  - "mvn:org.apache.activemq:activemq-http:5.17.3"
-  template:
-    beans:
-      - name: sinkConnectionFactoryBean-local
-        type: "#class:org.apache.activemq.ActiveMQConnectionFactory"
-        property:
-          - key: userName
-            value: '{{username}}'
-          - key: password
-            value: '{{password}}'
-          - key: brokerURL
-            value: '{{brokerURL}}'
-      - name: activemq-sink-local
-        type: '#class:org.apache.camel.component.activemq.ActiveMQComponent'      
-    from:
-      uri: "kamelet:source"
-      steps:
-      - to:
-          uri: "{{activemq-sink-local}}:{{destinationType}}:{{destinationName}}"
-          parameters:
-            connectionFactory: "#bean:{{sinkConnectionFactoryBean-local}}"
\ No newline at end of file
diff --git a/connectors/camel-jms-apache-activemq-source-kafka-connector/pom.xml b/connectors/camel-jms-apache-activemq-source-kafka-connector/pom.xml
deleted file mode 100644
index d04b9de..0000000
--- a/connectors/camel-jms-apache-activemq-source-kafka-connector/pom.xml
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.camel.kafkaconnector</groupId>
-    <artifactId>connectors</artifactId>
-    <version>4.0.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>camel-jms-apache-activemq-source-kafka-connector</artifactId>
-  <name>Camel-Kafka-Connector :: jms-apache-activemq-source</name>
-  <description>Camel Kafka Connector for jms-apache-activemq-source</description>
-  <dependencies>
-    <!-- Kafka -->
-    <dependency>
-      <groupId>org.apache.kafka</groupId>
-      <artifactId>connect-api</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.kafka</groupId>
-      <artifactId>connect-transforms</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <!-- Camel -->
-    <!--START OF GENERATED CODE-->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-activemq</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.activemq</groupId>
-      <artifactId>activemq-http</artifactId>
-      <version>5.17.3</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel.kafkaconnector</groupId>
-      <artifactId>camel-kafka-connector</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-yaml-dsl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-kamelet</artifactId>
-    </dependency>
-    <!--END OF GENERATED CODE-->
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>${version.maven.surefire.plugin}</version>
-        <configuration>
-          <failIfNoTests>false</failIfNoTests>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>${version.maven.jar}</version>
-        <configuration>
-          <archive>
-            <manifest>
-              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
-            </manifest>
-          </archive>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>2.5.1</version>
-        <inherited>true</inherited>
-        <configuration>
-          <source>1.8</source>
-          <target>1.8</target>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <version>3.3.0</version>
-        <configuration>
-          <descriptors>
-            <descriptor>src/main/assembly/package.xml</descriptor>
-          </descriptors>
-        </configuration>
-        <executions>
-          <execution>
-            <id>make-assembly</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-  <!--START OF GENERATED CODE-->
-  <repositories>
-    <!-- camel-jira -->
-    <repository>
-      <id>atlassian-public</id>
-      <url>https://packages.atlassian.com/maven-external</url>
-      <name>Atlassian Public Repo</name>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-      <releases>
-        <enabled>true</enabled>
-      </releases>
-    </repository>
-    <!-- camel-ipfs and camel-weka -->
-    <repository>
-      <id>jboss.thirdparty</id>
-      <name>JBoss Thirdparty Repository</name>
-      <url>https://repository.jboss.org/nexus/service/local/repositories/thirdparty-releases/content/</url>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-      <releases>
-        <enabled>true</enabled>
-      </releases>
-    </repository>
-  </repositories>
-  <!--END OF GENERATED CODE-->
-</project>
diff --git a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/generated/descriptors/connector-source.properties b/connectors/camel-jms-apache-activemq-source-kafka-connector/src/generated/descriptors/connector-source.properties
deleted file mode 100644
index 9e5de74..0000000
--- a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/generated/descriptors/connector-source.properties
+++ /dev/null
@@ -1 +0,0 @@
-camel-jms-apache-activemq-source-source
\ No newline at end of file
diff --git a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/generated/resources/camel-jms-apache-activemq-source-source.json b/connectors/camel-jms-apache-activemq-source-kafka-connector/src/generated/resources/camel-jms-apache-activemq-source-source.json
deleted file mode 100644
index 1554706..0000000
--- a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/generated/resources/camel-jms-apache-activemq-source-source.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-	"connector": {
-		"class": "org.apache.camel.kafkaconnector.jmsapacheactivemqsource.CamelJmsapacheactivemqsourceSourceConnector",
-		"artifactId": "camel-jms-apache-activemq-source-kafka-connector",
-		"groupId": "org.apache.camel.kafkaconnector",
-		"id": "camel-jms-apache-activemq-source-source",
-		"type": "source",
-		"version": "3.20.1-SNAPSHOT",
-		"description": "A Kamelet that can consume events from an Apache ActiveMQ Classic message broker using JMS"
-	},
-	"properties": {
-		"camel.kamelet.jms-apache-activemq-source.destinationType": {
-			"name": "camel.kamelet.jms-apache-activemq-source.destinationType",
-			"description": "The JMS destination type (i.e.: queue or topic)",
-			"defaultValue": "\"queue\"",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.kamelet.jms-apache-activemq-source.destinationName": {
-			"name": "camel.kamelet.jms-apache-activemq-source.destinationName",
-			"description": "The JMS destination name",
-			"priority": "HIGH",
-			"required": "true"
-		},
-		"camel.kamelet.jms-apache-activemq-source.brokerURL": {
-			"name": "camel.kamelet.jms-apache-activemq-source.brokerURL",
-			"description": "The JMS URL Example: tcp:\/\/k3s-node-master.usersys.redhat.com:31616",
-			"priority": "HIGH",
-			"required": "true"
-		},
-		"camel.kamelet.jms-apache-activemq-source.password": {
-			"name": "camel.kamelet.jms-apache-activemq-source.password",
-			"description": "Target AMQ Broker password Example: password1!",
-			"defaultValue": "\"admin\"",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
-		"camel.kamelet.jms-apache-activemq-source.username": {
-			"name": "camel.kamelet.jms-apache-activemq-source.username",
-			"description": "Target AMQ Broker userName Example: userName",
-			"defaultValue": "\"admin\"",
-			"priority": "MEDIUM",
-			"required": "false"
-		}
-	}
-}
\ No newline at end of file
diff --git a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/assembly/package.xml b/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/assembly/package.xml
deleted file mode 100644
index 05f0b1a..0000000
--- a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/assembly/package.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<assembly>
-  <!-- Assembles a packaged version targeting OS installation. -->
-  <id>package</id>
-  <formats>
-    <format>tar.gz</format>
-  </formats>
-  <includeBaseDirectory>false</includeBaseDirectory>
-  <fileSets>
-    <fileSet>
-      <directory>${project.basedir}/../..</directory>
-      <outputDirectory>${project.artifactId}/</outputDirectory>
-      <includes>
-        <include>README*</include>
-        <include>LICENSE*</include>
-        <include>NOTICE*</include>
-        <include>licenses/</include>
-      </includes>
-    </fileSet>
-    <fileSet>
-      <directory>${project.basedir}/src/main/docs</directory>
-      <outputDirectory>docs/</outputDirectory>
-      <includes>
-        <include>**/*</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-  <dependencySets>
-    <dependencySet>
-      <outputDirectory>${project.artifactId}/</outputDirectory>
-      <useProjectArtifact>true</useProjectArtifact>
-      <useTransitiveFiltering>true</useTransitiveFiltering>
-      <excludes>
-        <exclude>org.apache.kafka:connect-api</exclude>
-      </excludes>
-    </dependencySet>
-  </dependencySets>
-</assembly>
diff --git a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/docs/examples/CamelJmsapacheactivemqsourceSourceConnector.properties b/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/docs/examples/CamelJmsapacheactivemqsourceSourceConnector.properties
deleted file mode 100644
index 8d2de0a..0000000
--- a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/docs/examples/CamelJmsapacheactivemqsourceSourceConnector.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-name=CamelJms-apache-activemq-sourceSourceConnector
-connector.class=org.apache.camel.kafkaconnector.jmsapacheactivemqsource.CamelJmsapacheactivemqsourceSourceConnector
-tasks.max=1
-
-# use the kafka converters that better suit your needs, these are just defaults:
-key.converter=org.apache.kafka.connect.storage.StringConverter
-value.converter=org.apache.kafka.connect.storage.StringConverter
-
-# comma separated topics to send messages into
-topics=
-
-# mandatory properties (for a complete properties list see the connector documentation):
-
-# The JMS URL Example: tcp://k3s-node-master.usersys.redhat.com:31616
-camel.kamelet.jms-apache-activemq-source.brokerURL=
-# The JMS destination name
-camel.kamelet.jms-apache-activemq-source.destinationName=
diff --git a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsource/CamelJmsapacheactivemqsourceSourceConnector.java b/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsource/CamelJmsapacheactivemqsourceSourceConnector.java
deleted file mode 100644
index 1659b4f..0000000
--- a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsource/CamelJmsapacheactivemqsourceSourceConnector.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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.
- */package org.apache.camel.kafkaconnector.jmsapacheactivemqsource;
-
-import javax.annotation.Generated;
-import org.apache.camel.kafkaconnector.CamelSourceConnector;
-import org.apache.kafka.common.config.ConfigDef;
-import org.apache.kafka.connect.connector.Task;
-
-@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
-public class CamelJmsapacheactivemqsourceSourceConnector
-        extends
-            CamelSourceConnector {
-
-    @Override
-    public ConfigDef config() {
-        return CamelJmsapacheactivemqsourceSourceConnectorConfig.conf();
-    }
-    @Override
-    public Class<? extends Task> taskClass() {
-        return CamelJmsapacheactivemqsourceSourceTask.class;
-    }
-}
\ No newline at end of file
diff --git a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsource/CamelJmsapacheactivemqsourceSourceConnectorConfig.java b/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsource/CamelJmsapacheactivemqsourceSourceConnectorConfig.java
deleted file mode 100644
index 322c514..0000000
--- a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsource/CamelJmsapacheactivemqsourceSourceConnectorConfig.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * 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.
- */package org.apache.camel.kafkaconnector.jmsapacheactivemqsource;
-
-import java.util.Map;
-import javax.annotation.Generated;
-import org.apache.camel.kafkaconnector.CamelSourceConnectorConfig;
-import org.apache.kafka.common.config.ConfigDef;
-
-@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
-public class CamelJmsapacheactivemqsourceSourceConnectorConfig
-        extends
-            CamelSourceConnectorConfig {
-
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_DESTINATION_TYPE_CONF = "camel.kamelet.jms-apache-activemq-source.destinationType";
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_DESTINATION_TYPE_DOC = "The JMS destination type (i.e.: queue or topic)";
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_DESTINATION_TYPE_DEFAULT = "queue";
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_DESTINATION_NAME_CONF = "camel.kamelet.jms-apache-activemq-source.destinationName";
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_DESTINATION_NAME_DOC = "The JMS destination name";
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_DESTINATION_NAME_DEFAULT = null;
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_BROKER_URLCONF = "camel.kamelet.jms-apache-activemq-source.brokerURL";
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_BROKER_URLDOC = "The JMS URL Example: tcp://k3s-node-master.usersys.redhat.com:31616";
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_BROKER_URLDEFAULT = null;
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_PASSWORD_CONF = "camel.kamelet.jms-apache-activemq-source.password";
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_PASSWORD_DOC = "Target AMQ Broker password Example: password1!";
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_PASSWORD_DEFAULT = "admin";
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_USERNAME_CONF = "camel.kamelet.jms-apache-activemq-source.username";
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_USERNAME_DOC = "Target AMQ Broker userName Example: userName";
-    public static final String CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_USERNAME_DEFAULT = "admin";
-
-    public CamelJmsapacheactivemqsourceSourceConnectorConfig(
-            ConfigDef config,
-            Map<String, String> parsedConfig) {
-        super(config, parsedConfig);
-    }
-
-    public CamelJmsapacheactivemqsourceSourceConnectorConfig(
-            Map<String, String> parsedConfig) {
-        this(conf(), parsedConfig);
-    }
-
-    public static ConfigDef conf() {
-        ConfigDef conf = new ConfigDef(CamelSourceConnectorConfig.conf());
-        conf.define(CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_DESTINATION_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_DESTINATION_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_DESTINATION_TYPE_DOC);
-        conf.define(CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_DESTINATION_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_DESTINATION_NAME_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_DESTINATION_NAME_DOC);
-        conf.define(CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_BROKER_URLCONF, ConfigDef.Type.STRING, CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_BROKER_URLDEFAULT, ConfigDef.Importance.HIGH, CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_BROKER_URLDOC);
-        conf.define(CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_PASSWORD_CONF, ConfigDef.Type.PASSWORD, CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_PASSWORD_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_PASSWORD_DOC);
-        conf.define(CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_USERNAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_USERNAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_JMSAPACHEACTIVEMQSOURCE_KAMELET_USERNAME_DOC);
-        return conf;
-    }
-}
\ No newline at end of file
diff --git a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsource/CamelJmsapacheactivemqsourceSourceTask.java b/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsource/CamelJmsapacheactivemqsourceSourceTask.java
deleted file mode 100644
index e10e734..0000000
--- a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jmsapacheactivemqsource/CamelJmsapacheactivemqsourceSourceTask.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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.
- */package org.apache.camel.kafkaconnector.jmsapacheactivemqsource;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.annotation.Generated;
-import org.apache.camel.kafkaconnector.CamelSourceConnectorConfig;
-import org.apache.camel.kafkaconnector.CamelSourceTask;
-
-@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
-public class CamelJmsapacheactivemqsourceSourceTask extends CamelSourceTask {
-
-    @Override
-    protected CamelSourceConnectorConfig getCamelSourceConnectorConfig(
-            Map<String, String> props) {
-        return new CamelJmsapacheactivemqsourceSourceConnectorConfig(props);
-    }
-    @Override
-    protected String getSourceKamelet() {
-        return "kamelet:jms-apache-activemq-source";
-    }
-}
\ No newline at end of file
diff --git a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/resources/META-INF/LICENSE.txt b/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
diff --git a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/resources/META-INF/NOTICE.txt b/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/resources/kamelets/jms-apache-activemq-source.kamelet.yaml b/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/resources/kamelets/jms-apache-activemq-source.kamelet.yaml
deleted file mode 100644
index 95b37ae..0000000
--- a/connectors/camel-jms-apache-activemq-source-kafka-connector/src/main/resources/kamelets/jms-apache-activemq-source.kamelet.yaml
+++ /dev/null
@@ -1,96 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-apiVersion: camel.apache.org/v1alpha1
-kind: Kamelet
-metadata:
-  name: jms-apache-activemq-source
-  annotations:
-    camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iOTQuNTY2OTFtbSIKICAgaGVpZ2h0PSI4My44MzA0NDRtbSIKICAgdmlld0JveD0iMCAwIDk0LjU2NjkxIDgzLjgzMDQ0NCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnNDM5MCI+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp6b29tPSIyLjgiCiAgICAgaW5rc2NhcGU6Y3g9IjI0LjE0MTM0OSIKICAgICBpbmtzY2FwZTpjeT0iMjAxLjA3Njk3IgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJtbSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMzg0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIyMDU2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6c25hcC10ZXh0LWJhc2VsaW5lPSJ0cnVlIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9InRydWUiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIyMCIKICAgICBpbmtzY2FwZTpzbmFwLW9iamVjdC1taWRwb2ludHM9InRydWUiCiAgICAgZml0LW1hcmdpbi10b3A9IjEwIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMTAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMTAiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjEwIiAvPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0Mzg0Ij4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQiIKICAgICAgIGlua3NjYXBlOmxhYmVsPSJEcm9wIFNoYWRvdyIKICAgICAgIGlkPSJmaWx0ZXI1NTI5Ij4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDU1MTkiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjEiIC8+CiAgICAgIDxmZUdhdXNzaWFuQmx1cgogICAgICAgICBpbj0iY29tcG9zaXRlMSIKICAgICAgICAgc3RkRGV2aWF0aW9uPSIwLjIiCiAgICAgICAgIHJlc3VsdD0iYmx1ciIKICAgICAgICAgaWQ9ImZlR2F1c3NpYW5CbHVyNTUyMyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU1MjUiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjciIC8+CiAgICA8L2ZpbHRlcj4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQjsiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iRHJvcCBTaGFkb3ciCiAgICAgICBpZD0iZmlsdGVyNTYiPgogICAgICA8ZmVGbG9vZAogICAgICAgICBmbG9vZC1vcGFjaXR5PSIwLjQ5ODAzOSIKICAgICAgICAgZmxvb2QtY29sb3I9InJnYigwLDAsMCkiCiAgICAgICAgIHJlc3VsdD0iZmxvb2QiCiAgICAgICAgIGlkPSJmZUZsb29kNDYiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTQ4IiAvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIKICAgICAgICAgaW49ImNvbXBvc2l0ZTEiCiAgICAgICAgIHN0ZERldmlhdGlvbj0iMC4xIgogICAgICAgICByZXN1bHQ9ImJsdXIiCiAgICAgICAgIGlkPSJmZUdhdXNzaWFuQmx1cjUwIiAvPgogICAgICA8ZmVPZmZzZXQKICAgICAgICAgZHg9IjEiCiAgICAgICAgIGR5PSIxIgogICAgICAgICByZXN1bHQ9Im9mZnNldCIKICAgICAgICAgaWQ9ImZlT2Zmc2V0NTIiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU0IiAvPgogICAgPC9maWx0ZXI+CiAgICA8ZmlsdGVyCiAgICAgICBzdHlsZT0iY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOnNSR0I7IgogICAgICAgaW5rc2NhcGU6bGFiZWw9IkRyb3AgU2hhZG93IgogICAgICAgaWQ9ImZpbHRlcjYzIj4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDUyIiAvPgogICAgICA8ZmVDb21wb3NpdGUKICAgICAgICAgaW49ImZsb29kIgogICAgICAgICBpbjI9IlNvdXJjZUdyYXBoaWMiCiAgICAgICAgIG9wZXJhdG9yPSJpbiIKICAgICAgICAgcmVzdWx0PSJjb21wb3NpdGUxIgogICAgICAgICBpZD0iZmVDb21wb3NpdGU1NSIgLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyCiAgICAgICAgIGluPSJjb21wb3NpdGUxIgogICAgICAgICBzdGREZXZpYXRpb249IjAuMSIKICAgICAgICAgcmVzdWx0PSJibHVyIgogICAgICAgICBpZD0iZmVHYXVzc2lhbkJsdXI1NyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU5IiAvPgogICAgICA8ZmVDb21wb3NpdGUKICAgICAgICAgaW49IlNvdXJjZUdyYXBoaWMiCiAgICAgICAgIGluMj0ib2Zmc2V0IgogICAgICAgICBvcGVyYXRvcj0ib3ZlciIKICAgICAgICAgcmVzdWx0PSJjb21wb3NpdGUyIgogICAgICAgICBpZD0iZmVDb21wb3NpdGU2MSIgLz4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0Mzg3Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZSAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZwogICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiCiAgICAgaWQ9ImxheWVyMiIKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMiIKICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTguMDUyNzc3OCwtOTYuOTUwODk0KSI+CiAgICA8ZwogICAgICAgaWQ9Imc1MDczIgogICAgICAgc3R5bGU9ImZpbHRlcjp1cmwoI2ZpbHRlcjU1MjkpIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNjQuNjk3MTkzLDE1My41NTE4MSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDYgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzU5OSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjE0Ni4yOTQzNCIKICAgICAgICAgc29kaXBvZGk6Y3g9IjYwLjU2MzgwMSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4MyIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNTIuNjMyMTM3LDE0Ni41NTMwOSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzUgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwNCIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjEzOS4yOTU2MiIKICAgICAgICAgc29kaXBvZGk6Y3g9IjQ4LjQ5ODc0NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00IgogICAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjM5NDY5ODU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteD0iMy4zNTY0NDcyZS0wNiIKICAgICAgICAgZD0ibSA2NC43NzEyNjMsMTM5LjU4ODg5IC04LjM1MTg0OCwtMC4wNDkxIC00LjEzMzM5MiwtNy4yNTc0NyA0LjIxODQ1NSwtNy4yMDgzNiA4LjM1MTg0OSwwLjA0OTEgNC4xMzMzOTIsNy4yNTc0NyB6IgogICAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgICBpbmtzY2FwZTpmbGF0c2lkZWQ9InRydWUiCiAgICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuNTc2Njc2NiIKICAgICAgICAgc29kaXBvZGk6YXJnMT0iMS4wNTMwNzc4IgogICAgICAgICBzb2RpcG9kaTpyMj0iNi4wNDczNjA5IgogICAgICAgICBzb2RpcG9kaTpyMT0iOC4zNTE5OTI2IgogICAgICAgICBzb2RpcG9kaTpjeT0iMTMyLjMzMTQyIgogICAgICAgICBzb2RpcG9kaTpjeD0iNjAuNjM3ODcxIgogICAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgICAgaWQ9InBhdGg0ODgzLTQtMiIKICAgICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNjQuNzY1NDg4LDEyNS43MDIyOCAtOC4zNTE4NDksLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkzLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwOSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjExOC40NDQ4MSIKICAgICAgICAgc29kaXBvZGk6Y3g9IjYwLjYzMjA5NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00LTItMCIKICAgICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNTIuNjk2MDM3LDEzMi42NzYxMSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwOSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjEyNS40MTg2NCIKICAgICAgICAgc29kaXBvZGk6Y3g9IjQ4LjU2MjY0NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00LTItMC0wIgogICAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjM5NDY5ODU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8L2c+CiAgPC9nPgogIDxnCiAgICAgaWQ9ImxheWVyMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlua3NjYXBlOmxhYmVsPSJMYXllciAxIgogICAgIHN0eWxlPSJkaXNwbGF5OmlubGluZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtOC4wNTI3Nzc4LC05Ni45NTA4OTQpIj4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDcyMDU3NSwwLjAxNTUzMzQ1LC0wLjAxNTUzMzQ1LDAuMDcyMDU3NSwtNTkuMDMxMDU1LDYzLjc5NTc3NikiCiAgICAgICBkPSJtIDE4NDkuMTM4Nyw2NDAuMzUyNTIgLTk2LjgyNDIsMjAuNTU4MDIgLTY2LjIxNTgsLTczLjU3MzE2IDMwLjYwODMsLTk0LjEzMTE4IDk2LjgyNDIsLTIwLjU1ODAyIDY2LjIxNTgsNzMuNTczMTYgeiIKICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4zNjE1OCIKICAgICAgIHNvZGlwb2RpOmFyZzE9IjAuODM3OTgxMjMiCiAgICAgICBzb2RpcG9kaTpyMj0iNDkuNDkxMjgiCiAgICAgICBzb2RpcG9kaTpyMT0iOTguOTgyNTU5IgogICAgICAgc29kaXBvZGk6Y3k9IjU2Ni43NzkzNiIKICAgICAgIHNvZGlwb2RpOmN4PSIxNzgyLjkyMjkiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgIGlkPSJwYXRoNTAxOS0wMi05IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNjMTI3NjY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTcxLjE3MDE3OSw3MC43NTk5ODUpIgogICAgICAgZD0ibSAxODQ5LjEzODcsNjQwLjM1MjUyIC05Ni44MjQyLDIwLjU1ODAyIC02Ni4yMTU4LC03My41NzMxNiAzMC42MDgzLC05NC4xMzExOCA5Ni44MjQyLC0yMC41NTgwMiA2Ni4yMTU4LDczLjU3MzE2IHoiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgIGlua3NjYXBlOmZsYXRzaWRlZD0idHJ1ZSIKICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuMzYxNTgiCiAgICAgICBzb2RpcG9kaTphcmcxPSIwLjgzNzk4MTIzIgogICAgICAgc29kaXBvZGk6cjI9IjQ5LjQ5MTI4IgogICAgICAgc29kaXBvZGk6cjE9Ijk4Ljk4MjU1OSIKICAgICAgIHNvZGlwb2RpOmN5PSI1NjYuNzc5MzYiCiAgICAgICBzb2RpcG9kaTpjeD0iMTc4Mi45MjI5IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICBpZD0icGF0aDUwMTktMC01LTEiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6IzNlNDg5ZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MTU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii05Ni43ODY0NjUiCiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjE5OC4xMDMzNSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDcyMDU3NSwwLjAxNTUzMzQ1LC0wLjAxNTUzMzQ1LDAuMDcyMDU3NSwtNTkuMTA2NDksNzcuNzU4MjkzKSIKICAgICAgIGQ9Im0gMTg0OS4xMzg3LDY0MC4zNTI1MiAtOTYuODI0MiwyMC41NTgwMiAtNjYuMjE1OCwtNzMuNTczMTYgMzAuNjA4MywtOTQuMTMxMTggOTYuODI0MiwtMjAuNTU4MDIgNjYuMjE1OCw3My41NzMxNiB6IgogICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpmbGF0c2lkZWQ9InRydWUiCiAgICAgICBzb2RpcG9kaTphcmcyPSIxLjM2MTU4IgogICAgICAgc29kaXBvZGk6YXJnMT0iMC44Mzc5ODEyMyIKICAgICAgIHNvZGlwb2RpOnIyPSI0OS40OTEyOCIKICAgICAgIHNvZGlwb2RpOnIxPSI5OC45ODI1NTkiCiAgICAgICBzb2RpcG9kaTpjeT0iNTY2Ljc3OTM2IgogICAgICAgc29kaXBvZGk6Y3g9IjE3ODIuOTIyOSIKICAgICAgIHNvZGlwb2RpOnNpZGVzPSI2IgogICAgICAgaWQ9InBhdGg1MDE5LTQtMS0yIgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiM3MTQwOTk7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTcxLjEwNjI4MSw1Ni44ODI5OSkiCiAgICAgICBkPSJtIDE4NDkuMTM4Nyw2NDAuMzUyNTIgLTk2LjgyNDIsMjAuNTU4MDIgLTY2LjIxNTgsLTczLjU3MzE2IDMwLjYwODMsLTk0LjEzMTE4IDk2LjgyNDIsLTIwLjU1ODAyIDY2LjIxNTgsNzMuNTczMTYgeiIKICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4zNjE1OCIKICAgICAgIHNvZGlwb2RpOmFyZzE9IjAuODM3OTgxMjMiCiAgICAgICBzb2RpcG9kaTpyMj0iNDkuNDkxMjgiCiAgICAgICBzb2RpcG9kaTpyMT0iOTguOTgyNTU5IgogICAgICAgc29kaXBvZGk6Y3k9IjU2Ni43NzkzNiIKICAgICAgIHNvZGlwb2RpOmN4PSIxNzgyLjkyMjkiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgIGlkPSJwYXRoNTAxOS0wLTQtOS04IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiM3ODkzMmM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTU5LjAzNjgyOCw0OS45MDkxNjcpIgogICAgICAgZD0ibSAxODQ5LjEzODcsNjQwLjM1MjUyIC05Ni44MjQyLDIwLjU1ODAyIC02Ni4yMTU4LC03My41NzMxNiAzMC42MDgzLC05NC4xMzExOCA5Ni44MjQyLC0yMC41NTgwMiA2Ni4yMTU4LDczLjU3MzE2IHoiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgIGlua3NjYXBlOmZsYXRzaWRlZD0idHJ1ZSIKICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuMzYxNTgiCiAgICAgICBzb2RpcG9kaTphcmcxPSIwLjgzNzk4MTIzIgogICAgICAgc29kaXBvZGk6cjI9IjQ5LjQ5MTI4IgogICAgICAgc29kaXBvZGk6cjE9Ijk4Ljk4MjU1OSIKICAgICAgIHNvZGlwb2RpOmN5PSI1NjYuNzc5MzYiCiAgICAgICBzb2RpcG9kaTpjeD0iMTc4Mi45MjI5IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICBpZD0icGF0aDUwMTktMC0wLTctOSIKICAgICAgIHN0eWxlPSJvcGFjaXR5OjE7ZmlsbDojY2YyNDJhO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDozO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTQ2LjI5NDM0IgogICAgICAgY3g9IjYwLjU2MzgwMSIKICAgICAgIGlkPSJwYXRoNTU1My03IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMzIwMDcxMTM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHI9IjEuNjAwMzU1NiIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItdHlwZT0icG9seWxpbmUiCiAgICAgICBpZD0icGF0aDU1OTIiCiAgICAgICBkPSJNIDYxLjc0NzY1NywxMTcuNzEwMzkgNDcuNDgwNzksMTI1Ljg4NDI0IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi03IgogICAgICAgZD0ibSA0OC41MTM2MjcsMTI0LjE5Njc1IDAuMDQ4MTEsMTYuNDQyNDIiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjUyMzc1Mjc1O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLXR5cGU9InBvbHlsaW5lIgogICAgICAgaWQ9InBhdGg1NTkyLTctMSIKICAgICAgIGQ9Im0gNDcuNTI0NTE5LDEzOC43MTQ2OCAxNC4xMzY0NTMsOC4zOTc0MSIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuNTIzNzUyNzU7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItdHlwZT0icG9seWxpbmUiCiAgICAgICBpZD0icGF0aDU1OTItNy03IgogICAgICAgZD0ibSA2MC41OTAxMDEsMTE3LjEzMjUxIDAuMDQ4MTEsMTYuNDQyNDIiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjUyMzc1Mjc1O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLXR5cGU9InBvbHlsaW5lIgogICAgICAgaWQ9InBhdGg1NTkyLTctNCIKICAgICAgIGQ9Im0gNjAuNjU3Mzc0LDEzMS4wOTI3OCAwLjA0ODExLDE2LjQ0MjQyIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM4MDAwMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi01IgogICAgICAgZD0ibSA2MS43NjU1NSwxMzEuNzA4MDEgLTE0LjI2Njg2Nyw4LjE3Mzg2IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi03LTEtMyIKICAgICAgIGQ9Im0gNDcuNTYzODksMTI0Ljg0MDg2IDE0LjEzNjQ1Myw4LjM5NzQxIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHRleHQKICAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZTowLjY3NzAwOTUycHg7bGluZS1oZWlnaHQ6MCU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMDU2NDE3NDVweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxO2ZpbHRlcjp1cmwoI2ZpbHRlcjYzKSIKICAgICAgIHg9IjE3Ljk5MjA5NiIKICAgICAgIHk9IjE2OC45NjY5NSIKICAgICAgIGlkPSJ0ZXh0NTA5My0xLTQiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSI+PHRzcGFuCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTIuNDI3NjQ1NjhweDtsaW5lLWhlaWdodDoxLjI1O2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4IgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW41MDk1LTMtNiIKICAgICAgICAgeD0iMTcuOTkyMDk2IgogICAgICAgICB5PSIxNjguOTY2OTUiPjx0c3BhbgogICAgICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjA1NjQxNzQ1cHgiCiAgICAgICAgICAgaWQ9InRzcGFuNTA5Ny0xLTQiPkFDVElWRTwvdHNwYW4+PC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjAuNjc3MDA5NTJweDtsaW5lLWhlaWdodDowJTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICB4PSIxOS43OTU2MjIiCiAgICAgICB5PSIxNTguMzA0OTMiCiAgICAgICBpZD0idGV4dDY5MzgtNCIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5Ij48dHNwYW4KICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo1LjExNzE5Nzk5cHg7bGluZS1oZWlnaHQ6MS4yNTtmaWxsOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMDU2NDE3NDVweCIKICAgICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgICAgaWQ9InRzcGFuNjk0MC0xIgogICAgICAgICB4PSIxOS43OTU2MjIiCiAgICAgICAgIHk9IjE1OC4zMDQ5MyI+QVBBQ0hFPC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjAuNjc3MDA5NTJweDtsaW5lLWhlaWdodDowJTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6I2MxMjc2NjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjE7ZmlsdGVyOnVybCgjZmlsdGVyNTYpIgogICAgICAgeD0iNjcuNzg2ODY1IgogICAgICAgeT0iMTY4Ljk2Njk1IgogICAgICAgaWQ9InRleHQ1MDkzLTEtNC0yLTgtOS00IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW41MDk1LTMtNi01LTUtNi0zIgogICAgICAgICB4PSI2Ny43ODY4NjUiCiAgICAgICAgIHk9IjE2OC45NjY5NSIKICAgICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMi40Mjc2NDU2OHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjA1NjQxNzQ1cHgiPk1RPC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgaWQ9InRleHQzOTYwIgogICAgICAgeT0iMTYwLjY1NzczIgogICAgICAgeD0iODkuNDMyMTc1IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6My4xNzUwMDAwOHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMDU3ODkzMTsiCiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPjx0c3BhbgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjA1Nzg5MzE7Zm9udC1zaXplOjMuMTc1MDAwMDhweDsiCiAgICAgICAgIHk9IjE2MC42NTc3MyIKICAgICAgICAgeD0iODkuNDMyMTc1IgogICAgICAgICBpZD0idHNwYW4zOTU4IgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIj7CrjwvdHNwYW4+PC90ZXh0PgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTM5LjI0MjE5IgogICAgICAgY3g9IjQ4LjMzMzcwNiIKICAgICAgIGlkPSJwYXRoNTU1My03LTEiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTMyLjQ4NTg2IgogICAgICAgY3g9IjYwLjkwMTQxMyIKICAgICAgIGlkPSJwYXRoNTU1My03LTMiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTI1LjQxODY0IgogICAgICAgY3g9IjQ4LjU2MjY0NSIKICAgICAgIGlkPSJwYXRoNTU1My03LTAiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTE4LjQ0NDgyIgogICAgICAgY3g9IjYwLjYzMjA5NSIKICAgICAgIGlkPSJwYXRoNTU1My03LTM5IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMzIwMDcxMTM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHI9IjEuNjAwMzU1NiIgLz4KICA8L2c+Cjwvc3ZnPgo="
-    camel.apache.org/kamelet.support.level: "Stable"
-    camel.apache.org/provider: "Apache Software Foundation"
-    camel.apache.org/catalog.version: "3.21.0"
-    camel.apache.org/kamelet.group: "JMS"
-    camel.apache.org/kamelet.namespace: "Messaging"
-  labels:
-    camel.apache.org/kamelet.type: "source"
-    camel.apache.org/requires.runtime: camel-k
-spec:
-  definition:
-    title: "JMS - Apache ActiveMQ Classic Source"
-    description: "A Kamelet that can consume events from an Apache ActiveMQ Classic message broker using JMS"
-    required:
-      - destinationName
-      - brokerURL
-    type: object
-    properties:
-      destinationType:
-        title: "Destination Type"
-        description: "The JMS destination type (i.e.: queue or topic)"
-        type: string
-        default: queue
-      destinationName:
-        title: "Destination Name"
-        description: "The JMS destination name"
-        type: string
-      brokerURL:
-        title: "Broker URL"
-        description: "The JMS URL"
-        type: string
-        example: "tcp://k3s-node-master.usersys.redhat.com:31616"
-      password:
-        default: admin
-        description: Target AMQ Broker password
-        example: password1!
-        title: Broker Password
-        type: string
-        format: password
-        x-descriptors:
-          - urn:alm:descriptor:com.tectonic.ui:password
-          - urn:camel:group:credentials        
-      username:
-        default: admin
-        description: Target AMQ Broker userName
-        example: userName
-        title: Broker Username
-        type: string    
-        x-descriptors:
-          - urn:camel:group:credentials    
-
-  dependencies:
-  - "camel:activemq"
-  - "camel:kamelet"
-  - "mvn:org.apache.activemq:activemq-http:5.17.3"
-  template:
-    beans:
-      - name: activemq-source-local
-        type: '#class:org.apache.camel.component.activemq.ActiveMQComponent'    
-      - name: sourceConnectionFactoryBean-local
-        type: "#class:org.apache.activemq.ActiveMQConnectionFactory"
-        property:
-          - key: brokerURL
-            value: '{{brokerURL}}'
-          - key: userName
-            value: '{{username}}'
-          - key: password
-            value: '{{password}}'            
-    from:
-      uri: "{{activemq-source-local}}:{{destinationType}}:{{destinationName}}"
-      parameters:
-        connectionFactory: "#bean:{{sourceConnectionFactoryBean-local}}"
-      steps:
-      - to:
-          uri: "kamelet:sink"
\ No newline at end of file
diff --git a/connectors/pom.xml b/connectors/pom.xml
index dcc1656..d6d034c 100644
--- a/connectors/pom.xml
+++ b/connectors/pom.xml
@@ -306,8 +306,6 @@
         <module>camel-jira-update-issue-sink-kafka-connector</module>
         <module>camel-jms-amqp-10-sink-kafka-connector</module>
         <module>camel-jms-amqp-10-source-kafka-connector</module>
-        <module>camel-jms-apache-activemq-sink-kafka-connector</module>
-        <module>camel-jms-apache-activemq-source-kafka-connector</module>
         <module>camel-jms-apache-artemis-sink-kafka-connector</module>
         <module>camel-jms-apache-artemis-source-kafka-connector</module>
         <module>camel-jms-ibm-mq-sink-kafka-connector</module>
