From d1e851bd74e0d3f4556c907ad050ecdde2e68e85 Mon Sep 17 00:00:00 2001 From: Claudio Miranda Date: Fri, 29 Apr 2022 00:50:57 -0300 Subject: [PATCH] Provide IBM MQ Sink and Source Kamelets Fix https://github.com/apache/camel-kamelets/issues/901 --- docs/modules/ROOT/nav.adoc | 2 + kamelets/jms-ibm-mq-sink.kamelet.yaml | 122 ++++++++++++++++++ kamelets/jms-ibm-mq-source.kamelet.yaml | 122 ++++++++++++++++++ .../kamelets/jms-ibm-mq-sink.kamelet.yaml | 122 ++++++++++++++++++ .../kamelets/jms-ibm-mq-source.kamelet.yaml | 122 ++++++++++++++++++ .../camel-k/jms-ibm-mq-sink-binding.yaml | 25 ++++ .../camel-k/jms-ibm-mq-source-binding.yaml | 26 ++++ .../core/jms-ibm-mq-sink-binding.yaml | 18 +++ .../core/jms-ibm-mq-source-binding.yaml | 15 +++ 9 files changed, 574 insertions(+) create mode 100644 kamelets/jms-ibm-mq-sink.kamelet.yaml create mode 100644 kamelets/jms-ibm-mq-source.kamelet.yaml create mode 100644 library/camel-kamelets/src/main/resources/kamelets/jms-ibm-mq-sink.kamelet.yaml create mode 100644 library/camel-kamelets/src/main/resources/kamelets/jms-ibm-mq-source.kamelet.yaml create mode 100644 templates/bindings/camel-k/jms-ibm-mq-sink-binding.yaml create mode 100644 templates/bindings/camel-k/jms-ibm-mq-source-binding.yaml create mode 100644 templates/bindings/core/jms-ibm-mq-sink-binding.yaml create mode 100644 templates/bindings/core/jms-ibm-mq-source-binding.yaml diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index fed37847a..5aad588fb 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -94,6 +94,8 @@ * xref:jms-apache-activemq-source.adoc[] * xref:jms-apache-artemis-sink.adoc[] * xref:jms-apache-artemis-source.adoc[] +* xref:jms-ibm-mq-sink.adoc[] +* xref:jms-ibm-mq-source.adoc[] * xref:jolt-transformation-action.adoc[] * xref:jslt-action.adoc[] * xref:json-deserialize-action.adoc[] diff --git a/kamelets/jms-ibm-mq-sink.kamelet.yaml b/kamelets/jms-ibm-mq-sink.kamelet.yaml new file mode 100644 index 000000000..a3f96c3db --- /dev/null +++ b/kamelets/jms-ibm-mq-sink.kamelet.yaml @@ -0,0 +1,122 @@ +# --------------------------------------------------------------------------- +# 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-ibm-mq-sink + annotations: + camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNTczLjA4IDU3Ni45NyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmZmY7fS5jbHMtMntmaWxsOiM1YTc3YjU7fS5jbHMtM3tmaWxsOiNhZmJlZTA7fS5jbHMtNHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgpO30uY2xzLTV7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTIpO308L3N0eWxlPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNjQuNSw1MTAuODhWNDU3aDQuMDh2NTMuOTFabTQ3Ljc4LTI3LjcxYTEzLjE0LDEzLjE0LDAsMCwxLDkuMjMsMTNjMCw5LjYyLTYuMjgsMTQuNjktMTUuODIsMTQuNjlIMTg1LjI0VjQ1N2gxOS44NGM4Ljk0LDAsMTUuNiw1LjE1LDE1LjYsMTQuMDhhMTIuMzgsMTIuMzgsMCwwLDEtOC40LDEyLjEyWm0tMjIuOTUsMjQuMDhoMTUuOWM3LjM1LDAsMTIuMTktNC4xNywxMi4xOS0xMS4wNnMtNC44NC0xMS4wNS0xMi4xOS0xMS4wNWgtMTUuOXYyMi4xMVptMTUuMy00Ni42NWgtMTUuM3YyMC45aDE1LjNjNi41MSwwLDEyLTMsMTItMTAuNDVzLTUuNDUtMTAuNDUtMTItMTAuNDVabTcyLjYxLDUwLjI4VjQ2Ni40M2wtMTYuMzUsMzYuODhIMjU2LjhsLTE2LjY2LTM2Ljg4djQ0LjQ1aC00LjA5VjQ1N2g0LjA5bDE4Ljc4LDQxLjU3TDI3Ny4yNCw0NTdoNC4wOXY1My45MVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTM0OS43LDUxMC44NFY0NzcuMjhoLS4xOGwtMTAuOTEsMjUuODRIMzMybC0xMC45MS0yNS44NEgzMjF2MzMuNTZoLTcuOVY0NTdoNy40NGwxNSwzNS4wN0wzNTAuMTMsNDU3aDcuNDZ2NTMuODFabTU0LjItMTAsNi44OCw1LjY1LTQuNjksNS42MS02LjU4LTUuNDRxLTQuNjIsNC41MS0xMi4zLDQuNjZhMTcuODksMTcuODksMCwwLDEtMTAuMjUtMy4xLDE3LjcsMTcuNywwLDAsMS02LjA4LTYuNTdjLS4zOC0uODEtLjczLTEuNTktMS0yLjMyYTE1LjQ1LDE1LjQ1LDAsMCwxLS43Mi0yLjg4LDE0NS4yOSwxNDUuMjksMCwwLDEsMC0yNSwxNS4zOCwxNS4zOCwwLDAsMSwxLjc1LTUuMTMsMTguMzMsMTguMzMsMCwwLDEsNi4wOC02LjY0LDE3LjQ3LDE3LjQ3LDAsMCwxLDEwLjI1LTMsMTcuNzYsMTcuNzYsMCwwLDEsMTAuMzYsMywxOCwxOCwwLDAsMSw1Ljk0LDYuNjQsMTIuNzksMTIuNzksMCwwLDEsMS44Miw1LjEzLDEwNy4yMywxMDcuMjMsMCwwLDEsLjQ2LDEyLjU1cTAsOC4zOC0uMzYsMTEuN2ExNC41MSwxNC41MSwwLDAsMS0xLjUzLDUuMTdabS02LjU0LTI3LjcxYTExLjI2LDExLjI2LDAsMCwwLTUuMjYtNy4yNCwxMS4xOCwxMS4xOCwwLDAsMC00LjkxLTEuMTUsMTAuNjMsMTAuNjMsMCwwLDAtNC44LDEuMTUsMTAuMDksMTAuMDksMCwwLDAtMy4yOSwyLjc3LDksOSwwLDAsMC0yLDQuNDgsNjYuNyw2Ni43LDAsMCwwLS41NywxMC44Myw2NS40Nyw2NS40NywwLDAsMCwuNTcsMTAuNzcsOSw5LDAsMCwwLDIsNC41NCw5LjQ3LDkuNDcsMCwwLDAsMy4yOSwyLjcxLDkuMTEsOS4xMSwwLDAsMCw0LjgsMS4yMiw4LjYyLDguNjIsMCwwLDAsNS44NC0xLjg5bC02LjY2LTUuNDcsNC42OS01LjU5LDYuMDksNXEuNzUtMi43My43NS0xMS4yOGE3MC42LDcwLjYsMCwwLDAtLjU0LTEwLjg0WiIvPjwvY2xpcFBhdGg+PC9kZWZzPjx0aXRsZT5JQk0gSVE8L3RpdGxlPjxjaXJjbGUgY2xhc3M9ImNscy0yIiBjeD0iMjg3LjY0IiBjeT0iMjg3LjIiIHI9IjI3OC41Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0zIiBwb2ludHM9IjQ1OC4xNyA0MjYuNjcgMTE3LjExIDQyNi42NyAxMTcuMTEgMTUzLjU1IDcwLjkxIDE1My41NSA3MC45MSAxMzEuNTUgMTM5LjExIDEzMS41NSAxMzkuMTEgNDA0LjY3IDQzNi4xNyA0MDQuNjcgNDM2LjE3IDEzMS41NSA1MDQuMzcgMTMxLjU1IDUwNC4zNyAxNTMuNTUgNDU4LjE3IDE1My41NSA0NTguMTcgNDI2LjY3Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjQyMC4yNiAyNTMuMTIgNDIwLjI2IDI0MS43NyAxNTUuMDIgMjQxLjc3IDE1NS4wMiAyNTIuODUgMjg3Ljg4IDMyOS40OSA0MjAuMjYgMjUzLjEyIi8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjI4Ny44OCAzMzkuNzUgMTU1LjAyIDI2My4xMSAxNTUuMDIgMzg4Ljg0IDQyMC4yNiAzODguODQgNDIwLjI2IDI2My4zOCAyODcuODggMzM5Ljc1Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTY0LjUsNTEwLjg4VjQ1N2g0LjA4djUzLjkxWm00Ny43OC0yNy43MWExMy4xNCwxMy4xNCwwLDAsMSw5LjIzLDEzYzAsOS42Mi02LjI4LDE0LjY5LTE1LjgyLDE0LjY5SDE4NS4yNFY0NTdoMTkuODRjOC45NCwwLDE1LjYsNS4xNSwxNS42LDE0LjA4YTEyLjM4LDEyLjM4LDAsMCwxLTguNCwxMi4xMlptLTIyLjk1LDI0LjA4aDE1LjljNy4zNSwwLDEyLjE5LTQuMTcsMTIuMTktMTEuMDZzLTQuODQtMTEuMDUtMTIuMTktMTEuMDVoLTE1Ljl2MjIuMTFabTE1LjMtNDYuNjVoLTE1LjN2MjAuOWgxNS4zYzYuNTEsMCwxMi0zLDEyLTEwLjQ1cy01LjQ1LTEwLjQ1LTEyLTEwLjQ1Wm03Mi42MSw1MC4yOFY0NjYuNDNsLTE2LjM1LDM2Ljg4SDI1Ni44bC0xNi42Ni0zNi44OHY0NC40NWgtNC4wOVY0NTdoNC4wOWwxOC43OCw0MS41N0wyNzcuMjQsNDU3aDQuMDl2NTMuOTFaIi8+PGcgY2xhc3M9ImNscy00Ij48aW1hZ2Ugd2lkdGg9IjEwNzUiIGhlaWdodD0iMTA4NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi42NyAxNi42Nykgc2NhbGUoMC41MykiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCRFFBQUFRK0NBSUFBQUN2Ri9oTEFBQUFDWEJJV1hNQUFCVVJBQUFWRVFGZVBUWjRBQUFYRTBsRVFWUjRYdTNaMFkzQ1FCUUVRUmFSbDUyWlEzOFh3a29JY0V0WDlUMEp0R2JOekFNQUFPQjI0Z1FBQUxqZGRWM1AzUVlBQU9BWHhBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBMHpzNXNBQUFCODEzRWNuaE1BQU9CKzUzbUtFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpEdzJnMkFENXVaM1FTNjFscTdDUUM4eVhNQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSU9HMUd3QWZ0dGJhVFFBQS9pUFBDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUXNHWm10d0VBQVBpNlA3REpHbXpiZ0JrUUFBQUFBRWxGVGtTdVFtQ0MiLz48L2c+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzQ5LjcsNTEwLjg0VjQ3Ny4yOGgtLjE4bC0xMC45MSwyNS44NEgzMzJsLTEwLjkxLTI1Ljg0SDMyMXYzMy41NmgtNy45VjQ1N2g3LjQ0bDE1LDM1LjA3TDM1MC4xMyw0NTdoNy40NnY1My44MVptNTQuMi0xMCw2Ljg4LDUuNjUtNC42OSw1LjYxLTYuNTgtNS40NHEtNC42Miw0LjUxLTEyLjMsNC42NmExNy44OSwxNy44OSwwLDAsMS0xMC4yNS0zLjEsMTcuNywxNy43LDAsMCwxLTYuMDgtNi41N2MtLjM4LS44MS0uNzMtMS41OS0xLTIuMzJhMTUuNDUsMTUuNDUsMCwwLDEtLjcyLTIuODgsMTQ1LjI5LDE0NS4yOSwwLDAsMSwwLTI1LDE1LjM4LDE1LjM4LDAsMCwxLDEuNzUtNS4xMywxOC4zMywxOC4zMywwLDAsMSw2LjA4LTYuNjQsMTcuNDcsMTcuNDcsMCwwLDEsMTAuMjUtMywxNy43NiwxNy43NiwwLDAsMSwxMC4zNiwzLDE4LDE4LDAsMCwxLDUuOTQsNi42NCwxMi43OSwxMi43OSwwLDAsMSwxLjgyLDUuMTMsMTA3LjIzLDEwNy4yMywwLDAsMSwuNDYsMTIuNTVxMCw4LjM4LS4zNiwxMS43YTE0LjUxLDE0LjUxLDAsMCwxLTEuNTMsNS4xN1ptLTYuNTQtMjcuNzFhMTEuMjYsMTEuMjYsMCwwLDAtNS4yNi03LjI0LDExLjE4LDExLjE4LDAsMCwwLTQuOTEtMS4xNSwxMC42MywxMC42MywwLDAsMC00LjgsMS4xNSwxMC4wOSwxMC4wOSwwLDAsMC0zLjI5LDIuNzcsOSw5LDAsMCwwLTIsNC40OCw2Ni43LDY2LjcsMCwwLDAtLjU3LDEwLjgzLDY1LjQ3LDY1LjQ3LDAsMCwwLC41NywxMC43Nyw5LDksMCwwLDAsMiw0LjU0LDkuNDcsOS40NywwLDAsMCwzLjI5LDIuNzEsOS4xMSw5LjExLDAsMCwwLDQuOCwxLjIyLDguNjIsOC42MiwwLDAsMCw1Ljg0LTEuODlsLTYuNjYtNS40Nyw0LjY5LTUuNTksNi4wOSw1cS43NS0yLjczLjc1LTExLjI4YTcwLjYsNzAuNiwwLDAsMC0uNTQtMTAuODRaIi8+PGcgY2xhc3M9ImNscy01Ij48aW1hZ2Ugd2lkdGg9IjEwNzUiIGhlaWdodD0iMTA4NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi42NyAxNi42Nykgc2NhbGUoMC41MykiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCRFFBQUFRK0NBSUFBQUN2Ri9oTEFBQUFDWEJJV1hNQUFCVVJBQUFWRVFGZVBUWjRBQUFYRWtsRVFWUjRYdTNad1cyRVFCUkV3WjBWZVVGbWhQNGR3c2dIekxOVWRlNEVubnJOekFjQUFPQjE0Z1FBQUhqZGZkL2YzUVlBQU9BdmlCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCcG1aamNCQUFCNDFubWVuaE1BQU9COTEzV0pFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVNqdDBBQUxwbVpqZUIzMWxyN1NiQVV6d25BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0RoMkEwQW9HdXR0WnNBOEc5NFRnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVEQ21wbmRCZ0FBNEhFLzZiWWFiTE5wV0pvQUFBQUFTVVZPUks1Q1lJST0iLz48L2c+PC9zdmc+" + camel.apache.org/kamelet.support.level: "Preview" + camel.apache.org/provider: "Apache Software Foundation" + camel.apache.org/catalog.version: "main-SNAPSHOT" + camel.apache.org/kamelet.group: "JMS" + labels: + camel.apache.org/kamelet.type: "sink" + camel.apache.org/requires.runtime: camel-k +spec: + definition: + title: "JMS - IBM MQ Kamelet Sink" + description: |- + A Kamelet that can produce events to an IBM MQ message queue using JMS. + + In your KameletBinding file you'll need to explicitly declare the IBM MQ Server driver dependency in spec->integration->dependencies + + - "mvn:com.ibm.mq:com.ibm.mq.allclient:" + + required: + - serverName + - serverPort + - destinationName + - queueManager + - channel + - username + - password + type: object + properties: + serverName: + title: "IBM MQ Server name" + description: "IBM MQ Server name or address" + type: string + serverPort: + title: "IBM MQ Server Port" + description: "IBM MQ Server port" + type: integer + example: 1414 + destinationType: + title: "Destination Type" + description: "The JMS destination type (queue or topic)" + type: string + default: queue + destinationName: + title: "Destination Name" + description: "The destination name" + type: string + queueManager: + title: "IBM MQ Queue Manager" + description: "Name of the IBM MQ Queue Manager" + type: string + channel: + title: "IBM MQ Channel" + description: "Name of the IBM MQ Channel" + type: string + clientId: + title: "IBM MQ Client ID" + description: "Name of the IBM MQ Client ID" + type: string + username: + title: "Username" + description: "Username to authenticate to IBM MQ server" + type: string + password: + title: "Password" + description: "Password to authenticate to IBM MQ server" + type: string + format: password + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:password + - urn:camel:group:credentials + dependencies: + - "camel:jms" + - "camel:kamelet" + template: + beans: + - name: wmqConnectionFactory + type: "#class:com.ibm.mq.jms.MQQueueConnectionFactory" + property: + - key: XMSC_WMQ_HOST_NAME + value: '{{serverName}}' + - key: XMSC_WMQ_PORT + value: '{{serverPort}}' + - key: XMSC_WMQ_CHANNEL + value: '{{channel}}' + - key: XMSC_WMQ_QUEUE_MANAGER + value: '{{queueManager}}' + - key: XMSC_WMQ_CONNECTION_MODE + value: 1 + - key: XMSC_USERID + value: '{{username}}' + - key: XMSC_PASSWORD + value: '{{password}}' + - key: XMSC_CLIENT_ID + value: '{{?clientId}}' + from: + uri: "kamelet:source" + steps: + - to: + uri: "jms:{{destinationType}}:{{destinationName}}" + parameters: + connectionFactory: "#bean:{{wmqConnectionFactory}}" diff --git a/kamelets/jms-ibm-mq-source.kamelet.yaml b/kamelets/jms-ibm-mq-source.kamelet.yaml new file mode 100644 index 000000000..09ef945be --- /dev/null +++ b/kamelets/jms-ibm-mq-source.kamelet.yaml @@ -0,0 +1,122 @@ +# --------------------------------------------------------------------------- +# 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-ibm-mq-source + annotations: + camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNTczLjA4IDU3Ni45NyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmZmY7fS5jbHMtMntmaWxsOiM1YTc3YjU7fS5jbHMtM3tmaWxsOiNhZmJlZTA7fS5jbHMtNHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgpO30uY2xzLTV7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTIpO308L3N0eWxlPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNjQuNSw1MTAuODhWNDU3aDQuMDh2NTMuOTFabTQ3Ljc4LTI3LjcxYTEzLjE0LDEzLjE0LDAsMCwxLDkuMjMsMTNjMCw5LjYyLTYuMjgsMTQuNjktMTUuODIsMTQuNjlIMTg1LjI0VjQ1N2gxOS44NGM4Ljk0LDAsMTUuNiw1LjE1LDE1LjYsMTQuMDhhMTIuMzgsMTIuMzgsMCwwLDEtOC40LDEyLjEyWm0tMjIuOTUsMjQuMDhoMTUuOWM3LjM1LDAsMTIuMTktNC4xNywxMi4xOS0xMS4wNnMtNC44NC0xMS4wNS0xMi4xOS0xMS4wNWgtMTUuOXYyMi4xMVptMTUuMy00Ni42NWgtMTUuM3YyMC45aDE1LjNjNi41MSwwLDEyLTMsMTItMTAuNDVzLTUuNDUtMTAuNDUtMTItMTAuNDVabTcyLjYxLDUwLjI4VjQ2Ni40M2wtMTYuMzUsMzYuODhIMjU2LjhsLTE2LjY2LTM2Ljg4djQ0LjQ1aC00LjA5VjQ1N2g0LjA5bDE4Ljc4LDQxLjU3TDI3Ny4yNCw0NTdoNC4wOXY1My45MVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTM0OS43LDUxMC44NFY0NzcuMjhoLS4xOGwtMTAuOTEsMjUuODRIMzMybC0xMC45MS0yNS44NEgzMjF2MzMuNTZoLTcuOVY0NTdoNy40NGwxNSwzNS4wN0wzNTAuMTMsNDU3aDcuNDZ2NTMuODFabTU0LjItMTAsNi44OCw1LjY1LTQuNjksNS42MS02LjU4LTUuNDRxLTQuNjIsNC41MS0xMi4zLDQuNjZhMTcuODksMTcuODksMCwwLDEtMTAuMjUtMy4xLDE3LjcsMTcuNywwLDAsMS02LjA4LTYuNTdjLS4zOC0uODEtLjczLTEuNTktMS0yLjMyYTE1LjQ1LDE1LjQ1LDAsMCwxLS43Mi0yLjg4LDE0NS4yOSwxNDUuMjksMCwwLDEsMC0yNSwxNS4zOCwxNS4zOCwwLDAsMSwxLjc1LTUuMTMsMTguMzMsMTguMzMsMCwwLDEsNi4wOC02LjY0LDE3LjQ3LDE3LjQ3LDAsMCwxLDEwLjI1LTMsMTcuNzYsMTcuNzYsMCwwLDEsMTAuMzYsMywxOCwxOCwwLDAsMSw1Ljk0LDYuNjQsMTIuNzksMTIuNzksMCwwLDEsMS44Miw1LjEzLDEwNy4yMywxMDcuMjMsMCwwLDEsLjQ2LDEyLjU1cTAsOC4zOC0uMzYsMTEuN2ExNC41MSwxNC41MSwwLDAsMS0xLjUzLDUuMTdabS02LjU0LTI3LjcxYTExLjI2LDExLjI2LDAsMCwwLTUuMjYtNy4yNCwxMS4xOCwxMS4xOCwwLDAsMC00LjkxLTEuMTUsMTAuNjMsMTAuNjMsMCwwLDAtNC44LDEuMTUsMTAuMDksMTAuMDksMCwwLDAtMy4yOSwyLjc3LDksOSwwLDAsMC0yLDQuNDgsNjYuNyw2Ni43LDAsMCwwLS41NywxMC44Myw2NS40Nyw2NS40NywwLDAsMCwuNTcsMTAuNzcsOSw5LDAsMCwwLDIsNC41NCw5LjQ3LDkuNDcsMCwwLDAsMy4yOSwyLjcxLDkuMTEsOS4xMSwwLDAsMCw0LjgsMS4yMiw4LjYyLDguNjIsMCwwLDAsNS44NC0xLjg5bC02LjY2LTUuNDcsNC42OS01LjU5LDYuMDksNXEuNzUtMi43My43NS0xMS4yOGE3MC42LDcwLjYsMCwwLDAtLjU0LTEwLjg0WiIvPjwvY2xpcFBhdGg+PC9kZWZzPjx0aXRsZT5JQk0gSVE8L3RpdGxlPjxjaXJjbGUgY2xhc3M9ImNscy0yIiBjeD0iMjg3LjY0IiBjeT0iMjg3LjIiIHI9IjI3OC41Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0zIiBwb2ludHM9IjQ1OC4xNyA0MjYuNjcgMTE3LjExIDQyNi42NyAxMTcuMTEgMTUzLjU1IDcwLjkxIDE1My41NSA3MC45MSAxMzEuNTUgMTM5LjExIDEzMS41NSAxMzkuMTEgNDA0LjY3IDQzNi4xNyA0MDQuNjcgNDM2LjE3IDEzMS41NSA1MDQuMzcgMTMxLjU1IDUwNC4zNyAxNTMuNTUgNDU4LjE3IDE1My41NSA0NTguMTcgNDI2LjY3Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjQyMC4yNiAyNTMuMTIgNDIwLjI2IDI0MS43NyAxNTUuMDIgMjQxLjc3IDE1NS4wMiAyNTIuODUgMjg3Ljg4IDMyOS40OSA0MjAuMjYgMjUzLjEyIi8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjI4Ny44OCAzMzkuNzUgMTU1LjAyIDI2My4xMSAxNTUuMDIgMzg4Ljg0IDQyMC4yNiAzODguODQgNDIwLjI2IDI2My4zOCAyODcuODggMzM5Ljc1Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTY0LjUsNTEwLjg4VjQ1N2g0LjA4djUzLjkxWm00Ny43OC0yNy43MWExMy4xNCwxMy4xNCwwLDAsMSw5LjIzLDEzYzAsOS42Mi02LjI4LDE0LjY5LTE1LjgyLDE0LjY5SDE4NS4yNFY0NTdoMTkuODRjOC45NCwwLDE1LjYsNS4xNSwxNS42LDE0LjA4YTEyLjM4LDEyLjM4LDAsMCwxLTguNCwxMi4xMlptLTIyLjk1LDI0LjA4aDE1LjljNy4zNSwwLDEyLjE5LTQuMTcsMTIuMTktMTEuMDZzLTQuODQtMTEuMDUtMTIuMTktMTEuMDVoLTE1Ljl2MjIuMTFabTE1LjMtNDYuNjVoLTE1LjN2MjAuOWgxNS4zYzYuNTEsMCwxMi0zLDEyLTEwLjQ1cy01LjQ1LTEwLjQ1LTEyLTEwLjQ1Wm03Mi42MSw1MC4yOFY0NjYuNDNsLTE2LjM1LDM2Ljg4SDI1Ni44bC0xNi42Ni0zNi44OHY0NC40NWgtNC4wOVY0NTdoNC4wOWwxOC43OCw0MS41N0wyNzcuMjQsNDU3aDQuMDl2NTMuOTFaIi8+PGcgY2xhc3M9ImNscy00Ij48aW1hZ2Ugd2lkdGg9IjEwNzUiIGhlaWdodD0iMTA4NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi42NyAxNi42Nykgc2NhbGUoMC41MykiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCRFFBQUFRK0NBSUFBQUN2Ri9oTEFBQUFDWEJJV1hNQUFCVVJBQUFWRVFGZVBUWjRBQUFYRTBsRVFWUjRYdTNaMFkzQ1FCUUVRUmFSbDUyWlEzOFh3a29JY0V0WDlUMEp0R2JOekFNQUFPQjI0Z1FBQUxqZGRWM1AzUVlBQU9BWHhBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBMHpzNXNBQUFCODEzRWNuaE1BQU9CKzUzbUtFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpEdzJnMkFENXVaM1FTNjFscTdDUUM4eVhNQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSU9HMUd3QWZ0dGJhVFFBQS9pUFBDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUXNHWm10d0VBQVBpNlA3REpHbXpiZ0JrUUFBQUFBRWxGVGtTdVFtQ0MiLz48L2c+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzQ5LjcsNTEwLjg0VjQ3Ny4yOGgtLjE4bC0xMC45MSwyNS44NEgzMzJsLTEwLjkxLTI1Ljg0SDMyMXYzMy41NmgtNy45VjQ1N2g3LjQ0bDE1LDM1LjA3TDM1MC4xMyw0NTdoNy40NnY1My44MVptNTQuMi0xMCw2Ljg4LDUuNjUtNC42OSw1LjYxLTYuNTgtNS40NHEtNC42Miw0LjUxLTEyLjMsNC42NmExNy44OSwxNy44OSwwLDAsMS0xMC4yNS0zLjEsMTcuNywxNy43LDAsMCwxLTYuMDgtNi41N2MtLjM4LS44MS0uNzMtMS41OS0xLTIuMzJhMTUuNDUsMTUuNDUsMCwwLDEtLjcyLTIuODgsMTQ1LjI5LDE0NS4yOSwwLDAsMSwwLTI1LDE1LjM4LDE1LjM4LDAsMCwxLDEuNzUtNS4xMywxOC4zMywxOC4zMywwLDAsMSw2LjA4LTYuNjQsMTcuNDcsMTcuNDcsMCwwLDEsMTAuMjUtMywxNy43NiwxNy43NiwwLDAsMSwxMC4zNiwzLDE4LDE4LDAsMCwxLDUuOTQsNi42NCwxMi43OSwxMi43OSwwLDAsMSwxLjgyLDUuMTMsMTA3LjIzLDEwNy4yMywwLDAsMSwuNDYsMTIuNTVxMCw4LjM4LS4zNiwxMS43YTE0LjUxLDE0LjUxLDAsMCwxLTEuNTMsNS4xN1ptLTYuNTQtMjcuNzFhMTEuMjYsMTEuMjYsMCwwLDAtNS4yNi03LjI0LDExLjE4LDExLjE4LDAsMCwwLTQuOTEtMS4xNSwxMC42MywxMC42MywwLDAsMC00LjgsMS4xNSwxMC4wOSwxMC4wOSwwLDAsMC0zLjI5LDIuNzcsOSw5LDAsMCwwLTIsNC40OCw2Ni43LDY2LjcsMCwwLDAtLjU3LDEwLjgzLDY1LjQ3LDY1LjQ3LDAsMCwwLC41NywxMC43Nyw5LDksMCwwLDAsMiw0LjU0LDkuNDcsOS40NywwLDAsMCwzLjI5LDIuNzEsOS4xMSw5LjExLDAsMCwwLDQuOCwxLjIyLDguNjIsOC42MiwwLDAsMCw1Ljg0LTEuODlsLTYuNjYtNS40Nyw0LjY5LTUuNTksNi4wOSw1cS43NS0yLjczLjc1LTExLjI4YTcwLjYsNzAuNiwwLDAsMC0uNTQtMTAuODRaIi8+PGcgY2xhc3M9ImNscy01Ij48aW1hZ2Ugd2lkdGg9IjEwNzUiIGhlaWdodD0iMTA4NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi42NyAxNi42Nykgc2NhbGUoMC41MykiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCRFFBQUFRK0NBSUFBQUN2Ri9oTEFBQUFDWEJJV1hNQUFCVVJBQUFWRVFGZVBUWjRBQUFYRWtsRVFWUjRYdTNad1cyRVFCUkV3WjBWZVVGbWhQNGR3c2dIekxOVWRlNEVubnJOekFjQUFPQjE0Z1FBQUhqZGZkL2YzUVlBQU9BdmlCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCcG1aamNCQUFCNDFubWVuaE1BQU9COTEzV0pFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVNqdDBBQUxwbVpqZUIzMWxyN1NiQVV6d25BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0RoMkEwQW9HdXR0WnNBOEc5NFRnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVEQ21wbmRCZ0FBNEhFLzZiWWFiTE5wV0pvQUFBQUFTVVZPUks1Q1lJST0iLz48L2c+PC9zdmc+" + camel.apache.org/kamelet.support.level: "Preview" + camel.apache.org/provider: "Apache Software Foundation" + camel.apache.org/catalog.version: "main-SNAPSHOT" + camel.apache.org/kamelet.group: "JMS" + labels: + camel.apache.org/kamelet.type: "source" + camel.apache.org/requires.runtime: camel-k +spec: + definition: + title: "JMS - IBM MQ Kamelet Source" + description: |- + A Kamelet that can read events from an IBM MQ message queue using JMS. + + In your KameletBinding file you'll need to explicitly declare the IBM MQ Server driver dependency in spec->integration->dependencies + + - "mvn:com.ibm.mq:com.ibm.mq.allclient:" + + required: + - serverName + - serverPort + - destinationName + - queueManager + - channel + - username + - password + type: object + properties: + serverName: + title: "IBM MQ Server name" + description: "IBM MQ Server name or address" + type: string + serverPort: + title: "IBM MQ Server Port" + description: "IBM MQ Server port" + type: integer + example: 1414 + destinationType: + title: "Destination Type" + description: "The JMS destination type (queue or topic)" + type: string + default: queue + destinationName: + title: "Destination Name" + description: "The destination name" + type: string + queueManager: + title: "IBM MQ Queue Manager" + description: "Name of the IBM MQ Queue Manager" + type: string + channel: + title: "IBM MQ Channel" + description: "Name of the IBM MQ Channel" + type: string + clientId: + title: "IBM MQ Client ID" + description: "Name of the IBM MQ Client ID" + type: string + username: + title: "Username" + description: "Username to authenticate to IBM MQ server" + type: string + password: + title: "Password" + description: "Password to authenticate to IBM MQ server" + type: string + format: password + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:password + - urn:camel:group:credentials + dependencies: + - "camel:jms" + - "camel:kamelet" + template: + beans: + - name: wmqConnectionFactory + type: "#class:com.ibm.mq.jms.MQQueueConnectionFactory" + property: + - key: XMSC_WMQ_HOST_NAME + value: '{{serverName}}' + - key: XMSC_WMQ_PORT + value: '{{serverPort}}' + - key: XMSC_WMQ_CHANNEL + value: '{{channel}}' + - key: XMSC_WMQ_QUEUE_MANAGER + value: '{{queueManager}}' + - key: XMSC_WMQ_CONNECTION_MODE + value: 1 + - key: XMSC_USERID + value: '{{username}}' + - key: XMSC_PASSWORD + value: '{{password}}' + - key: XMSC_CLIENT_ID + value: '{{?clientId}}' + from: + uri: "jms:{{destinationType}}:{{destinationName}}" + parameters: + connectionFactory: "#bean:{{wmqConnectionFactory}}" + steps: + - to: + uri: "kamelet:sink" diff --git a/library/camel-kamelets/src/main/resources/kamelets/jms-ibm-mq-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/jms-ibm-mq-sink.kamelet.yaml new file mode 100644 index 000000000..a3f96c3db --- /dev/null +++ b/library/camel-kamelets/src/main/resources/kamelets/jms-ibm-mq-sink.kamelet.yaml @@ -0,0 +1,122 @@ +# --------------------------------------------------------------------------- +# 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-ibm-mq-sink + annotations: + camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNTczLjA4IDU3Ni45NyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmZmY7fS5jbHMtMntmaWxsOiM1YTc3YjU7fS5jbHMtM3tmaWxsOiNhZmJlZTA7fS5jbHMtNHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgpO30uY2xzLTV7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTIpO308L3N0eWxlPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNjQuNSw1MTAuODhWNDU3aDQuMDh2NTMuOTFabTQ3Ljc4LTI3LjcxYTEzLjE0LDEzLjE0LDAsMCwxLDkuMjMsMTNjMCw5LjYyLTYuMjgsMTQuNjktMTUuODIsMTQuNjlIMTg1LjI0VjQ1N2gxOS44NGM4Ljk0LDAsMTUuNiw1LjE1LDE1LjYsMTQuMDhhMTIuMzgsMTIuMzgsMCwwLDEtOC40LDEyLjEyWm0tMjIuOTUsMjQuMDhoMTUuOWM3LjM1LDAsMTIuMTktNC4xNywxMi4xOS0xMS4wNnMtNC44NC0xMS4wNS0xMi4xOS0xMS4wNWgtMTUuOXYyMi4xMVptMTUuMy00Ni42NWgtMTUuM3YyMC45aDE1LjNjNi41MSwwLDEyLTMsMTItMTAuNDVzLTUuNDUtMTAuNDUtMTItMTAuNDVabTcyLjYxLDUwLjI4VjQ2Ni40M2wtMTYuMzUsMzYuODhIMjU2LjhsLTE2LjY2LTM2Ljg4djQ0LjQ1aC00LjA5VjQ1N2g0LjA5bDE4Ljc4LDQxLjU3TDI3Ny4yNCw0NTdoNC4wOXY1My45MVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTM0OS43LDUxMC44NFY0NzcuMjhoLS4xOGwtMTAuOTEsMjUuODRIMzMybC0xMC45MS0yNS44NEgzMjF2MzMuNTZoLTcuOVY0NTdoNy40NGwxNSwzNS4wN0wzNTAuMTMsNDU3aDcuNDZ2NTMuODFabTU0LjItMTAsNi44OCw1LjY1LTQuNjksNS42MS02LjU4LTUuNDRxLTQuNjIsNC41MS0xMi4zLDQuNjZhMTcuODksMTcuODksMCwwLDEtMTAuMjUtMy4xLDE3LjcsMTcuNywwLDAsMS02LjA4LTYuNTdjLS4zOC0uODEtLjczLTEuNTktMS0yLjMyYTE1LjQ1LDE1LjQ1LDAsMCwxLS43Mi0yLjg4LDE0NS4yOSwxNDUuMjksMCwwLDEsMC0yNSwxNS4zOCwxNS4zOCwwLDAsMSwxLjc1LTUuMTMsMTguMzMsMTguMzMsMCwwLDEsNi4wOC02LjY0LDE3LjQ3LDE3LjQ3LDAsMCwxLDEwLjI1LTMsMTcuNzYsMTcuNzYsMCwwLDEsMTAuMzYsMywxOCwxOCwwLDAsMSw1Ljk0LDYuNjQsMTIuNzksMTIuNzksMCwwLDEsMS44Miw1LjEzLDEwNy4yMywxMDcuMjMsMCwwLDEsLjQ2LDEyLjU1cTAsOC4zOC0uMzYsMTEuN2ExNC41MSwxNC41MSwwLDAsMS0xLjUzLDUuMTdabS02LjU0LTI3LjcxYTExLjI2LDExLjI2LDAsMCwwLTUuMjYtNy4yNCwxMS4xOCwxMS4xOCwwLDAsMC00LjkxLTEuMTUsMTAuNjMsMTAuNjMsMCwwLDAtNC44LDEuMTUsMTAuMDksMTAuMDksMCwwLDAtMy4yOSwyLjc3LDksOSwwLDAsMC0yLDQuNDgsNjYuNyw2Ni43LDAsMCwwLS41NywxMC44Myw2NS40Nyw2NS40NywwLDAsMCwuNTcsMTAuNzcsOSw5LDAsMCwwLDIsNC41NCw5LjQ3LDkuNDcsMCwwLDAsMy4yOSwyLjcxLDkuMTEsOS4xMSwwLDAsMCw0LjgsMS4yMiw4LjYyLDguNjIsMCwwLDAsNS44NC0xLjg5bC02LjY2LTUuNDcsNC42OS01LjU5LDYuMDksNXEuNzUtMi43My43NS0xMS4yOGE3MC42LDcwLjYsMCwwLDAtLjU0LTEwLjg0WiIvPjwvY2xpcFBhdGg+PC9kZWZzPjx0aXRsZT5JQk0gSVE8L3RpdGxlPjxjaXJjbGUgY2xhc3M9ImNscy0yIiBjeD0iMjg3LjY0IiBjeT0iMjg3LjIiIHI9IjI3OC41Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0zIiBwb2ludHM9IjQ1OC4xNyA0MjYuNjcgMTE3LjExIDQyNi42NyAxMTcuMTEgMTUzLjU1IDcwLjkxIDE1My41NSA3MC45MSAxMzEuNTUgMTM5LjExIDEzMS41NSAxMzkuMTEgNDA0LjY3IDQzNi4xNyA0MDQuNjcgNDM2LjE3IDEzMS41NSA1MDQuMzcgMTMxLjU1IDUwNC4zNyAxNTMuNTUgNDU4LjE3IDE1My41NSA0NTguMTcgNDI2LjY3Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjQyMC4yNiAyNTMuMTIgNDIwLjI2IDI0MS43NyAxNTUuMDIgMjQxLjc3IDE1NS4wMiAyNTIuODUgMjg3Ljg4IDMyOS40OSA0MjAuMjYgMjUzLjEyIi8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjI4Ny44OCAzMzkuNzUgMTU1LjAyIDI2My4xMSAxNTUuMDIgMzg4Ljg0IDQyMC4yNiAzODguODQgNDIwLjI2IDI2My4zOCAyODcuODggMzM5Ljc1Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTY0LjUsNTEwLjg4VjQ1N2g0LjA4djUzLjkxWm00Ny43OC0yNy43MWExMy4xNCwxMy4xNCwwLDAsMSw5LjIzLDEzYzAsOS42Mi02LjI4LDE0LjY5LTE1LjgyLDE0LjY5SDE4NS4yNFY0NTdoMTkuODRjOC45NCwwLDE1LjYsNS4xNSwxNS42LDE0LjA4YTEyLjM4LDEyLjM4LDAsMCwxLTguNCwxMi4xMlptLTIyLjk1LDI0LjA4aDE1LjljNy4zNSwwLDEyLjE5LTQuMTcsMTIuMTktMTEuMDZzLTQuODQtMTEuMDUtMTIuMTktMTEuMDVoLTE1Ljl2MjIuMTFabTE1LjMtNDYuNjVoLTE1LjN2MjAuOWgxNS4zYzYuNTEsMCwxMi0zLDEyLTEwLjQ1cy01LjQ1LTEwLjQ1LTEyLTEwLjQ1Wm03Mi42MSw1MC4yOFY0NjYuNDNsLTE2LjM1LDM2Ljg4SDI1Ni44bC0xNi42Ni0zNi44OHY0NC40NWgtNC4wOVY0NTdoNC4wOWwxOC43OCw0MS41N0wyNzcuMjQsNDU3aDQuMDl2NTMuOTFaIi8+PGcgY2xhc3M9ImNscy00Ij48aW1hZ2Ugd2lkdGg9IjEwNzUiIGhlaWdodD0iMTA4NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi42NyAxNi42Nykgc2NhbGUoMC41MykiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCRFFBQUFRK0NBSUFBQUN2Ri9oTEFBQUFDWEJJV1hNQUFCVVJBQUFWRVFGZVBUWjRBQUFYRTBsRVFWUjRYdTNaMFkzQ1FCUUVRUmFSbDUyWlEzOFh3a29JY0V0WDlUMEp0R2JOekFNQUFPQjI0Z1FBQUxqZGRWM1AzUVlBQU9BWHhBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBMHpzNXNBQUFCODEzRWNuaE1BQU9CKzUzbUtFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpEdzJnMkFENXVaM1FTNjFscTdDUUM4eVhNQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSU9HMUd3QWZ0dGJhVFFBQS9pUFBDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUXNHWm10d0VBQVBpNlA3REpHbXpiZ0JrUUFBQUFBRWxGVGtTdVFtQ0MiLz48L2c+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzQ5LjcsNTEwLjg0VjQ3Ny4yOGgtLjE4bC0xMC45MSwyNS44NEgzMzJsLTEwLjkxLTI1Ljg0SDMyMXYzMy41NmgtNy45VjQ1N2g3LjQ0bDE1LDM1LjA3TDM1MC4xMyw0NTdoNy40NnY1My44MVptNTQuMi0xMCw2Ljg4LDUuNjUtNC42OSw1LjYxLTYuNTgtNS40NHEtNC42Miw0LjUxLTEyLjMsNC42NmExNy44OSwxNy44OSwwLDAsMS0xMC4yNS0zLjEsMTcuNywxNy43LDAsMCwxLTYuMDgtNi41N2MtLjM4LS44MS0uNzMtMS41OS0xLTIuMzJhMTUuNDUsMTUuNDUsMCwwLDEtLjcyLTIuODgsMTQ1LjI5LDE0NS4yOSwwLDAsMSwwLTI1LDE1LjM4LDE1LjM4LDAsMCwxLDEuNzUtNS4xMywxOC4zMywxOC4zMywwLDAsMSw2LjA4LTYuNjQsMTcuNDcsMTcuNDcsMCwwLDEsMTAuMjUtMywxNy43NiwxNy43NiwwLDAsMSwxMC4zNiwzLDE4LDE4LDAsMCwxLDUuOTQsNi42NCwxMi43OSwxMi43OSwwLDAsMSwxLjgyLDUuMTMsMTA3LjIzLDEwNy4yMywwLDAsMSwuNDYsMTIuNTVxMCw4LjM4LS4zNiwxMS43YTE0LjUxLDE0LjUxLDAsMCwxLTEuNTMsNS4xN1ptLTYuNTQtMjcuNzFhMTEuMjYsMTEuMjYsMCwwLDAtNS4yNi03LjI0LDExLjE4LDExLjE4LDAsMCwwLTQuOTEtMS4xNSwxMC42MywxMC42MywwLDAsMC00LjgsMS4xNSwxMC4wOSwxMC4wOSwwLDAsMC0zLjI5LDIuNzcsOSw5LDAsMCwwLTIsNC40OCw2Ni43LDY2LjcsMCwwLDAtLjU3LDEwLjgzLDY1LjQ3LDY1LjQ3LDAsMCwwLC41NywxMC43Nyw5LDksMCwwLDAsMiw0LjU0LDkuNDcsOS40NywwLDAsMCwzLjI5LDIuNzEsOS4xMSw5LjExLDAsMCwwLDQuOCwxLjIyLDguNjIsOC42MiwwLDAsMCw1Ljg0LTEuODlsLTYuNjYtNS40Nyw0LjY5LTUuNTksNi4wOSw1cS43NS0yLjczLjc1LTExLjI4YTcwLjYsNzAuNiwwLDAsMC0uNTQtMTAuODRaIi8+PGcgY2xhc3M9ImNscy01Ij48aW1hZ2Ugd2lkdGg9IjEwNzUiIGhlaWdodD0iMTA4NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi42NyAxNi42Nykgc2NhbGUoMC41MykiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCRFFBQUFRK0NBSUFBQUN2Ri9oTEFBQUFDWEJJV1hNQUFCVVJBQUFWRVFGZVBUWjRBQUFYRWtsRVFWUjRYdTNad1cyRVFCUkV3WjBWZVVGbWhQNGR3c2dIekxOVWRlNEVubnJOekFjQUFPQjE0Z1FBQUhqZGZkL2YzUVlBQU9BdmlCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCcG1aamNCQUFCNDFubWVuaE1BQU9COTEzV0pFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVNqdDBBQUxwbVpqZUIzMWxyN1NiQVV6d25BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0RoMkEwQW9HdXR0WnNBOEc5NFRnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVEQ21wbmRCZ0FBNEhFLzZiWWFiTE5wV0pvQUFBQUFTVVZPUks1Q1lJST0iLz48L2c+PC9zdmc+" + camel.apache.org/kamelet.support.level: "Preview" + camel.apache.org/provider: "Apache Software Foundation" + camel.apache.org/catalog.version: "main-SNAPSHOT" + camel.apache.org/kamelet.group: "JMS" + labels: + camel.apache.org/kamelet.type: "sink" + camel.apache.org/requires.runtime: camel-k +spec: + definition: + title: "JMS - IBM MQ Kamelet Sink" + description: |- + A Kamelet that can produce events to an IBM MQ message queue using JMS. + + In your KameletBinding file you'll need to explicitly declare the IBM MQ Server driver dependency in spec->integration->dependencies + + - "mvn:com.ibm.mq:com.ibm.mq.allclient:" + + required: + - serverName + - serverPort + - destinationName + - queueManager + - channel + - username + - password + type: object + properties: + serverName: + title: "IBM MQ Server name" + description: "IBM MQ Server name or address" + type: string + serverPort: + title: "IBM MQ Server Port" + description: "IBM MQ Server port" + type: integer + example: 1414 + destinationType: + title: "Destination Type" + description: "The JMS destination type (queue or topic)" + type: string + default: queue + destinationName: + title: "Destination Name" + description: "The destination name" + type: string + queueManager: + title: "IBM MQ Queue Manager" + description: "Name of the IBM MQ Queue Manager" + type: string + channel: + title: "IBM MQ Channel" + description: "Name of the IBM MQ Channel" + type: string + clientId: + title: "IBM MQ Client ID" + description: "Name of the IBM MQ Client ID" + type: string + username: + title: "Username" + description: "Username to authenticate to IBM MQ server" + type: string + password: + title: "Password" + description: "Password to authenticate to IBM MQ server" + type: string + format: password + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:password + - urn:camel:group:credentials + dependencies: + - "camel:jms" + - "camel:kamelet" + template: + beans: + - name: wmqConnectionFactory + type: "#class:com.ibm.mq.jms.MQQueueConnectionFactory" + property: + - key: XMSC_WMQ_HOST_NAME + value: '{{serverName}}' + - key: XMSC_WMQ_PORT + value: '{{serverPort}}' + - key: XMSC_WMQ_CHANNEL + value: '{{channel}}' + - key: XMSC_WMQ_QUEUE_MANAGER + value: '{{queueManager}}' + - key: XMSC_WMQ_CONNECTION_MODE + value: 1 + - key: XMSC_USERID + value: '{{username}}' + - key: XMSC_PASSWORD + value: '{{password}}' + - key: XMSC_CLIENT_ID + value: '{{?clientId}}' + from: + uri: "kamelet:source" + steps: + - to: + uri: "jms:{{destinationType}}:{{destinationName}}" + parameters: + connectionFactory: "#bean:{{wmqConnectionFactory}}" diff --git a/library/camel-kamelets/src/main/resources/kamelets/jms-ibm-mq-source.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/jms-ibm-mq-source.kamelet.yaml new file mode 100644 index 000000000..09ef945be --- /dev/null +++ b/library/camel-kamelets/src/main/resources/kamelets/jms-ibm-mq-source.kamelet.yaml @@ -0,0 +1,122 @@ +# --------------------------------------------------------------------------- +# 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-ibm-mq-source + annotations: + camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNTczLjA4IDU3Ni45NyI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNmZmY7fS5jbHMtMntmaWxsOiM1YTc3YjU7fS5jbHMtM3tmaWxsOiNhZmJlZTA7fS5jbHMtNHtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgpO30uY2xzLTV7Y2xpcC1wYXRoOnVybCgjY2xpcC1wYXRoLTIpO308L3N0eWxlPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNjQuNSw1MTAuODhWNDU3aDQuMDh2NTMuOTFabTQ3Ljc4LTI3LjcxYTEzLjE0LDEzLjE0LDAsMCwxLDkuMjMsMTNjMCw5LjYyLTYuMjgsMTQuNjktMTUuODIsMTQuNjlIMTg1LjI0VjQ1N2gxOS44NGM4Ljk0LDAsMTUuNiw1LjE1LDE1LjYsMTQuMDhhMTIuMzgsMTIuMzgsMCwwLDEtOC40LDEyLjEyWm0tMjIuOTUsMjQuMDhoMTUuOWM3LjM1LDAsMTIuMTktNC4xNywxMi4xOS0xMS4wNnMtNC44NC0xMS4wNS0xMi4xOS0xMS4wNWgtMTUuOXYyMi4xMVptMTUuMy00Ni42NWgtMTUuM3YyMC45aDE1LjNjNi41MSwwLDEyLTMsMTItMTAuNDVzLTUuNDUtMTAuNDUtMTItMTAuNDVabTcyLjYxLDUwLjI4VjQ2Ni40M2wtMTYuMzUsMzYuODhIMjU2LjhsLTE2LjY2LTM2Ljg4djQ0LjQ1aC00LjA5VjQ1N2g0LjA5bDE4Ljc4LDQxLjU3TDI3Ny4yNCw0NTdoNC4wOXY1My45MVoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTM0OS43LDUxMC44NFY0NzcuMjhoLS4xOGwtMTAuOTEsMjUuODRIMzMybC0xMC45MS0yNS44NEgzMjF2MzMuNTZoLTcuOVY0NTdoNy40NGwxNSwzNS4wN0wzNTAuMTMsNDU3aDcuNDZ2NTMuODFabTU0LjItMTAsNi44OCw1LjY1LTQuNjksNS42MS02LjU4LTUuNDRxLTQuNjIsNC41MS0xMi4zLDQuNjZhMTcuODksMTcuODksMCwwLDEtMTAuMjUtMy4xLDE3LjcsMTcuNywwLDAsMS02LjA4LTYuNTdjLS4zOC0uODEtLjczLTEuNTktMS0yLjMyYTE1LjQ1LDE1LjQ1LDAsMCwxLS43Mi0yLjg4LDE0NS4yOSwxNDUuMjksMCwwLDEsMC0yNSwxNS4zOCwxNS4zOCwwLDAsMSwxLjc1LTUuMTMsMTguMzMsMTguMzMsMCwwLDEsNi4wOC02LjY0LDE3LjQ3LDE3LjQ3LDAsMCwxLDEwLjI1LTMsMTcuNzYsMTcuNzYsMCwwLDEsMTAuMzYsMywxOCwxOCwwLDAsMSw1Ljk0LDYuNjQsMTIuNzksMTIuNzksMCwwLDEsMS44Miw1LjEzLDEwNy4yMywxMDcuMjMsMCwwLDEsLjQ2LDEyLjU1cTAsOC4zOC0uMzYsMTEuN2ExNC41MSwxNC41MSwwLDAsMS0xLjUzLDUuMTdabS02LjU0LTI3LjcxYTExLjI2LDExLjI2LDAsMCwwLTUuMjYtNy4yNCwxMS4xOCwxMS4xOCwwLDAsMC00LjkxLTEuMTUsMTAuNjMsMTAuNjMsMCwwLDAtNC44LDEuMTUsMTAuMDksMTAuMDksMCwwLDAtMy4yOSwyLjc3LDksOSwwLDAsMC0yLDQuNDgsNjYuNyw2Ni43LDAsMCwwLS41NywxMC44Myw2NS40Nyw2NS40NywwLDAsMCwuNTcsMTAuNzcsOSw5LDAsMCwwLDIsNC41NCw5LjQ3LDkuNDcsMCwwLDAsMy4yOSwyLjcxLDkuMTEsOS4xMSwwLDAsMCw0LjgsMS4yMiw4LjYyLDguNjIsMCwwLDAsNS44NC0xLjg5bC02LjY2LTUuNDcsNC42OS01LjU5LDYuMDksNXEuNzUtMi43My43NS0xMS4yOGE3MC42LDcwLjYsMCwwLDAtLjU0LTEwLjg0WiIvPjwvY2xpcFBhdGg+PC9kZWZzPjx0aXRsZT5JQk0gSVE8L3RpdGxlPjxjaXJjbGUgY2xhc3M9ImNscy0yIiBjeD0iMjg3LjY0IiBjeT0iMjg3LjIiIHI9IjI3OC41Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0zIiBwb2ludHM9IjQ1OC4xNyA0MjYuNjcgMTE3LjExIDQyNi42NyAxMTcuMTEgMTUzLjU1IDcwLjkxIDE1My41NSA3MC45MSAxMzEuNTUgMTM5LjExIDEzMS41NSAxMzkuMTEgNDA0LjY3IDQzNi4xNyA0MDQuNjcgNDM2LjE3IDEzMS41NSA1MDQuMzcgMTMxLjU1IDUwNC4zNyAxNTMuNTUgNDU4LjE3IDE1My41NSA0NTguMTcgNDI2LjY3Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjQyMC4yNiAyNTMuMTIgNDIwLjI2IDI0MS43NyAxNTUuMDIgMjQxLjc3IDE1NS4wMiAyNTIuODUgMjg3Ljg4IDMyOS40OSA0MjAuMjYgMjUzLjEyIi8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjI4Ny44OCAzMzkuNzUgMTU1LjAyIDI2My4xMSAxNTUuMDIgMzg4Ljg0IDQyMC4yNiAzODguODQgNDIwLjI2IDI2My4zOCAyODcuODggMzM5Ljc1Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTY0LjUsNTEwLjg4VjQ1N2g0LjA4djUzLjkxWm00Ny43OC0yNy43MWExMy4xNCwxMy4xNCwwLDAsMSw5LjIzLDEzYzAsOS42Mi02LjI4LDE0LjY5LTE1LjgyLDE0LjY5SDE4NS4yNFY0NTdoMTkuODRjOC45NCwwLDE1LjYsNS4xNSwxNS42LDE0LjA4YTEyLjM4LDEyLjM4LDAsMCwxLTguNCwxMi4xMlptLTIyLjk1LDI0LjA4aDE1LjljNy4zNSwwLDEyLjE5LTQuMTcsMTIuMTktMTEuMDZzLTQuODQtMTEuMDUtMTIuMTktMTEuMDVoLTE1Ljl2MjIuMTFabTE1LjMtNDYuNjVoLTE1LjN2MjAuOWgxNS4zYzYuNTEsMCwxMi0zLDEyLTEwLjQ1cy01LjQ1LTEwLjQ1LTEyLTEwLjQ1Wm03Mi42MSw1MC4yOFY0NjYuNDNsLTE2LjM1LDM2Ljg4SDI1Ni44bC0xNi42Ni0zNi44OHY0NC40NWgtNC4wOVY0NTdoNC4wOWwxOC43OCw0MS41N0wyNzcuMjQsNDU3aDQuMDl2NTMuOTFaIi8+PGcgY2xhc3M9ImNscy00Ij48aW1hZ2Ugd2lkdGg9IjEwNzUiIGhlaWdodD0iMTA4NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi42NyAxNi42Nykgc2NhbGUoMC41MykiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCRFFBQUFRK0NBSUFBQUN2Ri9oTEFBQUFDWEJJV1hNQUFCVVJBQUFWRVFGZVBUWjRBQUFYRTBsRVFWUjRYdTNaMFkzQ1FCUUVRUmFSbDUyWlEzOFh3a29JY0V0WDlUMEp0R2JOekFNQUFPQjI0Z1FBQUxqZGRWM1AzUVlBQU9BWHhBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBMHpzNXNBQUFCODEzRWNuaE1BQU9CKzUzbUtFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpEdzJnMkFENXVaM1FTNjFscTdDUUM4eVhNQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSU9HMUd3QWZ0dGJhVFFBQS9pUFBDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUXNHWm10d0VBQVBpNlA3REpHbXpiZ0JrUUFBQUFBRWxGVGtTdVFtQ0MiLz48L2c+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzQ5LjcsNTEwLjg0VjQ3Ny4yOGgtLjE4bC0xMC45MSwyNS44NEgzMzJsLTEwLjkxLTI1Ljg0SDMyMXYzMy41NmgtNy45VjQ1N2g3LjQ0bDE1LDM1LjA3TDM1MC4xMyw0NTdoNy40NnY1My44MVptNTQuMi0xMCw2Ljg4LDUuNjUtNC42OSw1LjYxLTYuNTgtNS40NHEtNC42Miw0LjUxLTEyLjMsNC42NmExNy44OSwxNy44OSwwLDAsMS0xMC4yNS0zLjEsMTcuNywxNy43LDAsMCwxLTYuMDgtNi41N2MtLjM4LS44MS0uNzMtMS41OS0xLTIuMzJhMTUuNDUsMTUuNDUsMCwwLDEtLjcyLTIuODgsMTQ1LjI5LDE0NS4yOSwwLDAsMSwwLTI1LDE1LjM4LDE1LjM4LDAsMCwxLDEuNzUtNS4xMywxOC4zMywxOC4zMywwLDAsMSw2LjA4LTYuNjQsMTcuNDcsMTcuNDcsMCwwLDEsMTAuMjUtMywxNy43NiwxNy43NiwwLDAsMSwxMC4zNiwzLDE4LDE4LDAsMCwxLDUuOTQsNi42NCwxMi43OSwxMi43OSwwLDAsMSwxLjgyLDUuMTMsMTA3LjIzLDEwNy4yMywwLDAsMSwuNDYsMTIuNTVxMCw4LjM4LS4zNiwxMS43YTE0LjUxLDE0LjUxLDAsMCwxLTEuNTMsNS4xN1ptLTYuNTQtMjcuNzFhMTEuMjYsMTEuMjYsMCwwLDAtNS4yNi03LjI0LDExLjE4LDExLjE4LDAsMCwwLTQuOTEtMS4xNSwxMC42MywxMC42MywwLDAsMC00LjgsMS4xNSwxMC4wOSwxMC4wOSwwLDAsMC0zLjI5LDIuNzcsOSw5LDAsMCwwLTIsNC40OCw2Ni43LDY2LjcsMCwwLDAtLjU3LDEwLjgzLDY1LjQ3LDY1LjQ3LDAsMCwwLC41NywxMC43Nyw5LDksMCwwLDAsMiw0LjU0LDkuNDcsOS40NywwLDAsMCwzLjI5LDIuNzEsOS4xMSw5LjExLDAsMCwwLDQuOCwxLjIyLDguNjIsOC42MiwwLDAsMCw1Ljg0LTEuODlsLTYuNjYtNS40Nyw0LjY5LTUuNTksNi4wOSw1cS43NS0yLjczLjc1LTExLjI4YTcwLjYsNzAuNiwwLDAsMC0uNTQtMTAuODRaIi8+PGcgY2xhc3M9ImNscy01Ij48aW1hZ2Ugd2lkdGg9IjEwNzUiIGhlaWdodD0iMTA4NSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi42NyAxNi42Nykgc2NhbGUoMC41MykiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCRFFBQUFRK0NBSUFBQUN2Ri9oTEFBQUFDWEJJV1hNQUFCVVJBQUFWRVFGZVBUWjRBQUFYRWtsRVFWUjRYdTNad1cyRVFCUkV3WjBWZVVGbWhQNGR3c2dIekxOVWRlNEVubnJOekFjQUFPQjE0Z1FBQUhqZGZkL2YzUVlBQU9BdmlCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCcG1aamNCQUFCNDFubWVuaE1BQU9COTEzV0pFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVNqdDBBQUxwbVpqZUIzMWxyN1NiQVV6d25BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0RoMkEwQW9HdXR0WnNBOEc5NFRnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVDQ09BRUFBQkxFQ1FBQWtDQk9BQUNBQkhFQ0FBQWtpQk1BQUNCQm5BQUFBQW5pQkFBQVNCQW5BQUJBZ2pnQkFBQVN4QWtBQUpBZ1RnQUFnQVJ4QWdBQUpJZ1RBQUFnUVp3QUFBQUo0Z1FBQUVnUUp3QUFRSUk0QVFBQUVzUUpBQUNRSUU0QUFJQUVjUUlBQUNTSUV3QUFJRUdjQUFBQUNlSUVBQUJJRUNjQUFFQ0NPQUVBQUJMRUNRQUFrQ0JPQUFDQUJIRUNBQUFraUJNQUFDQkJuQUFBQUFuaUJBQUFTQkFuQUFCQWdqZ0JBQUFTeEFrQUFKQWdUZ0FBZ0FSeEFnQUFKSWdUQUFBZ1Fad0FBQUFKNGdRQUFFZ1FKd0FBUUlJNEFRQUFFc1FKQUFDUUlFNEFBSUFFY1FJQUFDU0lFd0FBSUVHY0FBQUFDZUlFQUFCSUVDY0FBRUNDT0FFQUFCTEVDUUFBa0NCT0FBQ0FCSEVDQUFBa2lCTUFBQ0JCbkFBQUFBbmlCQUFBU0JBbkFBQkFnamdCQUFBU3hBa0FBSkFnVGdBQWdBUnhBZ0FBSklnVEFBQWdRWndBQUFBSjRnUUFBRWdRSndBQVFJSTRBUUFBRXNRSkFBQ1FJRTRBQUlBRWNRSUFBQ1NJRXdBQUlFR2NBQUFBQ2VJRUFBQklFQ2NBQUVEQ21wbmRCZ0FBNEhFLzZiWWFiTE5wV0pvQUFBQUFTVVZPUks1Q1lJST0iLz48L2c+PC9zdmc+" + camel.apache.org/kamelet.support.level: "Preview" + camel.apache.org/provider: "Apache Software Foundation" + camel.apache.org/catalog.version: "main-SNAPSHOT" + camel.apache.org/kamelet.group: "JMS" + labels: + camel.apache.org/kamelet.type: "source" + camel.apache.org/requires.runtime: camel-k +spec: + definition: + title: "JMS - IBM MQ Kamelet Source" + description: |- + A Kamelet that can read events from an IBM MQ message queue using JMS. + + In your KameletBinding file you'll need to explicitly declare the IBM MQ Server driver dependency in spec->integration->dependencies + + - "mvn:com.ibm.mq:com.ibm.mq.allclient:" + + required: + - serverName + - serverPort + - destinationName + - queueManager + - channel + - username + - password + type: object + properties: + serverName: + title: "IBM MQ Server name" + description: "IBM MQ Server name or address" + type: string + serverPort: + title: "IBM MQ Server Port" + description: "IBM MQ Server port" + type: integer + example: 1414 + destinationType: + title: "Destination Type" + description: "The JMS destination type (queue or topic)" + type: string + default: queue + destinationName: + title: "Destination Name" + description: "The destination name" + type: string + queueManager: + title: "IBM MQ Queue Manager" + description: "Name of the IBM MQ Queue Manager" + type: string + channel: + title: "IBM MQ Channel" + description: "Name of the IBM MQ Channel" + type: string + clientId: + title: "IBM MQ Client ID" + description: "Name of the IBM MQ Client ID" + type: string + username: + title: "Username" + description: "Username to authenticate to IBM MQ server" + type: string + password: + title: "Password" + description: "Password to authenticate to IBM MQ server" + type: string + format: password + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:password + - urn:camel:group:credentials + dependencies: + - "camel:jms" + - "camel:kamelet" + template: + beans: + - name: wmqConnectionFactory + type: "#class:com.ibm.mq.jms.MQQueueConnectionFactory" + property: + - key: XMSC_WMQ_HOST_NAME + value: '{{serverName}}' + - key: XMSC_WMQ_PORT + value: '{{serverPort}}' + - key: XMSC_WMQ_CHANNEL + value: '{{channel}}' + - key: XMSC_WMQ_QUEUE_MANAGER + value: '{{queueManager}}' + - key: XMSC_WMQ_CONNECTION_MODE + value: 1 + - key: XMSC_USERID + value: '{{username}}' + - key: XMSC_PASSWORD + value: '{{password}}' + - key: XMSC_CLIENT_ID + value: '{{?clientId}}' + from: + uri: "jms:{{destinationType}}:{{destinationName}}" + parameters: + connectionFactory: "#bean:{{wmqConnectionFactory}}" + steps: + - to: + uri: "kamelet:sink" diff --git a/templates/bindings/camel-k/jms-ibm-mq-sink-binding.yaml b/templates/bindings/camel-k/jms-ibm-mq-sink-binding.yaml new file mode 100644 index 000000000..b8290cb85 --- /dev/null +++ b/templates/bindings/camel-k/jms-ibm-mq-sink-binding.yaml @@ -0,0 +1,25 @@ +# example_for_kamelet_doc +apiVersion: camel.apache.org/v1alpha1 +kind: KameletBinding +metadata: + name: jms-ibm-mq-sink-binding +spec: + source: + ref: + kind: KafkaTopic + apiVersion: kafka.strimzi.io/v1beta1 + name: my-topic + sink: + ref: + kind: Kamelet + apiVersion: camel.apache.org/v1alpha1 + name: jms-ibm-mq-sink + properties: + host: "10.103.41.245" + port: "1414" + destinationType: "queue" + destinationName: "DEV.QUEUE.1" + queueManager: QM1 + channel: DEV.APP.SVRCONN + username: app + password: passw0rd diff --git a/templates/bindings/camel-k/jms-ibm-mq-source-binding.yaml b/templates/bindings/camel-k/jms-ibm-mq-source-binding.yaml new file mode 100644 index 000000000..c77773a10 --- /dev/null +++ b/templates/bindings/camel-k/jms-ibm-mq-source-binding.yaml @@ -0,0 +1,26 @@ +# example_for_kamelet_doc +apiVersion: camel.apache.org/v1alpha1 +kind: KameletBinding +metadata: + name: jms-ibm-mq-source-binding +spec: + source: + ref: + kind: Kamelet + apiVersion: camel.apache.org/v1alpha1 + name: jms-ibm-mq-source + properties: + host: "10.103.41.245" + port: "1414" + destinationType: "queue" + destinationName: "DEV.QUEUE.1" + queueManager: QM1 + channel: DEV.APP.SVRCONN + username: app + password: passw0rd + sink: + ref: + kind: KafkaTopic + apiVersion: kafka.strimzi.io/v1beta1 + name: my-topic + diff --git a/templates/bindings/core/jms-ibm-mq-sink-binding.yaml b/templates/bindings/core/jms-ibm-mq-sink-binding.yaml new file mode 100644 index 000000000..5d9abb36c --- /dev/null +++ b/templates/bindings/core/jms-ibm-mq-sink-binding.yaml @@ -0,0 +1,18 @@ +- route: + from: + uri: "kamelet:timer-source" + parameters: + period: 1000 + message: "Hello Camel to IBM MQ" + steps: + - to: + uri: "kamelet:jms-ibm-mq-sink" + parameters: + host: "10.103.41.245" + port: "1414" + destinationType: "queue" + destinationName: "DEV.QUEUE.1" + queueManager: QM1 + channel: DEV.APP.SVRCONN + username: app + password: passw0rd diff --git a/templates/bindings/core/jms-ibm-mq-source-binding.yaml b/templates/bindings/core/jms-ibm-mq-source-binding.yaml new file mode 100644 index 000000000..5ac69a80d --- /dev/null +++ b/templates/bindings/core/jms-ibm-mq-source-binding.yaml @@ -0,0 +1,15 @@ +- route: + from: + uri: "kamelet:jms-ibm-mq-source" + parameters: + host: "10.103.41.245" + port: "1414" + destinationType: "queue" + destinationName: "DEV.QUEUE.1" + queueManager: QM1 + channel: DEV.APP.SVRCONN + username: app + password: passw0rd + steps: + - to: + uri: kamelet:log-sink