diff --git a/.htaccess b/.htaccess new file mode 100644 index 00000000..58eeb9f2 --- /dev/null +++ b/.htaccess @@ -0,0 +1,16 @@ + +AddOutputFilterByType DEFLATE text/plain +AddOutputFilterByType DEFLATE text/html +AddOutputFilterByType DEFLATE text/xml +AddOutputFilterByType DEFLATE text/css +AddOutputFilterByType DEFLATE application/xml +AddOutputFilterByType DEFLATE application/xhtml+xml +AddOutputFilterByType DEFLATE application/rss+xml +AddOutputFilterByType DEFLATE application/javascript +AddOutputFilterByType DEFLATE application/x-javascript +AddOutputFilterByType DEFLATE image/jpg +AddOutputFilterByType DEFLATE image/png +AddOutputFilterByType DEFLATE image/gif +AddOutputFilterByType DEFLATE image/jpeg +AddOutputFilterByType DEFLATE image/svg+xml + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..ba80b730 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +kaoto.io diff --git a/about/index.html b/about/index.html new file mode 100644 index 00000000..aab37867 --- /dev/null +++ b/about/index.html @@ -0,0 +1,13 @@ +About | Kaoto +

About

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Kaoto is an acronym for Kamel Orchestration Tool. Kaoto is a low code and no code integration designer to edit and deploy based on Apache Camel +. It is designed to be extendable and flexible and adaptable to different usecases. You can find statistics and history of Kaoto here +.

The user interface has both a source code editor and a drag and drop graphical editor. When a change is done in one of them, the other gets updated automatically. This way users can choose to work both no-code or low-code.

Kaoto in action

Kaoto can load catalogs of building blocks from different sources. By default, Kaoto supports the official Kamelet catalog +. There is also a growing support for Camel connectors +. You can configure your own catalog of steps (using the official Kamelet catalog or using your own).

Catalog of steps

The Kaoto team is also working on full support for cloud-native Apache Camel deployments via Camel-K +.

Where to find more

icon

Roadmap

Check our Roadmap

icon

Source Code

Our source code is publicly available

icon

Latest News

Follow our news in Twitter

\ No newline at end of file diff --git a/about/index.xml b/about/index.xml new file mode 100644 index 00000000..85d2b475 --- /dev/null +++ b/about/index.xml @@ -0,0 +1 @@ +About on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/about/Recent content in About on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-us \ No newline at end of file diff --git a/blog/2021-10-15/index.html b/blog/2021-10-15/index.html new file mode 100644 index 00000000..0b7340a5 --- /dev/null +++ b/blog/2021-10-15/index.html @@ -0,0 +1,9 @@ +Kaoto 0.1 is released! | Kaoto +

Kaoto 0.1 is released!

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

The first version of Kaoto has been released.

In this version, you can already edit a Kamelet Binding both visually and using the YAML editor.

\ No newline at end of file diff --git a/blog/2022-02-10/index.html b/blog/2022-02-10/index.html new file mode 100644 index 00000000..6217a5b4 --- /dev/null +++ b/blog/2022-02-10/index.html @@ -0,0 +1,18 @@ +Kaoto Over Docker | Kaoto +

Kaoto Over Docker

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

There is a Docker Hub KaotoIO organization +in which you can find all the docker images for both frontend and backend.

As described on the QuickStart +, there are two separated docker images: one for the frontend and another for the backend.

You can run them with the following commands:

docker run --rm -d -p 8081:8081 --name kaoto-backend kaotoio/backend 
+docker run --rm -d -p 8080:8080 --name kaoto-frontend kaotoio/frontend
+

And you can open http://localhost:8080 +to use Kaoto.

You can also try the nightly version with the following:

docker run --rm -d -p 8081:8081 --name kaoto-backend kaotoio/backend:nightly
+docker run --rm -d -p 8080:8080 --name kaoto-frontend kaotoio/frontend:nightly
+

If you want to test the latest nightly version, remember to always docker pull kaotoio/backend:nightly before running it.

Always stop the containers when finishing using Kaoto so you don’t have containers dangling:

docker stop kaoto-backend
+docker stop kaoto-frontend
+
\ No newline at end of file diff --git a/blog/2022-03-16/index.html b/blog/2022-03-16/index.html new file mode 100644 index 00000000..59857ee6 --- /dev/null +++ b/blog/2022-03-16/index.html @@ -0,0 +1,16 @@ +Version 0.2.0 released with improved editor! | Kaoto +

Version 0.2.0 released with improved editor!

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

We have a new pre-release version v0.2.0 of Kaoto with a fancy refactored editor!

How to test it

You can test this new Kaoto v0.2.0 with the following commands:

docker run --rm -d -p 8081:8081 --name kaoto-backend kaotoio/backend:0.2.0 
+docker run --rm -d -p 8080:8080 --name kaoto-frontend kaotoio/frontend:0.2.0
+

And you can open http://localhost:8080 +to use Kaoto.

Always stop the containers when finishing using Kaoto so you don’t have containers dangling:

docker stop kaoto-backend
+docker stop kaoto-frontend
+

What’s Changed

There are full changelogs both for the frontend +and the backend +.

\ No newline at end of file diff --git a/blog/2023-04-13/index.html b/blog/2023-04-13/index.html new file mode 100644 index 00000000..46e427fa --- /dev/null +++ b/blog/2023-04-13/index.html @@ -0,0 +1,67 @@ +Version 1.0.0 released! | Kaoto +

Version 1.0.0 released!

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

This marks the first major release for Kaoto. 🍾 Kaoto is an open source visual integration and workflow editor. It supports multiple DSLs and advanced integration capabilities for both developers and non-developers.

Kaoto was built to be extended, and it gives you a layer of abstraction where you can store catalogs of steps/actions and custom configuration views for those steps/actions outside of Kaoto.

In this 1.0.0 release, we focused on supporting Apache Camel +DSLs, such as Camel Route in YAML DSL +, Kamelet +, KameletBinding +and Integration +.

Give it a try!

Features

  • Drag and drop & point and click support of building integrations visually
  • Choice of displaying the visualization horizontally/vertically
  • Searchable visual catalog of actions/steps (typically Camel components)
  • One-click synchronization of canvas (visual integration) and its corresponding code
  • Validation of YAML syntax
  • Validation of Camel-specific syntax through Camel language server protocol
  • One-click deployment of YAML-based integrations or custom resources to the cloud, with a specific namespace
  • Upload/download YAML code for integrations
  • Guided hints with tooltips throughout workflow
  • Simple visualization of EIPs and multiple execution flows with branching, including built-in support for validation rules (i.e. minimum/maximum branches)
  • Support for working with multiple DSLs (e.g. KameletBinding, Camel Components)
  • Automatic generation of forms for action/step/component properties
  • Support for extending each action/step/component with its own custom configuration view
  • View, search, and manage deployments from a single place
  • View deployment output through a dedicated log
  • Dark mode

Take a sneak peak

Kaoto showcasing a choice component with two branches

Kaoto showcasing a choice component with https components +If you wanna learn more, there are workshops available here

A big shoutout to all the amazing people that help the project get into this milestone

Thank you to everyone who made this release possible, whether by a code contribution, feedback, advocacy, or participating in an important discussion with us. ❤️

@aaj013 +@almen-ng +@amysueg +@apupier +@astefanutti +@balellu +@balejosg +@balejos +@bdherouville +@brunoNetId +@brunopedrosobuilders +@caponetto +@christophd +@Croway +@danielezonca +@delawen +@djelinek +@ederign +@evanshortiss +@erayerdem +@GuilhermeCamposo +@helio-frota +@hguerrero +@igarashitm +@ibek +@javierlopezdeancos +@jcordes73 +@joshiraez +@kahboom +@krisv +@lazarotti +@lhein +@lordrip +@lburgazzoli +@Mdenisco +@mmelko +@miram13 +@pamenon +@phantomjinx +@Pompette +@prapthik +@rstroop +@squakez +@tadayosi +@thiagoelg +@tiagobento +@timothydilbert +@tplevko +@unsortedhashsets +@varkrish +@zbendhiba

And even the bots: @dependabot @deepsourcebot

Apologies in advance if we’ve missed anyone. 🙂

See Kaoto backend release notes for v1.0.0 here

\ No newline at end of file diff --git a/blog/2023-07-21/index.html b/blog/2023-07-21/index.html new file mode 100644 index 00000000..1a9c25f8 --- /dev/null +++ b/blog/2023-07-21/index.html @@ -0,0 +1,34 @@ +Version 1.1.0 released! | Kaoto +

Version 1.1.0 released!

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

In this 1.1.0 release, continued focusing on supporting Apache Camel +DSLs, such as Camel Route in YAML DSL +, Kamelet +, KameletBinding +and Integration +.

Give it a try!

Features

  • Allow configuring the Kaoto UI API URL at runtime
  • Visual representation for Rest DSL
  • Enable support for multiple flows for Camel routes and Integration CRDs
  • Add InlineEdit component to rename flows directly from the list
  • Export current visible flow to PNG
  • Provide an empty state for the canvas
  • Metadata configuration UI to configure Beans
  • Updated the Kaoto API to pass the fetchStepDetails function to step extensions
  • Use parameter titles as labels for forms
  • About modal to display front and back version

Take a sneak peak

Kaoto showcasing the Beans UI

Kaoto showcasing the Rest DSL

Kaoto showcasing two routes

Renaming an existing route

Kaoto with an empty canvas

Kaoto about modal

If you wanna learn more, there are workshops available here

A big shoutout to all the amazing people that help the project get into this milestone

Thank you to everyone who made this release possible, whether by a code contribution, feedback, advocacy, or participating in an important discussion with us. ❤️

@aaj013 +@evanshortiss +@javierlopezdeancos +@helio-frota +@pnaik1 +@mkralik3 +@almen-ng +@mmuzikar +@Pompette +@unsortedhashsets +@thiagoelg +@tplevko +@apupier +@igarashitm +@MohammadiIram +@mmelko +@Delawen +@kahboom +@lordrip

Apologies in advance if we’ve missed anyone. 🙂

See Kaoto backend release notes for v1.1.0 here

\ No newline at end of file diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 00000000..0cd92cfc --- /dev/null +++ b/blog/index.html @@ -0,0 +1,10 @@ +Blog | Kaoto +

Blog

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Version 1.1.0 released!

In this 1.1.0 release, continued focusing on supporting Apache Camel DSLs, such as Camel Route in YAML DSL , Kamelet , KameletBinding and Integration .

Read More

Kaoto Over Docker

There is a Docker Hub KaotoIO organization in which you can find all the docker images for both frontend and backend.

Read More

Kaoto 0.1 is released!

The first version of Kaoto has been released. +In this version, you can already edit a Kamelet Binding both visually and using the YAML editor.

Read More
\ No newline at end of file diff --git a/blog/index.xml b/blog/index.xml new file mode 100644 index 00000000..d377c243 --- /dev/null +++ b/blog/index.xml @@ -0,0 +1,2 @@ +Blog on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/blog/Recent content in Blog on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usFri, 21 Jul 2023 11:00:00 +0200Version 1.1.0 released!https://kaoto.io/blog/2023-07-21/Fri, 21 Jul 2023 11:00:00 +0200https://kaoto.io/blog/2023-07-21/In this 1.1.0 release, continued focusing on supporting Apache Camel DSLs, such as Camel Route in YAML DSL , Kamelet , KameletBinding and Integration .Version 1.0.0 released!https://kaoto.io/blog/2023-04-13/Thu, 13 Apr 2023 13:48:11 +0200https://kaoto.io/blog/2023-04-13/This marks the first major release for Kaoto. 🍾 Kaoto is an open source visual integration and workflow editor.Version 0.2.0 released with improved editor!https://kaoto.io/blog/2022-03-16/Wed, 16 Mar 2022 13:40:11 +0600https://kaoto.io/blog/2022-03-16/We have a new pre-release version v0.2.0 of Kaoto with a fancy refactored editor!Kaoto Over Dockerhttps://kaoto.io/blog/2022-02-10/Thu, 10 Feb 2022 00:50:11 +0600https://kaoto.io/blog/2022-02-10/There is a Docker Hub KaotoIO organization in which you can find all the docker images for both frontend and backend.Kaoto 0.1 is released!https://kaoto.io/blog/2021-10-15/Wed, 24 Nov 2021 23:50:11 +0600https://kaoto.io/blog/2021-10-15/The first version of Kaoto has been released. +In this version, you can already edit a Kamelet Binding both visually and using the YAML editor. \ No newline at end of file diff --git a/categories/beginner/index.html b/categories/beginner/index.html new file mode 100644 index 00000000..70c53793 --- /dev/null +++ b/categories/beginner/index.html @@ -0,0 +1,10 @@ +beginner | Kaoto +

beginner

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
Listen to a folder

Listen to a folder

1.- Log changes The goals for this exercise are: +Start the flow with a file-watch step which watches a local folder like /tmp/tutorial and configure parameter recursive as false Then log the detected change with an output like Detected ${header.

Read More
\ No newline at end of file diff --git a/categories/beginner/index.xml b/categories/beginner/index.xml new file mode 100644 index 00000000..9cd1efe6 --- /dev/null +++ b/categories/beginner/index.xml @@ -0,0 +1,2 @@ +beginner on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/categories/beginner/Recent content in beginner on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usSun, 12 Mar 2023 12:14:34 +0600Listen to a folderhttps://kaoto.io/workshop/beginner-file/Sun, 12 Mar 2023 12:14:34 +0600https://kaoto.io/workshop/beginner-file/1.- Log changes The goals for this exercise are: +Start the flow with a file-watch step which watches a local folder like /tmp/tutorial and configure parameter recursive as false Then log the detected change with an output like Detected ${header.Create a multiple choice route in Apache Camelhttps://kaoto.io/workshop/beginner-camel-choice/Fri, 10 Mar 2023 12:14:34 +0600https://kaoto.io/workshop/beginner-camel-choice/1.- Create a simple choice We are going to start by creating a simple if-else code using the graphical canvas. \ No newline at end of file diff --git a/categories/code-editor/index.html b/categories/code-editor/index.html new file mode 100644 index 00000000..5a3e06a6 --- /dev/null +++ b/categories/code-editor/index.html @@ -0,0 +1,9 @@ +code editor | Kaoto +

code editor

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Hello World

On this video we can see we can drag and drop step into the integration and how to use the plus button to add intermediate and final steps.

Read More
\ No newline at end of file diff --git a/categories/code-editor/index.xml b/categories/code-editor/index.xml new file mode 100644 index 00000000..30ab2124 --- /dev/null +++ b/categories/code-editor/index.xml @@ -0,0 +1 @@ +code editor on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/categories/code-editor/Recent content in code editor on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usWed, 16 Mar 2022 12:14:34 +0600Kaoto visual editorhttps://kaoto.io/portfolio/visualeditorinaction/Wed, 16 Mar 2022 12:14:34 +0600https://kaoto.io/portfolio/visualeditorinaction/Hello Worldhttps://kaoto.io/portfolio/helloworldklb/Tue, 08 Mar 2022 12:14:34 +0600https://kaoto.io/portfolio/helloworldklb/On this video we can see we can drag and drop step into the integration and how to use the plus button to add intermediate and final steps. \ No newline at end of file diff --git a/categories/deployment/index.html b/categories/deployment/index.html new file mode 100644 index 00000000..9fc47473 --- /dev/null +++ b/categories/deployment/index.html @@ -0,0 +1,9 @@ +deployment | Kaoto +

deployment

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/categories/deployment/index.xml b/categories/deployment/index.xml new file mode 100644 index 00000000..9572d19e --- /dev/null +++ b/categories/deployment/index.xml @@ -0,0 +1 @@ +deployment on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/categories/deployment/Recent content in deployment on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usFri, 15 Jul 2022 12:13:34 +0600Deploy a Kamelet and a Kamelet Bindinghttps://kaoto.io/portfolio/2022-07-15-kamelet-creation/Fri, 15 Jul 2022 12:13:34 +0600https://kaoto.io/portfolio/2022-07-15-kamelet-creation/On this video we create a Kamelet which is then used to create a Kamelet Binding and deploy it on an Openshift.No code deployment via Camel Khttps://kaoto.io/portfolio/deployment-via-camelk/Tue, 19 Apr 2022 12:14:34 +0600https://kaoto.io/portfolio/deployment-via-camelk/On the following video we can see how to do a no code integration and deploy it in a cluster via Camel K. \ No newline at end of file diff --git a/categories/design/index.html b/categories/design/index.html new file mode 100644 index 00000000..170d3311 --- /dev/null +++ b/categories/design/index.html @@ -0,0 +1,9 @@ +design | Kaoto +

design

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Hello World

On this video we can see we can drag and drop step into the integration and how to use the plus button to add intermediate and final steps.

Read More
\ No newline at end of file diff --git a/categories/design/index.xml b/categories/design/index.xml new file mode 100644 index 00000000..f1cca84e --- /dev/null +++ b/categories/design/index.xml @@ -0,0 +1 @@ +design on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/categories/design/Recent content in design on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usWed, 16 Mar 2022 12:14:34 +0600Kaoto visual editorhttps://kaoto.io/portfolio/visualeditorinaction/Wed, 16 Mar 2022 12:14:34 +0600https://kaoto.io/portfolio/visualeditorinaction/Hello Worldhttps://kaoto.io/portfolio/helloworldklb/Tue, 08 Mar 2022 12:14:34 +0600https://kaoto.io/portfolio/helloworldklb/On this video we can see we can drag and drop step into the integration and how to use the plus button to add intermediate and final steps.Step Cataloghttps://kaoto.io/portfolio/stepcatalog/Fri, 12 Nov 2021 12:14:34 +0600https://kaoto.io/portfolio/stepcatalog/ \ No newline at end of file diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 00000000..0a52fae5 --- /dev/null +++ b/categories/index.html @@ -0,0 +1,9 @@ +Categories | Kaoto +

Categories

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/categories/index.xml b/categories/index.xml new file mode 100644 index 00000000..2a8b31d2 --- /dev/null +++ b/categories/index.xml @@ -0,0 +1 @@ +Categories on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/categories/Recent content in Categories on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usMon, 19 Jun 2023 00:00:00 +0000Userhttps://kaoto.io/categories/user/Mon, 19 Jun 2023 00:00:00 +0000https://kaoto.io/categories/user/beginnerhttps://kaoto.io/categories/beginner/Sun, 12 Mar 2023 12:14:34 +0600https://kaoto.io/categories/beginner/intermediatehttps://kaoto.io/categories/intermediate/Sat, 11 Mar 2023 12:14:34 +0600https://kaoto.io/categories/intermediate/deploymenthttps://kaoto.io/categories/deployment/Fri, 15 Jul 2022 12:13:34 +0600https://kaoto.io/categories/deployment/low codehttps://kaoto.io/categories/low-code/Fri, 15 Jul 2022 12:13:34 +0600https://kaoto.io/categories/low-code/no codehttps://kaoto.io/categories/no-code/Fri, 15 Jul 2022 12:13:34 +0600https://kaoto.io/categories/no-code/visualizerhttps://kaoto.io/categories/visualizer/Fri, 15 Jul 2022 12:13:34 +0600https://kaoto.io/categories/visualizer/code editorhttps://kaoto.io/categories/code-editor/Wed, 16 Mar 2022 12:14:34 +0600https://kaoto.io/categories/code-editor/designhttps://kaoto.io/categories/design/Wed, 16 Mar 2022 12:14:34 +0600https://kaoto.io/categories/design/step cataloghttps://kaoto.io/categories/step-catalog/Fri, 12 Nov 2021 12:14:34 +0600https://kaoto.io/categories/step-catalog/ \ No newline at end of file diff --git a/categories/intermediate/index.html b/categories/intermediate/index.html new file mode 100644 index 00000000..c49a4edd --- /dev/null +++ b/categories/intermediate/index.html @@ -0,0 +1,9 @@ +intermediate | Kaoto +

intermediate

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/categories/intermediate/index.xml b/categories/intermediate/index.xml new file mode 100644 index 00000000..3c83dc66 --- /dev/null +++ b/categories/intermediate/index.xml @@ -0,0 +1 @@ +intermediate on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/categories/intermediate/Recent content in intermediate on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usSat, 11 Mar 2023 12:14:34 +0600Create a Kamelet in Apache Camelhttps://kaoto.io/workshop/intermediate-kamelet/Sat, 11 Mar 2023 12:14:34 +0600https://kaoto.io/workshop/intermediate-kamelet/1.- Make sure we are creating a Kamelet We are going to start by making sure the Settings are properly configured. \ No newline at end of file diff --git a/categories/low-code/index.html b/categories/low-code/index.html new file mode 100644 index 00000000..cc2ce528 --- /dev/null +++ b/categories/low-code/index.html @@ -0,0 +1,9 @@ +low code | Kaoto +

low code

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/categories/low-code/index.xml b/categories/low-code/index.xml new file mode 100644 index 00000000..445c9721 --- /dev/null +++ b/categories/low-code/index.xml @@ -0,0 +1 @@ +low code on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/categories/low-code/Recent content in low code on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usFri, 15 Jul 2022 12:13:34 +0600Deploy a Kamelet and a Kamelet Bindinghttps://kaoto.io/portfolio/2022-07-15-kamelet-creation/Fri, 15 Jul 2022 12:13:34 +0600https://kaoto.io/portfolio/2022-07-15-kamelet-creation/On this video we create a Kamelet which is then used to create a Kamelet Binding and deploy it on an Openshift. \ No newline at end of file diff --git a/categories/no-code/index.html b/categories/no-code/index.html new file mode 100644 index 00000000..489b3794 --- /dev/null +++ b/categories/no-code/index.html @@ -0,0 +1,9 @@ +no code | Kaoto +

no code

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/categories/no-code/index.xml b/categories/no-code/index.xml new file mode 100644 index 00000000..a5f54847 --- /dev/null +++ b/categories/no-code/index.xml @@ -0,0 +1 @@ +no code on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/categories/no-code/Recent content in no code on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usFri, 15 Jul 2022 12:13:34 +0600Deploy a Kamelet and a Kamelet Bindinghttps://kaoto.io/portfolio/2022-07-15-kamelet-creation/Fri, 15 Jul 2022 12:13:34 +0600https://kaoto.io/portfolio/2022-07-15-kamelet-creation/On this video we create a Kamelet which is then used to create a Kamelet Binding and deploy it on an Openshift.No code deployment via Camel Khttps://kaoto.io/portfolio/deployment-via-camelk/Tue, 19 Apr 2022 12:14:34 +0600https://kaoto.io/portfolio/deployment-via-camelk/On the following video we can see how to do a no code integration and deploy it in a cluster via Camel K. \ No newline at end of file diff --git a/categories/step-catalog/index.html b/categories/step-catalog/index.html new file mode 100644 index 00000000..90ca2cea --- /dev/null +++ b/categories/step-catalog/index.html @@ -0,0 +1,9 @@ +step catalog | Kaoto +

step catalog

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/categories/step-catalog/index.xml b/categories/step-catalog/index.xml new file mode 100644 index 00000000..c3977970 --- /dev/null +++ b/categories/step-catalog/index.xml @@ -0,0 +1 @@ +step catalog on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/categories/step-catalog/Recent content in step catalog on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usFri, 12 Nov 2021 12:14:34 +0600Building Blockshttps://kaoto.io/portfolio/stepcatalogdetailed/Fri, 12 Nov 2021 12:14:34 +0600https://kaoto.io/portfolio/stepcatalogdetailed/Step Cataloghttps://kaoto.io/portfolio/stepcatalog/Fri, 12 Nov 2021 12:14:34 +0600https://kaoto.io/portfolio/stepcatalog/ \ No newline at end of file diff --git a/categories/user/index.html b/categories/user/index.html new file mode 100644 index 00000000..cbc1267b --- /dev/null +++ b/categories/user/index.html @@ -0,0 +1,9 @@ +User | Kaoto +

User

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

User Guide

On this guide we will learn how to create our first workflow using Kaoto in a no-code way.

Read More
\ No newline at end of file diff --git a/categories/user/index.xml b/categories/user/index.xml new file mode 100644 index 00000000..dff18aa0 --- /dev/null +++ b/categories/user/index.xml @@ -0,0 +1 @@ +User on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/categories/user/Recent content in User on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usMon, 19 Jun 2023 00:00:00 +0000Quickstarthttps://kaoto.io/docs/quickstart/Mon, 19 Jun 2023 00:00:00 +0000https://kaoto.io/docs/quickstart/Using our testing instance We have an openly available testing instance .User Guidehttps://kaoto.io/docs/user-guide/Mon, 19 Jun 2023 00:00:00 +0000https://kaoto.io/docs/user-guide/On this guide we will learn how to create our first workflow using Kaoto in a no-code way. \ No newline at end of file diff --git a/categories/visualizer/index.html b/categories/visualizer/index.html new file mode 100644 index 00000000..00f0b4b9 --- /dev/null +++ b/categories/visualizer/index.html @@ -0,0 +1,9 @@ +visualizer | Kaoto +

visualizer

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Hello World

On this video we can see we can drag and drop step into the integration and how to use the plus button to add intermediate and final steps.

Read More
\ No newline at end of file diff --git a/categories/visualizer/index.xml b/categories/visualizer/index.xml new file mode 100644 index 00000000..4054c2cd --- /dev/null +++ b/categories/visualizer/index.xml @@ -0,0 +1 @@ +visualizer on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/categories/visualizer/Recent content in visualizer on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usFri, 15 Jul 2022 12:13:34 +0600Deploy a Kamelet and a Kamelet Bindinghttps://kaoto.io/portfolio/2022-07-15-kamelet-creation/Fri, 15 Jul 2022 12:13:34 +0600https://kaoto.io/portfolio/2022-07-15-kamelet-creation/On this video we create a Kamelet which is then used to create a Kamelet Binding and deploy it on an Openshift.No code deployment via Camel Khttps://kaoto.io/portfolio/deployment-via-camelk/Tue, 19 Apr 2022 12:14:34 +0600https://kaoto.io/portfolio/deployment-via-camelk/On the following video we can see how to do a no code integration and deploy it in a cluster via Camel K.Kaoto visual editorhttps://kaoto.io/portfolio/visualeditorinaction/Wed, 16 Mar 2022 12:14:34 +0600https://kaoto.io/portfolio/visualeditorinaction/Hello Worldhttps://kaoto.io/portfolio/helloworldklb/Tue, 08 Mar 2022 12:14:34 +0600https://kaoto.io/portfolio/helloworldklb/On this video we can see we can drag and drop step into the integration and how to use the plus button to add intermediate and final steps.Step Cataloghttps://kaoto.io/portfolio/stepcatalog/Fri, 12 Nov 2021 12:14:34 +0600https://kaoto.io/portfolio/stepcatalog/ \ No newline at end of file diff --git a/css/custom.css b/css/custom.css new file mode 100644 index 00000000..c52d3317 --- /dev/null +++ b/css/custom.css @@ -0,0 +1,170 @@ +/*!------------------------------------------------------------------ +[CUSTOM STYLESHEET] +PROJECT: Kaoto +VERSION: 1.0 +-------------------------------------------------------------------*/ + +@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap'); + +.content h1, .content h2, .content h3, .content h4 { + margin-top: 0.8em; +} + +.content h1 { + font-size: 3em; +} + +.content h2 { + font-size: 2.2em; +} + +.content h3 { + font-size: 2em; +} + +.content h4 { + font-size: 1.5em; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + color: #000; + /*font-family: playfair display, serif;*/ + font-family: 'Lora', serif; + line-height: 1.2; +} + +h1, +.h1 { + /*font-size: 60px;*/ + font-size: 50px; +} + +@media (max-width: 991px) { + + h1, + .h1 { + /*font-size: 65px;*/ + font-size: 55px; + } +} + +h2, +.h2 { + /*font-size: 60px;*/ + font-size: 32px; +} + +@media (max-width: 991px) { + h2, + .h2 { + /*font-size: 50px;*/ + font-size: 32px; + } +} + +h3, +.h3 { + font-size: 26px; +} + +h4, +.h4 { + font-size: 22px; +} + +h5, +.h5 { + font-size: 18px; +} + +h6, +.h6 { + font-size: 14px; +} + +.content strong { + font-family: inherit; + font-size: inherit; + font-weight: 600; + color: #000; + display: inline; + line-height: inherit; +} + +.content ul { + list-style-type: disc; +} + +.content p > img { + max-width: 100%; +} + +body { + font-family: 'Lora', serif; +} + +p { + font-family: 'Lora', serif; + font-size: 1.2em; +} + +pre { + border-radius: 15px; + color: #212529; + display: block; + font-size: 87.5%; + padding: 2em; +} + +td pre { + padding: 5px 0; +} + +.content pre, .content tr, .content table, .content td, .content tbody { + margin-top: 20px; +} + +.content pre code span { + line-height: 1.4rem; + margin-bottom: 0; +} + +.highlight, .highlight div { + border-radius: 15px; +} + +.content ol { + counter-reset: li; + font-size: 14px; + line-height: 18px; + list-style-type: none; + padding-left: 10px; +} + +.content ol li { + padding: 5px 0 5px 30px; + position: relative; +} + +.content ol li:before { + background-color: #383a3d; + border: 1px solid #383a3d; + border-radius: 50%; + color: white; + content: counter(li); + counter-increment: li; + height: 20px; + left: 0; + position: absolute; + text-align: center; + top: 4px; + width: 20px; +} + + + diff --git a/css/style.min.css b/css/style.min.css new file mode 100644 index 00000000..78e08588 --- /dev/null +++ b/css/style.min.css @@ -0,0 +1,5 @@ +/*!------------------------------------------------------------------ +[MAIN STYLESHEET] +PROJECT: Project Name +VERSION: Versoin Number +-------------------------------------------------------------------*/@import "https://fonts.googleapis.com/css?family=Playfair+Display:400,700|Roboto:300,400,500,700";@font-face{font-family:bwnistaint-xbd;src:url(../fonts/BwNistaInt-xBd.woff)format("woff");font-style:normal;font-display:swap}body{line-height:1.2;font-family:roboto,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px;color:#4c4c4c}p{font-weight:400;color:#4c4c4c;font-size:15px;line-height:1.8;font-family:roboto,sans-serif}.btn{font-size:22px;font-family:playfair display,serif;text-transform:capitalize;padding:16px 44px;border-radius:5px;font-weight:600;border:0;position:relative;z-index:1;transition:.2s ease}.btn:focus{outline:0;box-shadow:none!important}.btn:active{box-shadow:none}.btn-sm{font-size:15px;padding:10px 30px}.btn-xs{padding:5px 10px;font-size:15px}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary.active{opacity:.8}.btn-primary:active{background:var(--primary-color)!important}.btn-primary:hover{background:var(--primary-color)}.btn-primary.focus,.btn-primary.active{background:var(--primary-color)!important;box-shadow:none!important}.btn-transparent{background:0 0;color:var(--primary-color);font-weight:700}.btn-transparent:active,.btn-transparent:hover{color:var(--primary-color)}.hero-area .btn-cta:hover{background-color:#fff;color:var(--primary-color)}body{background-color:#fff;overflow-x:hidden}::selection{background:var(--primary-color);color:#fff}.preloader{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#fff;z-index:999999;display:flex;align-items:center;justify-content:center}ol,ul{list-style-type:none;margin:0}img{vertical-align:middle;border:0}a,a:hover,a:focus{text-decoration:none}a,button,select{cursor:pointer;transition:.2s ease}a:focus,button:focus,select:focus{outline:0}a.text-dark:hover{color:var(--primary-color)!important}a:hover{color:var(--primary-color)}.slick-slide{outline:0}.section{padding-top:80px;padding-bottom:80px}.section-title{margin-bottom:80px;font-family:bwnistaint-xbd}.bg-cover{background-size:cover;background-position:50%;background-repeat:no-repeat}.overlay{position:relative}.overlay::before{position:absolute;content:'';height:100%;width:100%;top:0;left:0;background:#000;opacity:.5}.outline-0{outline:0!important}.d-unset{display:unset!important}.bg-primary{background:var(--primary-color)!important}.bg-gray{background:#eaeaea!important}.text-primary{color:var(--primary-color)!important}.text-color{color:#4c4c4c}.text-dark{color:#000!important}.text-light{color:#999!important}.mb-10{margin-bottom:10px!important}.mb-20{margin-bottom:20px!important}.mb-30{margin-bottom:30px!important}.mb-40{margin-bottom:40px!important}.mb-50{margin-bottom:50px!important}.mb-60{margin-bottom:60px!important}.mb-70{margin-bottom:70px!important}.mb-80{margin-bottom:80px!important}.mb-90{margin-bottom:90px!important}.mb-100{margin-bottom:100px!important}.zindex-1{z-index:1}.rounded-lg{border-radius:15px}.overflow-hidden{overflow:hidden}.font-primary{font-family:roboto,serif!important}.font-secondary{font-family:playfair display,serif!important}.font-tertiary{font-family:bwnistaint-xbd!important}.shadow{box-shadow:0 18px 39.1px 6.9px rgba(224,241,255,.34)!important}.bg-dark{background-color:#222!important}.icon{font-size:45px}.icon-bg{height:100px;width:100px;line-height:100px;text-align:center}.icon-light{color:#c8d5ef}.slick-dots{text-align:center;padding-left:0}.slick-dots li{display:inline-block;margin:2px}.slick-dots li.slick-active button{background:#fff;width:25px}.slick-dots li button{height:6px;width:12px;background:rgba(255,255,255,.5);color:transparent;border-radius:10px;overflow:hidden;transition:.2s ease;border:0}.form-control{border:0;border-radius:0;border-bottom:1px solid #c7c7c7;height:60px}.form-control:focus{border-color:var(--primary-color);outline:0;box-shadow:none!important}textarea.form-control{height:120px}.card{border:0}.card-header{border:0}.card-footer{border:0}.navigation{padding:40px 130px;transition:.3s ease}.navigation.nav-bg{background-color:var(--primary-color);padding:15px 100px}@media(max-width:991px){.navigation.nav-bg{padding:15px 20px}}@media(max-width:991px){.navigation{padding:20px;background:var(--primary-color)}}.navbar .nav-item .nav-link{font-family:bwnistaint-xbd;text-transform:uppercase;padding:15px}.navbar .nav-item.active .nav-link{color:#52f8f4}.navbar-dark .navbar-nav .nav-link{color:#fff}.hero-area{padding:250px 0 200px;position:relative}@media(max-width:767px){.hero-area{padding:200px 0 150px;overflow:hidden}}.hero-area h1{position:relative;z-index:2}.layer{position:absolute;z-index:1}#l1{bottom:0;left:0}#l2{top:190px;left:-250px}#l3{top:200px;left:40%}#l4{top:200px;right:40%}#l5{top:100px;right:-150px}#l6{bottom:-20px;left:10%}#l7{bottom:100px;left:20%}#l8{bottom:160px;right:45%}#l9{bottom:100px;right:-10px}.layer-bg{position:absolute;bottom:0;left:0}.progress-wrapper{height:130px;overflow:hidden}.wave{position:absolute;width:100%;height:100%}.wave::before,.wave::after{content:"";position:absolute;width:800px;height:800px;bottom:0;left:50%;background-color:rgba(255,255,255,.4);border-radius:45%;transform:translateX(-50%)rotate(0);animation:rotate 6s linear infinite;z-index:10}.wave::after{border-radius:47%;background-color:rgba(255,255,255,.9);transform:translateX(-50%)rotate(0);animation:rotate 10s linear -5s infinite;z-index:20}@keyframes rotate{50%{transform:translateX(-50%)rotate(180deg)}100%{transform:translateX(-50%)rotate(360deg)}}.edu-bg-image{position:absolute;left:0;top:-300px;z-index:-1}.hover-bg-primary{transition:.3s ease}.hover-bg-primary:hover{background:var(--primary-color)}.hover-bg-primary:hover *{color:#fff}.active-bg-primary{transition:.3s ease;background:var(--primary-color)}.active-bg-primary *{color:#fff}.hover-shadow{transition:.2s ease}.hover-shadow:hover{box-shadow:0 18px 40px 8px rgba(224,241,255,.54)!important}.hover-wrapper{overflow:hidden}.hover-wrapper img{transition:.3s ease;transform:scale(1.1)}.hover-wrapper:hover img{transform:scale(1)}.hover-wrapper:hover .hover-overlay{opacity:1;visibility:visible}.hover-overlay{position:absolute;height:100%;width:100%;border-radius:inherit;top:0;left:0;background:rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:.3s ease}.hover-content{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0;text-align:center}.testimonial-content strong{color:#2bfdff;font-weight:400}.testimonial-bg-shapes .container{position:relative;z-index:1}.testimonial-bg-shapes .bg-map{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.testimonial-bg-shapes .bg-shape-1{position:absolute;left:100px;top:-50px}.testimonial-bg-shapes .bg-shape-2{position:absolute;right:150px;top:50px}.testimonial-bg-shapes .bg-shape-3{position:absolute;right:50px;top:200px}.testimonial-bg-shapes .bg-shape-4{position:absolute;left:100px;bottom:200px}.testimonial-bg-shapes .bg-shape-5{position:absolute;right:200px;bottom:-50px}.footer-section a{color:#fff}.footer-bottom a{color:#999;text-decoration:underline}.footer-section a:hover{color:#fff;text-decoration:underline}.section-on-footer{margin-bottom:-250px}.shadow-down{position:relative}.shadow-down::before{position:absolute;content:"";box-shadow:0 0 80.75px 14.25px rgba(224,241,255,.34);height:100%;width:100%;left:0;top:0;z-index:-1}.card-lg{flex-direction:row-reverse;align-items:center}@media(max-width:991px){.card-lg{flex-direction:column}}blockquote{display:inline-block;padding:10px 20px;background:#eaeaea;border-left:2px solid var(--primary-color);font-style:italic;font-size:22px}.content *{margin-bottom:20px}.content strong{font-family:playfair display,serif;font-size:22px;font-weight:400;color:#000;display:inherit;line-height:1.5}.page-title-alt{padding:350px 0 70px}.border-thick{border:10px solid}.drag-lg-top{margin-top:-230px}@media(max-width:991px){.drag-lg-top{margin-top:0}}.page-title-alt .container{position:relative;z-index:1}.page-title-alt .bg-shape-1{position:absolute;left:0;top:0;height:100%}.page-title-alt .bg-shape-2{position:absolute;left:70px;top:100px}.page-title-alt .bg-shape-3{position:absolute;left:30%;top:50px;transform:rotate(180deg)}.page-title-alt .bg-shape-4{position:absolute;left:100px;bottom:100px}.page-title-alt .bg-shape-5{position:absolute;left:40%;bottom:-25px}.page-title-alt .bg-shape-6{position:absolute;bottom:100px;right:-100px}.page-title{padding:250px 0 150px}.page-title .container{position:relative;z-index:1}.page-title .bg-shape-1{position:absolute;left:0;bottom:0;width:100%}.page-title .bg-shape-2{position:absolute;left:-20px;top:-10px}.page-title .bg-shape-3{position:absolute;left:10%;top:100px}.page-title .bg-shape-4{position:absolute;left:50%;top:-20px}.page-title .bg-shape-5{position:absolute;left:90px;bottom:-50px;transform:rotate(180deg)}.page-title .bg-shape-6{position:absolute;right:20%;bottom:-20px}.page-title .bg-shape-7{position:absolute;right:-220px;bottom:-100px}.filter-controls li{cursor:pointer}.filter-controls li.active{font-weight:700}.social-icons a{height:100px;width:100px;line-height:102px;border-radius:50%;display:block;box-shadow:0 18px 39.1px 6.9px rgba(224,241,255,.34);color:#fff;background-color:var(--primary-color);font-size:20px;text-align:center}.project-meta{display:flex;align-items:center}.project-meta i{height:100px;min-width:100px;line-height:100px;background-color:#fff;color:var(--primary-color);border-radius:50%;text-align:center;display:block;box-shadow:0 18px 39.1px 6.9px rgba(224,241,255,.34);font-size:30px}.project-meta h4{font-weight:700;font-size:24px}.project-meta p{margin-bottom:0}.vscode::before{width:46px;height:46px;content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAQMXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjarZlrlhs7joT/cxWzBBLgczl8njM76OXPB6Yku2zXbc/pdrkqpcwUkwQCEQHK7X/973H/w78YW3YxlZpbzp5/scUmnRfVP//6/Rt8vH+fN+9r4et597kgnFKO+ryt+XX/+3z4DPAcOq/STwPV+bowvl5o8TV+/WWg14PUZiS8WK+B2msgledCeA3Qn2X53Gr5eQljP8fX558w8Ovsj5Y79meQX9/HQvRW4qSKbA3q+SsqzwTUfsVp54LwlxPcGDTfM42/Xt9LJSB/ipP/aVbu16x8XoVvzv+SFM3PeceJr8HMn+Mfz4f05+C7G+Kfnqzz8+Qv5+MOvy3n/XvOqu6c/ayux0xI82tR76XcV9w4GErvxzI/hd/E63J/Gj/Vgd5JdpaffvAzQwtCWk6IYYUeTtj3OMNkilG2FI4iU/Seq1qkyVTvyFC0n3CkkKullfxN0quclc9cwn1uu4+bVMPyK3CnBAYLT/rlv/Pz7UDnGORD8PUTK+YlBkKmYZmzv9xFQsJ54yjdAL9/fv1neVUymG6YKwvsfjxDjBRe2DIc6U20cmPi+JRFKOs1ACHi2YnJBCUDPgdNIQdfREoIxLGSn85AVTTKIAUhJVnMUqJqJjlV7Nl8poR7ryR5TsNZJCJRTIXUUEzkKkJs4KfECoZ60hRTSjmVVFNLPWuOOeWcSzby60VLLKnkUkotrfSqNdZUcy21utpqb9IUckwtt9Jqa613HtoZufPpzg29Dxk64kgjjzLqaKNP4DPjTDPPMqubbfYlSxc8sfIqq662+g4bKO2408677Lrb7geoHT3xpJNPOfW00z9ZC+5J628/f5+18M6a3EzZjeWTNT5aynuIYHSSLGdkTGIg48UyAKDFcuZriFGcpc5y5ptQFUmYZbLkrGAZI4OUvaQTPrn7kbkveXMx/kd5k3fmnKXuv5E5Z6n7JnO/5+0PWVumNtOruxmyMrSgeqX8uGHXLrWbqP310f12oae61e/RhGf33NKMa9XK4tZYfsQyyor7pB1a28Qz1TkIlSPzbdawZhmrQG/H17QbMNG19zj7jAQbSx69t4xsrlgPpbWlr1ZTQMZ2bHsXZ7kimXUSGmlHJNURD3MpZ60+iH5tkGUsJN3HE3du5+Tdyhm9HfAQdQQCa0tjpD53Dnus3FaCQmtPa5fVG+jXvELaNi/fx4k8hCCvqEwWAj8gLJYzxfWzAicLt6IWgP7UZseJ35kkJ5NFsjWmpWivNuWUckrYcXBHn/de6cd9O4yFCy8x1SaBO/kyDSPhaE9Jz1P0uJHVj7UO0W5QHwOkXcBMva8pvL88uh8n8tr19AAkOwVxTI2iGJxDlDCbp6x8Gf6wntj3PjMwNcH3kNuxXRg2UWq67zFDkrpiH3OI1qEevMOqTDCMegxEMvpCYUB76/FWI/UPniW6jXJa7CiOOzlIPwHK0DmXCJis1Adjx9H2LTBLMuAkjFRc7Jkx51nQSIsh172eqhgU7q/4j0I9h7gVyPl5yNu9cOqi8MT3+5YYvV7843E3JTE7nEFZ5ylguTSBXxJwJoHIOtpvIawKACwiLGsIa9o7KzDk6VNtTb5tf6OJ/McF8vfmbw+ySkkJanMZhtqLaQ+YaMOTsFhmeTHid+vMMezpS0+57zx2VU9cUuytyBxFN9xp9Zu6493UTJh6nHBSSQFSFwa18jM/aszYzMSKWmyXwmfJvAqXbmj5XGgMRHgTZcuVnDEM+X0FZP04rbuEvlg7T9UCBsj7motcZrDLZNWJxCx+g0gCYZGqI+2Km5YnIuEWCKwoFhOQVeaETlj0SMkYZFLclIqDsFHDagssA3N+K6yG3G9o9YTMqbKG1bneOmem/dbjmYnCXCfziOniKl2MKG4dE2hyrFbsjfpcfSayYoAt6fOI9odHMKPRx26oFjpFEEaaA1nYs0r0mWqrE/yjlroECqV6KLJyZythVcA1FiR3ohPyqjNv3xt1kebxy+4lmZAMVH323EjSyoqsGUbHJOv1N/w7Agtk/VysH+AlU5hjkAN3tCCgmSrNQBU8V4EWFpKXZHsg1gJYg+79id1BGsLaAIvfLUkrRJRHUqbbcoj3QU3yUzCj1/0prlAMGe1OJ004m1zgEKw4s86EmMe+kIHxAO687754uwAzsaj18/o1pHuNaWL6QmKO6Ag2L19oy+IpwDLd3g3I15m8otPcf+DeUyMrG8dZmstNKMA6l43pruKi7Ja5DWYK2y8+Oi56LNUoC/iECdFKxKbK3Eg2C2lqumBwJshW3je9FPiFZxTYcwsOghkzQ9b+a4Hr8I6eoll1BELdqY6+CTrVTWJwJrvUVXEPPC4NY1z/WfUtb6AcySJLx/p9Ccj7vJ2udhJdgFQZ2+RSasZYxbFBCT7HQ63zVeWuIVc7fVP0P5++6bDEtD+SqLP0SW9rMdGuL72PHSO0CppZcs9pAHlJG3W2bs2gNmHPCIFop+FaJmi4kfrv3M+gPDPyndRcZ8euUPiLaj48YVPhJ5QN1cIMxAUhnig3BVJUz5wpn8U0esDNRcyc/yCwz/kbHHNzb4i/zysiT2EeEw3lueYM6sM7Bo6Z8KmQNFncWxNY6xG1q5EWAo3O5n0yZEPkwt4Rw1CE9FqxLpxUBQd546pBAu4VFtzLDO+Sq6mZNtJd5U/G8q9jgglOgUAFO5sH4o6RZrqz0Nw2jNZ5xMszsQZdQlPmESE2CAf3sZKnDgrISRU/Hl9qXPDwmeTU1zty82d44EboYM7MMKmEYuQ0qvXnvvVqBVLjHI9XalszySjzkiuqWDoTKAq9FxmO5ZLEQVajf1rVJqiATZ4PKm9jtziZ+OJXa5geCtN0PUVA/qfex9CLNIw580ClbolSkwdPd6SeeuepkibOtDRmspFL6nE1yngOw+/ZQAy9dMy/dND/Y+m4aTjjL4rmtPXc7Jd45CgIbZheJrpQsa010t+YRCmIwiOUeq3DveGRyZWJ7kpnR3zqmm7xGq3DFa8sOPe60axICdBQA0IsEGUOqeMi6D7QHED/Ydwmso0i5NaaH5c4mqFI1E/L9NQNOkD68HvTxA3Khphr2Fi94iMcbopNtSERLfmNzwa+oY08KybGiKklcxu5+9U8E5OQrXoh3dSj2AhICdSUG7Q34AEaRrov60VoigTHakk3mmxG4I226jK0aad1JO12JJ0+RrbRMURy6RhXTSoxmm4m4oqFBZKpU5Et01tQSR72xW7CuJja/RRQqWAH79yIKqPTeI4LWuQkO3uxvAl7Gpg9QOyvnfh62093WeRV7j0wUhuIKStDjl4oemfihaKvMvoL99zToIiIe3QBJqvi9l1rxy99jDvlAWg9d+drT8sF/rFY0CSpmvsIFXqcE2bGkdBdb3raU3D1cpvg7pNSM8yRmYEgGt6lpWBvunlWqts6m9opUuw5oKPae8PapuVCEawVEtFo1ZMlOpMJWkqGpotkpRgJIInx6Iap+i4X3N/PjOK+qymMwqHMSTNVXOGkDMiKHCjB0q/xFhVVMZ6iciMV4zosK41wyKcPXjER+vlufjVM5lKtNRJ9qLHpYwI1t8cE0vyeg9I+/S9HOuCZzbwBH9jKzFs91tjhY2vyXWdTnkD9vaybmnXDfNJwk37bPyjBmoJ6m4IOGTHNRuHqffaHsVb4ibHS7aatg9x04yCbRqo0Ujes1/lhChiWrv57X/A5beyMMqIiHW89Tx4XveO2/AQACqwlQqUkUTYKjV3qvKGbsO2CL/ZxGY6deVZUArk3BBMBaiBr/8k9pss3Cbdq4kNTPK59qyZnQI4GjmYnOx5zPQtWGo+9PC2ZFNsbwlUo+SKUmvALM4aDq4BcY6QHC7ZfUKm0V8l0h058X1ftSyMdHgdH8SgydDc9ljXwFpWNYR90XAkgl4VaN3ptehPFf0T/MdPtFQ2Tl01RW5blRpeErTu8i9DwwWKiWATKxJTuBnxc+Nyu4QCfVccAVmokpMYuD7e8mAVIdQeaLg/MUsJjQeujJBdQ/OYfWGm0pYaUaXskL67rHi7khfvqIF7HEj5IQapS/QZO/UbW4tmSMy92VnycdkfNpW/b8+nd4giAtQjtzZQfdT+itt+shPtnMX25v5yMlwDCTuNQz9fR0TGFRNu1vO1JoCLWk+Fe8IADK0M4CEO78QrdlKC3z8LkeyF3P+yvftC1i/b5DVXbxwG4VZlaVhohtBpzYRAeHDhgAJ8jUIU0CasuYIds5aIY/vBc3Ybnw/ORrlXMup2uBTUPy9r1SFB1WVOPkV4Nu1TiyiefQB3aRtJszXBdbU+vNopx1QvLu3VlwLSNHwcyx6d1MaAOc1LmGXDT9PanGTCt9UzFXOm8EKkZJbKZvtcc3T+VWsXz2E5E9QM/2ONR2p+ljzlojcbQqhY3bi1EjN9tggUmBLAtRI/aj5favxQOseei7cUuXjg8xfL4wCmzz008MC1tYpL2jIUKmTRmkAiLtW2sfPcdFCx0swXXgCOGIU2XjCjp+G8Ow5sn08OTF95B9t3vI524yHX3Nry3FqCvs+wLickn3TATZdmyrtJ2ZtOxSt9G32ZBfXhKWK9HbnRLHDE765qdfM0OI1C0i1DTsm3Q0RqTbPZdo6/WTxh/TMv3tr5KpZnzwWGsaRt7d+c2mGzBMt2Vhw2w+rZP+AsJDLFOfvtiHU7FDN4Ox7ZxX7bVFggOw1qOGsOORnwmXiyI0vw8+2bVuhAAV6RA1BvZRRPAF/oVjfpoA3AyqdMam3dHjk58tzjxtw7ndaRDBzpCNou5DPOPtuX+2gWzLylwtd9B6DaY6VB86/zFfut7oLvS+RRbg3wnCSmBaoNvBGxl21WwpZYitgPUTPwTstVLzAWb4BYOARNEJT2CSPnqu3z7+bfla6pSJth37+r9WrzmOIe35xFNYHNsp1AVPPGfzkjC8Pnl+Y1rgncP9VnRfuGvWGzrhsmZl4uTnl2UBb9rWvx3uzU/t8e2SX8N0BYU/PzVJqy4P13YtInheqPPdrVZo2t5Pf0iIKZ53gVCoHnNNEIhA0iMCmj0dMBmVLC9YGp7uRWfn4r3OzN7CsQSYtuMuCegh3ULeyDOvS23zcHFQt3wyWRfIkdyhO6zwD1ozYAirQXpz2q+h16LZDEq/28togV3i5UmGD6qzyb3QvlOiBhxYMxM4rlKBI7l2w0PuDjfGNkmoe5T5f//fdFz7Fhn22IFjCQHpg90/iEu5G0Y/RQsf1Ss9hoElRaqZ/vW7LXLb9/b301+vZv85bgpGfJ89l7heNO4t4p589kTZ2iNQ7dWZ9X7nVFJ9rUC/RdeCtuzr/Z3q8wUy6wLL10zrQYthvFz2VDo7iNuW3oj6PgItATfikrbDmA0yAawS0OGZD97SvYNfr1dWLWdd33miJU3FrOvpZgLBouLwS5+ueRvT4ttYgmHdMHxKMfdLD6Jbh3Tl83Xwym2/xpyzPVuMBIXuOXYFv8NgimEy8z86V6fqxDFvX415AhT/fkJRJXhwnh2qjFWzf0fCNdNqrtrQwwAAAGEaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBzFX1NFkWpBM4g4ZKhOFkRFHLUKRagQaoVWHUwu/YImDUmKi6PgWnDwY7Hq4OKsq4OrIAh+gDg6OSm6SIn/SwotYj047se7e4+7d4BQKzHd7hgHdMOxkvGYlM6sSl2vCEFEGP3oU5htzslyAm3H1z0CfL2L8qz25/4cvVrWZkBAIp5lpuUQbxBPbzom531ikRUUjficeMyiCxI/cl31+Y1z3mOBZ4pWKjlPLBJL+RZWW5gVLJ14ijii6QblC2mfNc5bnPVShTXuyV8Yyhory1ynOYw4FrEEGRJUVFBECQ6itBqk2EjSfqyNf8jzy+RSyVUEI8cCytCheH7wP/jdrZ2bnPCTQjGg88V1P0aArl2gXnXd72PXrZ8AwWfgymj6yzVg5pP0alOLHAHhbeDiuqmpe8DlDjD4ZCqW4klBmkIuB7yf0TdlgIFboGfN762xj9MHIEVdJW6Ag0NgNE/Z623e3d3a279nGv39ADT4co5wLR9lAAAPi2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6aXB0Y0V4dD0iaHR0cDovL2lwdGMub3JnL3N0ZC9JcHRjNHhtcEV4dC8yMDA4LTAyLTI5LyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgIHhtbG5zOnBsdXM9Imh0dHA6Ly9ucy51c2VwbHVzLm9yZy9sZGYveG1wLzEuMC8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOjViMWJlMTAwLWRhYjItNGUyNS04OGZlLTBkZWY0ODkwMzIwMCIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1YzRhNmIxMy1iMjRiLTQzMTYtYjk3Ni0wMzE3ZWJhY2ZkNjciCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2YjgwM2I5My05NGMwLTQyMWEtYWJhNy05NDQ4MDYwZDlmY2YiCiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09IkxpbnV4IgogICBHSU1QOlRpbWVTdGFtcD0iMTY3MTU0OTU0NTAxNzE1NyIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjIyIgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIKICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiPgogICA8aXB0Y0V4dDpMb2NhdGlvbkNyZWF0ZWQ+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpMb2NhdGlvbkNyZWF0ZWQ+CiAgIDxpcHRjRXh0OkxvY2F0aW9uU2hvd24+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpMb2NhdGlvblNob3duPgogICA8aXB0Y0V4dDpBcnR3b3JrT3JPYmplY3Q+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpBcnR3b3JrT3JPYmplY3Q+CiAgIDxpcHRjRXh0OlJlZ2lzdHJ5SWQ+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpSZWdpc3RyeUlkPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjNzhlZjZmZi1iYzk0LTQ5ODktYjIxYS00NGY1ZWRiYTNlOGQiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIgogICAgICBzdEV2dDp3aGVuPSIrMDE6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogICA8cGx1czpJbWFnZVN1cHBsaWVyPgogICAgPHJkZjpTZXEvPgogICA8L3BsdXM6SW1hZ2VTdXBwbGllcj4KICAgPHBsdXM6SW1hZ2VDcmVhdG9yPgogICAgPHJkZjpTZXEvPgogICA8L3BsdXM6SW1hZ2VDcmVhdG9yPgogICA8cGx1czpDb3B5cmlnaHRPd25lcj4KICAgIDxyZGY6U2VxLz4KICAgPC9wbHVzOkNvcHlyaWdodE93bmVyPgogICA8cGx1czpMaWNlbnNvcj4KICAgIDxyZGY6U2VxLz4KICAgPC9wbHVzOkxpY2Vuc29yPgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+pwWe7wAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB+YMFA8TBQybjdYAAAMbSURBVEjHpZZLaFVXFIa/de61MWLS663GiBCiIYKi+Cg+iBJHFklNtDqxM60DBwoKlVRjChUfgzaK0UJHLU6kpYKmSakxaRRFdFI1oFXwgfFFJRifiIm5d/8dHJPcc+85YOKBBYfN2v+/17/WXmsbH/J9eybmGbXJT5Kbk1PLOjAab64YeynTxUYMXt/xEUYDTpvsbdorr6wA6APaELslXb61sjA9MoKdf+cDP2N8icD6UpRXLs70SAPtiPr4sMHr2pNIRzGW4wABkm9DgsSA5cCs4RHsaCtGasJsIRpY9MGl0B2TfYLG63lACXK32Toz3HX7qTJEMzAjgDZweheeUY+D/xYhnUK6AfY9B67l53h90zoHcRppxiBgpsEtMPlyBc1DtCCWImKIbZi1ceBa6SB4betSRDtSSQi4A50YlT96iYTCuOMh4i0BLrD/6kYedMVx7ghmhSGi9QF1GIdK5s13UUmII6qBY4jKjPVJYMcpSHi8eO4RN/C8zH13gXU0VJ0D4NhLL6ouPL6e2Y20Aqk5K744hQmPCRP9qk6lwDkh/YW0aBAcQtMyYD7ztlmvEGsRv+QkKi8fJk6GWF4/qXQ90ir2f94dOKaibegePLoLaQcfJ6EgkRVnDCZM8v+dy9VB0VfHj2BLcwHGb8TsK573wLOedzEGTjMKaQ9mTezrLArgu2jz2PJHEehPpBr/khu8egY93Smcc0FRMUQV2EX2dla+j0ZxpBZgQSCumPcfr19uZFxRHOkIkF2mU4E29nTWAYcQLlqiXNLzQAU/rWlh5+wTiBrEkxC/POAHHL8/vHNvfLREUjXSWaQ0UgPSZxxe1TXU9+ecRSzD6T5OZJmH9EV/b/95FD5b/MVNx/1mZ9zmx9XhNbHrShm8a3aBDAt6HVOmlxNN8L7fd1eKQU3AwkB+e9OUTp8W0U2HRTD3MaIK0YrDb9FOQ0MnV8JH3rAn2q55T3FajfRrVglnWgo4Caz0RjSTd3/6BliHOIzD2eBYoA9oASpwVHetT1yyD3q27PgnZkZt4ZixmxPFxR0Yjfc2JALPlv8BNNXLm7GVdeUAAAAASUVORK5CYII=)} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..5a68f635 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,10 @@ +Docs | Kaoto +

Docs

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

User Guide

On this guide we will learn how to create our first workflow using Kaoto in a no-code way.

Read More
client-logo
\ No newline at end of file diff --git a/docs/index.xml b/docs/index.xml new file mode 100644 index 00000000..0a9b7e94 --- /dev/null +++ b/docs/index.xml @@ -0,0 +1 @@ +Docs on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/docs/Recent content in Docs on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usMon, 19 Jun 2023 00:00:00 +0000Quickstarthttps://kaoto.io/docs/quickstart/Mon, 19 Jun 2023 00:00:00 +0000https://kaoto.io/docs/quickstart/Using our testing instance We have an openly available testing instance .User Guidehttps://kaoto.io/docs/user-guide/Mon, 19 Jun 2023 00:00:00 +0000https://kaoto.io/docs/user-guide/On this guide we will learn how to create our first workflow using Kaoto in a no-code way. \ No newline at end of file diff --git a/docs/quickstart/index.html b/docs/quickstart/index.html new file mode 100644 index 00000000..d5d16c71 --- /dev/null +++ b/docs/quickstart/index.html @@ -0,0 +1,20 @@ +Quickstart | Kaoto +

Quickstart

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Using our testing instance

We have an openly available testing instance +.

This instance has deployments disabled, but you can design routes and try Kaoto. As a suggestion, you can use some of our workshops +as guides.

Using a standalone executable

Go to https://github.com/KaotoIO/kaoto-ui/releases/latest +and download the appropriate file (see following sections) from the Assets section at the bottom of the release information.

Using JAR file

As a pre-requisite, you must have Java 17+ +already installed in your computer.

Then, run the jar file as you would run it normally:

java -jar kaoto-$version-runner.jar
+

You can now access Kaoto on http://localhost:8081

Learn more about how to use Kaoto on the User Guide

Using native executable

If you downloaded one of the native executables valid for your architecture and operative system, you just have to run the downloaded file as you would run any other application file in your operative system.

Note that as it is a native build, you should have the exact same environment as the one in which the executable was built. All our executables are built using the latest versions of GitHub machines.

You can now access Kaoto on http://localhost:8081

Learn more about how to use Kaoto on the User Guide

Using VS Code

The VS Code Kaoto extension +is integrating Kaoto as an editor.

You can find specific information to get started on the wiki page of the VS Code Kaoto project +.

You can also watch this video +.

Using Docker

The only pre-requisite is to have docker installed +.

docker run --rm  -p 8081:8081  --name kaoto kaotoio/standalone:latest
+

You can now access Kaoto on http://localhost:8081

Learn more about how to use Kaoto on the User Guide

Always stop the containers when finishing using Kaoto, so you don’t have containers dangling:

docker stop kaoto
+
\ No newline at end of file diff --git a/docs/user-guide/index.html b/docs/user-guide/index.html new file mode 100644 index 00000000..7fa0c09b --- /dev/null +++ b/docs/user-guide/index.html @@ -0,0 +1,11 @@ +User Guide | Kaoto +

User Guide

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

On this guide we will learn how to create our first workflow using Kaoto in a no-code way. This means, we will not write any source code at this point.

Starting Kaoto

The first step is to load the Kaoto application. Follow the QuickStart +to know in which URL you can find it.

Now we want to make sure we are going to build a Kamelet Binding. Click on the top menú on the + New Route button and select the Kamelet Binding option.

+

Adding the first step

The initial page is an empty space with a placeholder with the title ADD A STEP.

We want to start a new integration by selecting the first step, which is going to be a timer. This timer is going to send a message to the following step. To select it, we either click on the placeholder or clicking on the book icon on the top left. Both options will open the catalog of steps.

We have to search for the step called timer-source and drag and drop it into the placeholder with the title ADD A STEP.

Now that we have our first step in place, we need to configure it. When we click on the step we just dropped, a configuration tab will open on the right side of the editor with all the properties that can be configured. In our case, we want to fill a Message as Hello Kaoto! and the Period with 50000. This means every 50000ms a message with the content Hello Kaoto! will be sent to the rest of the workflow.

We can close both the configuration and step catalog at this point, if we want.

Adding the second step

To add the following step, we have to click on the + button. This will open a mini-catalog. We want to log the message sent by the previous step, so we will select the log-sink step. This log-sink action is on the tab END, indicating that no more steps can be added after it.

Click on it and a new step will be added to your workflow. Note that now we still have a + button to add more steps if we wanted in between the timer and the log, but there is no + button to add steps before the starting step or after the ending step.

Your integration is now ready to be deployed. If you are curious on what source code has been, you can open the source code editor tab by clicking on the </> button.

Running our integration

If you deployed Kaoto connected to a cluster, you will be able to start the integration using the Deploy button: the triangle button representing a “start”. We could afterwards stop the integration by clicking on the “stop” button.

\ No newline at end of file diff --git a/fonts/BwNistaInt-xBd.woff b/fonts/BwNistaInt-xBd.woff new file mode 100644 index 00000000..3ce818a9 Binary files /dev/null and b/fonts/BwNistaInt-xBd.woff differ diff --git a/images/VSCode.gif b/images/VSCode.gif new file mode 100644 index 00000000..830f1c72 Binary files /dev/null and b/images/VSCode.gif differ diff --git a/images/about/low-code-kaoto.webp b/images/about/low-code-kaoto.webp new file mode 100644 index 00000000..844d9298 Binary files /dev/null and b/images/about/low-code-kaoto.webp differ diff --git a/images/about/step-replacement.webp b/images/about/step-replacement.webp new file mode 100644 index 00000000..73b7f9f0 Binary files /dev/null and b/images/about/step-replacement.webp differ diff --git a/images/backgrounds/bg-dots.png b/images/backgrounds/bg-dots.png new file mode 100644 index 00000000..c3374a2a Binary files /dev/null and b/images/backgrounds/bg-dots.png differ diff --git a/images/backgrounds/education-bg.png b/images/backgrounds/education-bg.png new file mode 100644 index 00000000..2e078037 Binary files /dev/null and b/images/backgrounds/education-bg.png differ diff --git a/images/backgrounds/map.png b/images/backgrounds/map.png new file mode 100644 index 00000000..2013a69f Binary files /dev/null and b/images/backgrounds/map.png differ diff --git a/images/backgrounds/team-bg.png b/images/backgrounds/team-bg.png new file mode 100644 index 00000000..0bf5cf4c Binary files /dev/null and b/images/backgrounds/team-bg.png differ diff --git a/images/docs/architecture/kaoto-backend-overview-2.graphml b/images/docs/architecture/kaoto-backend-overview-2.graphml new file mode 100644 index 00000000..6c1f1adf --- /dev/null +++ b/images/docs/architecture/kaoto-backend-overview-2.graphml @@ -0,0 +1,53 @@ + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGZpbGwtb3BhY2l0eT0iMSIgY29sb3ItcmVuZGVyaW5nPSJhdXRvIiBjb2xvci1pbnRlcnBvbGF0aW9uPSJhdXRvIiB0ZXh0LXJlbmRlcmluZz0iYXV0byIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgd2lkdGg9IjY1MyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzaGFwZS1yZW5kZXJpbmc9ImF1dG8iIHN0cm9rZS1vcGFjaXR5PSIxIiBmaWxsPSJibGFjayIgc3Ryb2tlLWRhc2hhcnJheT0ibm9uZSIgZm9udC13ZWlnaHQ9Im5vcm1hbCIgc3Ryb2tlLXdpZHRoPSIxIiBoZWlnaHQ9IjIzMCIgZm9udC1mYW1pbHk9IidEaWFsb2cnIiBmb250LXN0eWxlPSJub3JtYWwiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIGZvbnQtc2l6ZT0iMTJweCIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIGltYWdlLXJlbmRlcmluZz0iYXV0byI+CiAgPCEtLUdlbmVyYXRlZCBieSB5U1ZHIDIuNS0tPgogIDxkZWZzIGlkPSJnZW5lcmljRGVmcyIvPgogIDxnPgogICAgPGRlZnMgaWQ9ImRlZnMxIj4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMjExLjIxMjUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTI5MC4wMTI1IiB5MT0iNDEuNTkzMiIgeTI9IjQxLjU5MzIiIGlkPSJsaW5lYXJHcmFkaWVudDEiIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjU0LDIyNCwyMDQpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIwLjM5NjEiIHN0b3AtY29sb3I9InJnYigyNTMsMTUyLDg1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTIxMS4yMTI1IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDI9IjEyOTAuMDEyNSIgeTE9IjQzLjc2MjQiIHkyPSI0My43NjI0IiBpZD0ibGluZWFyR3JhZGllbnQyIiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDI1NCwyMjQsMjA0KSIgb2Zmc2V0PSIwJSIvPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMC4zOTYxIiBzdG9wLWNvbG9yPSJyZ2IoMjUzLDE1Miw4NSkiIG9mZnNldD0iMTAwJSIvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE0NzAuMzk1OSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgyPSIxNTk1LjA2MjUiIHkxPSItOC42OTAxIiB5Mj0iLTguNjkwMSIgaWQ9ImxpbmVhckdyYWRpZW50MyIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTUsMjAzLDIyOSkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyMDMsMjAzLDI1NSkiIG9mZnNldD0iMTAwJSIvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjEwMTAuOTc5MiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgyPSIxMDg2LjMxMjUiIHkxPSI2MC44OTMyIiB5Mj0iNjAuODkzMiIgaWQ9ImxpbmVhckdyYWRpZW50NCIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGNsaXBQYXRoIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iY2xpcFBhdGgxIj4KICAgICAgICA8cGF0aCBkPSJNMCAwIEw2NTMgMCBMNjUzIDIzMCBMMCAyMzAgTDAgMCBaIi8+CiAgICAgIDwvY2xpcFBhdGg+CiAgICAgIDxjbGlwUGF0aCBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImNsaXBQYXRoMiI+CiAgICAgICAgPHBhdGggZD0iTTk1OCAtMzMgTDE2MTEgLTMzIEwxNjExIDE5NyBMOTU4IDE5NyBMOTU4IC0zMyBaIi8+CiAgICAgIDwvY2xpcFBhdGg+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTU4LDMzKSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHJlY3QgeD0iMTE1MS44MTI1IiB3aWR0aD0iMjI0IiBoZWlnaHQ9IjE5MC4wNjY3IiB5PSItMTcuNTczNSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0id2hpdGUiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05NTgsMzMpIiBzdHJva2U9IndoaXRlIj4KICAgICAgPHJlY3QgeD0iMTE1MS44MTI1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxOTAuMDY2NyIgeT0iLTE3LjU3MzUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTE1Mi44MTI1IiB3aWR0aD0iMjIyIiBoZWlnaHQ9IjEiIHk9Ii0xNy41NzM1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjExNTIuODEyNSIgeT0iMTcxLjQ5MzIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTc4LDE0MiwxNjApIiB3aWR0aD0iMjIzIiBoZWlnaHQ9IjEiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxMzc0LjgxMjUiIHk9Ii0xNy41NzM1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0icmdiKDE3OCwxNDIsMTYwKSIgd2lkdGg9IjEiIGhlaWdodD0iMTg5LjA2NjciIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk1OCwzMykiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgZm9udC13ZWlnaHQ9ImJvbGQiIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1Ij4KICAgICAgPHRleHQgeD0iMTE1Ny44MTI1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSItMC40MzQ4IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIj5CYWNrZW5kPC90ZXh0PgogICAgICA8cmVjdCB4PSIxMTYxLjMxMjUiIHk9IjEwLjU5MzIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTM5LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIxNTEuNSIvPgogICAgICA8dGV4dCB4PSIxMjA1LjYxMTciIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjI3LjczMTkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LXdlaWdodD0ibm9ybWFsIiBzdHJva2U9Im5vbmUiPlNlcnZpY2VzPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NCwyMjQsMjA0KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk1OCwzMykiIHN0cm9rZT0icmdiKDI1NCwyMjQsMjA0KSI+CiAgICAgIDxyZWN0IHg9IjExNzEuODEyNSIgeT0iMTE2LjgyNzYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTU4LDMzKSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIxMTcxLjgxMjUiIHk9IjExNi44Mjc2IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIvPgogICAgICA8dGV4dCB4PSIxMTg3LjE4MDEiIGZvbnQtc2l6ZT0iOHB4IiB5PSIxMzUuMzYzOCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlZpZXdEZWZpbml0aW9uU2VydmljZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQxKSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk1OCwzMykiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDEpIj4KICAgICAgPHJlY3QgeD0iMTE3MS44MTI1IiB5PSI0MS41OTMyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk1OCwzMykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTE3MS44MTI1IiB5PSI0MS41OTMyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIvPgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDIpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTU4LDMzKSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MikiPgogICAgICA8cmVjdCB4PSIxMTcxLjgxMjUiIHk9IjQzLjc2MjQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTU4LDMzKSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIxMTcxLjgxMjUiIHk9IjQzLjc2MjQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU0LDIyNCwyMDQpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTU4LDMzKSIgc3Ryb2tlPSJyZ2IoMjU0LDIyNCwyMDQpIj4KICAgICAgPHJlY3QgeD0iMTE3MS44MTI1IiB5PSI0Ni4yNDIzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk1OCwzMykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTE3MS44MTI1IiB5PSI0Ni4yNDIzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIvPgogICAgICA8dGV4dCB4PSIxMTc0LjQ4MjgiIGZvbnQtc2l6ZT0iOHB4IiB5PSI2NC43Nzg1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+Vmlld0RlZmluaXRpb25QYXJzZXJTZXJ2aWNlPC90ZXh0PgogICAgICA8cmVjdCB4PSIxMzAwLjUxMjUiIHk9IjEwLjU5MzIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iNjYuMyIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjE1MS41Ii8+CiAgICAgIDx0ZXh0IHg9IjEzMjQuMTcwMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMjcuNzMxOSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPkFQSTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQzKSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk1OCwzMykiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDMpIj4KICAgICAgPHJlY3QgeD0iMTQwOC4wNjI1IiB3aWR0aD0iMTg3IiBoZWlnaHQ9IjE5MC4wNjY3IiB5PSItOC42OTAxIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjE0MDguMDYyNSIgeT0iLTguNjkwMSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMSIgaGVpZ2h0PSIxOTAuMDY2NyIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjE0MDkuMDYyNSIgeT0iLTguNjkwMSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMTg1IiBoZWlnaHQ9IjEiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxNDA5LjA2MjUiIHk9IjE4MC4zNzY1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0icmdiKDE3OCwxNDIsMTYwKSIgd2lkdGg9IjE4NiIgaGVpZ2h0PSIxIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTU5NC4wNjI1IiB5PSItOC42OTAxIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0icmdiKDE3OCwxNDIsMTYwKSIgd2lkdGg9IjEiIGhlaWdodD0iMTg5LjA2NjciIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cGF0aCBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiBkPSJNMTQ0MS4zMTI1IDkwLjMwOTkgTDE1MzcuNjEyNSA5MC4zMDk5IEwxNTQ4LjMxMjUgMTEyLjgwOTkgTDE1MzcuNjEyNSAxMzUuMzA5OSBMMTQ0MS4zMTI1IDEzNS4zMDk5IEwxNDUyLjAxMjcgMTEyLjgwOTkgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk1OCwzMykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE0NDEuMzEyNSA5MC4zMDk5IEwxNTM3LjYxMjUgOTAuMzA5OSBMMTU0OC4zMTI1IDExMi44MDk5IEwxNTM3LjYxMjUgMTM1LjMwOTkgTDE0NDEuMzEyNSAxMzUuMzA5OSBMMTQ1Mi4wMTI3IDExMi44MDk5IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTUsMjAzLDIyOSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05NTgsMzMpIiBzdHJva2U9InJnYigyNTUsMjAzLDIyOSkiPgogICAgICA8cGF0aCBkPSJNMTQ0OC4zMTI1IDk1Ljk3NjYgTDE1NDQuNjEyNSA5NS45NzY2IEwxNTU1LjMxMjUgMTE4LjQ3NjYgTDE1NDQuNjEyNSAxNDAuOTc2NSBMMTQ0OC4zMTI1IDE0MC45NzY1IEwxNDU5LjAxMjcgMTE4LjQ3NjYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk1OCwzMykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE0NDguMzEyNSA5NS45NzY2IEwxNTQ0LjYxMjUgOTUuOTc2NiBMMTU1NS4zMTI1IDExOC40NzY2IEwxNTQ0LjYxMjUgMTQwLjk3NjUgTDE0NDguMzEyNSAxNDAuOTc2NSBMMTQ1OS4wMTI3IDExOC40NzY2IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTUsMjAzLDIyOSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05NTgsMzMpIiBzdHJva2U9InJnYigyNTUsMjAzLDIyOSkiPgogICAgICA8cGF0aCBkPSJNMTQ1Ni4zMTI1IDEwMS42NDMzIEwxNTUyLjYxMjUgMTAxLjY0MzMgTDE1NjMuMzEyNSAxMjQuMTQzMyBMMTU1Mi42MTI1IDE0Ni42NDMyIEwxNDU2LjMxMjUgMTQ2LjY0MzIgTDE0NjcuMDEyNyAxMjQuMTQzMyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTU4LDMzKSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTQ1Ni4zMTI1IDEwMS42NDMzIEwxNTUyLjYxMjUgMTAxLjY0MzMgTDE1NjMuMzEyNSAxMjQuMTQzMyBMMTU1Mi42MTI1IDE0Ni42NDMyIEwxNDU2LjMxMjUgMTQ2LjY0MzIgTDE0NjcuMDEyNyAxMjQuMTQzMyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTU4LDMzKSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHBhdGggZD0iTTE0NjcuMzEyNSAxMDcuMzA5OSBMMTU2My42MTI1IDEwNy4zMDk5IEwxNTc0LjMxMjUgMTI5LjgwOTkgTDE1NjMuNjEyNSAxNTIuMzA5OSBMMTQ2Ny4zMTI1IDE1Mi4zMDk5IEwxNDc4LjAxMjcgMTI5LjgwOTkgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk1OCwzMykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE0NjcuMzEyNSAxMDcuMzA5OSBMMTU2My42MTI1IDEwNy4zMDk5IEwxNTc0LjMxMjUgMTI5LjgwOTkgTDE1NjMuNjEyNSAxNTIuMzA5OSBMMTQ2Ny4zMTI1IDE1Mi4zMDk5IEwxNDc4LjAxMjcgMTI5LjgwOTkgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSIxNDc3LjM4ODciIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjEyNC40NDg2IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+Vmlld0RlZmluaXRpb248L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTU4LDMzKSIgc3Ryb2tlPSJyZ2IoMjE2LDIxNiwyNTUpIj4KICAgICAgPHBhdGggZD0iTTE0ODYuMzEyNSAxMjkuMzA5OSBMMTU2NS41MTI3IDEyOS4zMDk5IEwxNTc0LjMxMjUgMTU5LjMwOTkgTDE0OTUuMTEyNSAxNTkuMzA5OSBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTU4LDMzKSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTQ4Ni4zMTI1IDEyOS4zMDk5IEwxNTY1LjUxMjcgMTI5LjMwOTkgTDE1NzQuMzEyNSAxNTkuMzA5OSBMMTQ5NS4xMTI1IDE1OS4zMDk5IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTUwMC45NTciIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjE0MS40Nzk4IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+ZXh0ZW5zaW9uPC90ZXh0PgogICAgICA8dGV4dCB4PSIxNTI0LjgzNjkiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjE1NS40NDg1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+aWQ8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50NCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05NTgsMzMpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQ0KSI+CiAgICAgIDxwYXRoIGQ9Ik05NzMuMzEyNSA4Ni44OTMyIEw5ODQuNjEyNSA2MC44OTMzIEwxMDc1LjAxMjUgNjAuODkzMyBMMTA4Ni4zMTI1IDg2Ljg5MzIgTDEwNzUuMDEyNSAxMTIuODkzMyBMOTg0LjYxMjUgMTEyLjg5MzMgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk1OCwzMykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTk3My4zMTI1IDg2Ljg5MzIgTDk4NC42MTI1IDYwLjg5MzMgTDEwNzUuMDEyNSA2MC44OTMzIEwxMDg2LjMxMjUgODYuODkzMiBMMTA3NS4wMTI1IDExMi44OTMzIEw5ODQuNjEyNSAxMTIuODkzMyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9Ijk4Ni4zODg3IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI4NC4wNjMxIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+Vmlld0RlZmluaXRpb248L3RleHQ+CiAgICAgIDx0ZXh0IHg9IjEwMDYuNzcwNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iOTguMDMxOSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPkNhdGFsb2c8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU0LDIyNCwyMDQpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTU4LDMzKSIgc3Ryb2tlPSJyZ2IoMjU0LDIyNCwyMDQpIj4KICAgICAgPHJlY3QgeD0iMTMwOS42MTI1IiB5PSI0My4zOTE0IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjUwLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI5MC43MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTU4LDMzKSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIxMzA5LjYxMjUiIHk9IjQzLjM5MTQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iNTAuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjkwLjczMzMiLz4KICAgICAgPHRleHQgeD0iMTMxOC4xODMyIiBmb250LXNpemU9IjhweCIgeT0iOTEuNTI3NiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlZpZXdEZWY8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTU4LDMzKSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHBhdGggZD0iTTE0NDguMzEyNSAyMC45NzY2IEwxNTQ0LjYxMjUgMjAuOTc2NiBMMTU1NS4zMTI1IDQzLjQ3NjYgTDE1NDQuNjEyNSA2NS45NzY2IEwxNDQ4LjMxMjUgNjUuOTc2NiBMMTQ1OS4wMTI1IDQzLjQ3NjYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk1OCwzMykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE0NDguMzEyNSAyMC45NzY2IEwxNTQ0LjYxMjUgMjAuOTc2NiBMMTU1NS4zMTI1IDQzLjQ3NjYgTDE1NDQuNjEyNSA2NS45NzY2IEwxNDQ4LjMxMjUgNjUuOTc2NiBMMTQ1OS4wMTI1IDQzLjQ3NjYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSIxNDU4LjM4ODciIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjM4LjExNTIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5WaWV3RGVmaW5pdGlvbjwvdGV4dD4KICAgICAgPHRleHQgeD0iMTQ1OS4xMDA2IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI1Mi4wODQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj4obWFpbiBjYW52YXMpPC90ZXh0PgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTE3MS44MDM3IDQ3Ljg5OTkgTDEwMzIuMjY5IDQ3Ljg5OTkgTDEwMzIuMjY5IDUyLjkwMDYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIGQ9Ik0xMDMyLjI2OSA2MC45MDA2IEwxMDM3LjI2OSA0OC45MDA2IEwxMDMyLjI2OSA1MS45MDA2IEwxMDI3LjI2OSA0OC45MDA2IFoiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTA5NS4zNjQzIiB5PSIzOC45MTU1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0id2hpdGUiIHdpZHRoPSIzOS43NTk4IiBoZWlnaHQ9IjE3Ljk2ODgiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8dGV4dCB4PSIxMDk3LjM2NDQiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjUyLjA1NDIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5idWlsZHM8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xMTcxLjc5ODcgMTMyLjU5NDMgTDEwMjkuODEyNSAxMzMuMDkzMiBMMTAyOS44MTI1IDEyMC45MTMyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBkPSJNMTAyOS44MTI1IDExMi45MTMyIEwxMDI0LjgxMjUgMTI0LjkxMzIgTDEwMjkuODEyNSAxMjEuOTEzMiBMMTAzNC44MTI1IDEyNC45MTMyIFoiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTEwMS4yNTQyIiB5PSIxMjMuODAyNSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMzEuNDkyMiIgaGVpZ2h0PSIxNy45Njg4IiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHRleHQgeD0iMTEwMy4yNTQzIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIxMzYuOTQxMiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPnVzZXM8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQsMywwLDMiIGQ9Ik0xMjMwLjkxMjUgMTE2Ljc5NzggTDEyMzAuOTEyNSA4OC43NTgxIEwxMzA5LjU5ODggODguNzU4MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2UtZGFzaGFycmF5PSI0LDMsMCwzIiBkPSJNMTI4OS45ODgyIDYyLjAwOSBMMTMwOS41OTAzIDYyLjAwOSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTM1OS44NDU5IDg4LjM5NDMgTDE0MDAuMDQyOCA4Ny44MTI1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBkPSJNMTQwOC4wNDIgODcuNjk2NyBMMTM5NS45NzA5IDgyLjg3MDkgTDEzOTkuMDQzIDg3LjgyNyBMMTM5Ni4xMTU2IDkyLjg2OTkgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg== + + + + + {"version":"2.0.0","theme":{"name":"light","version":"1.0.0"}} + + + 1 + + + + + + + + + \ No newline at end of file diff --git a/images/docs/architecture/kaoto-backend-overview-2.svg b/images/docs/architecture/kaoto-backend-overview-2.svg new file mode 100644 index 00000000..8685be00 --- /dev/null +++ b/images/docs/architecture/kaoto-backend-overview-2.svg @@ -0,0 +1 @@ +BackendServicesViewDefinitionServiceViewDefinitionParserServiceAPIViewDefinitionextensionidViewDefinitionCatalogViewDefViewDefinition(main canvas)buildsuses \ No newline at end of file diff --git a/images/docs/architecture/kaoto-backend-overview-crd.graphml b/images/docs/architecture/kaoto-backend-overview-crd.graphml new file mode 100644 index 00000000..1e5330cb --- /dev/null +++ b/images/docs/architecture/kaoto-backend-overview-crd.graphml @@ -0,0 +1,53 @@ + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGZpbGwtb3BhY2l0eT0iMSIgY29sb3ItcmVuZGVyaW5nPSJhdXRvIiBjb2xvci1pbnRlcnBvbGF0aW9uPSJhdXRvIiB0ZXh0LXJlbmRlcmluZz0iYXV0byIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgd2lkdGg9IjUzOCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzaGFwZS1yZW5kZXJpbmc9ImF1dG8iIHN0cm9rZS1vcGFjaXR5PSIxIiBmaWxsPSJibGFjayIgc3Ryb2tlLWRhc2hhcnJheT0ibm9uZSIgZm9udC13ZWlnaHQ9Im5vcm1hbCIgc3Ryb2tlLXdpZHRoPSIxIiBoZWlnaHQ9IjIyNyIgZm9udC1mYW1pbHk9IidEaWFsb2cnIiBmb250LXN0eWxlPSJub3JtYWwiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIGZvbnQtc2l6ZT0iMTJweCIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIGltYWdlLXJlbmRlcmluZz0iYXV0byI+CiAgPCEtLUdlbmVyYXRlZCBieSB5U1ZHIDIuNS0tPgogIDxkZWZzIGlkPSJnZW5lcmljRGVmcyIvPgogIDxnPgogICAgPGRlZnMgaWQ9ImRlZnMxIj4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMzAxLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTIyMi4zIiB5MT0iMzI4LjMzNDYiIHkyPSIzMjguMzM0NiIgaWQ9ImxpbmVhckdyYWRpZW50MSIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMzAxLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTIyMi4zIiB5MT0iMjczLjc5NTkiIHkyPSIyNzMuNzk1OSIgaWQ9ImxpbmVhckdyYWRpZW50MiIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMzAxLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTIyMi4zIiB5MT0iMjc3LjEwOTciIHkyPSIyNzcuMTA5NyIgaWQ9ImxpbmVhckdyYWRpZW50MyIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMzAxLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTIyMi4zIiB5MT0iMzM1LjMyOTMiIHkyPSIzMzUuMzI5MyIgaWQ9ImxpbmVhckdyYWRpZW50NCIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMzAxLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTIyMi4zIiB5MT0iMzM1LjMyOTMiIHkyPSIzMzUuMzI5MyIgaWQ9ImxpbmVhckdyYWRpZW50NSIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMzAxLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTIyMi4zIiB5MT0iMzM4LjY0MzEiIHkyPSIzMzguNjQzMSIgaWQ9ImxpbmVhckdyYWRpZW50NiIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItNDU3LjgzMzMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTM4Mi41IiB5MT0iMzAwLjg4MTMiIHkyPSIzMDAuODgxMyIgaWQ9ImxpbmVhckdyYWRpZW50NyIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGNsaXBQYXRoIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iY2xpcFBhdGgxIj4KICAgICAgICA8cGF0aCBkPSJNMCAwIEw1MzggMCBMNTM4IDIyNyBMMCAyMjcgTDAgMCBaIi8+CiAgICAgIDwvY2xpcFBhdGg+CiAgICAgIDxjbGlwUGF0aCBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImNsaXBQYXRoMiI+CiAgICAgICAgPHBhdGggZD0iTS01MTEgMTk0IEwyNyAxOTQgTDI3IDQyMSBMLTUxMSA0MjEgTC01MTEgMTk0IFoiLz4KICAgICAgPC9jbGlwUGF0aD4KICAgIDwvZGVmcz4KICAgIDxnIGZpbGw9InJnYigyNTUsMjAzLDIyOSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHJlY3QgeD0iLTM2MiIgd2lkdGg9IjIyNCIgaGVpZ2h0PSIxOTUuNzYwNCIgeT0iMjA5LjI3MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0id2hpdGUiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJ3aGl0ZSI+CiAgICAgIDxyZWN0IHg9Ii0zNjIiIHdpZHRoPSIxIiBoZWlnaHQ9IjE5NS43NjA0IiB5PSIyMDkuMjczIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9Ii0zNjEiIHdpZHRoPSIyMjIiIGhlaWdodD0iMSIgeT0iMjA5LjI3MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSItMzYxIiB5PSI0MDQuMDMzMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9InJnYigxNzgsMTQyLDE2MCkiIHdpZHRoPSIyMjMiIGhlaWdodD0iMSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9Ii0xMzkiIHk9IjIwOS4yNzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTc4LDE0MiwxNjApIiB3aWR0aD0iMSIgaGVpZ2h0PSIxOTQuNzYwNCIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyBzdHJva2UtbGluZWNhcD0iYnV0dCIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgZm9udC13ZWlnaHQ9ImJvbGQiIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1Ij4KICAgICAgPHRleHQgeD0iLTM1NiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMjI2LjQxMTYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiPkJhY2tlbmQ8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MSkiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjMyOC4zMzQ2IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMzI4LjMzNDYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9Ii0zMDUuMjkwNiIgZm9udC1zaXplPSI4cHgiIHk9IjM0Ni44NzA4IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcFNlcnZpY2U8L3RleHQ+CiAgICAgIDxyZWN0IHg9Ii0zNTIuNSIgeT0iMjM3LjQzOTYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTM5LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIxNTcuMTkzNyIvPgogICAgICA8dGV4dCB4PSItMzA4LjIwMDgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjI1NC41NzgzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+U2VydmljZXM8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MikiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MikiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjI3My43OTU5IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMjczLjc5NTkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9Ii0zMzYuMjgxOCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMjkzLjcxNjkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5TdGVwUGFyc2VyU2VydmljZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQzKSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQzKSI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMjc3LjEwOTgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iLTM0MC41IiB5PSIyNzcuMTA5OCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iLTMzNi4yODE4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIyOTcuMDMwNyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPlN0ZXBQYXJzZXJTZXJ2aWNlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NCwyMjQsMjA0KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2U9InJnYigyNTQsMjI0LDIwNCkiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjI4MC42MTI2IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMjgwLjYxMjYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9Ii0zMjAuNjUiIGZvbnQtc2l6ZT0iOHB4IiB5PSIyOTkuMTQ4OCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPkRlcGxveW1lbnRTZXJ2aWNlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDQpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDQpIj4KICAgICAgPHJlY3QgeD0iLTM0MC41IiB5PSIzMzUuMzI5MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjMzNS4zMjkzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIvPgogICAgICA8dGV4dCB4PSItMzA1LjI5MDYiIGZvbnQtc2l6ZT0iOHB4IiB5PSIzNTMuODY1NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlN0ZXBTZXJ2aWNlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDUpIj4KICAgICAgPHJlY3QgeD0iLTM0MC41IiB5PSIzMzUuMzI5MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjMzNS4zMjkzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIvPgogICAgICA8dGV4dCB4PSItMzA1LjI5MDYiIGZvbnQtc2l6ZT0iOHB4IiB5PSIzNTMuODY1NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlN0ZXBTZXJ2aWNlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDYpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDYpIj4KICAgICAgPHJlY3QgeD0iLTM0MC41IiB5PSIzMzguNjQzMSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjMzOC42NDMxIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIvPgogICAgICA8dGV4dCB4PSItMzA1LjI5MDYiIGZvbnQtc2l6ZT0iOHB4IiB5PSIzNTcuMTc5MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlN0ZXBTZXJ2aWNlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NCwyMjQsMjA0KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2U9InJnYigyNTQsMjI0LDIwNCkiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjM0Mi4xNDU5IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMzQyLjE0NTkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9Ii0zMDUuMjkwNiIgZm9udC1zaXplPSI4cHgiIHk9IjM2MC42ODIxIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcFNlcnZpY2U8L3RleHQ+CiAgICAgIDxyZWN0IHg9Ii0yMTMuMyIgeT0iMjM3LjQzOTYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iNjYuMyIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjE1Ny4xOTM3Ii8+CiAgICAgIDx0ZXh0IHg9Ii0xODkuNjQyMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMjU0LjU3ODMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5BUEk8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZT0icmdiKDI1NSwyMDMsMjI5KSI+CiAgICAgIDxwYXRoIGQ9Ik0tOTAuMjk1OCAzMzguNjMzMyBMMTEuNDA0MiAzMzguNjMzMyBMMC4xMDQyIDM5NC42MzMzIEwtMTAxLjU5NTggMzk0LjYzMzMgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tOTAuMjk1OCAzMzguNjMzMyBMMTEuNDA0MiAzMzguNjMzMyBMMC4xMDQyIDM5NC42MzMzIEwtMTAxLjU5NTggMzk0LjYzMzMgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSItODEuNTI5NCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMzcwLjc4NzYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5zb3VyY2UgY29kZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyMTYsMjE2LDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJyZ2IoMjE2LDIxNiwyNTUpIj4KICAgICAgPHBhdGggZD0iTS02OC41OTU4IDI2My4yMTk2IEwtMzcuMDk1OCAyNjMuMjE5NiBMLTMzLjU5NTggMjg4LjIxOTYgTC02NS4wOTU4IDI4OC4yMTk2IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNLTY4LjU5NTggMjYzLjIxOTYgTC0zNy4wOTU4IDI2My4yMTk2IEwtMzMuNTk1OCAyODguMjE5NiBMLTY1LjA5NTggMjg4LjIxOTYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIxNiwyMTYsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNLTYyLjU5NTggMjY2LjIxOTYgTC0zMS4wOTU4IDI2Ni4yMTk2IEwtMjcuNTk1OCAyOTEuMjE5NiBMLTU5LjA5NTggMjkxLjIxOTYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tNjIuNTk1OCAyNjYuMjE5NiBMLTMxLjA5NTggMjY2LjIxOTYgTC0yNy41OTU4IDI5MS4yMTk2IEwtNTkuMDk1OCAyOTEuMjE5NiBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZT0icmdiKDIxNiwyMTYsMjU1KSI+CiAgICAgIDxwYXRoIGQ9Ik0tNTYuNTk1OCAyNjkuMjE5NiBMLTI1LjA5NTggMjY5LjIxOTYgTC0yMS41OTU4IDI5NC4yMTk2IEwtNTMuMDk1OCAyOTQuMjE5NiBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTS01Ni41OTU4IDI2OS4yMTk2IEwtMjUuMDk1OCAyNjkuMjE5NiBMLTIxLjU5NTggMjk0LjIxOTYgTC01My4wOTU4IDI5NC4yMTk2IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iLTUyLjA3NDMiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjI4NS44NzM5IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+c3RlcDwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQ3KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQ3KSI+CiAgICAgIDxwYXRoIGQ9Ik0tNDk1LjUgMzI2Ljg4MTMgTC00ODQuMiAzMDAuODgxMyBMLTM5My44IDMwMC44ODEzIEwtMzgyLjUgMzI2Ljg4MTMgTC0zOTMuOCAzNTIuODgxMyBMLTQ4NC4yIDM1Mi44ODEzIFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNLTQ5NS41IDMyNi44ODEzIEwtNDg0LjIgMzAwLjg4MTMgTC0zOTMuOCAzMDAuODgxMyBMLTM4Mi41IDMyNi44ODEzIEwtMzkzLjggMzUyLjg4MTMgTC00ODQuMiAzNTIuODgxMyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9Ii00NTIuNjYxMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMzI0LjA1MTIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5TdGVwPC90ZXh0PgogICAgICA8dGV4dCB4PSItNDYyLjA0MiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMzM4LjAyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+Q2F0YWxvZzwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTQsMjI0LDIwNCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJyZ2IoMjU0LDIyNCwyMDQpIj4KICAgICAgPHJlY3QgeD0iLTIwNS4yNSIgeT0iMjgxLjQ2OTgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iNTAuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjkwLjczMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSItMjA1LjI1IiB5PSIyODEuNDY5OCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSI1MC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iOTAuNzMzMyIvPgogICAgICA8dGV4dCB4PSItMjA0LjI3NSIgZm9udC1zaXplPSI4cHgiIHk9IjMyOS42MDYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5JbnRlZ3JhdGlvbnM8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tMzQwLjQ4NjMgMjg0LjI2NTggTC0zNDAuNDg2MyAyNjYuNDg5NiBMLTQzOSAyNjYuNDg5NiBMLTQzOSAyOTIuOTAyMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggZD0iTS00MzkgMzAwLjkwMjMgTC00MzQgMjg4LjkwMjMgTC00MzkgMjkxLjkwMjMgTC00NDQgMjg4LjkwMjMgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSItNDI0LjI4NjYiIHk9IjI1Ny41MDUzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0id2hpdGUiIHdpZHRoPSIzMS40OTIyIiBoZWlnaHQ9IjE3Ljk2ODgiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8dGV4dCB4PSItNDIyLjI4NjYiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjI3MC42NDM5IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+dXNlczwvdGV4dD4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTS0zMDIuNTQ1OCAzNzAuMjE4OCBMLTMwMi41NDU4IDM3OS45NzUgTC00MzkgMzc5Ljk3NSBMLTQzOSAzNjAuODgzNyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggZD0iTS00MzkgMzUyLjg4MzcgTC00NDQgMzY0Ljg4MzcgTC00MzkgMzYxLjg4MzcgTC00MzQgMzY0Ljg4MzcgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSItNDI2Ljk2MyIgeT0iMzcwLjk5MDYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjMxLjQ5MjIiIGhlaWdodD0iMTcuOTY4OCIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDx0ZXh0IHg9Ii00MjQuOTYzIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzODQuMTI5MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPnVzZXM8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tMTAzLjk1OTEgMzY2LjYzMzMgTC0xMjQuNzk1OCAzNjYuNjMzMyBMLTEyNC43OTU4IDMzMy4zNTMzIEwtMTU1LjAzMzggMzMzLjM1MzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIGQ9Ik0tOTUuOTU5MSAzNjYuNjMzMyBMLTEwNy45NTkxIDM2MS42MzMzIEwtMTA0Ljk1OTEgMzY2LjYzMzMgTC0xMDcuOTU5MSAzNzEuNjMzMyBaIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQsMywwLDMiIGQ9Ik0tMjgxLjQgMzczLjY2MzIgTC0yODEuNCAzODUuNDgzIEwtMTg1LjIxMjUgMzg1LjQ4MyBMLTE4NS4yMTI1IDM3Mi4xODEiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNCwzLDAsMyIgZD0iTS0yODEuNCAyODAuNjI4NSBMLTI4MS40IDI2MC43NzUgTC0xODAuMTUgMjYwLjc3NSBMLTE4MC4xNSAyODEuNDUxNSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNLTE0Ny4wMjI1IDMwMi44MzQgTC0xMjUuMzQ1OCAzMDIuODM0IEwtMTI1LjM0NTggMjc0LjMzOTYgTC02Ni44NjY3IDI3NS40MjY1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBkPSJNLTE1NS4wMjI1IDMwMi44MzQgTC0xNDMuMDIyNSAzMDcuODM0IEwtMTQ2LjAyMjUgMzAyLjgzNCBMLTE0My4wMjI1IDI5Ny44MzQgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg== + + + + + {"version":"2.0.0","theme":{"name":"light","version":"1.0.0"}} + + + 1 + + + + + + + + + \ No newline at end of file diff --git a/images/docs/architecture/kaoto-backend-overview-crd.svg b/images/docs/architecture/kaoto-backend-overview-crd.svg new file mode 100644 index 00000000..de4efbc5 --- /dev/null +++ b/images/docs/architecture/kaoto-backend-overview-crd.svg @@ -0,0 +1 @@ +BackendStepServiceServicesStepParserServiceStepParserServiceDeploymentServiceStepServiceStepServiceStepServiceStepServiceAPIsource codestepStepCatalogIntegrationsusesuses \ No newline at end of file diff --git a/images/docs/architecture/kaoto-backend-overview-steps.graphml b/images/docs/architecture/kaoto-backend-overview-steps.graphml new file mode 100644 index 00000000..d6701700 --- /dev/null +++ b/images/docs/architecture/kaoto-backend-overview-steps.graphml @@ -0,0 +1,53 @@ + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGZpbGwtb3BhY2l0eT0iMSIgY29sb3ItcmVuZGVyaW5nPSJhdXRvIiBjb2xvci1pbnRlcnBvbGF0aW9uPSJhdXRvIiB0ZXh0LXJlbmRlcmluZz0iYXV0byIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgd2lkdGg9IjU0NyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzaGFwZS1yZW5kZXJpbmc9ImF1dG8iIHN0cm9rZS1vcGFjaXR5PSIxIiBmaWxsPSJibGFjayIgc3Ryb2tlLWRhc2hhcnJheT0ibm9uZSIgZm9udC13ZWlnaHQ9Im5vcm1hbCIgc3Ryb2tlLXdpZHRoPSIxIiBoZWlnaHQ9IjIyNyIgZm9udC1mYW1pbHk9IidEaWFsb2cnIiBmb250LXN0eWxlPSJub3JtYWwiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIGZvbnQtc2l6ZT0iMTJweCIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIGltYWdlLXJlbmRlcmluZz0iYXV0byI+CiAgPCEtLUdlbmVyYXRlZCBieSB5U1ZHIDIuNS0tPgogIDxkZWZzIGlkPSJnZW5lcmljRGVmcyIvPgogIDxnPgogICAgPGRlZnMgaWQ9ImRlZnMxIj4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMzAxLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTIyMi4zIiB5MT0iMzI4LjMzNDYiIHkyPSIzMjguMzM0NiIgaWQ9ImxpbmVhckdyYWRpZW50MSIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMzAxLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTIyMi4zIiB5MT0iMjczLjc5NTkiIHkyPSIyNzMuNzk1OSIgaWQ9ImxpbmVhckdyYWRpZW50MiIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMzAxLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTIyMi4zIiB5MT0iMjc3LjEwOTciIHkyPSIyNzcuMTA5NyIgaWQ9ImxpbmVhckdyYWRpZW50MyIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMzAxLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTIyMi4zIiB5MT0iMzM1LjMyOTMiIHkyPSIzMzUuMzI5MyIgaWQ9ImxpbmVhckdyYWRpZW50NCIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMzAxLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTIyMi4zIiB5MT0iMzM1LjMyOTMiIHkyPSIzMzUuMzI5MyIgaWQ9ImxpbmVhckdyYWRpZW50NSIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItMzAxLjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTIyMi4zIiB5MT0iMzM4LjY0MzEiIHkyPSIzMzguNjQzMSIgaWQ9ImxpbmVhckdyYWRpZW50NiIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSItNDU3LjgzMzMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iLTM4Mi41IiB5MT0iMzAwLjg4MTMiIHkyPSIzMDAuODgxMyIgaWQ9ImxpbmVhckdyYWRpZW50NyIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGNsaXBQYXRoIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iY2xpcFBhdGgxIj4KICAgICAgICA8cGF0aCBkPSJNMCAwIEw1NDcgMCBMNTQ3IDIyNyBMMCAyMjcgTDAgMCBaIi8+CiAgICAgIDwvY2xpcFBhdGg+CiAgICAgIDxjbGlwUGF0aCBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImNsaXBQYXRoMiI+CiAgICAgICAgPHBhdGggZD0iTS01MTEgMTk0IEwzNiAxOTQgTDM2IDQyMSBMLTUxMSA0MjEgTC01MTEgMTk0IFoiLz4KICAgICAgPC9jbGlwUGF0aD4KICAgIDwvZGVmcz4KICAgIDxnIGZpbGw9InJnYigyNTUsMjAzLDIyOSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHJlY3QgeD0iLTM2MiIgd2lkdGg9IjIyNCIgaGVpZ2h0PSIxOTUuNzYwNCIgeT0iMjA5LjI3MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0id2hpdGUiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJ3aGl0ZSI+CiAgICAgIDxyZWN0IHg9Ii0zNjIiIHdpZHRoPSIxIiBoZWlnaHQ9IjE5NS43NjA0IiB5PSIyMDkuMjczIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9Ii0zNjEiIHdpZHRoPSIyMjIiIGhlaWdodD0iMSIgeT0iMjA5LjI3MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSItMzYxIiB5PSI0MDQuMDMzMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9InJnYigxNzgsMTQyLDE2MCkiIHdpZHRoPSIyMjMiIGhlaWdodD0iMSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9Ii0xMzkiIHk9IjIwOS4yNzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTc4LDE0MiwxNjApIiB3aWR0aD0iMSIgaGVpZ2h0PSIxOTQuNzYwNCIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyBzdHJva2UtbGluZWNhcD0iYnV0dCIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgZm9udC13ZWlnaHQ9ImJvbGQiIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1Ij4KICAgICAgPHRleHQgeD0iLTM1NiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMjI2LjQxMTYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiPkJhY2tlbmQ8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MSkiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjMyOC4zMzQ2IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMzI4LjMzNDYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9Ii0zMDUuMjkwNiIgZm9udC1zaXplPSI4cHgiIHk9IjM0Ni44NzA4IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcFNlcnZpY2U8L3RleHQ+CiAgICAgIDxyZWN0IHg9Ii0zNTIuNSIgeT0iMjM3LjQzOTYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTM5LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIxNTcuMTkzNyIvPgogICAgICA8dGV4dCB4PSItMzA4LjIwMDgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjI1NC41NzgzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+U2VydmljZXM8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MikiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MikiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjI3My43OTU5IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMjczLjc5NTkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9Ii0zMzYuMjgxOCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMjkzLjcxNjkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5TdGVwUGFyc2VyU2VydmljZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQzKSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQzKSI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMjc3LjEwOTgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iLTM0MC41IiB5PSIyNzcuMTA5OCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iLTMzNi4yODE4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIyOTcuMDMwNyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPlN0ZXBQYXJzZXJTZXJ2aWNlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NCwyMjQsMjA0KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2U9InJnYigyNTQsMjI0LDIwNCkiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjI4MC42MTI2IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMjgwLjYxMjYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9Ii0zMTcuOTg3OSIgZm9udC1zaXplPSI4cHgiIHk9IjI5OS4xNDg4IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcFBhcnNlclNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50NCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50NCkiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjMzNS4zMjkzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMzM1LjMyOTMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9Ii0zMDUuMjkwNiIgZm9udC1zaXplPSI4cHgiIHk9IjM1My44NjU1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcFNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50NSkiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjMzNS4zMjkzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMzM1LjMyOTMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9Ii0zMDUuMjkwNiIgZm9udC1zaXplPSI4cHgiIHk9IjM1My44NjU1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcFNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50NikiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50NikiPgogICAgICA8cmVjdCB4PSItMzQwLjUiIHk9IjMzOC42NDMxIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMzM4LjY0MzEiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9Ii0zMDUuMjkwNiIgZm9udC1zaXplPSI4cHgiIHk9IjM1Ny4xNzkzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcFNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU0LDIyNCwyMDQpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZT0icmdiKDI1NCwyMjQsMjA0KSI+CiAgICAgIDxyZWN0IHg9Ii0zNDAuNSIgeT0iMzQyLjE0NTkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iLTM0MC41IiB5PSIzNDIuMTQ1OSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iLTMwNS4yOTA2IiBmb250LXNpemU9IjhweCIgeT0iMzYwLjY4MjEiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5TdGVwU2VydmljZTwvdGV4dD4KICAgICAgPHJlY3QgeD0iLTIxMy4zIiB5PSIyMzcuNDM5NiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSI2Ni4zIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMTU3LjE5MzciLz4KICAgICAgPHRleHQgeD0iLTE4OS42NDIyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIyNTQuNTc4MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPkFQSTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTUsMjAzLDIyOSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHBhdGggZD0iTS04MC43IDI0Ni4zMzk2IEwyMSAyNDYuMzM5NiBMOS43IDMwMi4zMzk3IEwtOTIgMzAyLjMzOTcgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tODAuNyAyNDYuMzM5NiBMMjEgMjQ2LjMzOTYgTDkuNyAzMDIuMzM5NyBMLTkyIDMwMi4zMzk3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iLTcxLjkzMzYiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjI3OC40OTM5IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+c291cmNlIGNvZGU8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZT0icmdiKDIxNiwyMTYsMjU1KSI+CiAgICAgIDxwYXRoIGQ9Ik0tNjUgMzQ0LjIwMyBMLTMzLjUgMzQ0LjIwMyBMLTMwIDM2OS4yMDMgTC02MS41IDM2OS4yMDMgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tNjUgMzQ0LjIwMyBMLTMzLjUgMzQ0LjIwMyBMLTMwIDM2OS4yMDMgTC02MS41IDM2OS4yMDMgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIxNiwyMTYsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsNTExLC0xOTQpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNLTU5IDM0Ny4yMDMgTC0yNy41IDM0Ny4yMDMgTC0yNCAzNzIuMjAzIEwtNTUuNSAzNzIuMjAzIFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNLTU5IDM0Ny4yMDMgTC0yNy41IDM0Ny4yMDMgTC0yNCAzNzIuMjAzIEwtNTUuNSAzNzIuMjAzIFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyMTYsMjE2LDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJyZ2IoMjE2LDIxNiwyNTUpIj4KICAgICAgPHBhdGggZD0iTS01MyAzNTAuMjAzIEwtMjEuNSAzNTAuMjAzIEwtMTggMzc1LjIwMyBMLTQ5LjUgMzc1LjIwMyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTS01MyAzNTAuMjAzIEwtMjEuNSAzNTAuMjAzIEwtMTggMzc1LjIwMyBMLTQ5LjUgMzc1LjIwMyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9Ii00OC40Nzg1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzNjYuODU3NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPnN0ZXA8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50NykiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLDUxMSwtMTk0KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50NykiPgogICAgICA8cGF0aCBkPSJNLTQ5NS41IDMyNi44ODEyIEwtNDg0LjIgMzAwLjg4MTIgTC0zOTMuOCAzMDAuODgxMiBMLTM4Mi41IDMyNi44ODEyIEwtMzkzLjggMzUyLjg4MTIgTC00ODQuMiAzNTIuODgxMiBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTS00OTUuNSAzMjYuODgxMiBMLTQ4NC4yIDMwMC44ODEyIEwtMzkzLjggMzAwLjg4MTIgTC0zODIuNSAzMjYuODgxMiBMLTM5My44IDM1Mi44ODEyIEwtNDg0LjIgMzUyLjg4MTIgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSItNDUyLjY2MTEiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjMyNC4wNTEyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+U3RlcDwvdGV4dD4KICAgICAgPHRleHQgeD0iLTQ2Mi4wNDIiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjMzOC4wMiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPkNhdGFsb2c8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU0LDIyNCwyMDQpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZT0icmdiKDI1NCwyMjQsMjA0KSI+CiAgICAgIDxyZWN0IHg9Ii0yMDUuMjUiIHk9IjI4MS40Njk4IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjUwLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI5MC43MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSw1MTEsLTE5NCkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iLTIwNS4yNSIgeT0iMjgxLjQ2OTgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iNTAuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjkwLjczMzMiLz4KICAgICAgPHRleHQgeD0iLTE5MS4zNDE0IiBmb250LXNpemU9IjhweCIgeT0iMzI5LjYwNiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlN0ZXBzPC90ZXh0PgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNLTM0MC40ODYzIDI4NC4yNjU4IEwtMzQwLjQ4NjMgMjY2LjQ4OTYgTC00MzkgMjY2LjQ4OTYgTC00MzkgMjkyLjkwMjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIGQ9Ik0tNDM5IDMwMC45MDIzIEwtNDM0IDI4OC45MDIzIEwtNDM5IDI5MS45MDIzIEwtNDQ0IDI4OC45MDIzIFoiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iLTQyOC40MjA0IiB5PSIyNTcuNTA1MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMzkuNzU5OCIgaGVpZ2h0PSIxNy45Njg4IiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHRleHQgeD0iLTQyNi40MjA0IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIyNzAuNjQzOSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPmJ1aWxkczwvdGV4dD4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTS0zMDIuNTQ1OCAzNzAuMjE4OCBMLTMwMi41NDU4IDM3OS45NzUgTC00MzkgMzc5Ljk3NSBMLTQzOSAzNjAuODgzNyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggZD0iTS00MzkgMzUyLjg4MzcgTC00NDQgMzY0Ljg4MzcgTC00MzkgMzYxLjg4MzcgTC00MzQgMzY0Ljg4MzcgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSItNDI2Ljk2MyIgeT0iMzcwLjk5MDYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjMxLjQ5MjIiIGhlaWdodD0iMTcuOTY4OCIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDx0ZXh0IHg9Ii00MjQuOTYzIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzODQuMTI5MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPnVzZXM8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQsMywwLDMiIGQ9Ik0tMjgxLjQgMjgwLjYyODUgTC0yODEuNCAyNjAuNzc1IEwtMTgwLjE1IDI2MC43NzUgTC0xODAuMTUgMjgxLjQ1MTUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNCwzLDAsMyIgZD0iTS0yODEuNCAzNzMuNjYzMiBMLTI4MS40IDM4NS40ODMgTC0xODUuMjEyNSAzODUuNDgzIEwtMTg1LjIxMjUgMzcyLjE4MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNLTg2LjMyNTEgMjc0LjMzOTYgTC0xMjEuNTk1OCAyNzQuMzM5NiBMLTEyMS41OTU4IDMwNC4zMjUgTC0xNDcuMDM0NiAzMDQuMzI1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBkPSJNLTE1NS4wMzQ2IDMwNC4zMjUgTC0xNDMuMDM0NiAzMDkuMzI1IEwtMTQ2LjAzNDYgMzA0LjMyNSBMLTE0My4wMzQ2IDI5OS4zMjUgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNLTE1NS4wNzYgMzI2LjgzNjUgTC0xMjUuMzQ1OCAzMjYuODM2NSBMLTEyNS4zNDU4IDM1Ni43MDMyIEwtNzEuMjc0NCAzNTYuNzAzMiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggZD0iTS02My4yNzQ0IDM1Ni43MDMyIEwtNzUuMjc0NCAzNTEuNzAzMiBMLTcyLjI3NDQgMzU2LjcwMzIgTC03NS4yNzQ0IDM2MS43MDMyIFoiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo= + + + + + {"version":"2.0.0","theme":{"name":"light","version":"1.0.0"}} + + + 1 + + + + + + + + + \ No newline at end of file diff --git a/images/docs/architecture/kaoto-backend-overview-steps.svg b/images/docs/architecture/kaoto-backend-overview-steps.svg new file mode 100644 index 00000000..294d9b6d --- /dev/null +++ b/images/docs/architecture/kaoto-backend-overview-steps.svg @@ -0,0 +1 @@ +BackendStepServiceServicesStepParserServiceStepParserServiceStepParserServiceStepServiceStepServiceStepServiceStepServiceAPIsource codestepStepCatalogStepsbuildsuses \ No newline at end of file diff --git a/images/docs/architecture/kaoto-backend-overview.graphml b/images/docs/architecture/kaoto-backend-overview.graphml new file mode 100644 index 00000000..77b67f14 --- /dev/null +++ b/images/docs/architecture/kaoto-backend-overview.graphml @@ -0,0 +1,53 @@ + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGZpbGwtb3BhY2l0eT0iMSIgY29sb3ItcmVuZGVyaW5nPSJhdXRvIiBjb2xvci1pbnRlcnBvbGF0aW9uPSJhdXRvIiB0ZXh0LXJlbmRlcmluZz0iYXV0byIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgd2lkdGg9IjgxNyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzaGFwZS1yZW5kZXJpbmc9ImF1dG8iIHN0cm9rZS1vcGFjaXR5PSIxIiBmaWxsPSJibGFjayIgc3Ryb2tlLWRhc2hhcnJheT0ibm9uZSIgZm9udC13ZWlnaHQ9Im5vcm1hbCIgc3Ryb2tlLXdpZHRoPSIxIiBoZWlnaHQ9IjQwOCIgZm9udC1mYW1pbHk9IidEaWFsb2cnIiBmb250LXN0eWxlPSJub3JtYWwiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIGZvbnQtc2l6ZT0iMTJweCIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIGltYWdlLXJlbmRlcmluZz0iYXV0byI+CiAgPCEtLUdlbmVyYXRlZCBieSB5U1ZHIDIuNS0tPgogIDxkZWZzIGlkPSJnZW5lcmljRGVmcyIvPgogIDxnPgogICAgPGRlZnMgaWQ9ImRlZnMxIj4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMjQyLjAwOTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTMyMC44MDkzIiB5MT0iMzU2LjMxMTYiIHkyPSIzNTYuMzExNiIgaWQ9ImxpbmVhckdyYWRpZW50MSIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMjQyLjAwOTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTMyMC44MDkzIiB5MT0iMzAxLjc3MyIgeTI9IjMwMS43NzMiIGlkPSJsaW5lYXJHcmFkaWVudDIiIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjU0LDIyNCwyMDQpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIwLjM5NjEiIHN0b3AtY29sb3I9InJnYigyNTMsMTUyLDg1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTI0MC41MDk0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDI9IjEzMTkuMzA5MyIgeTE9IjE3MiIgeTI9IjE3MiIgaWQ9ImxpbmVhckdyYWRpZW50MyIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMjQyLjAwOTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTMyMC44MDkzIiB5MT0iNDMxLjQ3ODIiIHkyPSI0MzEuNDc4MiIgaWQ9ImxpbmVhckdyYWRpZW50NCIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMjQyLjAwOTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTMyMC44MDkzIiB5MT0iMzA1LjA4NjgiIHkyPSIzMDUuMDg2OCIgaWQ9ImxpbmVhckdyYWRpZW50NSIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMjQwLjUwOTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTMxOS4zMDkzIiB5MT0iMTc0LjE2OTIiIHkyPSIxNzQuMTY5MiIgaWQ9ImxpbmVhckdyYWRpZW50NiIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMjQyLjAwOTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTMyMC44MDkzIiB5MT0iMzYzLjMwNjMiIHkyPSIzNjMuMzA2MyIgaWQ9ImxpbmVhckdyYWRpZW50NyIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMjQyLjAwOTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTMyMC44MDkzIiB5MT0iMzYzLjMwNjMiIHkyPSIzNjMuMzA2MyIgaWQ9ImxpbmVhckdyYWRpZW50OCIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMjQyLjAwOTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTMyMC44MDkzIiB5MT0iMzY2LjYyMDEiIHkyPSIzNjYuNjIwMSIgaWQ9ImxpbmVhckdyYWRpZW50OSIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMjQyLjAwOTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTMyMC44MDkzIiB5MT0iNDM1Ljg1NjUiIHkyPSI0MzUuODU2NSIgaWQ9ImxpbmVhckdyYWRpZW50MTAiIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjU0LDIyNCwyMDQpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIwLjM5NjEiIHN0b3AtY29sb3I9InJnYigyNTMsMTUyLDg1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTUzMi45NDI3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDI9IjE2NTcuNjA5NCIgeTE9IjExMi44MzMzIiB5Mj0iMTEyLjgzMzMiIGlkPSJsaW5lYXJHcmFkaWVudDExIiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDI1NSwyMDMsMjI5KSIgb2Zmc2V0PSIwJSIvPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDIwMywyMDMsMjU1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTUzNC45NDI3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDI9IjE2NTkuNjA5NCIgeTE9IjI5OS42NjY3IiB5Mj0iMjk5LjY2NjciIGlkPSJsaW5lYXJHcmFkaWVudDEyIiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDI1NSwyMDMsMjI5KSIgb2Zmc2V0PSIwJSIvPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDIwMywyMDMsMjU1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTA0MC4yNzYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTExNS42MDk0IiB5MT0iMTkxLjMiIHkyPSIxOTEuMyIgaWQ9ImxpbmVhckdyYWRpZW50MTMiIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjU0LDIyNCwyMDQpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIwLjM5NjEiIHN0b3AtY29sb3I9InJnYigyNTMsMTUyLDg1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTA0MC4yNzYiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTExNS42MDk0IiB5MT0iMzU3LjY1ODMiIHkyPSIzNTcuNjU4MyIgaWQ9ImxpbmVhckdyYWRpZW50MTQiIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjU0LDIyNCwyMDQpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIwLjM5NjEiIHN0b3AtY29sb3I9InJnYigyNTMsMTUyLDg1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxjbGlwUGF0aCBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImNsaXBQYXRoMSI+CiAgICAgICAgPHBhdGggZD0iTTAgMCBMODE3IDAgTDgxNyA0MDggTDAgNDA4IEwwIDAgWiIvPgogICAgICA8L2NsaXBQYXRoPgogICAgICA8Y2xpcFBhdGggY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiIGlkPSJjbGlwUGF0aDIiPgogICAgICAgIDxwYXRoIGQ9Ik05ODcgOTcgTDE4MDQgOTcgTDE4MDQgNTA1IEw5ODcgNTA1IEw5ODcgOTcgWiIvPgogICAgICA8L2NsaXBQYXRoPgogICAgPC9kZWZzPgogICAgPGcgZmlsbD0icmdiKDI1NSwyMDMsMjI5KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2U9InJnYigyNTUsMjAzLDIyOSkiPgogICAgICA8cmVjdCB4PSIxMTgxLjEwOTQiIHdpZHRoPSIyMjQiIGhlaWdodD0iMzc2LjkiIHk9IjExMi44MzMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ3aGl0ZSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2U9IndoaXRlIj4KICAgICAgPHJlY3QgeD0iMTE4MS4xMDk0IiB3aWR0aD0iMSIgaGVpZ2h0PSIzNzYuOSIgeT0iMTEyLjgzMzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTE4Mi4xMDk0IiB3aWR0aD0iMjIyIiBoZWlnaHQ9IjEiIHk9IjExMi44MzMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjExODIuMTA5NCIgeT0iNDg4LjczMzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTc4LDE0MiwxNjApIiB3aWR0aD0iMjIzIiBoZWlnaHQ9IjEiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxNDA0LjEwOTQiIHk9IjExMi44MzMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0icmdiKDE3OCwxNDIsMTYwKSIgd2lkdGg9IjEiIGhlaWdodD0iMzc1LjkiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGZvbnQtd2VpZ2h0PSJib2xkIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSI+CiAgICAgIDx0ZXh0IHg9IjExODcuMTA5NCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMTI5Ljk3MiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSI+QmFja2VuZDwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQxKSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQxKSI+CiAgICAgIDxyZWN0IHg9IjEyMDIuNjA5NCIgeT0iMzU2LjMxMTYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTIwMi42MDk0IiB5PSIzNTYuMzExNiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iMTIzNy44MTg3IiBmb250LXNpemU9IjhweCIgeT0iMzc0Ljg0NzgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5TdGVwU2VydmljZTwvdGV4dD4KICAgICAgPHJlY3QgeD0iMTE5MC42MDk0IiB5PSIxNDEiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTM5LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMzguMzMzMyIvPgogICAgICA8dGV4dCB4PSIxMjM0LjkwODYiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjE1OC4xMzg3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+U2VydmljZXM8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU0LDIyNCwyMDQpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZT0icmdiKDI1NCwyMjQsMjA0KSI+CiAgICAgIDxyZWN0IHg9IjEyMDEuMTA5NCIgeT0iMjQ3LjIzNDMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTIwMS4xMDk0IiB5PSIyNDcuMjM0MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iMTIxNi40NzY5IiBmb250LXNpemU9IjhweCIgeT0iMjY1Ljc3MDUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5WaWV3RGVmaW5pdGlvblNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MikiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MikiPgogICAgICA8cmVjdCB4PSIxMjAyLjYwOTQiIHk9IjMwMS43NzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTIwMi42MDk0IiB5PSIzMDEuNzczIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIvPgogICAgICA8dGV4dCB4PSIxMjA2LjgyNzUiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjMyMS42OTM5IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+U3RlcFBhcnNlclNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MykiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MykiPgogICAgICA8cmVjdCB4PSIxMjAxLjEwOTQiIHk9IjE3MiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIxMjAxLjEwOTQiIHk9IjE3MiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQ0KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQ0KSI+CiAgICAgIDxyZWN0IHg9IjEyMDIuNjA5NCIgeT0iNDMxLjQ3ODMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTIwMi42MDk0IiB5PSI0MzEuNDc4MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iMTIyMi40NTk0IiBmb250LXNpemU9IjhweCIgeT0iNDUwLjAxNDUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5EZXBsb3ltZW50U2VydmljZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQ1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQ1KSI+CiAgICAgIDxyZWN0IHg9IjEyMDIuNjA5NCIgeT0iMzA1LjA4NjgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTIwMi42MDk0IiB5PSIzMDUuMDg2OCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iMTIwNi44Mjc1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzMjUuMDA3OCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPlN0ZXBQYXJzZXJTZXJ2aWNlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NCwyMjQsMjA0KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2U9InJnYigyNTQsMjI0LDIwNCkiPgogICAgICA8cmVjdCB4PSIxMjAyLjYwOTQiIHk9IjMwOC41ODk2IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjEyMDIuNjA5NCIgeT0iMzA4LjU4OTYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9IjEyMjUuMTIxNSIgZm9udC1zaXplPSI4cHgiIHk9IjMyNy4xMjU4IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcFBhcnNlclNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50NikiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50NikiPgogICAgICA8cmVjdCB4PSIxMjAxLjEwOTQiIHk9IjE3NC4xNjkyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjEyMDEuMTA5NCIgeT0iMTc0LjE2OTIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU0LDIyNCwyMDQpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZT0icmdiKDI1NCwyMjQsMjA0KSI+CiAgICAgIDxyZWN0IHg9IjEyMDEuMTA5NCIgeT0iMTc2LjY0OTEiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTIwMS4xMDk0IiB5PSIxNzYuNjQ5MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iMTIwMy43Nzk3IiBmb250LXNpemU9IjhweCIgeT0iMTk1LjE4NTMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5WaWV3RGVmaW5pdGlvblBhcnNlclNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50NykiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50NykiPgogICAgICA8cmVjdCB4PSIxMjAyLjYwOTQiIHk9IjM2My4zMDYzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjEyMDIuNjA5NCIgeT0iMzYzLjMwNjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9IjEyMzcuODE4NyIgZm9udC1zaXplPSI4cHgiIHk9IjM4MS44NDI1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcFNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50OCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50OCkiPgogICAgICA8cmVjdCB4PSIxMjAyLjYwOTQiIHk9IjM2My4zMDYzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjEyMDIuNjA5NCIgeT0iMzYzLjMwNjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9IjEyMzcuODE4NyIgZm9udC1zaXplPSI4cHgiIHk9IjM4MS44NDI1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcFNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50OSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50OSkiPgogICAgICA8cmVjdCB4PSIxMjAyLjYwOTQiIHk9IjM2Ni42MjAxIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjEyMDIuNjA5NCIgeT0iMzY2LjYyMDEiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9IjEyMzcuODE4NyIgZm9udC1zaXplPSI4cHgiIHk9IjM4NS4xNTYzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcFNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MTApIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDEwKSI+CiAgICAgIDxyZWN0IHg9IjEyMDIuNjA5NCIgeT0iNDM1Ljg1NjUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTIwMi42MDk0IiB5PSI0MzUuODU2NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iMTIyMi40NTk0IiBmb250LXNpemU9IjhweCIgeT0iNDU0LjM5MjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5EZXBsb3ltZW50U2VydmljZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTQsMjI0LDIwNCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJyZ2IoMjU0LDIyNCwyMDQpIj4KICAgICAgPHJlY3QgeD0iMTIwMi42MDk0IiB5PSI0NDEuMjEzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjEyMDIuNjA5NCIgeT0iNDQxLjIxMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iMTIyMi40NTk0IiBmb250LXNpemU9IjhweCIgeT0iNDU5Ljc0OTIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5EZXBsb3ltZW50U2VydmljZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTQsMjI0LDIwNCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJyZ2IoMjU0LDIyNCwyMDQpIj4KICAgICAgPHJlY3QgeD0iMTIwMi42MDk0IiB5PSIzNzAuMTIzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjEyMDIuNjA5NCIgeT0iMzcwLjEyMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iMTIzNy44MTg3IiBmb250LXNpemU9IjhweCIgeT0iMzg4LjY1OTIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5TdGVwU2VydmljZTwvdGV4dD4KICAgICAgPHJlY3QgeD0iMTMyOS44MDk0IiB5PSIxNDEiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iNjYuMyIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMzOC4zMzMzIi8+CiAgICAgIDx0ZXh0IHg9IjEzNTMuNDY3MiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMTU4LjEzODciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5BUEk8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjAzLDIwMywyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZT0icmdiKDIwMywyMDMsMjU1KSI+CiAgICAgIDxyZWN0IHg9IjE3MDAuNTYzMSIgd2lkdGg9Ijg4IiBoZWlnaHQ9IjI4MC42MzMzIiB5PSIyMDkuMSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxNzAwLjU2MzEiIHk9IjIwOS4xIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0id2hpdGUiIHdpZHRoPSIxIiBoZWlnaHQ9IjI4MC42MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTcwMS41NjMxIiB5PSIyMDkuMSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iODYiIGhlaWdodD0iMSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjE3MDEuNTYzMSIgeT0iNDg4LjczMzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTQyLDE0MiwxNzgpIiB3aWR0aD0iODciIGhlaWdodD0iMSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjE3ODcuNTYzMSIgeT0iMjA5LjEiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTQyLDE0MiwxNzgpIiB3aWR0aD0iMSIgaGVpZ2h0PSIyNzkuNjMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyBzdHJva2UtbGluZWNhcD0iYnV0dCIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgZm9udC13ZWlnaHQ9ImJvbGQiIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1Ij4KICAgICAgPHRleHQgeD0iMTcxNi40NzUyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIyMjYuMjM4NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSI+RnJvbnRlbmQgPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDExKSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQxMSkiPgogICAgICA8cmVjdCB4PSIxNDcwLjYwOTQiIHdpZHRoPSIxODciIGhlaWdodD0iMTAwLjY2NjciIHk9IjExMi44MzMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjE0NzAuNjA5NCIgeT0iMTEyLjgzMzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjEiIGhlaWdodD0iMTAwLjY2NjciIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxNDcxLjYwOTQiIHk9IjExMi44MzMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0id2hpdGUiIHdpZHRoPSIxODUiIGhlaWdodD0iMSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjE0NzEuNjA5NCIgeT0iMjEyLjUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTc4LDE0MiwxNjApIiB3aWR0aD0iMTg2IiBoZWlnaHQ9IjEiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxNjU2LjYwOTQiIHk9IjExMi44MzMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0icmdiKDE3OCwxNDIsMTYwKSIgd2lkdGg9IjEiIGhlaWdodD0iOTkuNjY2NyIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjE0NzIuNjA5NCIgeT0iMjk5LjY2NjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MTIpIiB3aWR0aD0iMTg3IiBoZWlnaHQ9IjE5MC4wNjY3IiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTQ3Mi42MDk0IiB5PSIyOTkuNjY2NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMSIgaGVpZ2h0PSIxOTAuMDY2NyIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjE0NzMuNjA5NCIgeT0iMjk5LjY2NjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjE4NSIgaGVpZ2h0PSIxIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTQ3My42MDk0IiB5PSI0ODguNzMzMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9InJnYigxNzgsMTQyLDE2MCkiIHdpZHRoPSIxODYiIGhlaWdodD0iMSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjE2NTguNjA5NCIgeT0iMjk5LjY2NjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTc4LDE0MiwxNjApIiB3aWR0aD0iMSIgaGVpZ2h0PSIxODkuMDY2NyIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxwYXRoIGZpbGw9InJnYigyNTUsMjAzLDIyOSkiIGQ9Ik0xNTA1Ljg1OTUgMzk4LjY2NjcgTDE2MDIuMTU5NSAzOTguNjY2NyBMMTYxMi44NTk1IDQyMS4xNjY3IEwxNjAyLjE1OTUgNDQzLjY2NjcgTDE1MDUuODU5NSA0NDMuNjY2NyBMMTUxNi41NTk0IDQyMS4xNjY3IFoiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTUwNS44NTk1IDM5OC42NjY3IEwxNjAyLjE1OTUgMzk4LjY2NjcgTDE2MTIuODU5NSA0MjEuMTY2NyBMMTYwMi4xNTk1IDQ0My42NjY3IEwxNTA1Ljg1OTUgNDQzLjY2NjcgTDE1MTYuNTU5NCA0MjEuMTY2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZT0icmdiKDI1NSwyMDMsMjI5KSI+CiAgICAgIDxwYXRoIGQ9Ik0xNTEyLjg1OTUgNDA0LjMzMzMgTDE2MDkuMTU5NSA0MDQuMzMzMyBMMTYxOS44NTk1IDQyNi44MzMzIEwxNjA5LjE1OTUgNDQ5LjMzMzMgTDE1MTIuODU5NSA0NDkuMzMzMyBMMTUyMy41NTk0IDQyNi44MzMzIFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTUxMi44NTk1IDQwNC4zMzMzIEwxNjA5LjE1OTUgNDA0LjMzMzMgTDE2MTkuODU5NSA0MjYuODMzMyBMMTYwOS4xNTk1IDQ0OS4zMzMzIEwxNTEyLjg1OTUgNDQ5LjMzMzMgTDE1MjMuNTU5NCA0MjYuODMzMyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZT0icmdiKDI1NSwyMDMsMjI5KSI+CiAgICAgIDxwYXRoIGQ9Ik0xNTIwLjg1OTUgNDEwIEwxNjE3LjE1OTUgNDEwIEwxNjI3Ljg1OTUgNDMyLjUgTDE2MTcuMTU5NSA0NTUgTDE1MjAuODU5NSA0NTUgTDE1MzEuNTU5NCA0MzIuNSBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE1MjAuODU5NSA0MTAgTDE2MTcuMTU5NSA0MTAgTDE2MjcuODU5NSA0MzIuNSBMMTYxNy4xNTk1IDQ1NSBMMTUyMC44NTk1IDQ1NSBMMTUzMS41NTk0IDQzMi41IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTUsMjAzLDIyOSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHBhdGggZD0iTTE1MzEuODU5NSA0MTUuNjY2NyBMMTYyOC4xNTk1IDQxNS42NjY3IEwxNjM4Ljg1OTUgNDM4LjE2NjcgTDE2MjguMTU5NSA0NjAuNjY2NyBMMTUzMS44NTk1IDQ2MC42NjY3IEwxNTQyLjU1OTQgNDM4LjE2NjcgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xNTMxLjg1OTUgNDE1LjY2NjcgTDE2MjguMTU5NSA0MTUuNjY2NyBMMTYzOC44NTk1IDQzOC4xNjY3IEwxNjI4LjE1OTUgNDYwLjY2NjcgTDE1MzEuODU5NSA0NjAuNjY2NyBMMTU0Mi41NTk0IDQzOC4xNjY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTU0MS45MzU1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI0MzIuODA1MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPlZpZXdEZWZpbml0aW9uPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NSwyMDMsMjI5KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2U9InJnYigyNTUsMjAzLDIyOSkiPgogICAgICA8cGF0aCBkPSJNMTUxOC45MDk1IDEzNS4xNjY3IEwxNjIwLjYwOTUgMTM1LjE2NjcgTDE2MDkuMzA5NCAxOTEuMTY2NyBMMTUwNy42MDk1IDE5MS4xNjY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTUxOC45MDk1IDEzNS4xNjY3IEwxNjIwLjYwOTUgMTM1LjE2NjcgTDE2MDkuMzA5NCAxOTEuMTY2NyBMMTUwNy42MDk1IDE5MS4xNjY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTUyNC4wNjM1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIxNTIuMzA1MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPm9yY2hlc3RyYXRpb248L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZT0icmdiKDIxNiwyMTYsMjU1KSI+CiAgICAgIDxwYXRoIGQ9Ik0xNTQwLjYwOTUgMTU2LjE2NjcgTDE1NzIuMTA5NSAxNTYuMTY2NyBMMTU3NS42MDk1IDE4MS4xNjY3IEwxNTQ0LjEwOTUgMTgxLjE2NjcgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xNTQwLjYwOTUgMTU2LjE2NjcgTDE1NzIuMTA5NSAxNTYuMTY2NyBMMTU3NS42MDk1IDE4MS4xNjY3IEwxNTQ0LjEwOTUgMTgxLjE2NjcgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIxNiwyMTYsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNMTU0Ni42MDk1IDE1OS4xNjY3IEwxNTc4LjEwOTUgMTU5LjE2NjcgTDE1ODEuNjA5NSAxODQuMTY2NyBMMTU1MC4xMDk1IDE4NC4xNjY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTU0Ni42MDk1IDE1OS4xNjY3IEwxNTc4LjEwOTUgMTU5LjE2NjcgTDE1ODEuNjA5NSAxODQuMTY2NyBMMTU1MC4xMDk1IDE4NC4xNjY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyMTYsMjE2LDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJyZ2IoMjE2LDIxNiwyNTUpIj4KICAgICAgPHBhdGggZD0iTTE1NTIuNjA5NSAxNjIuMTY2NyBMMTU4NC4xMDk1IDE2Mi4xNjY3IEwxNTg3LjYwOTUgMTg3LjE2NjcgTDE1NTYuMTA5NSAxODcuMTY2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE1NTIuNjA5NSAxNjIuMTY2NyBMMTU4NC4xMDk1IDE2Mi4xNjY3IEwxNTg3LjYwOTUgMTg3LjE2NjcgTDE1NTYuMTA5NSAxODcuMTY2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9IjE1NTcuMTMwOSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMTc4LjgyMSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPnN0ZXA8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZT0icmdiKDI1NSwyMDMsMjI5KSI+CiAgICAgIDxwYXRoIGQ9Ik0xNTIzLjE1OTUgMzE2LjY2NjcgTDE2MjQuODU5NSAzMTYuNjY2NyBMMTYxMy41NTk0IDM3Mi42NjY2IEwxNTExLjg1OTUgMzcyLjY2NjYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xNTIzLjE1OTUgMzE2LjY2NjcgTDE2MjQuODU5NSAzMTYuNjY2NyBMMTYxMy41NTk0IDM3Mi42NjY2IEwxNTExLjg1OTUgMzcyLjY2NjYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSIxNTI4LjMxMzUiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjMzMy44MDUzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+b3JjaGVzdHJhdGlvbjwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyMTYsMjE2LDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJyZ2IoMjE2LDIxNiwyNTUpIj4KICAgICAgPHBhdGggZD0iTTE1NDQuODU5NSAzMzcuNjY2NyBMMTU3Ni4zNTk1IDMzNy42NjY3IEwxNTc5Ljg1OTUgMzYyLjY2NjYgTDE1NDguMzU5NSAzNjIuNjY2NiBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE1NDQuODU5NSAzMzcuNjY2NyBMMTU3Ni4zNTk1IDMzNy42NjY3IEwxNTc5Ljg1OTUgMzYyLjY2NjYgTDE1NDguMzU5NSAzNjIuNjY2NiBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZT0icmdiKDIxNiwyMTYsMjU1KSI+CiAgICAgIDxwYXRoIGQ9Ik0xNTUwLjg1OTUgMzQwLjY2NjcgTDE1ODIuMzU5NSAzNDAuNjY2NyBMMTU4NS44NTk1IDM2NS42NjY2IEwxNTU0LjM1OTUgMzY1LjY2NjYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xNTUwLjg1OTUgMzQwLjY2NjcgTDE1ODIuMzU5NSAzNDAuNjY2NyBMMTU4NS44NTk1IDM2NS42NjY2IEwxNTU0LjM1OTUgMzY1LjY2NjYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIxNiwyMTYsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNMTU1Ni44NTk1IDM0My42NjY3IEwxNTg4LjM1OTUgMzQzLjY2NjcgTDE1OTEuODU5NSAzNjguNjY2NiBMMTU2MC4zNTk1IDM2OC42NjY2IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTU1Ni44NTk1IDM0My42NjY3IEwxNTg4LjM1OTUgMzQzLjY2NjcgTDE1OTEuODU5NSAzNjguNjY2NiBMMTU2MC4zNTk1IDM2OC42NjY2IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTU2MS4zODA5IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzNjAuMzIxIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+c3RlcDwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyMTYsMjE2LDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJyZ2IoMjE2LDIxNiwyNTUpIj4KICAgICAgPHBhdGggZD0iTTE1NTAuODU5NSA0MzcuNjY2NyBMMTYzMC4wNTk0IDQzNy42NjY3IEwxNjM4Ljg1OTUgNDY3LjY2NjcgTDE1NTkuNjU5NSA0NjcuNjY2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE1NTAuODU5NSA0MzcuNjY2NyBMMTYzMC4wNTk0IDQzNy42NjY3IEwxNjM4Ljg1OTUgNDY3LjY2NjcgTDE1NTkuNjU5NSA0NjcuNjY2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9IjE1NjUuNTAzOSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iNDQ5LjgzNjYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5leHRlbnNpb248L3RleHQ+CiAgICAgIDx0ZXh0IHg9IjE1ODkuMzgzOCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iNDYzLjgwNTMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5pZDwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQxMykiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MTMpIj4KICAgICAgPHBhdGggZD0iTTEwMDIuNjA5MyAyMTcuMyBMMTAxMy45MDkzIDE5MS4zIEwxMTA0LjMwOTQgMTkxLjMgTDExMTUuNjA5NSAyMTcuMyBMMTEwNC4zMDk0IDI0My4zIEwxMDEzLjkwOTMgMjQzLjMgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xMDAyLjYwOTMgMjE3LjMgTDEwMTMuOTA5MyAxOTEuMyBMMTEwNC4zMDk0IDE5MS4zIEwxMTE1LjYwOTUgMjE3LjMgTDExMDQuMzA5NCAyNDMuMyBMMTAxMy45MDkzIDI0My4zIFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTAxNS42ODU1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIyMTQuNDY5OSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPlZpZXdEZWZpbml0aW9uPC90ZXh0PgogICAgICA8dGV4dCB4PSIxMDM2LjA2NzQiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjIyOC40Mzg3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+Q2F0YWxvZzwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQxNCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MTQpIj4KICAgICAgPHBhdGggZD0iTTEwMDIuNjA5MyAzODMuNjU4MyBMMTAxMy45MDkzIDM1Ny42NTgzIEwxMTA0LjMwOTQgMzU3LjY1ODMgTDExMTUuNjA5NSAzODMuNjU4MyBMMTEwNC4zMDk0IDQwOS42NTgzIEwxMDEzLjkwOTMgNDA5LjY1ODMgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xMDAyLjYwOTMgMzgzLjY1ODMgTDEwMTMuOTA5MyAzNTcuNjU4MyBMMTEwNC4zMDk0IDM1Ny42NTgzIEwxMTE1LjYwOTUgMzgzLjY1ODMgTDExMDQuMzA5NCA0MDkuNjU4MyBMMTAxMy45MDkzIDQwOS42NTgzIFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTA0NS40NDgyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzODAuODI4MiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPlN0ZXA8L3RleHQ+CiAgICAgIDx0ZXh0IHg9IjEwMzYuMDY3NCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMzk0Ljc5NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPkNhdGFsb2c8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU0LDIyNCwyMDQpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZT0icmdiKDI1NCwyMjQsMjA0KSI+CiAgICAgIDxyZWN0IHg9IjEzMzcuODU5NCIgeT0iMzc5LjU5NDUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iNTAuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjkwLjczMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC05ODcsLTk3KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIxMzM3Ljg1OTQiIHk9IjM3OS41OTQ1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjUwLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI5MC43MzMzIi8+CiAgICAgIDx0ZXh0IHg9IjEzMzguODM0NCIgZm9udC1zaXplPSI4cHgiIHk9IjQyNy43MzA3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+SW50ZWdyYXRpb25zPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NCwyMjQsMjA0KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2U9InJnYigyNTQsMjI0LDIwNCkiPgogICAgICA8cmVjdCB4PSIxMzM3Ljg1OTQiIHk9IjI3Ni42OTY0IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjUwLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI5MC43MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTMzNy44NTk0IiB5PSIyNzYuNjk2NCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSI1MC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iOTAuNzMzMyIvPgogICAgICA8dGV4dCB4PSIxMzUxLjc2NzkiIGZvbnQtc2l6ZT0iOHB4IiB5PSIzMjQuODMyNiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlN0ZXBzPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NCwyMjQsMjA0KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTk4NywtOTcpIiBzdHJva2U9InJnYigyNTQsMjI0LDIwNCkiPgogICAgICA8cmVjdCB4PSIxMzM4LjkwOTQiIHk9IjE3My43OTgyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjUwLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI5MC43MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtOTg3LC05NykiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTMzOC45MDk0IiB5PSIxNzMuNzk4MiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSI1MC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iOTAuNzMzMyIvPgogICAgICA8dGV4dCB4PSIxMzQ3LjQ4MDEiIGZvbnQtc2l6ZT0iOHB4IiB5PSIyMjEuOTM0NCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlZpZXdEZWY8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjE4LDYiIGQ9Ik0xNDA1LjEyMTkgMjkxLjE4MiBMMTY5MC41NjMxIDI5MS4xODIiIHN0cm9rZS13aWR0aD0iMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggc3Ryb2tlLWRhc2hhcnJheT0iMTgsNiIgZD0iTTE3MDAuNTYzMSAyOTEuMTgyIEwxNjg1LjU2MzEgMjg0LjkzMiBMMTY4OS4zMTMxIDI5MS4xODIgTDE2ODUuNTYzMSAyOTcuNDMyIFoiIHN0cm9rZS13aWR0aD0iMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2UtZGFzaGFycmF5PSIxOCw2IiBkPSJNMTcwMC41MjQgMjIxLjE2NzYgTDE0MTUuMTIxOSAyMjEuMTY3NiIgc3Ryb2tlLXdpZHRoPSIzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBzdHJva2UtZGFzaGFycmF5PSIxOCw2IiBkPSJNMTQwNS4xMjE5IDIyMS4xNjc2IEwxNDIwLjEyMTkgMjI3LjQxNzYgTDE0MTYuMzcxOSAyMjEuMTY3NiBMMTQyMC4xMjE5IDIxNC45MTc2IFoiIHN0cm9rZS13aWR0aD0iMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTIwMS4xMDA2IDE3OC4zMDY3IEwxMDYxLjU2NTkgMTc4LjMwNjcgTDEwNjEuNTY1OSAxODMuMzA3NCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggZD0iTTEwNjEuNTY1OSAxOTEuMzA3NCBMMTA2Ni41NjU5IDE3OS4zMDc0IEwxMDYxLjU2NTkgMTgyLjMwNzQgTDEwNTYuNTY1OSAxNzkuMzA3NCBaIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjExMjQuNjYxMiIgeT0iMTY5LjMyMjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjM5Ljc1OTgiIGhlaWdodD0iMTcuOTY4OCIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDx0ZXh0IHg9IjExMjYuNjYxMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMTgyLjQ2MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPmJ1aWxkczwvdGV4dD4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTEyMDEuMDk1NiAyNjMuMDAxMSBMMTA1OS4xMDk0IDI2My41IEwxMDU5LjEwOTQgMjUxLjMyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBkPSJNMTA1OS4xMDk0IDI0My4zMiBMMTA1NC4xMDk0IDI1NS4zMiBMMTA1OS4xMDk0IDI1Mi4zMiBMMTA2NC4xMDk0IDI1NS4zMiBaIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjExMzAuNTUxMSIgeT0iMjU0LjIwOTMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjMxLjQ5MjIiIGhlaWdodD0iMTcuOTY4OCIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDx0ZXh0IHg9IjExMzIuNTUxMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMjY3LjM0OCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPnVzZXM8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xMjAyLjU4OCAzMjQuMzU2IEwxMDU5LjEwOTQgMzIzLjI2NjcgTDEwNTkuMTA5NCAzNDkuNjc5MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggZD0iTTEwNTkuMTA5NCAzNTcuNjc5MyBMMTA2NC4xMDk0IDM0NS42NzkzIEwxMDU5LjEwOTQgMzQ4LjY3OTMgTDEwNTQuMTA5NCAzNDUuNjc5MyBaIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjEwOTguNTM5NiIgeT0iMzE0LjczMjYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjM5Ljc1OTgiIGhlaWdodD0iMTcuOTY4OCIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDx0ZXh0IHg9IjExMDAuNTM5NiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMzI3Ljg3MTMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5idWlsZHM8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xMjAyLjU3OTUgNDUyLjA1IEwxMDU5LjEwOTQgNDUyLjA1IEwxMDU5LjEwOTQgNDE3LjY3MjUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIGQ9Ik0xMDU5LjEwOTQgNDA5LjY3MjUgTDEwNTQuMTA5NCA0MjEuNjcyNSBMMTA1OS4xMDk0IDQxOC42NzI1IEwxMDY0LjEwOTQgNDIxLjY3MjUgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxMTA0Ljc0MDIiIHk9IjQ0My4wNjU2IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0id2hpdGUiIHdpZHRoPSIzMS40OTIyIiBoZWlnaHQ9IjE3Ljk2ODgiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8dGV4dCB4PSIxMTA2Ljc0MDIiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjQ1Ni4yMDQzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+dXNlczwvdGV4dD4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTEyMDIuNTgwNiAzODIuMzg3NCBMMTEyMy42MzI2IDM4My41NDE0IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBkPSJNMTExNS42MzM0IDM4My42NTgzIEwxMTI3LjcwNTIgMzg4LjQ4MjQgTDExMjQuNjMyNCAzODMuNTI2OCBMMTEyNy41NTkxIDM3OC40ODM1IFoiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTE0My4zNjMzIiB5PSIzNzQuMDM4NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMzEuNDkyMiIgaGVpZ2h0PSIxNy45Njg4IiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHRleHQgeD0iMTE0NS4zNjMzIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzODcuMTc3MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPnVzZXM8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQsMywwLDMiIGQ9Ik0xMzIwLjc3NjEgNDU2Ljk3OTcgTDEzMzcuODM4MSA0NTYuOTc5NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2UtZGFzaGFycmF5PSI0LDMsMCwzIiBkPSJNMTI2MS43MDk0IDQwMS42NDI4IEwxMjYxLjcwOTQgNDE1LjA2IEwxMzM3LjgzODQgNDE1LjA2IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQsMywwLDMiIGQ9Ik0xMzIwLjc4ODMgMzIzLjAxODIgTDEzMzcuODc5MiAzMjIuNjMxMSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2UtZGFzaGFycmF5PSI0LDMsMCwzIiBkPSJNMTI2MS43MDk0IDM3MC4xMjk1IEwxMjYxLjcwOTQgMzQ5LjQ2IEwxMzM3Ljg1MSAzNDkuNDYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNCwzLDAsMyIgZD0iTTEyNjAuMjA5NCAyNDcuMjA0NiBMMTI2MC4yMDk0IDIxOS4xNjQ4IEwxMzM4Ljg5NTYgMjE5LjE2NDgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNCwzLDAsMyIgZD0iTTEzMTkuMjg1IDE5Mi40MTU4IEwxMzM4Ljg4NzIgMTkyLjQxNTgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo= + + + + + {"version":"2.0.0","theme":{"name":"light","version":"1.0.0"}} + + + 1 + + + + + + + + + \ No newline at end of file diff --git a/images/docs/architecture/kaoto-backend-overview.svg b/images/docs/architecture/kaoto-backend-overview.svg new file mode 100644 index 00000000..f0a70c83 --- /dev/null +++ b/images/docs/architecture/kaoto-backend-overview.svg @@ -0,0 +1 @@ +BackendStepServiceServicesViewDefinitionServiceStepParserServiceDeploymentServiceStepParserServiceStepParserServiceViewDefinitionParserServiceStepServiceStepServiceStepServiceDeploymentServiceDeploymentServiceStepServiceAPIFrontend ViewDefinitionorchestrationsteporchestrationstepextensionidViewDefinitionCatalogStepCatalogIntegrationsStepsViewDefbuildsusesbuildsusesuses \ No newline at end of file diff --git a/images/docs/architecture/kaoto-frontend-overview-2.graphml b/images/docs/architecture/kaoto-frontend-overview-2.graphml new file mode 100644 index 00000000..535d758e --- /dev/null +++ b/images/docs/architecture/kaoto-frontend-overview-2.graphml @@ -0,0 +1,53 @@ + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGZpbGwtb3BhY2l0eT0iMSIgY29sb3ItcmVuZGVyaW5nPSJhdXRvIiBjb2xvci1pbnRlcnBvbGF0aW9uPSJhdXRvIiB0ZXh0LXJlbmRlcmluZz0iYXV0byIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgd2lkdGg9IjQ5MyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzaGFwZS1yZW5kZXJpbmc9ImF1dG8iIHN0cm9rZS1vcGFjaXR5PSIxIiBmaWxsPSJibGFjayIgc3Ryb2tlLWRhc2hhcnJheT0ibm9uZSIgZm9udC13ZWlnaHQ9Im5vcm1hbCIgc3Ryb2tlLXdpZHRoPSIxIiBoZWlnaHQ9IjQyOSIgZm9udC1mYW1pbHk9IidEaWFsb2cnIiBmb250LXN0eWxlPSJub3JtYWwiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIGZvbnQtc2l6ZT0iMTJweCIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIGltYWdlLXJlbmRlcmluZz0iYXV0byI+CiAgPCEtLUdlbmVyYXRlZCBieSB5U1ZHIDIuNS0tPgogIDxkZWZzIGlkPSJnZW5lcmljRGVmcyIvPgogIDxnPgogICAgPGRlZnMgaWQ9ImRlZnMxIj4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIzNDAuNzc0NSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgyPSI0NzYuMjQxMiIgeTE9IjMzMC40NzMzIiB5Mj0iMzMwLjQ3MzMiIGlkPSJsaW5lYXJHcmFkaWVudDEiIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjAzLDIwMywyNTUpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMTQyLDE0MiwyNTUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIzNDAuNzc0NSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgyPSI0NzYuMjQxMiIgeTE9IjQ1MC4wNCIgeTI9IjQ1MC4wNCIgaWQ9ImxpbmVhckdyYWRpZW50MiIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyMDMsMjAzLDI1NSkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigxNDIsMTQyLDI1NSkiIG9mZnNldD0iMTAwJSIvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjM0MC43NzQ1IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDI9IjQ3Ni4yNDEyIiB5MT0iNDEzLjY3MzMiIHkyPSI0MTMuNjczMyIgaWQ9ImxpbmVhckdyYWRpZW50MyIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyMDMsMjAzLDI1NSkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigxNDIsMTQyLDI1NSkiIG9mZnNldD0iMTAwJSIvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8Y2xpcFBhdGggY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiIGlkPSJjbGlwUGF0aDEiPgogICAgICAgIDxwYXRoIGQ9Ik0wIDAgTDQ5MyAwIEw0OTMgNDI5IEwwIDQyOSBMMCAwIFoiLz4KICAgICAgPC9jbGlwUGF0aD4KICAgICAgPGNsaXBQYXRoIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iY2xpcFBhdGgyIj4KICAgICAgICA8cGF0aCBkPSJNNDUgMTk2IEw1MzggMTk2IEw1MzggNjI1IEw0NSA2MjUgTDQ1IDE5NiBaIi8+CiAgICAgIDwvY2xpcFBhdGg+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJyZ2IoMjAzLDIwMywyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtNDUsLTE5NikiIHN0cm9rZT0icmdiKDIwMywyMDMsMjU1KSI+CiAgICAgIDxyZWN0IHg9IjI1NS42NDEyIiB3aWR0aD0iMjI5LjQiIGhlaWdodD0iMjgwLjYzMzMiIHk9IjMwNi43MjMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ3aGl0ZSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9IndoaXRlIj4KICAgICAgPHJlY3QgeD0iMjU1LjY0MTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjI4MC42MzMzIiB5PSIzMDYuNzIzMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIyNTYuNjQxMiIgd2lkdGg9IjIyNy40IiBoZWlnaHQ9IjEiIHk9IjMwNi43MjMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjI1Ni42NDEyIiB5PSI1ODYuMzU2NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9InJnYigxNDIsMTQyLDE3OCkiIHdpZHRoPSIyMjguNCIgaGVpZ2h0PSIxIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iNDg0LjA0MTIiIHk9IjMwNi43MjMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0icmdiKDE0MiwxNDIsMTc4KSIgd2lkdGg9IjEiIGhlaWdodD0iMjc5LjYzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGZvbnQtd2VpZ2h0PSJib2xkIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSI+CiAgICAgIDx0ZXh0IHg9IjQxMi45NTMzIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzMjMuODYyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIj5Gcm9udGVuZCA8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMTQyLDE0MiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtNDUsLTE5NikiIHN0cm9rZT0icmdiKDE0MiwxNDIsMjU1KSI+CiAgICAgIDxwYXRoIGQ9Ik0zMjguNjQxMiAyMzcuMjA2NyBMMzM3Ljg0MTIgMjExLjIwNjcgTDQxMS40NDEyIDIxMS4yMDY3IEw0MjAuNjQxMiAyMzcuMjA2NyBMNDExLjQ0MTIgMjYzLjIwNjcgTDMzNy44NDEyIDI2My4yMDY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC00NSwtMTk2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMzI4LjY0MTIgMjM3LjIwNjcgTDMzNy44NDEyIDIxMS4yMDY3IEw0MTEuNDQxMiAyMTEuMjA2NyBMNDIwLjY0MTIgMjM3LjIwNjcgTDQxMS40NDEyIDI2My4yMDY3IEwzMzcuODQxMiAyNjMuMjA2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9IjM0NS4xODYxIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIyMzQuMzc2NiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPkV4dGVuc2lvbjwvdGV4dD4KICAgICAgPHRleHQgeD0iMzUxLjU5OTIiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjI0OC4zNDUzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+Q2F0YWxvZzwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQxKSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQxKSI+CiAgICAgIDxyZWN0IHg9IjI3My4wNDEyIiB5PSIzMzAuNDczMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIyMDMuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9Ijc3LjU2NjciIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC00NSwtMTk2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIyNzMuMDQxMiIgeT0iMzMwLjQ3MzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMjAzLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI3Ny41NjY3Ii8+CiAgICAgIDx0ZXh0IHg9IjMzOS42MTY4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzNDcuNjEyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+Q29kZSBFZGl0b3I8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MikiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC00NSwtMTk2KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MikiPgogICAgICA8cmVjdCB4PSIyNzMuMDQxMiIgeT0iNDUwLjA0IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjIwMy4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMTI0LjQiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC00NSwtMTk2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIyNzMuMDQxMiIgeT0iNDUwLjA0IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjIwMy4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMTI0LjQiLz4KICAgICAgPHRleHQgeD0iMzM2LjkzMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjQ2Ny4xNzg3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+VmlzdWFsIEVkaXRvcjwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQzKSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQzKSI+CiAgICAgIDxyZWN0IHg9IjI3My4wNDEyIiB5PSI0MTMuNjczMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIyMDMuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjI3LjQiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC00NSwtMTk2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIyNzMuMDQxMiIgeT0iNDEzLjY3MzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMjAzLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIyNy40Ii8+CiAgICAgIDx0ZXh0IHg9IjMzNi4wMzA5IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI0MzAuODEyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+U3RlcCBDYXRhbG9nPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDE0MiwxNDIsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InJnYigxNDIsMTQyLDI1NSkiPgogICAgICA8cmVjdCB4PSIyODMuNTQxMiIgeT0iNDcxLjA3MzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTEzIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iOTcuNiIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjI4My41NDEyIiB5PSI0NzEuMDczMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTMiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI5Ny42Ii8+CiAgICAgIDx0ZXh0IHg9IjMwMi42Nzg5IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI0OTQuMzg3NiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPk1haW4gY2FudmFzPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDE0MiwxNDIsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InJnYigxNDIsMTQyLDI1NSkiPgogICAgICA8cmVjdCB4PSI0MDAuNTk0OSIgeT0iNDcxLjA3MzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iNjkuOCIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjI1IiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtNDUsLTE5NikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iNDAwLjU5NDkiIHk9IjQ3MS4wNzMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjY5LjgiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIyNSIvPgogICAgICA8dGV4dCB4PSI0MDUuNDc5MyIgZm9udC1zaXplPSI4cHgiIHk9IjQ4Ni4zNDI5IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcCBFeHRlbnNpb248L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMTQyLDE0MiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtNDUsLTE5NikiIHN0cm9rZT0icmdiKDE0MiwxNDIsMjU1KSI+CiAgICAgIDxyZWN0IHg9IjQwMC41OTQ5IiB5PSI1MDcuMzczMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSI2OS44IiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMjUiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC00NSwtMTk2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSI0MDAuNTk0OSIgeT0iNTA3LjM3MzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iNjkuOCIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjI1Ii8+CiAgICAgIDx0ZXh0IHg9IjQwNS40NzkzIiBmb250LXNpemU9IjhweCIgeT0iNTIyLjY0MjkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5TdGVwIEV4dGVuc2lvbjwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigxNDIsMTQyLDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC00NSwtMTk2KSIgc3Ryb2tlPSJyZ2IoMTQyLDE0MiwyNTUpIj4KICAgICAgPHJlY3QgeD0iNDAwLjU5NDkiIHk9IjU0My42NzMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjY5LjgiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjQwMC41OTQ5IiB5PSI1NDMuNjczMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSI2OS44IiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMjUiLz4KICAgICAgPHRleHQgeD0iNDA1LjQ3OTMiIGZvbnQtc2l6ZT0iOHB4IiB5PSI1NTguOTQyOSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlN0ZXAgRXh0ZW5zaW9uPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDE0MiwxNDIsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InJnYigxNDIsMTQyLDI1NSkiPgogICAgICA8cmVjdCB4PSIyODMuNTQxMiIgeT0iMzUyLjQ0IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjE4Ni44NTM3IiByeD0iNCIgcnk9IjQiIGhlaWdodD0iNDUiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC00NSwtMTk2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIyODMuNTQxMiIgeT0iMzUyLjQ0IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjE4Ni44NTM3IiByeD0iNCIgcnk9IjQiIGhlaWdodD0iNDUiLz4KICAgICAgPHRleHQgeD0iMjk2LjkwODUiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjM3OS4wOTQzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+RG9tYWluIFNwZWNpZmljIExhbmd1YWdlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIxNiwyMTYsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNMzAyLjE4NzUgNTEwLjk3MzMgTDMyNC42MTU1IDUxMC45NzMzIEwzMjcuMTA3NSA1MjguNzczMyBMMzA0LjY3OTUgNTI4Ljc3MzMgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0zMDIuMTg3NSA1MTAuOTczMyBMMzI0LjYxNTUgNTEwLjk3MzMgTDMyNy4xMDc1IDUyOC43NzMzIEwzMDQuNjc5NSA1MjguNzczMyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9IjMwNS45OTUxIiBmb250LXNpemU9IjhweCIgeT0iNTIyLjY0MjkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5zdGVwPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIxNiwyMTYsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNMzQ1LjY3NDkgNTEwLjk3MzMgTDM2OC4xMDI5IDUxMC45NzMzIEwzNzAuNTk0OSA1MjguNzczMyBMMzQ4LjE2NjkgNTI4Ljc3MzMgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0zNDUuNjc0OSA1MTAuOTczMyBMMzY4LjEwMjkgNTEwLjk3MzMgTDM3MC41OTQ5IDUyOC43NzMzIEwzNDguMTY2OSA1MjguNzczMyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9IjM0OS40ODI2IiBmb250LXNpemU9IjhweCIgeT0iNTIyLjY0MjkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5zdGVwPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIxNiwyMTYsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNMzM0LjY0NzUgNTQ3LjI3MzMgTDM1Ny4wNzU1IDU0Ny4yNzMzIEwzNTkuNTY3NSA1NjUuMDczMyBMMzM3LjEzOTUgNTY1LjA3MzMgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0zMzQuNjQ3NSA1NDcuMjczMyBMMzU3LjA3NTUgNTQ3LjI3MzMgTDM1OS41Njc1IDU2NS4wNzMzIEwzMzcuMTM5NSA1NjUuMDczMyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9IjMzOC40NTUyIiBmb250LXNpemU9IjhweCIgeT0iNTU4Ljk0MjkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5zdGVwPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NSwyMDMsMjI5KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InJnYigyNTUsMjAzLDIyOSkiPgogICAgICA8cGF0aCBkPSJNNjAuOTM3NSA0OTYuMjkgTDE1Ny4yMzc1IDQ5Ni4yOSBMMTY3LjkzNzUgNTE4Ljc5IEwxNTcuMjM3NSA1NDEuMjkgTDYwLjkzNzUgNTQxLjI5IEw3MS42Mzc1IDUxOC43OSBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtNDUsLTE5NikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTYwLjkzNzUgNDk2LjI5IEwxNTcuMjM3NSA0OTYuMjkgTDE2Ny45Mzc1IDUxOC43OSBMMTU3LjIzNzUgNTQxLjI5IEw2MC45Mzc1IDU0MS4yOSBMNzEuNjM3NSA1MTguNzkgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NSwyMDMsMjI5KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InJnYigyNTUsMjAzLDIyOSkiPgogICAgICA8cGF0aCBkPSJNNjcuOTM3NSA1MDEuOTU2NyBMMTY0LjIzNzUgNTAxLjk1NjcgTDE3NC45Mzc1IDUyNC40NTY3IEwxNjQuMjM3NSA1NDYuOTU2NyBMNjcuOTM3NSA1NDYuOTU2NyBMNzguNjM3NSA1MjQuNDU2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtNDUsLTE5NikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTY3LjkzNzUgNTAxLjk1NjcgTDE2NC4yMzc1IDUwMS45NTY3IEwxNzQuOTM3NSA1MjQuNDU2NyBMMTY0LjIzNzUgNTQ2Ljk1NjcgTDY3LjkzNzUgNTQ2Ljk1NjcgTDc4LjYzNzUgNTI0LjQ1NjcgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NSwyMDMsMjI5KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InJnYigyNTUsMjAzLDIyOSkiPgogICAgICA8cGF0aCBkPSJNNzUuOTM3NSA1MDcuNjIzMyBMMTcyLjIzNzUgNTA3LjYyMzMgTDE4Mi45Mzc1IDUzMC4xMjM0IEwxNzIuMjM3NSA1NTIuNjIzNCBMNzUuOTM3NSA1NTIuNjIzNCBMODYuNjM3NSA1MzAuMTIzNCBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtNDUsLTE5NikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTc1LjkzNzUgNTA3LjYyMzMgTDE3Mi4yMzc1IDUwNy42MjMzIEwxODIuOTM3NSA1MzAuMTIzNCBMMTcyLjIzNzUgNTUyLjYyMzQgTDc1LjkzNzUgNTUyLjYyMzQgTDg2LjYzNzUgNTMwLjEyMzQgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NSwyMDMsMjI5KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InJnYigyNTUsMjAzLDIyOSkiPgogICAgICA8cGF0aCBkPSJNODYuOTM3NSA1MTMuMjkgTDE4My4yMzc1IDUxMy4yOSBMMTkzLjkzNzUgNTM1Ljc5IEwxODMuMjM3NSA1NTguMjkgTDg2LjkzNzUgNTU4LjI5IEw5Ny42Mzc1IDUzNS43OSBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtNDUsLTE5NikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTg2LjkzNzUgNTEzLjI5IEwxODMuMjM3NSA1MTMuMjkgTDE5My45Mzc1IDUzNS43OSBMMTgzLjIzNzUgNTU4LjI5IEw4Ni45Mzc1IDU1OC4yOSBMOTcuNjM3NSA1MzUuNzkgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSI5Ny4wMTM3IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI1MzAuNDI4NiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPlZpZXdEZWZpbml0aW9uPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIxNiwyMTYsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNMTA1LjkzNzUgNTM1LjI5IEwxODUuMTM3NSA1MzUuMjkgTDE5My45Mzc1IDU2NS4yOSBMMTE0LjczNzUgNTY1LjI5IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC00NSwtMTk2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTA1LjkzNzUgNTM1LjI5IEwxODUuMTM3NSA1MzUuMjkgTDE5My45Mzc1IDU2NS4yOSBMMTE0LjczNzUgNTY1LjI5IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTIwLjU4MiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iNTQ3LjQ1OTkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5leHRlbnNpb248L3RleHQ+CiAgICAgIDx0ZXh0IHg9IjE0NC40NjE5IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI1NjEuNDI4NiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPmlkPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NSwyMDMsMjI5KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTQ1LC0xOTYpIiBzdHJva2U9InJnYigyNTUsMjAzLDIyOSkiPgogICAgICA8cGF0aCBkPSJNNjcuOTM3NSA0MzguMjkgTDE2NC4yMzc1IDQzOC4yOSBMMTc0LjkzNzUgNDYwLjc5IEwxNjQuMjM3NSA0ODMuMjkgTDY3LjkzNzUgNDgzLjI5IEw3OC42Mzc1IDQ2MC43OSBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtNDUsLTE5NikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTY3LjkzNzUgNDM4LjI5IEwxNjQuMjM3NSA0MzguMjkgTDE3NC45Mzc1IDQ2MC43OSBMMTY0LjIzNzUgNDgzLjI5IEw2Ny45Mzc1IDQ4My4yOSBMNzguNjM3NSA0NjAuNzkgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSI3OC4wMTM3IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI0NTcuOTU5OSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPlZpZXdEZWZpbml0aW9uPC90ZXh0PgogICAgICA8dGV4dCB4PSI3OC43MjU2IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI0NzEuOTI4NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPihtYWluIGNhbnZhcyk8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0zNzQuNjQxMiAzMDYuNzE4OCBMMzc0LjY0MTIgMjcxLjIzOTciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIGQ9Ik0zNzQuNjQxMiAyNjMuMjM5NyBMMzY5LjY0MTIgMjc1LjIzOTcgTDM3NC42NDEyIDI3Mi4yMzk3IEwzNzkuNjQxMiAyNzUuMjM5NyBaIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjM1OC4zOTE0IiB5PSIyODAuNjQwNiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMzEuNDkyMiIgaGVpZ2h0PSIxNy45Njg4IiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHRleHQgeD0iMzYwLjM5MTQiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjI5My43NzkzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+dXNlczwvdGV4dD4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTQyMC42MDkyIDIzNy4yMDY3IEw1MjIuNTQ3NSAyMzcuMjA2NyBMNTIyLjU0NzUgNDgzLjU3MzMgTDQ3OC4zOTI1IDQ4My41NzMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBkPSJNNDcwLjM5MjUgNDgzLjU3MzMgTDQ4Mi4zOTI1IDQ4OC41NzMzIEw0NzkuMzkyNSA0ODMuNTczMyBMNDgyLjM5MjUgNDc4LjU3MzMgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNNDIwLjYwOTIgMjM3LjIwNjcgTDUyMi41NDc1IDIzNy4yMDY3IEw1MjIuNTQ3NSA1MTkuODczNCBMNDc4LjM5MjUgNTE5Ljg3MzQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIGQ9Ik00NzAuMzkyNSA1MTkuODczNCBMNDgyLjM5MjUgNTI0Ljg3MzQgTDQ3OS4zOTI1IDUxOS44NzM0IEw0ODIuMzkyNSA1MTQuODczNCBaIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik00MjAuNjA5MiAyMzcuMjA2NyBMNTIyLjU0NzUgMjM3LjIwNjcgTDUyMi41NDc1IDU1Ni4xNzMzIEw0NzguMzkyNSA1NTYuMTczMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggZD0iTTQ3MC4zOTI1IDU1Ni4xNzMzIEw0ODIuMzkyNSA1NjEuMTczMyBMNDc5LjM5MjUgNTU2LjE3MzMgTDQ4Mi4zOTI1IDU1MS4xNzMzIFoiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iNDM3Ljg4MjciIHk9IjIyOC4yMjIzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0id2hpdGUiIHdpZHRoPSIyOS42NDY1IiBoZWlnaHQ9IjE3Ljk2ODgiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8dGV4dCB4PSI0MzkuODgyNyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMjQxLjM2MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPmxvYWQ8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQsMywwLDMiIGQ9Ik0zMTQuNjQ3NSA1MTAuOTY3MyBMMzE0LjY0NzUgNTAwLjYzMzMgTDM4Ny4zNDc1IDUwMC42MzMzIEwzODcuMzQ3NSA0ODMuNTczMyBMNDAwLjU1OTggNDgzLjU3MzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTMyNS45MDE2IDUxOS44NzM0IEwzNDYuODk3MyA1MTkuODczNCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNCwzLDAsMyIgZD0iTTM2OS4zNTM2IDUxOS44NzM0IEw0MDAuNTgzNCA1MTkuODczNCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2UtZGFzaGFycmF5PSI0LDMsMCwzIiBkPSJNMzU4LjI4NTQgNTU2LjE3MzMgTDQwMC42MjI0IDU1Ni4xNzMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQsMywwLDMiIGQ9Ik0xNDkuOTM3NSA1NjUuMjc4IEwxNDkuOTM3NSA2MDkuNDMzMyBMNDM1LjQ5NDkgNjA5LjQzMzMgTDQzNS40OTQ5IDU2OC42ODIxIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQsMywwLDMiIGQ9Ik0xNzQuOTYxNSA0NjAuNzkgTDIxOC44NzUgNDYwLjc5IEwyMTguODc1IDUxOS44NzM0IEwyODMuNTY5OSA1MTkuODczNCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg== + + + + + {"version":"2.0.0","theme":{"name":"light","version":"1.0.0"}} + + + 1 + + + + + + + + + \ No newline at end of file diff --git a/images/docs/architecture/kaoto-frontend-overview-2.svg b/images/docs/architecture/kaoto-frontend-overview-2.svg new file mode 100644 index 00000000..e9984621 --- /dev/null +++ b/images/docs/architecture/kaoto-frontend-overview-2.svg @@ -0,0 +1 @@ +Frontend ExtensionCatalogCode EditorVisual EditorStep CatalogMain canvasStep ExtensionStep ExtensionStep ExtensionDomain Specific LanguagestepstepstepViewDefinitionextensionidViewDefinition(main canvas)usesload \ No newline at end of file diff --git a/images/docs/architecture/kaoto-frontend-overview.graphml b/images/docs/architecture/kaoto-frontend-overview.graphml new file mode 100644 index 00000000..cc80d3a0 --- /dev/null +++ b/images/docs/architecture/kaoto-frontend-overview.graphml @@ -0,0 +1,53 @@ + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGZpbGwtb3BhY2l0eT0iMSIgY29sb3ItcmVuZGVyaW5nPSJhdXRvIiBjb2xvci1pbnRlcnBvbGF0aW9uPSJhdXRvIiB0ZXh0LXJlbmRlcmluZz0iYXV0byIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgd2lkdGg9IjY3NSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzaGFwZS1yZW5kZXJpbmc9ImF1dG8iIHN0cm9rZS1vcGFjaXR5PSIxIiBmaWxsPSJibGFjayIgc3Ryb2tlLWRhc2hhcnJheT0ibm9uZSIgZm9udC13ZWlnaHQ9Im5vcm1hbCIgc3Ryb2tlLXdpZHRoPSIxIiBoZWlnaHQ9IjQzMCIgZm9udC1mYW1pbHk9IidEaWFsb2cnIiBmb250LXN0eWxlPSJub3JtYWwiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIGZvbnQtc2l6ZT0iMTJweCIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIGltYWdlLXJlbmRlcmluZz0iYXV0byI+CiAgPCEtLUdlbmVyYXRlZCBieSB5U1ZHIDIuNS0tPgogIDxkZWZzIGlkPSJnZW5lcmljRGVmcyIvPgogIDxnPgogICAgPGRlZnMgaWQ9ImRlZnMxIj4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxNjg5LjM5NDQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTgyNC44NjExIiB5MT0iMjUxLjI2NjciIHkyPSIyNTEuMjY2NyIgaWQ9ImxpbmVhckdyYWRpZW50MSIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyMDMsMjAzLDI1NSkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigxNDIsMTQyLDI1NSkiIG9mZnNldD0iMTAwJSIvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE2ODkuMzk0NCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgyPSIxODI0Ljg2MTEiIHkxPSIzNzAuODMzMyIgeTI9IjM3MC44MzMzIiBpZD0ibGluZWFyR3JhZGllbnQyIiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDIwMywyMDMsMjU1KSIgb2Zmc2V0PSIwJSIvPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDE0MiwxNDIsMjU1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTY4OS4zOTQ0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDI9IjE4MjQuODYxMSIgeTE9IjMzNC40NjY3IiB5Mj0iMzM0LjQ2NjciIGlkPSJsaW5lYXJHcmFkaWVudDMiIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjAzLDIwMywyNTUpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMTQyLDE0MiwyNTUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxNDM2LjY0MDciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTU2MS4zMDc0IiB5MT0iMTMxLjI1IiB5Mj0iMTMxLjI1IiBpZD0ibGluZWFyR3JhZGllbnQ0IiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDI1NSwyMDMsMjI5KSIgb2Zmc2V0PSIwJSIvPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDIwMywyMDMsMjU1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTQzOC42NDA3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDI9IjE1NjMuMzA3NCIgeTE9IjMxOC4wODMzIiB5Mj0iMzE4LjA4MzMiIGlkPSJsaW5lYXJHcmFkaWVudDUiIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjU1LDIwMywyMjkpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjAzLDIwMywyNTUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGNsaXBQYXRoIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iY2xpcFBhdGgxIj4KICAgICAgICA8cGF0aCBkPSJNMCAwIEw2NzUgMCBMNjc1IDQzMCBMMCA0MzAgTDAgMCBaIi8+CiAgICAgIDwvY2xpcFBhdGg+CiAgICAgIDxjbGlwUGF0aCBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImNsaXBQYXRoMiI+CiAgICAgICAgPHBhdGggZD0iTTEyMTIgMTE2IEwxODg3IDExNiBMMTg4NyA1NDYgTDEyMTIgNTQ2IEwxMjEyIDExNiBaIi8+CiAgICAgIDwvY2xpcFBhdGg+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHJlY3QgeD0iMTIyNy4yNTc0IiB3aWR0aD0iODEuNTUiIGhlaWdodD0iMzc2LjkiIHk9IjEzMS4yNSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0id2hpdGUiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2U9IndoaXRlIj4KICAgICAgPHJlY3QgeD0iMTIyNy4yNTc0IiB3aWR0aD0iMSIgaGVpZ2h0PSIzNzYuOSIgeT0iMTMxLjI1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjEyMjguMjU3NCIgd2lkdGg9Ijc5LjU1IiBoZWlnaHQ9IjEiIHk9IjEzMS4yNSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxMjI4LjI1NzQiIHk9IjUwNy4xNSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9InJnYigxNzgsMTQyLDE2MCkiIHdpZHRoPSI4MC41NSIgaGVpZ2h0PSIxIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTMwNy44MDc0IiB5PSIxMzEuMjUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTc4LDE0MiwxNjApIiB3aWR0aD0iMSIgaGVpZ2h0PSIzNzUuOSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyBzdHJva2UtbGluZWNhcD0iYnV0dCIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBmb250LXdlaWdodD0iYm9sZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiPgogICAgICA8dGV4dCB4PSIxMjMzLjI1NzQiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjE0OC4zODg3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIj5CYWNrZW5kPC90ZXh0PgogICAgICA8cmVjdCB4PSIxMjMzLjUwNzQiIHk9IjE1OS40MTY3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjY2LjMiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMzguMzMzMyIvPgogICAgICA8dGV4dCB4PSIxMjU3LjE2NTIiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjE3Ni41NTUzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC13ZWlnaHQ9Im5vcm1hbCIgc3Ryb2tlPSJub25lIj5BUEk8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjAzLDIwMywyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJyZ2IoMjAzLDIwMywyNTUpIj4KICAgICAgPHJlY3QgeD0iMTYwNC4yNjExIiB3aWR0aD0iMjI5LjQiIGhlaWdodD0iMjgwLjYzMzMiIHk9IjIyNy41MTY3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjE2MDQuMjYxMSIgeT0iMjI3LjUxNjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjEiIGhlaWdodD0iMjgwLjYzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxNjA1LjI2MTEiIHk9IjIyNy41MTY3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0id2hpdGUiIHdpZHRoPSIyMjcuNCIgaGVpZ2h0PSIxIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTYwNS4yNjExIiB5PSI1MDcuMTUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTQyLDE0MiwxNzgpIiB3aWR0aD0iMjI4LjQiIGhlaWdodD0iMSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjE4MzIuNjYxMSIgeT0iMjI3LjUxNjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTQyLDE0MiwxNzgpIiB3aWR0aD0iMSIgaGVpZ2h0PSIyNzkuNjMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyBzdHJva2UtbGluZWNhcD0iYnV0dCIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBmb250LXdlaWdodD0iYm9sZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiPgogICAgICA8dGV4dCB4PSIxNzYxLjU3MzIiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjI0NC42NTUzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIj5Gcm9udGVuZCA8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMTQyLDE0MiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJyZ2IoMTQyLDE0MiwyNTUpIj4KICAgICAgPHBhdGggZD0iTTE2NzcuMjYxMSAxNTggTDE2ODYuNDYxMyAxMzIgTDE3NjAuMDYxMiAxMzIgTDE3NjkuMjYxMSAxNTggTDE3NjAuMDYxMiAxODQgTDE2ODYuNDYxMyAxODQgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE2NzcuMjYxMSAxNTggTDE2ODYuNDYxMyAxMzIgTDE3NjAuMDYxMiAxMzIgTDE3NjkuMjYxMSAxNTggTDE3NjAuMDYxMiAxODQgTDE2ODYuNDYxMyAxODQgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSIxNjkzLjgwNiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMTU1LjE2OTkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5FeHRlbnNpb248L3RleHQ+CiAgICAgIDx0ZXh0IHg9IjE3MDAuMjE5MSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMTY5LjEzODciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5DYXRhbG9nPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDEpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MSkiPgogICAgICA8cmVjdCB4PSIxNjIxLjY2MTEiIHk9IjI1MS4yNjY3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjIwMy4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iNzcuNTY2NyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTYyMS42NjExIiB5PSIyNTEuMjY2NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIyMDMuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9Ijc3LjU2NjciLz4KICAgICAgPHRleHQgeD0iMTY4OC4yMzY3IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIyNjguNDA1MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPkNvZGUgRWRpdG9yPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDIpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MikiPgogICAgICA8cmVjdCB4PSIxNjIxLjY2MTEiIHk9IjM3MC44MzMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjIwMy4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMTI0LjQiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjE2MjEuNjYxMSIgeT0iMzcwLjgzMzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMjAzLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIxMjQuNCIvPgogICAgICA8dGV4dCB4PSIxNjg1LjU1MzEiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjM4Ny45NzIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5WaXN1YWwgRWRpdG9yPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDMpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MykiPgogICAgICA8cmVjdCB4PSIxNjIxLjY2MTEiIHk9IjMzNC40NjY3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjIwMy4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMjcuNCIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTYyMS42NjExIiB5PSIzMzQuNDY2NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIyMDMuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjI3LjQiLz4KICAgICAgPHRleHQgeD0iMTY4NC42NTA4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzNTEuNjA1MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPlN0ZXAgQ2F0YWxvZzwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigxNDIsMTQyLDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2U9InJnYigxNDIsMTQyLDI1NSkiPgogICAgICA8cmVjdCB4PSIxNjMyLjE2MTEiIHk9IjM5MS44NjY3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExMyIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9Ijk3LjYiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjE2MzIuMTYxMSIgeT0iMzkxLjg2NjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTEzIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iOTcuNiIvPgogICAgICA8dGV4dCB4PSIxNjUxLjI5ODgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjQxNS4xODEiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5NYWluIGNhbnZhczwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigxNDIsMTQyLDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2U9InJnYigxNDIsMTQyLDI1NSkiPgogICAgICA8cmVjdCB4PSIxNzQ5LjIxNDgiIHk9IjM5MS44NjY3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjY5LjgiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTc0OS4yMTQ4IiB5PSIzOTEuODY2NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSI2OS44IiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMjUiLz4KICAgICAgPHRleHQgeD0iMTc1NC4wOTkyIiBmb250LXNpemU9IjhweCIgeT0iNDA3LjEzNjIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5TdGVwIEV4dGVuc2lvbjwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigxNDIsMTQyLDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2U9InJnYigxNDIsMTQyLDI1NSkiPgogICAgICA8cmVjdCB4PSIxNzQ5LjIxNDgiIHk9IjQyOC4xNjY3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjY5LjgiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTc0OS4yMTQ4IiB5PSI0MjguMTY2NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSI2OS44IiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMjUiLz4KICAgICAgPHRleHQgeD0iMTc1NC4wOTkyIiBmb250LXNpemU9IjhweCIgeT0iNDQzLjQzNjIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5TdGVwIEV4dGVuc2lvbjwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigxNDIsMTQyLDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2U9InJnYigxNDIsMTQyLDI1NSkiPgogICAgICA8cmVjdCB4PSIxNzQ5LjIxNDgiIHk9IjQ2NC40NjY3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjY5LjgiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTc0OS4yMTQ4IiB5PSI0NjQuNDY2NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSI2OS44IiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMjUiLz4KICAgICAgPHRleHQgeD0iMTc1NC4wOTkyIiBmb250LXNpemU9IjhweCIgeT0iNDc5LjczNjIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5TdGVwIEV4dGVuc2lvbjwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigxNDIsMTQyLDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2U9InJnYigxNDIsMTQyLDI1NSkiPgogICAgICA8cmVjdCB4PSIxNjMyLjE2MTEiIHk9IjI3My4yMzMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjE4Ni44NTM3IiByeD0iNCIgcnk9IjQiIGhlaWdodD0iNDUiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjE2MzIuMTYxMSIgeT0iMjczLjIzMzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTg2Ljg1MzciIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI0NSIvPgogICAgICA8dGV4dCB4PSIxNjQ1LjUyODQiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjI5OS44ODc2IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+RG9tYWluIFNwZWNpZmljIExhbmd1YWdlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIxNiwyMTYsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZT0icmdiKDIxNiwyMTYsMjU1KSI+CiAgICAgIDxwYXRoIGQ9Ik0xNjUwLjgwNzUgNDMxLjc2NjYgTDE2NzMuMjM1NSA0MzEuNzY2NiBMMTY3NS43Mjc0IDQ0OS41NjY2IEwxNjUzLjI5OTQgNDQ5LjU2NjYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE2NTAuODA3NSA0MzEuNzY2NiBMMTY3My4yMzU1IDQzMS43NjY2IEwxNjc1LjcyNzQgNDQ5LjU2NjYgTDE2NTMuMjk5NCA0NDkuNTY2NiBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9IjE2NTQuNjE1MSIgZm9udC1zaXplPSI4cHgiIHk9IjQ0My40MzYyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+c3RlcDwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyMTYsMjE2LDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNMTY5NC4yOTQ4IDQzMS43NjY2IEwxNzE2LjcyMyA0MzEuNzY2NiBMMTcxOS4yMTUgNDQ5LjU2NjYgTDE2OTYuNzg3IDQ0OS41NjY2IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xNjk0LjI5NDggNDMxLjc2NjYgTDE3MTYuNzIzIDQzMS43NjY2IEwxNzE5LjIxNSA0NDkuNTY2NiBMMTY5Ni43ODcgNDQ5LjU2NjYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSIxNjk4LjEwMjQiIGZvbnQtc2l6ZT0iOHB4IiB5PSI0NDMuNDM2MiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPnN0ZXA8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJyZ2IoMjE2LDIxNiwyNTUpIj4KICAgICAgPHBhdGggZD0iTTE2ODMuMjY3NSA0NjguMDY2NiBMMTcwNS42OTU0IDQ2OC4wNjY2IEwxNzA4LjE4NzQgNDg1Ljg2NjUgTDE2ODUuNzU5NCA0ODUuODY2NSBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTY4My4yNjc1IDQ2OC4wNjY2IEwxNzA1LjY5NTQgNDY4LjA2NjYgTDE3MDguMTg3NCA0ODUuODY2NSBMMTY4NS43NTk0IDQ4NS44NjY1IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTY4Ny4wNzUxIiBmb250LXNpemU9IjhweCIgeT0iNDc5LjczNjIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5zdGVwPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDQpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50NCkiPgogICAgICA8cmVjdCB4PSIxMzc0LjMwNzQiIHdpZHRoPSIxODciIGhlaWdodD0iMTAwLjY2NjciIHk9IjEzMS4yNSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxMzc0LjMwNzQiIHk9IjEzMS4yNSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMSIgaGVpZ2h0PSIxMDAuNjY2NyIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjEzNzUuMzA3NCIgeT0iMTMxLjI1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0id2hpdGUiIHdpZHRoPSIxODUiIGhlaWdodD0iMSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjEzNzUuMzA3NCIgeT0iMjMwLjkxNjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTc4LDE0MiwxNjApIiB3aWR0aD0iMTg2IiBoZWlnaHQ9IjEiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxNTYwLjMwNzQiIHk9IjEzMS4yNSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9InJnYigxNzgsMTQyLDE2MCkiIHdpZHRoPSIxIiBoZWlnaHQ9Ijk5LjY2NjciIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxMzc2LjMwNzQiIHk9IjMxOC4wODMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDUpIiB3aWR0aD0iMTg3IiBoZWlnaHQ9IjE5MC4wNjY3IiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTM3Ni4zMDc0IiB5PSIzMTguMDgzMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMSIgaGVpZ2h0PSIxOTAuMDY2NyIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjEzNzcuMzA3NCIgeT0iMzE4LjA4MzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjE4NSIgaGVpZ2h0PSIxIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTM3Ny4zMDc0IiB5PSI1MDcuMTUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTc4LDE0MiwxNjApIiB3aWR0aD0iMTg2IiBoZWlnaHQ9IjEiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxNTYyLjMwNzQiIHk9IjMxOC4wODMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0icmdiKDE3OCwxNDIsMTYwKSIgd2lkdGg9IjEiIGhlaWdodD0iMTg5LjA2NjciIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cGF0aCBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiBkPSJNMTQwOS41NTc1IDQxNy4wODMzIEwxNTA1Ljg1NzUgNDE3LjA4MzMgTDE1MTYuNTU3NSA0MzkuNTgzMiBMMTUwNS44NTc1IDQ2Mi4wODMyIEwxNDA5LjU1NzUgNDYyLjA4MzIgTDE0MjAuMjU3NCA0MzkuNTgzMiBaIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTQwOS41NTc1IDQxNy4wODMzIEwxNTA1Ljg1NzUgNDE3LjA4MzMgTDE1MTYuNTU3NSA0MzkuNTgzMiBMMTUwNS44NTc1IDQ2Mi4wODMyIEwxNDA5LjU1NzUgNDYyLjA4MzIgTDE0MjAuMjU3NCA0MzkuNTgzMiBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHBhdGggZD0iTTE0MTYuNTU3NSA0MjIuNzUgTDE1MTIuODU3NSA0MjIuNzUgTDE1MjMuNTU3NSA0NDUuMjQ5OSBMMTUxMi44NTc1IDQ2Ny43NSBMMTQxNi41NTc1IDQ2Ny43NSBMMTQyNy4yNTc0IDQ0NS4yNDk5IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xNDE2LjU1NzUgNDIyLjc1IEwxNTEyLjg1NzUgNDIyLjc1IEwxNTIzLjU1NzUgNDQ1LjI0OTkgTDE1MTIuODU3NSA0NjcuNzUgTDE0MTYuNTU3NSA0NjcuNzUgTDE0MjcuMjU3NCA0NDUuMjQ5OSBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHBhdGggZD0iTTE0MjQuNTU3NSA0MjguNDE2NiBMMTUyMC44NTc1IDQyOC40MTY2IEwxNTMxLjU1NzUgNDUwLjkxNjYgTDE1MjAuODU3NSA0NzMuNDE2NSBMMTQyNC41NTc1IDQ3My40MTY1IEwxNDM1LjI1NzQgNDUwLjkxNjYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE0MjQuNTU3NSA0MjguNDE2NiBMMTUyMC44NTc1IDQyOC40MTY2IEwxNTMxLjU1NzUgNDUwLjkxNjYgTDE1MjAuODU3NSA0NzMuNDE2NSBMMTQyNC41NTc1IDQ3My40MTY1IEwxNDM1LjI1NzQgNDUwLjkxNjYgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NSwyMDMsMjI5KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZT0icmdiKDI1NSwyMDMsMjI5KSI+CiAgICAgIDxwYXRoIGQ9Ik0xNDM1LjU1NzUgNDM0LjA4MzIgTDE1MzEuODU3NSA0MzQuMDgzMiBMMTU0Mi41NTc1IDQ1Ni41ODMyIEwxNTMxLjg1NzUgNDc5LjA4MzEgTDE0MzUuNTU3NSA0NzkuMDgzMSBMMTQ0Ni4yNTc0IDQ1Ni41ODMyIFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xNDM1LjU1NzUgNDM0LjA4MzIgTDE1MzEuODU3NSA0MzQuMDgzMiBMMTU0Mi41NTc1IDQ1Ni41ODMyIEwxNTMxLjg1NzUgNDc5LjA4MzEgTDE0MzUuNTU3NSA0NzkuMDgzMSBMMTQ0Ni4yNTc0IDQ1Ni41ODMyIFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTQ0NS42MzM1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI0NTEuMjIyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+Vmlld0RlZmluaXRpb248L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHBhdGggZD0iTTE0MjIuNjA3NSAxNTMuNTgzMyBMMTUyNC4zMDc1IDE1My41ODMzIEwxNTEzLjAwNzQgMjA5LjU4MzQgTDE0MTEuMzA3NSAyMDkuNTgzNCBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTQyMi42MDc1IDE1My41ODMzIEwxNTI0LjMwNzUgMTUzLjU4MzMgTDE1MTMuMDA3NCAyMDkuNTgzNCBMMTQxMS4zMDc1IDIwOS41ODM0IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTQyNy43NjE1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIxNzAuNzIyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+b3JjaGVzdHJhdGlvbjwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyMTYsMjE2LDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNMTQ0NC4zMDc1IDE3NC41ODM0IEwxNDc1LjgwNzUgMTc0LjU4MzQgTDE0NzkuMzA3NSAxOTkuNTgzNCBMMTQ0Ny44MDc1IDE5OS41ODM0IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xNDQ0LjMwNzUgMTc0LjU4MzQgTDE0NzUuODA3NSAxNzQuNTgzNCBMMTQ3OS4zMDc1IDE5OS41ODM0IEwxNDQ3LjgwNzUgMTk5LjU4MzQgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIxNiwyMTYsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZT0icmdiKDIxNiwyMTYsMjU1KSI+CiAgICAgIDxwYXRoIGQ9Ik0xNDUwLjMwNzUgMTc3LjU4MzQgTDE0ODEuODA3NSAxNzcuNTgzNCBMMTQ4NS4zMDc1IDIwMi41ODM0IEwxNDUzLjgwNzUgMjAyLjU4MzQgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE0NTAuMzA3NSAxNzcuNTgzNCBMMTQ4MS44MDc1IDE3Ny41ODM0IEwxNDg1LjMwNzUgMjAyLjU4MzQgTDE0NTMuODA3NSAyMDIuNTgzNCBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJyZ2IoMjE2LDIxNiwyNTUpIj4KICAgICAgPHBhdGggZD0iTTE0NTYuMzA3NSAxODAuNTgzNCBMMTQ4Ny44MDc1IDE4MC41ODM0IEwxNDkxLjMwNzUgMjA1LjU4MzQgTDE0NTkuODA3NSAyMDUuNTgzNCBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTQ1Ni4zMDc1IDE4MC41ODM0IEwxNDg3LjgwNzUgMTgwLjU4MzQgTDE0OTEuMzA3NSAyMDUuNTgzNCBMMTQ1OS44MDc1IDIwNS41ODM0IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTQ2MC44Mjg5IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIxOTcuMjM3NiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPnN0ZXA8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHBhdGggZD0iTTE0MjYuODU3NSAzMzUuMDgzNCBMMTUyOC41NTc1IDMzNS4wODM0IEwxNTE3LjI1NzQgMzkxLjA4MzQgTDE0MTUuNTU3NSAzOTEuMDgzNCBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTQyNi44NTc1IDMzNS4wODM0IEwxNTI4LjU1NzUgMzM1LjA4MzQgTDE1MTcuMjU3NCAzOTEuMDgzNCBMMTQxNS41NTc1IDM5MS4wODM0IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTQzMi4wMTE1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzNTIuMjIyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+b3JjaGVzdHJhdGlvbjwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyMTYsMjE2LDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNMTQ0OC41NTc1IDM1Ni4wODM0IEwxNDgwLjA1NzUgMzU2LjA4MzQgTDE0ODMuNTU3NSAzODEuMDgzNCBMMTQ1Mi4wNTc1IDM4MS4wODM0IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xNDQ4LjU1NzUgMzU2LjA4MzQgTDE0ODAuMDU3NSAzNTYuMDgzNCBMMTQ4My41NTc1IDM4MS4wODM0IEwxNDUyLjA1NzUgMzgxLjA4MzQgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIxNiwyMTYsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZT0icmdiKDIxNiwyMTYsMjU1KSI+CiAgICAgIDxwYXRoIGQ9Ik0xNDU0LjU1NzUgMzU5LjA4MzQgTDE0ODYuMDU3NSAzNTkuMDgzNCBMMTQ4OS41NTc1IDM4NC4wODM0IEwxNDU4LjA1NzUgMzg0LjA4MzQgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE0NTQuNTU3NSAzNTkuMDgzNCBMMTQ4Ni4wNTc1IDM1OS4wODM0IEwxNDg5LjU1NzUgMzg0LjA4MzQgTDE0NTguMDU3NSAzODQuMDgzNCBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJyZ2IoMjE2LDIxNiwyNTUpIj4KICAgICAgPHBhdGggZD0iTTE0NjAuNTU3NSAzNjIuMDgzNCBMMTQ5Mi4wNTc1IDM2Mi4wODM0IEwxNDk1LjU1NzUgMzg3LjA4MzQgTDE0NjQuMDU3NSAzODcuMDgzNCBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTQ2MC41NTc1IDM2Mi4wODM0IEwxNDkyLjA1NzUgMzYyLjA4MzQgTDE0OTUuNTU3NSAzODcuMDgzNCBMMTQ2NC4wNTc1IDM4Ny4wODM0IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTQ2NS4wNzg5IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzNzguNzM3NiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPnN0ZXA8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJyZ2IoMjE2LDIxNiwyNTUpIj4KICAgICAgPHBhdGggZD0iTTE0NTQuNTU3NSA0NTYuMDgzMiBMMTUzMy43NTc0IDQ1Ni4wODMyIEwxNTQyLjU1NzUgNDg2LjA4MzEgTDE0NjMuMzU3NSA0ODYuMDgzMSBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTQ1NC41NTc1IDQ1Ni4wODMyIEwxNTMzLjc1NzQgNDU2LjA4MzIgTDE1NDIuNTU3NSA0ODYuMDgzMSBMMTQ2My4zNTc1IDQ4Ni4wODMxIFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTQ2OS4yMDE5IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI0NjguMjUzMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPmV4dGVuc2lvbjwvdGV4dD4KICAgICAgPHRleHQgeD0iMTQ5My4wODE4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI0ODIuMjIyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+aWQ8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU0LDIyNCwyMDQpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTIxMiwtMTE2KSIgc3Ryb2tlPSJyZ2IoMjU0LDIyNCwyMDQpIj4KICAgICAgPHJlY3QgeD0iMTI0MS41NTc0IiB5PSIzOTguMDExMiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSI1MC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iOTAuNzMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMTI0MS41NTc0IiB5PSIzOTguMDExMiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSI1MC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iOTAuNzMzMyIvPgogICAgICA8dGV4dCB4PSIxMjQyLjUzMjMiIGZvbnQtc2l6ZT0iOHB4IiB5PSI0NDYuMTQ3NCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPkludGVncmF0aW9uczwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTQsMjI0LDIwNCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2U9InJnYigyNTQsMjI0LDIwNCkiPgogICAgICA8cmVjdCB4PSIxMjQxLjU1NzQiIHk9IjI5NS4xMTMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iNTAuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjkwLjczMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjEyNDEuNTU3NCIgeT0iMjk1LjExMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSI1MC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iOTAuNzMzMyIvPgogICAgICA8dGV4dCB4PSIxMjU1LjQ2NTkiIGZvbnQtc2l6ZT0iOHB4IiB5PSIzNDMuMjQ5MiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlN0ZXBzPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NCwyMjQsMjA0KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEyMTIsLTExNikiIHN0cm9rZT0icmdiKDI1NCwyMjQsMjA0KSI+CiAgICAgIDxyZWN0IHg9IjEyNDIuNjA3NCIgeT0iMTkyLjIxNDgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iNTAuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjkwLjczMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMjEyLC0xMTYpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjEyNDIuNjA3NCIgeT0iMTkyLjIxNDgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iNTAuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjkwLjczMzMiLz4KICAgICAgPHRleHQgeD0iMTI1MS4xNzgxIiBmb250LXNpemU9IjhweCIgeT0iMjQwLjM1MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlZpZXdEZWY8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjE4LDYiIGQ9Ik0xMzA4LjgzNSAzMDkuNTk4NyBMMTU5NC4yNjExIDMwOS41OTg3IiBzdHJva2Utd2lkdGg9IjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIHN0cm9rZS1kYXNoYXJyYXk9IjE4LDYiIGQ9Ik0xNjA0LjI2MTEgMzA5LjU5ODcgTDE1ODkuMjYxMSAzMDMuMzQ4NyBMMTU5My4wMTExIDMwOS41OTg3IEwxNTg5LjI2MTEgMzE1Ljg0ODcgWiIgc3Ryb2tlLXdpZHRoPSIzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjE4LDYiIGQ9Ik0xNjA0LjE1OTMgMjM5LjU4NDMgTDEzMTguODM1IDIzOS41ODQzIiBzdHJva2Utd2lkdGg9IjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIHN0cm9rZS1kYXNoYXJyYXk9IjE4LDYiIGQ9Ik0xMzA4LjgzNSAyMzkuNTg0MyBMMTMyMy44MzUgMjQ1LjgzNDMgTDEzMjAuMDg1IDIzOS41ODQzIEwxMzIzLjgzNSAyMzMuMzM0MyBaIiBzdHJva2Utd2lkdGg9IjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTE3NjkuMjI5IDE1OCBMMTg3MS4xNjc0IDE1OCBMMTg3MS4xNjc0IDQwNC4zNjY3IEwxODI3LjAxMjMgNDA0LjM2NjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIGQ9Ik0xODE5LjAxMjMgNDA0LjM2NjcgTDE4MzEuMDEyMyA0MDkuMzY2NyBMMTgyOC4wMTIzIDQwNC4zNjY3IEwxODMxLjAxMjMgMzk5LjM2NjcgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTc2OS4yMjkgMTU4IEwxODcxLjE2NzQgMTU4IEwxODcxLjE2NzQgNDQwLjY2NjcgTDE4MjcuMDEyMyA0NDAuNjY2NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggZD0iTTE4MTkuMDEyMyA0NDAuNjY2NyBMMTgzMS4wMTIzIDQ0NS42NjY3IEwxODI4LjAxMjMgNDQwLjY2NjcgTDE4MzEuMDEyMyA0MzUuNjY2NyBaIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0xNzY5LjIyOSAxNTggTDE4NzEuMTY3NCAxNTggTDE4NzEuMTY3NCA0NzYuOTY2NyBMMTgyNy4wMTIzIDQ3Ni45NjY3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBkPSJNMTgxOS4wMTIzIDQ3Ni45NjY3IEwxODMxLjAxMjMgNDgxLjk2NjcgTDE4MjguMDEyMyA0NzYuOTY2NyBMMTgzMS4wMTIzIDQ3MS45NjY3IFoiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTc4Ni41MDI2IiB5PSIxNDkuMDE1NiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMjkuNjQ2NSIgaGVpZ2h0PSIxNy45Njg4IiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHRleHQgeD0iMTc4OC41MDI3IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIxNjIuMTU0MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPmxvYWQ8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQsMywwLDMiIGQ9Ik0xNjYzLjI2NzUgNDMxLjc2MDcgTDE2NjMuMjY3NSA0MjEuNDI2NyBMMTczNS45Njc0IDQyMS40MjY3IEwxNzM1Ljk2NzQgNDA0LjM2NjcgTDE3NDkuMTc5NyA0MDQuMzY2NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTY3NC41MjE1IDQ0MC42NjY3IEwxNjk1LjUxNzIgNDQwLjY2NjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQsMywwLDMiIGQ9Ik0xNzE3Ljk3MzUgNDQwLjY2NjcgTDE3NDkuMjAzNCA0NDAuNjY2NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2UtZGFzaGFycmF5PSI0LDMsMCwzIiBkPSJNMTcwNi45MDUzIDQ3Ni45NjY3IEwxNzQ5LjI0MjMgNDc2Ljk2NjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNCwzLDAsMyIgZD0iTTE0OTguNTU3NCA0ODYuMDcxMyBMMTQ5OC41NTc0IDUzMC4yMjY3IEwxNzg0LjExNDkgNTMwLjIyNjcgTDE3ODQuMTE0OSA0ODkuNDc1NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg== + + + + + {"version":"2.0.0","theme":{"name":"light","version":"1.0.0"}} + + + 1 + + + + + + + + + \ No newline at end of file diff --git a/images/docs/architecture/kaoto-frontend-overview.svg b/images/docs/architecture/kaoto-frontend-overview.svg new file mode 100644 index 00000000..3203d649 --- /dev/null +++ b/images/docs/architecture/kaoto-frontend-overview.svg @@ -0,0 +1 @@ +BackendAPIFrontend ExtensionCatalogCode EditorVisual EditorStep CatalogMain canvasStep ExtensionStep ExtensionStep ExtensionDomain Specific LanguagestepstepstepViewDefinitionorchestrationsteporchestrationstepextensionidIntegrationsStepsViewDefload \ No newline at end of file diff --git a/images/docs/architecture/kaoto-hexagonal-architecture.graphml b/images/docs/architecture/kaoto-hexagonal-architecture.graphml new file mode 100644 index 00000000..1a86a69a --- /dev/null +++ b/images/docs/architecture/kaoto-hexagonal-architecture.graphml @@ -0,0 +1,807 @@ + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {"version":"2.0.0","theme":{"name":"light","version":"1.0.0"}} + + + 1 + + + + Domain + + + + + + + + + + + + + + + Domain + + + + + + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + Domain + + + Application + + + + + + + + + + + + + + + Domain + + + Application + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + + + -1 + + + + Domain + + + Framework + + + + + + + + + + + + + + + Domain + + + Framework + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 9 + + + + + + + + + + + + + + + + + + + + + + + + + + + 10 + + + + + + + + + + + + + + + + + + + + + + + + + + + 11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 13 + + + + + + + + + + + + + + + + + + + + + + + + + + + 14 + + + + + + + + + + + + + + + + + + + + + + + + + + + 15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 17 + + + + + + + + + + + + + + + + + + + + + + + + + + + 18 + + + + + + + + + + + + + + + + + + + + + + + + + + + 19 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/docs/architecture/kaoto-hexagonal-architecture.svg b/images/docs/architecture/kaoto-hexagonal-architecture.svg new file mode 100644 index 00000000..fa525274 --- /dev/null +++ b/images/docs/architecture/kaoto-hexagonal-architecture.svg @@ -0,0 +1 @@ +DomainFrameworkDomainApplicationDomainUse CasesPort OutPort InAdapter(API)Adapter(feed)Step CatalogStep CatalogStep CatalogUser InterfaceStep CatalogStep CatalogView CatalogAdapter(feed)Step CatalogStep CatalogMicro Frontends \ No newline at end of file diff --git a/images/docs/architecture/kaoto-simplified-overview.graphml b/images/docs/architecture/kaoto-simplified-overview.graphml new file mode 100644 index 00000000..adead289 --- /dev/null +++ b/images/docs/architecture/kaoto-simplified-overview.graphml @@ -0,0 +1,127 @@ + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGZpbGwtb3BhY2l0eT0iMSIgY29sb3ItcmVuZGVyaW5nPSJhdXRvIiBjb2xvci1pbnRlcnBvbGF0aW9uPSJhdXRvIiB0ZXh0LXJlbmRlcmluZz0iYXV0byIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgd2lkdGg9Ijk5NSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzaGFwZS1yZW5kZXJpbmc9ImF1dG8iIHN0cm9rZS1vcGFjaXR5PSIxIiBmaWxsPSJibGFjayIgc3Ryb2tlLWRhc2hhcnJheT0ibm9uZSIgZm9udC13ZWlnaHQ9Im5vcm1hbCIgc3Ryb2tlLXdpZHRoPSIxIiBoZWlnaHQ9IjQzMCIgZm9udC1mYW1pbHk9IidEaWFsb2cnIiBmb250LXN0eWxlPSJub3JtYWwiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiIGZvbnQtc2l6ZT0iMTJweCIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjAiIGltYWdlLXJlbmRlcmluZz0iYXV0byI+CiAgPCEtLUdlbmVyYXRlZCBieSB5U1ZHIDIuNS0tPgogIDxkZWZzIGlkPSJnZW5lcmljRGVmcyIvPgogIDxnPgogICAgPGRlZnMgaWQ9ImRlZnMxIj4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIzNjcuNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgyPSI0NDYuMiIgeTE9IjM2NC4wNjE2IiB5Mj0iMzY0LjA2MTYiIGlkPSJsaW5lYXJHcmFkaWVudDEiIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjU0LDIyNCwyMDQpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIwLjM5NjEiIHN0b3AtY29sb3I9InJnYigyNTMsMTUyLDg1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMzY3LjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iNDQ2LjIiIHkxPSIzMDkuNTIzIiB5Mj0iMzA5LjUyMyIgaWQ9ImxpbmVhckdyYWRpZW50MiIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIzNjUuOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgyPSI0NDQuNyIgeTE9IjE3OS43NSIgeTI9IjE3OS43NSIgaWQ9ImxpbmVhckdyYWRpZW50MyIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIzNjcuNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgyPSI0NDYuMiIgeTE9IjQzOS4yMjgyIiB5Mj0iNDM5LjIyODIiIGlkPSJsaW5lYXJHcmFkaWVudDQiIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjU0LDIyNCwyMDQpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIwLjM5NjEiIHN0b3AtY29sb3I9InJnYigyNTMsMTUyLDg1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMzY3LjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iNDQ2LjIiIHkxPSIzMTIuODM2OCIgeTI9IjMxMi44MzY4IiBpZD0ibGluZWFyR3JhZGllbnQ1IiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDI1NCwyMjQsMjA0KSIgb2Zmc2V0PSIwJSIvPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMC4zOTYxIiBzdG9wLWNvbG9yPSJyZ2IoMjUzLDE1Miw4NSkiIG9mZnNldD0iMTAwJSIvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjM2NS45IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDI9IjQ0NC43IiB5MT0iMTgxLjkxOTIiIHkyPSIxODEuOTE5MiIgaWQ9ImxpbmVhckdyYWRpZW50NiIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIzNjcuNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgyPSI0NDYuMiIgeTE9IjM3MS4wNTYzIiB5Mj0iMzcxLjA1NjMiIGlkPSJsaW5lYXJHcmFkaWVudDciIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjU0LDIyNCwyMDQpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIwLjM5NjEiIHN0b3AtY29sb3I9InJnYigyNTMsMTUyLDg1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMzY3LjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iNDQ2LjIiIHkxPSIzNzEuMDU2MyIgeTI9IjM3MS4wNTYzIiBpZD0ibGluZWFyR3JhZGllbnQ4IiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDI1NCwyMjQsMjA0KSIgb2Zmc2V0PSIwJSIvPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMC4zOTYxIiBzdG9wLWNvbG9yPSJyZ2IoMjUzLDE1Miw4NSkiIG9mZnNldD0iMTAwJSIvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjM2Ny40IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDI9IjQ0Ni4yIiB5MT0iMzc0LjM3MDEiIHkyPSIzNzQuMzcwMSIgaWQ9ImxpbmVhckdyYWRpZW50OSIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyNTQsMjI0LDIwNCkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjAuMzk2MSIgc3RvcC1jb2xvcj0icmdiKDI1MywxNTIsODUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIzNjcuNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgyPSI0NDYuMiIgeTE9IjQ0My42MDY1IiB5Mj0iNDQzLjYwNjUiIGlkPSJsaW5lYXJHcmFkaWVudDEwIiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDI1NCwyMjQsMjA0KSIgb2Zmc2V0PSIwJSIvPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMC4zOTYxIiBzdG9wLWNvbG9yPSJyZ2IoMjUzLDE1Miw4NSkiIG9mZnNldD0iMTAwJSIvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjkxMS4wODciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iMTA0Ni41NTM3IiB5MT0iMjQwLjYiIHkyPSIyNDAuNiIgaWQ9ImxpbmVhckdyYWRpZW50MTEiIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjAzLDIwMywyNTUpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMTQyLDE0MiwyNTUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSI5MTEuMDg3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDI9IjEwNDYuNTUzNyIgeTE9IjM2MC4xNjY3IiB5Mj0iMzYwLjE2NjciIGlkPSJsaW5lYXJHcmFkaWVudDEyIiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDIwMywyMDMsMjU1KSIgb2Zmc2V0PSIwJSIvPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDE0MiwxNDIsMjU1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iOTExLjA4NyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgyPSIxMDQ2LjU1MzciIHkxPSIzMjMuOCIgeTI9IjMyMy44IiBpZD0ibGluZWFyR3JhZGllbnQxMyIgc3ByZWFkTWV0aG9kPSJyZWZsZWN0Ij4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigyMDMsMjAzLDI1NSkiIG9mZnNldD0iMCUiLz4KICAgICAgICA8c3RvcCBzdG9wLW9wYWNpdHk9IjEiIHN0b3AtY29sb3I9InJnYigxNDIsMTQyLDI1NSkiIG9mZnNldD0iMTAwJSIvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjY1OC4zMzMzIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDI9Ijc4MyIgeTE9IjEyMC41ODMzIiB5Mj0iMTIwLjU4MzMiIGlkPSJsaW5lYXJHcmFkaWVudDE0IiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDI1NSwyMDMsMjI5KSIgb2Zmc2V0PSIwJSIvPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDIwMywyMDMsMjU1KSIgb2Zmc2V0PSIxMDAlIi8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iNjYwLjMzMzMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4Mj0iNzg1IiB5MT0iMzA3LjQxNjciIHkyPSIzMDcuNDE2NyIgaWQ9ImxpbmVhckdyYWRpZW50MTUiIHNwcmVhZE1ldGhvZD0icmVmbGVjdCI+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjU1LDIwMywyMjkpIiBvZmZzZXQ9IjAlIi8+CiAgICAgICAgPHN0b3Agc3RvcC1vcGFjaXR5PSIxIiBzdG9wLWNvbG9yPSJyZ2IoMjAzLDIwMywyNTUpIiBvZmZzZXQ9IjEwMCUiLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxNjUuNjY2NyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgyPSIyNDEiIHkxPSIxOTkuMDUiIHkyPSIxOTkuMDUiIGlkPSJsaW5lYXJHcmFkaWVudDE2IiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDI1NCwyMjQsMjA0KSIgb2Zmc2V0PSIwJSIvPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMC4zOTYxIiBzdG9wLWNvbG9yPSJyZ2IoMjUzLDE1Miw4NSkiIG9mZnNldD0iMTAwJSIvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjE2NS42NjY3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDI9IjI0MSIgeTE9IjM2NS40MDgzIiB5Mj0iMzY1LjQwODMiIGlkPSJsaW5lYXJHcmFkaWVudDE3IiBzcHJlYWRNZXRob2Q9InJlZmxlY3QiPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMSIgc3RvcC1jb2xvcj0icmdiKDI1NCwyMjQsMjA0KSIgb2Zmc2V0PSIwJSIvPgogICAgICAgIDxzdG9wIHN0b3Atb3BhY2l0eT0iMC4zOTYxIiBzdG9wLWNvbG9yPSJyZ2IoMjUzLDE1Miw4NSkiIG9mZnNldD0iMTAwJSIvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8Y2xpcFBhdGggY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiIGlkPSJjbGlwUGF0aDEiPgogICAgICAgIDxwYXRoIGQ9Ik0wIDAgTDk5NSAwIEw5OTUgNDMwIEwwIDQzMCBMMCAwIFoiLz4KICAgICAgPC9jbGlwUGF0aD4KICAgICAgPGNsaXBQYXRoIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iY2xpcFBhdGgyIj4KICAgICAgICA8cGF0aCBkPSJNMTEzIDEwNSBMMTEwOCAxMDUgTDExMDggNTM1IEwxMTMgNTM1IEwxMTMgMTA1IFoiLz4KICAgICAgPC9jbGlwUGF0aD4KICAgIDwvZGVmcz4KICAgIDxnIGZpbGw9InJnYigyNTUsMjAzLDIyOSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDI1NSwyMDMsMjI5KSI+CiAgICAgIDxyZWN0IHg9IjMwNi41IiB3aWR0aD0iMjI0IiBoZWlnaHQ9IjM3Ni45IiB5PSIxMjAuNTgzMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0id2hpdGUiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0id2hpdGUiPgogICAgICA8cmVjdCB4PSIzMDYuNSIgd2lkdGg9IjEiIGhlaWdodD0iMzc2LjkiIHk9IjEyMC41ODMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjMwNy41IiB3aWR0aD0iMjIyIiBoZWlnaHQ9IjEiIHk9IjEyMC41ODMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjMwNy41IiB5PSI0OTYuNDgzMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9InJnYigxNzgsMTQyLDE2MCkiIHdpZHRoPSIyMjMiIGhlaWdodD0iMSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjUyOS41IiB5PSIxMjAuNTgzMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9InJnYigxNzgsMTQyLDE2MCkiIHdpZHRoPSIxIiBoZWlnaHQ9IjM3NS45IiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHN0cm9rZS1saW5lY2FwPSJidXR0IiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgZm9udC13ZWlnaHQ9ImJvbGQiIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1Ij4KICAgICAgPHRleHQgeD0iMzEyLjUiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjEzNy43MjIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiPkJhY2tlbmQ8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDEpIj4KICAgICAgPHJlY3QgeD0iMzI4IiB5PSIzNjQuMDYxNiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMzI4IiB5PSIzNjQuMDYxNiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iMzYzLjIwOTQiIGZvbnQtc2l6ZT0iOHB4IiB5PSIzODIuNTk3OCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlN0ZXBTZXJ2aWNlPC90ZXh0PgogICAgICA8cmVjdCB4PSIzMTYiIHk9IjE0OC43NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMzkuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMzOC4zMzMzIi8+CiAgICAgIDx0ZXh0IHg9IjM2MC4yOTkyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIxNjUuODg4NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPlNlcnZpY2VzPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NCwyMjQsMjA0KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJyZ2IoMjU0LDIyNCwyMDQpIj4KICAgICAgPHJlY3QgeD0iMzI2LjUiIHk9IjI1NC45ODQzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIzMjYuNSIgeT0iMjU0Ljk4NDMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9IjM0MS44Njc2IiBmb250LXNpemU9IjhweCIgeT0iMjczLjUyMDUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5WaWV3RGVmaW5pdGlvblNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MikiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDIpIj4KICAgICAgPHJlY3QgeD0iMzI4IiB5PSIzMDkuNTIzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIzMjgiIHk9IjMwOS41MjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9IjMzMi4yMTgyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzMjkuNDQzOSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPlN0ZXBQYXJzZXJTZXJ2aWNlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDMpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQzKSI+CiAgICAgIDxyZWN0IHg9IjMyNi41IiB5PSIxNzkuNzUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjMyNi41IiB5PSIxNzkuNzUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50NCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDQpIj4KICAgICAgPHJlY3QgeD0iMzI4IiB5PSI0MzkuMjI4MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMzI4IiB5PSI0MzkuMjI4MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iMzQ3Ljg1IiBmb250LXNpemU9IjhweCIgeT0iNDU3Ljc2NDUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5EZXBsb3ltZW50U2VydmljZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQ1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50NSkiPgogICAgICA8cmVjdCB4PSIzMjgiIHk9IjMxMi44MzY4IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIzMjgiIHk9IjMxMi44MzY4IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIvPgogICAgICA8dGV4dCB4PSIzMzIuMjE4MiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMzMyLjc1NzgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5TdGVwUGFyc2VyU2VydmljZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTQsMjI0LDIwNCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDI1NCwyMjQsMjA0KSI+CiAgICAgIDxyZWN0IHg9IjMyOCIgeT0iMzE2LjMzOTYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjMyOCIgeT0iMzE2LjMzOTYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9IjM1MC41MTIxIiBmb250LXNpemU9IjhweCIgeT0iMzM0Ljg3NTgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5TdGVwUGFyc2VyU2VydmljZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQ2KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50NikiPgogICAgICA8cmVjdCB4PSIzMjYuNSIgeT0iMTgxLjkxOTIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjMyNi41IiB5PSIxODEuOTE5MiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTQsMjI0LDIwNCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDI1NCwyMjQsMjA0KSI+CiAgICAgIDxyZWN0IHg9IjMyNi41IiB5PSIxODQuMzk5MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMzI2LjUiIHk9IjE4NC4zOTkxIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIvPgogICAgICA8dGV4dCB4PSIzMjkuMTcwMyIgZm9udC1zaXplPSI4cHgiIHk9IjIwMi45MzUzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+Vmlld0RlZmluaXRpb25QYXJzZXJTZXJ2aWNlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDcpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQ3KSI+CiAgICAgIDxyZWN0IHg9IjMyOCIgeT0iMzcxLjA1NjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjMyOCIgeT0iMzcxLjA1NjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9IjM2My4yMDk0IiBmb250LXNpemU9IjhweCIgeT0iMzg5LjU5MjUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5TdGVwU2VydmljZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQ4KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50OCkiPgogICAgICA8cmVjdCB4PSIzMjgiIHk9IjM3MS4wNTYzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIzMjgiIHk9IjM3MS4wNTYzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIvPgogICAgICA8dGV4dCB4PSIzNjMuMjA5NCIgZm9udC1zaXplPSI4cHgiIHk9IjM4OS41OTI1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcFNlcnZpY2U8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50OSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDkpIj4KICAgICAgPHJlY3QgeD0iMzI4IiB5PSIzNzQuMzcwMSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMzI4IiB5PSIzNzQuMzcwMSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iMzYzLjIwOTQiIGZvbnQtc2l6ZT0iOHB4IiB5PSIzOTIuOTA2MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlN0ZXBTZXJ2aWNlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDEwKSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MTApIj4KICAgICAgPHJlY3QgeD0iMzI4IiB5PSI0NDMuNjA2NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMzI4IiB5PSI0NDMuNjA2NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiLz4KICAgICAgPHRleHQgeD0iMzQ3Ljg1IiBmb250LXNpemU9IjhweCIgeT0iNDYyLjE0MjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5EZXBsb3ltZW50U2VydmljZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTQsMjI0LDIwNCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDI1NCwyMjQsMjA0KSI+CiAgICAgIDxyZWN0IHg9IjMyOCIgeT0iNDQ4Ljk2MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIxMTguMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjMxLjUzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iMzI4IiB5PSI0NDguOTYzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIvPgogICAgICA8dGV4dCB4PSIzNDcuODUiIGZvbnQtc2l6ZT0iOHB4IiB5PSI0NjcuNDk5MiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPkRlcGxveW1lbnRTZXJ2aWNlPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NCwyMjQsMjA0KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJyZ2IoMjU0LDIyNCwyMDQpIj4KICAgICAgPHJlY3QgeD0iMzI4IiB5PSIzNzcuODczIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjExOC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzEuNTMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSIzMjgiIHk9IjM3Ny44NzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMTE4LjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIzMS41MzMzIi8+CiAgICAgIDx0ZXh0IHg9IjM2My4yMDk0IiBmb250LXNpemU9IjhweCIgeT0iMzk2LjQwOTIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5TdGVwU2VydmljZTwvdGV4dD4KICAgICAgPHJlY3QgeD0iNDU1LjIiIHk9IjE0OC43NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSI2Ni4zIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMzM4LjMzMzMiLz4KICAgICAgPHRleHQgeD0iNDc4Ljg1NzgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjE2NS44ODg3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+QVBJPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIwMywyMDMsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJyZ2IoMjAzLDIwMywyNTUpIj4KICAgICAgPHJlY3QgeD0iODI1Ljk1MzciIHdpZHRoPSIyMjkuNCIgaGVpZ2h0PSIyODAuNjMzMyIgeT0iMjE2Ljg1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjgyNS45NTM3IiB5PSIyMTYuODUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjEiIGhlaWdodD0iMjgwLjYzMzMiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSI4MjYuOTUzNyIgeT0iMjE2Ljg1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0id2hpdGUiIHdpZHRoPSIyMjcuNCIgaGVpZ2h0PSIxIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iODI2Ljk1MzciIHk9IjQ5Ni40ODMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0icmdiKDE0MiwxNDIsMTc4KSIgd2lkdGg9IjIyOC40IiBoZWlnaHQ9IjEiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIxMDU0LjM1MzciIHk9IjIxNi44NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9InJnYigxNDIsMTQyLDE3OCkiIHdpZHRoPSIxIiBoZWlnaHQ9IjI3OS42MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHN0cm9rZS1saW5lY2FwPSJidXR0IiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgZm9udC13ZWlnaHQ9ImJvbGQiIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1Ij4KICAgICAgPHRleHQgeD0iOTgzLjI2NTgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjIzMy45ODg3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIj5Gcm9udGVuZCA8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMTQyLDE0MiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InJnYigxNDIsMTQyLDI1NSkiPgogICAgICA8cGF0aCBkPSJNODk4Ljk1MzcgMTQ3LjMzMzMgTDkwOC4xNTM3IDEyMS4zMzMzIEw5ODEuNzUzNyAxMjEuMzMzMyBMOTkwLjk1MzcgMTQ3LjMzMzMgTDk4MS43NTM3IDE3My4zMzMzIEw5MDguMTUzNyAxNzMuMzMzMyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik04OTguOTUzNyAxNDcuMzMzMyBMOTA4LjE1MzcgMTIxLjMzMzMgTDk4MS43NTM3IDEyMS4zMzMzIEw5OTAuOTUzNyAxNDcuMzMzMyBMOTgxLjc1MzcgMTczLjMzMzMgTDkwOC4xNTM3IDE3My4zMzMzIFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iOTE1LjQ5ODYiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjE0NC41MDMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+RXh0ZW5zaW9uPC90ZXh0PgogICAgICA8dGV4dCB4PSI5MjEuOTExNyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMTU4LjQ3MiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPkNhdGFsb2c8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MTEpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQxMSkiPgogICAgICA8cmVjdCB4PSI4NDMuMzUzNyIgeT0iMjQwLjYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMjAzLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI3Ny41NjY3IiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ijg0My4zNTM3IiB5PSIyNDAuNiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIyMDMuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9Ijc3LjU2NjciLz4KICAgICAgPHRleHQgeD0iOTA5LjkyOTMiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjI1Ny43Mzg3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+Q29kZSBFZGl0b3I8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MTIpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQxMikiPgogICAgICA8cmVjdCB4PSI4NDMuMzUzNyIgeT0iMzYwLjE2NjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iMjAzLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIxMjQuNCIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSI4NDMuMzUzNyIgeT0iMzYwLjE2NjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMjAzLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIxMjQuNCIvPgogICAgICA8dGV4dCB4PSI5MDcuMjQ1NyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMzc3LjMwNTMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5WaXN1YWwgRWRpdG9yPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudDEzKSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50MTMpIj4KICAgICAgPHJlY3QgeD0iODQzLjM1MzciIHk9IjMyMy44IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjIwMy4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMjcuNCIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSI4NDMuMzUzNyIgeT0iMzIzLjgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iMjAzLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIyNy40Ii8+CiAgICAgIDx0ZXh0IHg9IjkwNi4zNDMzIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzNDAuOTM4NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPlN0ZXAgQ2F0YWxvZzwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigxNDIsMTQyLDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDE0MiwxNDIsMjU1KSI+CiAgICAgIDxyZWN0IHg9Ijg1My44NTM3IiB5PSIzODEuMiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSIxMTMiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI5Ny42IiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ijg1My44NTM3IiB5PSIzODEuMiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSIxMTMiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI5Ny42Ii8+CiAgICAgIDx0ZXh0IHg9Ijg3Mi45OTE0IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI0MDQuNTE0MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPk1haW4gY2FudmFzPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDE0MiwxNDIsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJyZ2IoMTQyLDE0MiwyNTUpIj4KICAgICAgPHJlY3QgeD0iOTcwLjkwNzQiIHk9IjM4MS4yIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjY5LjgiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIyNSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSI5NzAuOTA3NCIgeT0iMzgxLjIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iNjkuOCIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjI1Ii8+CiAgICAgIDx0ZXh0IHg9Ijk3NS43OTE4IiBmb250LXNpemU9IjhweCIgeT0iMzk2LjQ2OTUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5TdGVwIEV4dGVuc2lvbjwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigxNDIsMTQyLDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDE0MiwxNDIsMjU1KSI+CiAgICAgIDxyZWN0IHg9Ijk3MC45MDc0IiB5PSI0MTcuNSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSI2OS44IiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMjUiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iOTcwLjkwNzQiIHk9IjQxNy41IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjY5LjgiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSIyNSIvPgogICAgICA8dGV4dCB4PSI5NzUuNzkxOCIgZm9udC1zaXplPSI4cHgiIHk9IjQzMi43Njk1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+U3RlcCBFeHRlbnNpb248L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMTQyLDE0MiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InJnYigxNDIsMTQyLDI1NSkiPgogICAgICA8cmVjdCB4PSI5NzAuOTA3NCIgeT0iNDUzLjgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiB3aWR0aD0iNjkuOCIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjI1IiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9Ijk3MC45MDc0IiB5PSI0NTMuOCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9Im5vbmUiIHdpZHRoPSI2OS44IiByeD0iNCIgcnk9IjQiIGhlaWdodD0iMjUiLz4KICAgICAgPHRleHQgeD0iOTc1Ljc5MTgiIGZvbnQtc2l6ZT0iOHB4IiB5PSI0NjkuMDY5NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlN0ZXAgRXh0ZW5zaW9uPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDE0MiwxNDIsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJyZ2IoMTQyLDE0MiwyNTUpIj4KICAgICAgPHJlY3QgeD0iODUzLjg1MzciIHk9IjI2Mi41NjY3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjE4Ni44NTM3IiByeD0iNCIgcnk9IjQiIGhlaWdodD0iNDUiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHJlY3QgeD0iODUzLjg1MzciIHk9IjI2Mi41NjY3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjE4Ni44NTM3IiByeD0iNCIgcnk9IjQiIGhlaWdodD0iNDUiLz4KICAgICAgPHRleHQgeD0iODY3LjIyMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMjg5LjIyMSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPkRvbWFpbiBTcGVjaWZpYyBMYW5ndWFnZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyMTYsMjE2LDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDIxNiwyMTYsMjU1KSI+CiAgICAgIDxwYXRoIGQ9Ik04NzIuNSA0MjEuMSBMODk0LjkyOCA0MjEuMSBMODk3LjQyIDQzOC45IEw4NzQuOTkyIDQzOC45IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTg3Mi41IDQyMS4xIEw4OTQuOTI4IDQyMS4xIEw4OTcuNDIgNDM4LjkgTDg3NC45OTIgNDM4LjkgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSI4NzYuMzA3NyIgZm9udC1zaXplPSI4cHgiIHk9IjQzMi43Njk1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+c3RlcDwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyMTYsMjE2LDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDIxNiwyMTYsMjU1KSI+CiAgICAgIDxwYXRoIGQ9Ik05MTUuOTg3NCA0MjEuMSBMOTM4LjQxNTQgNDIxLjEgTDk0MC45MDc0IDQzOC45IEw5MTguNDc5NCA0MzguOSBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik05MTUuOTg3NCA0MjEuMSBMOTM4LjQxNTQgNDIxLjEgTDk0MC45MDc0IDQzOC45IEw5MTguNDc5NCA0MzguOSBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9IjkxOS43OTUiIGZvbnQtc2l6ZT0iOHB4IiB5PSI0MzIuNzY5NSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPnN0ZXA8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNOTA0Ljk2IDQ1Ny40IEw5MjcuMzg4IDQ1Ny40IEw5MjkuODggNDc1LjIgTDkwNy40NTIgNDc1LjIgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNOTA0Ljk2IDQ1Ny40IEw5MjcuMzg4IDQ1Ny40IEw5MjkuODggNDc1LjIgTDkwNy40NTIgNDc1LjIgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSI5MDguNzY3NiIgZm9udC1zaXplPSI4cHgiIHk9IjQ2OS4wNjk1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+c3RlcDwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQxNCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDE0KSI+CiAgICAgIDxyZWN0IHg9IjU5NiIgd2lkdGg9IjE4NyIgaGVpZ2h0PSIxMDAuNjY2NyIgeT0iMTIwLjU4MzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iNTk2IiB5PSIxMjAuNTgzMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMSIgaGVpZ2h0PSIxMDAuNjY2NyIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjU5NyIgeT0iMTIwLjU4MzMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjE4NSIgaGVpZ2h0PSIxIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iNTk3IiB5PSIyMjAuMjUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTc4LDE0MiwxNjApIiB3aWR0aD0iMTg2IiBoZWlnaHQ9IjEiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSI3ODIiIHk9IjEyMC41ODMzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0icmdiKDE3OCwxNDIsMTYwKSIgd2lkdGg9IjEiIGhlaWdodD0iOTkuNjY2NyIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjU5OCIgeT0iMzA3LjQxNjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MTUpIiB3aWR0aD0iMTg3IiBoZWlnaHQ9IjE5MC4wNjY3IiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iNTk4IiB5PSIzMDcuNDE2NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMSIgaGVpZ2h0PSIxOTAuMDY2NyIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjU5OSIgeT0iMzA3LjQxNjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjE4NSIgaGVpZ2h0PSIxIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iNTk5IiB5PSI0OTYuNDgzMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9InJnYigxNzgsMTQyLDE2MCkiIHdpZHRoPSIxODYiIGhlaWdodD0iMSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9Ijc4NCIgeT0iMzA3LjQxNjciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJyZ2IoMTc4LDE0MiwxNjApIiB3aWR0aD0iMSIgaGVpZ2h0PSIxODkuMDY2NyIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxwYXRoIGZpbGw9InJnYigyNTUsMjAzLDIyOSkiIGQ9Ik02MzEuMjUgNDA2LjQxNjcgTDcyNy41NSA0MDYuNDE2NyBMNzM4LjI1IDQyOC45MTY3IEw3MjcuNTUgNDUxLjQxNjcgTDYzMS4yNSA0NTEuNDE2NyBMNjQxLjk1IDQyOC45MTY3IFoiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTYzMS4yNSA0MDYuNDE2NyBMNzI3LjU1IDQwNi40MTY3IEw3MzguMjUgNDI4LjkxNjcgTDcyNy41NSA0NTEuNDE2NyBMNjMxLjI1IDQ1MS40MTY3IEw2NDEuOTUgNDI4LjkxNjcgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NSwyMDMsMjI5KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJyZ2IoMjU1LDIwMywyMjkpIj4KICAgICAgPHBhdGggZD0iTTYzOC4yNSA0MTIuMDgzMyBMNzM0LjU1IDQxMi4wODMzIEw3NDUuMjUgNDM0LjU4MzMgTDczNC41NSA0NTcuMDgzMyBMNjM4LjI1IDQ1Ny4wODMzIEw2NDguOTUgNDM0LjU4MzMgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNNjM4LjI1IDQxMi4wODMzIEw3MzQuNTUgNDEyLjA4MzMgTDc0NS4yNSA0MzQuNTgzMyBMNzM0LjU1IDQ1Ny4wODMzIEw2MzguMjUgNDU3LjA4MzMgTDY0OC45NSA0MzQuNTgzMyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InJnYigyNTUsMjAzLDIyOSkiPgogICAgICA8cGF0aCBkPSJNNjQ2LjI1IDQxNy43NSBMNzQyLjU1IDQxNy43NSBMNzUzLjI1IDQ0MC4yNSBMNzQyLjU1IDQ2Mi43NSBMNjQ2LjI1IDQ2Mi43NSBMNjU2Ljk1IDQ0MC4yNSBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik02NDYuMjUgNDE3Ljc1IEw3NDIuNTUgNDE3Ljc1IEw3NTMuMjUgNDQwLjI1IEw3NDIuNTUgNDYyLjc1IEw2NDYuMjUgNDYyLjc1IEw2NTYuOTUgNDQwLjI1IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTUsMjAzLDIyOSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDI1NSwyMDMsMjI5KSI+CiAgICAgIDxwYXRoIGQ9Ik02NTcuMjUgNDIzLjQxNjcgTDc1My41NSA0MjMuNDE2NyBMNzY0LjI1IDQ0NS45MTY3IEw3NTMuNTUgNDY4LjQxNjcgTDY1Ny4yNSA0NjguNDE2NyBMNjY3Ljk1IDQ0NS45MTY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTY1Ny4yNSA0MjMuNDE2NyBMNzUzLjU1IDQyMy40MTY3IEw3NjQuMjUgNDQ1LjkxNjcgTDc1My41NSA0NjguNDE2NyBMNjU3LjI1IDQ2OC40MTY3IEw2NjcuOTUgNDQ1LjkxNjcgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSI2NjcuMzI2MiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iNDQwLjU1NTMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5WaWV3RGVmaW5pdGlvbjwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTUsMjAzLDIyOSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDI1NSwyMDMsMjI5KSI+CiAgICAgIDxwYXRoIGQ9Ik02NDQuMyAxNDIuOTE2NyBMNzQ2IDE0Mi45MTY3IEw3MzQuNyAxOTguOTE2NyBMNjMzIDE5OC45MTY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTY0NC4zIDE0Mi45MTY3IEw3NDYgMTQyLjkxNjcgTDczNC43IDE5OC45MTY3IEw2MzMgMTk4LjkxNjcgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSI2NDkuNDU0MSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMTYwLjA1NTMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5vcmNoZXN0cmF0aW9uPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDIxNiwyMTYsMjU1KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJyZ2IoMjE2LDIxNiwyNTUpIj4KICAgICAgPHBhdGggZD0iTTY2NiAxNjMuOTE2NyBMNjk3LjUgMTYzLjkxNjcgTDcwMSAxODguOTE2NyBMNjY5LjUgMTg4LjkxNjcgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNNjY2IDE2My45MTY3IEw2OTcuNSAxNjMuOTE2NyBMNzAxIDE4OC45MTY3IEw2NjkuNSAxODguOTE2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNNjcyIDE2Ni45MTY3IEw3MDMuNSAxNjYuOTE2NyBMNzA3IDE5MS45MTY3IEw2NzUuNSAxOTEuOTE2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik02NzIgMTY2LjkxNjcgTDcwMy41IDE2Ni45MTY3IEw3MDcgMTkxLjkxNjcgTDY3NS41IDE5MS45MTY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyMTYsMjE2LDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDIxNiwyMTYsMjU1KSI+CiAgICAgIDxwYXRoIGQ9Ik02NzggMTY5LjkxNjcgTDcwOS41IDE2OS45MTY3IEw3MTMgMTk0LjkxNjcgTDY4MS41IDE5NC45MTY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTY3OCAxNjkuOTE2NyBMNzA5LjUgMTY5LjkxNjcgTDcxMyAxOTQuOTE2NyBMNjgxLjUgMTk0LjkxNjcgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8dGV4dCB4PSI2ODIuNTIxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iMTg2LjU3MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPnN0ZXA8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU1LDIwMywyMjkpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InJnYigyNTUsMjAzLDIyOSkiPgogICAgICA8cGF0aCBkPSJNNjQ4LjU1IDMyNC40MTY3IEw3NTAuMjUgMzI0LjQxNjcgTDczOC45NSAzODAuNDE2NyBMNjM3LjI1IDM4MC40MTY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTY0OC41NSAzMjQuNDE2NyBMNzUwLjI1IDMyNC40MTY3IEw3MzguOTUgMzgwLjQxNjcgTDYzNy4yNSAzODAuNDE2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9IjY1My43MDQxIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzNDEuNTU1MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPm9yY2hlc3RyYXRpb248L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNNjcwLjI1IDM0NS40MTY3IEw3MDEuNzUgMzQ1LjQxNjcgTDcwNS4yNSAzNzAuNDE2NyBMNjczLjc1IDM3MC40MTY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTY3MC4yNSAzNDUuNDE2NyBMNzAxLjc1IDM0NS40MTY3IEw3MDUuMjUgMzcwLjQxNjcgTDY3My43NSAzNzAuNDE2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNNjc2LjI1IDM0OC40MTY3IEw3MDcuNzUgMzQ4LjQxNjcgTDcxMS4yNSAzNzMuNDE2NyBMNjc5Ljc1IDM3My40MTY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTY3Ni4yNSAzNDguNDE2NyBMNzA3Ljc1IDM0OC40MTY3IEw3MTEuMjUgMzczLjQxNjcgTDY3OS43NSAzNzMuNDE2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjE2LDIxNiwyNTUpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InJnYigyMTYsMjE2LDI1NSkiPgogICAgICA8cGF0aCBkPSJNNjgyLjI1IDM1MS40MTY3IEw3MTMuNzUgMzUxLjQxNjcgTDcxNy4yNSAzNzYuNDE2NyBMNjg1Ljc1IDM3Ni40MTY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgPC9nPgogICAgPGcgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTY4Mi4yNSAzNTEuNDE2NyBMNzEzLjc1IDM1MS40MTY3IEw3MTcuMjUgMzc2LjQxNjcgTDY4NS43NSAzNzYuNDE2NyBaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDx0ZXh0IHg9IjY4Ni43NzE1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzNjguMDcxIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+c3RlcDwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyMTYsMjE2LDI1NSkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDIxNiwyMTYsMjU1KSI+CiAgICAgIDxwYXRoIGQ9Ik02NzYuMjUgNDQ1LjQxNjcgTDc1NS40NSA0NDUuNDE2NyBMNzY0LjI1IDQ3NS40MTY3IEw2ODUuMDUgNDc1LjQxNjcgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNNjc2LjI1IDQ0NS40MTY3IEw3NTUuNDUgNDQ1LjQxNjcgTDc2NC4yNSA0NzUuNDE2NyBMNjg1LjA1IDQ3NS40MTY3IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iNjkwLjg5NDUiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjQ1Ny41ODY2IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+ZXh0ZW5zaW9uPC90ZXh0PgogICAgICA8dGV4dCB4PSI3MTQuNzc0NCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iNDcxLjU1NTMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj5pZDwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQxNikiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDE2KSI+CiAgICAgIDxwYXRoIGQ9Ik0xMjggMjI1LjA1IEwxMzkuMyAxOTkuMDUgTDIyOS43IDE5OS4wNSBMMjQxIDIyNS4wNSBMMjI5LjcgMjUxLjA1IEwxMzkuMyAyNTEuMDUgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTI4IDIyNS4wNSBMMTM5LjMgMTk5LjA1IEwyMjkuNyAxOTkuMDUgTDI0MSAyMjUuMDUgTDIyOS43IDI1MS4wNSBMMTM5LjMgMjUxLjA1IFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTQxLjA3NjIiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjIyMi4yMTk5IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+Vmlld0RlZmluaXRpb248L3RleHQ+CiAgICAgIDx0ZXh0IHg9IjE2MS40NTgiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjIzNi4xODg3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+Q2F0YWxvZzwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQxNykiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudDE3KSI+CiAgICAgIDxwYXRoIGQ9Ik0xMjggMzkxLjQwODMgTDEzOS4zIDM2NS40MDgzIEwyMjkuNyAzNjUuNDA4MyBMMjQxIDM5MS40MDgzIEwyMjkuNyA0MTcuNDA4MyBMMTM5LjMgNDE3LjQwODMgWiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMTI4IDM5MS40MDgzIEwxMzkuMyAzNjUuNDA4MyBMMjI5LjcgMzY1LjQwODMgTDI0MSAzOTEuNDA4MyBMMjI5LjcgNDE3LjQwODMgTDEzOS4zIDQxNy40MDgzIFoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHRleHQgeD0iMTcwLjgzODkiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjM4OC41NzgyIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+U3RlcDwvdGV4dD4KICAgICAgPHRleHQgeD0iMTYxLjQ1OCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeT0iNDAyLjU0NyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPkNhdGFsb2c8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyBmaWxsPSJyZ2IoMjU0LDIyNCwyMDQpIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2U9InJnYigyNTQsMjI0LDIwNCkiPgogICAgICA8cmVjdCB4PSI0NjMuMjUiIHk9IjM4Ny4zNDQ1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgd2lkdGg9IjUwLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI5MC43MzMzIiBzdHJva2U9Im5vbmUiLz4KICAgIDwvZz4KICAgIDxnIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHN0cm9rZS1taXRlcmxpbWl0PSIxLjQ1IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEzLC0xMDUpIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+CiAgICAgIDxyZWN0IHg9IjQ2My4yNSIgeT0iMzg3LjM0NDUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iNTAuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjkwLjczMzMiLz4KICAgICAgPHRleHQgeD0iNDY0LjIyNSIgZm9udC1zaXplPSI4cHgiIHk9IjQzNS40ODA3IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+SW50ZWdyYXRpb25zPC90ZXh0PgogICAgPC9nPgogICAgPGcgZmlsbD0icmdiKDI1NCwyMjQsMjA0KSIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlPSJyZ2IoMjU0LDIyNCwyMDQpIj4KICAgICAgPHJlY3QgeD0iNDYzLjI1IiB5PSIyODQuNDQ2NCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSI1MC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iOTAuNzMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSI0NjMuMjUiIHk9IjI4NC40NDY0IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0ibm9uZSIgd2lkdGg9IjUwLjIiIHJ4PSI0IiByeT0iNCIgaGVpZ2h0PSI5MC43MzMzIi8+CiAgICAgIDx0ZXh0IHg9IjQ3Ny4xNTg2IiBmb250LXNpemU9IjhweCIgeT0iMzMyLjU4MjYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIiB4bWw6c3BhY2U9InByZXNlcnZlIj5TdGVwczwvdGV4dD4KICAgIDwvZz4KICAgIDxnIGZpbGw9InJnYigyNTQsMjI0LDIwNCkiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0xMTMsLTEwNSkiIHN0cm9rZT0icmdiKDI1NCwyMjQsMjA0KSI+CiAgICAgIDxyZWN0IHg9IjQ2NC4zIiB5PSIxODEuNTQ4MiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHdpZHRoPSI1MC4yIiByeD0iNCIgcnk9IjQiIGhlaWdodD0iOTAuNzMzMyIgc3Ryb2tlPSJub25lIi8+CiAgICA8L2c+CiAgICA8ZyB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBzdHJva2UtbWl0ZXJsaW1pdD0iMS40NSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTExMywtMTA1KSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPgogICAgICA8cmVjdCB4PSI0NjQuMyIgeT0iMTgxLjU0ODIiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJub25lIiB3aWR0aD0iNTAuMiIgcng9IjQiIHJ5PSI0IiBoZWlnaHQ9IjkwLjczMzMiLz4KICAgICAgPHRleHQgeD0iNDcyLjg3MDciIGZvbnQtc2l6ZT0iOHB4IiB5PSIyMjkuNjg0NCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiIHhtbDpzcGFjZT0icHJlc2VydmUiPlZpZXdEZWY8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjE4LDYiIGQ9Ik01MzAuNTEyNiAyOTguOTMyIEw4MTUuOTUzNyAyOTguOTMyIiBzdHJva2Utd2lkdGg9IjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIHN0cm9rZS1kYXNoYXJyYXk9IjE4LDYiIGQ9Ik04MjUuOTUzNyAyOTguOTMyIEw4MTAuOTUzNyAyOTIuNjgyIEw4MTQuNzAzNyAyOTguOTMyIEw4MTAuOTUzNyAzMDUuMTgyIFoiIHN0cm9rZS13aWR0aD0iMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2UtZGFzaGFycmF5PSIxOCw2IiBkPSJNODI1Ljg1MTkgMjI4LjkxNzYgTDU0MC41MTI2IDIyOC45MTc2IiBzdHJva2Utd2lkdGg9IjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIHN0cm9rZS1kYXNoYXJyYXk9IjE4LDYiIGQ9Ik01MzAuNTEyNiAyMjguOTE3NiBMNTQ1LjUxMjYgMjM1LjE2NzYgTDU0MS43NjI2IDIyOC45MTc2IEw1NDUuNTEyNiAyMjIuNjY3NiBaIiBzdHJva2Utd2lkdGg9IjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTk5MC45MjE2IDE0Ny4zMzMzIEwxMDkyLjg2IDE0Ny4zMzMzIEwxMDkyLjg2IDM5My43IEwxMDQ4LjcwNSAzOTMuNyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggZD0iTTEwNDAuNzA1IDM5My43IEwxMDUyLjcwNSAzOTguNyBMMTA0OS43MDUgMzkzLjcgTDEwNTIuNzA1IDM4OC43IFoiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTk5MC45MjE2IDE0Ny4zMzMzIEwxMDkyLjg2IDE0Ny4zMzMzIEwxMDkyLjg2IDQzMCBMMTA0OC43MDUgNDMwIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBkPSJNMTA0MC43MDUgNDMwIEwxMDUyLjcwNSA0MzUgTDEwNDkuNzA1IDQzMCBMMTA1Mi43MDUgNDI1IFoiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTk5MC45MjE2IDE0Ny4zMzMzIEwxMDkyLjg2IDE0Ny4zMzMzIEwxMDkyLjg2IDQ2Ni4zIEwxMDQ4LjcwNSA0NjYuMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggZD0iTTEwNDAuNzA1IDQ2Ni4zIEwxMDUyLjcwNSA0NzEuMyBMMTA0OS43MDUgNDY2LjMgTDEwNTIuNzA1IDQ2MS4zIFoiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHJlY3QgeD0iMTAwOC4xOTUyIiB5PSIxMzguMzQ5IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZmlsbD0id2hpdGUiIHdpZHRoPSIyOS42NDY1IiBoZWlnaHQ9IjE3Ljk2ODgiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8dGV4dCB4PSIxMDEwLjE5NTMiIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjE1MS40ODc2IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+bG9hZDwvdGV4dD4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNCwzLDAsMyIgZD0iTTg4NC45NiA0MjEuMDk0IEw4ODQuOTYgNDEwLjc2IEw5NTcuNjYgNDEwLjc2IEw5NTcuNjYgMzkzLjcgTDk3MC44NzIzIDM5My43IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik04OTYuMjE0MSA0MzAgTDkxNy4yMDk4IDQzMCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNCwzLDAsMyIgZD0iTTkzOS42NjYxIDQzMCBMOTcwLjg5NTkgNDMwIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQsMywwLDMiIGQ9Ik05MjguNTk3OSA0NjYuMyBMOTcwLjkzNDkgNDY2LjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNCwzLDAsMyIgZD0iTTcyMC4yNSA0NzUuNDA0NyBMNzIwLjI1IDUxOS41NiBMMTAwNS44MDc0IDUxOS41NiBMMTAwNS44MDc0IDQ3OC44MDg4IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0zMjYuNDkxMyAxODYuMDU2NyBMMTg2Ljk1NjUgMTg2LjA1NjcgTDE4Ni45NTY1IDE5MS4wNTc0IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBkPSJNMTg2Ljk1NjUgMTk5LjA1NzQgTDE5MS45NTY1IDE4Ny4wNTc0IEwxODYuOTU2NSAxOTAuMDU3NCBMMTgxLjk1NjUgMTg3LjA1NzQgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIyNTAuMDUxOCIgeT0iMTc3LjA3MjMiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjM5Ljc1OTgiIGhlaWdodD0iMTcuOTY4OCIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDx0ZXh0IHg9IjI1Mi4wNTE4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIxOTAuMjExIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIHN0cm9rZT0ibm9uZSI+YnVpbGRzPC90ZXh0PgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMzI2LjQ4NjIgMjcwLjc1MTEgTDE4NC41IDI3MS4yNSBMMTg0LjUgMjU5LjA2OTkiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIGQ9Ik0xODQuNSAyNTEuMDY5OSBMMTc5LjUgMjYzLjA2OTkgTDE4NC41IDI2MC4wNjk5IEwxODkuNSAyNjMuMDY5OSBaIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDxyZWN0IHg9IjI1NS45NDE3IiB5PSIyNjEuOTU5MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZpbGw9IndoaXRlIiB3aWR0aD0iMzEuNDkyMiIgaGVpZ2h0PSIxNy45Njg4IiBzdHJva2U9Im5vbmUiLz4KICAgICAgPHRleHQgeD0iMjU3Ljk0MTciIHhtbDpzcGFjZT0icHJlc2VydmUiIHk9IjI3NS4wOTgiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgc3Ryb2tlPSJub25lIj51c2VzPC90ZXh0PgogICAgICA8cGF0aCBmaWxsPSJub25lIiBkPSJNMzI3Ljk3ODcgMzMyLjEwNiBMMTg0LjUgMzMxLjAxNjcgTDE4NC41IDM1Ny40MjkzIiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBkPSJNMTg0LjUgMzY1LjQyOTMgTDE4OS41IDM1My40MjkzIEwxODQuNSAzNTYuNDI5MyBMMTc5LjUgMzUzLjQyOTMgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIyMjMuOTMwMiIgeT0iMzIyLjQ4MjYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjM5Ljc1OTgiIGhlaWdodD0iMTcuOTY4OCIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDx0ZXh0IHg9IjIyNS45MzAyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzMzUuNjIxMyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPmJ1aWxkczwvdGV4dD4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTTMyNy45NyA0NTkuOCBMMTg0LjUgNDU5LjggTDE4NC41IDQyNS40MjI1IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIvPgogICAgICA8cGF0aCBkPSJNMTg0LjUgNDE3LjQyMjUgTDE3OS41IDQyOS40MjI1IEwxODQuNSA0MjYuNDIyNSBMMTg5LjUgNDI5LjQyMjUgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIyMzAuMTMwOSIgeT0iNDUwLjgxNTYiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjMxLjQ5MjIiIGhlaWdodD0iMTcuOTY4OCIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDx0ZXh0IHg9IjIzMi4xMzA5IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSI0NjMuOTU0MyIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPnVzZXM8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0zMjcuOTcxMyAzOTAuMTM3NCBMMjQ5LjAyMzEgMzkxLjI5MTQiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIi8+CiAgICAgIDxwYXRoIGQ9Ik0yNDEuMDI0IDM5MS40MDgzIEwyNTMuMDk1OCAzOTYuMjMyNCBMMjUwLjAyMyAzOTEuMjc2OCBMMjUyLjk0OTYgMzg2LjIzMzUgWiIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZT0ibm9uZSIvPgogICAgICA8cmVjdCB4PSIyNjguNzUzOSIgeT0iMzgxLjc4ODUiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBmaWxsPSJ3aGl0ZSIgd2lkdGg9IjMxLjQ5MjIiIGhlaWdodD0iMTcuOTY4OCIgc3Ryb2tlPSJub25lIi8+CiAgICAgIDx0ZXh0IHg9IjI3MC43NTM5IiB4bWw6c3BhY2U9InByZXNlcnZlIiB5PSIzOTQuOTI3MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBzdHJva2U9Im5vbmUiPnVzZXM8L3RleHQ+CiAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQsMywwLDMiIGQ9Ik00NDYuMTY2NyA0NjQuNzI5NyBMNDYzLjIyODggNDY0LjcyOTciIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNCwzLDAsMyIgZD0iTTM4Ny4xIDQwOS4zOTI4IEwzODcuMSA0MjIuODEgTDQ2My4yMjkxIDQyMi44MSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2UtZGFzaGFycmF5PSI0LDMsMCwzIiBkPSJNNDQ2LjE3OSAzMzAuNzY4MiBMNDYzLjI2OTggMzMwLjM4MTEiIGNsaXAtcGF0aD0idXJsKCNjbGlwUGF0aDIpIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgICAgPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNCwzLDAsMyIgZD0iTTM4Ny4xIDM3Ny44Nzk1IEwzODcuMSAzNTcuMjEgTDQ2My4yNDE1IDM1Ny4yMSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2UtZGFzaGFycmF5PSI0LDMsMCwzIiBkPSJNMzg1LjYgMjU0Ljk1NDYgTDM4NS42IDIyNi45MTQ4IEw0NjQuMjg2MyAyMjYuOTE0OCIgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMikiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2UtZGFzaGFycmF5PSI0LDMsMCwzIiBkPSJNNDQ0LjY3NTYgMjAwLjE2NTggTDQ2NC4yNzc5IDIwMC4xNjU4IiBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgyKSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K + + + + + + + + + + + + + + + + + + + + + + + + + {"version":"2.0.0","theme":{"name":"light","version":"1.0.0"}} + + + 1 + + + + + + + + + 2 + + + + flow + + + + + + + + + + + + + + + flow + + + + + + + + 3 + + + + flow + + + + + + + + + + + + + + + flow + + + + + + + + \ No newline at end of file diff --git a/images/docs/architecture/kaoto-simplified-overview.svg b/images/docs/architecture/kaoto-simplified-overview.svg new file mode 100644 index 00000000..c8b86123 --- /dev/null +++ b/images/docs/architecture/kaoto-simplified-overview.svg @@ -0,0 +1 @@ +BackendStepServiceServicesViewDefinitionServiceStepParserServiceDeploymentServiceStepParserServiceStepParserServiceViewDefinitionParserServiceStepServiceStepServiceStepServiceDeploymentServiceDeploymentServiceStepServiceAPIFrontend ExtensionCatalogCode EditorVisual EditorStep CatalogMain canvasStep ExtensionStep ExtensionStep ExtensionDomain Specific LanguagestepstepstepViewDefinitionorchestrationsteporchestrationstepextensionidViewDefinitionCatalogStepCatalogIntegrationsStepsViewDefloadbuildsusesbuildsusesusesflowflow \ No newline at end of file diff --git a/images/docs/architecture/sequence-integrator-deploy-integration.png b/images/docs/architecture/sequence-integrator-deploy-integration.png new file mode 100644 index 00000000..8be904ec Binary files /dev/null and b/images/docs/architecture/sequence-integrator-deploy-integration.png differ diff --git a/images/docs/architecture/sequence-integrator-edit-integration-text.png b/images/docs/architecture/sequence-integrator-edit-integration-text.png new file mode 100644 index 00000000..1d77faea Binary files /dev/null and b/images/docs/architecture/sequence-integrator-edit-integration-text.png differ diff --git a/images/docs/architecture/sequence-integrator-edit-integration-visual.png b/images/docs/architecture/sequence-integrator-edit-integration-visual.png new file mode 100644 index 00000000..2e84741d Binary files /dev/null and b/images/docs/architecture/sequence-integrator-edit-integration-visual.png differ diff --git a/images/docs/architecture/sequence-integrator-edit-integration.png b/images/docs/architecture/sequence-integrator-edit-integration.png new file mode 100644 index 00000000..b29f86da Binary files /dev/null and b/images/docs/architecture/sequence-integrator-edit-integration.png differ diff --git a/images/docs/architecture/sequence-integrator-logs.png b/images/docs/architecture/sequence-integrator-logs.png new file mode 100644 index 00000000..83f80505 Binary files /dev/null and b/images/docs/architecture/sequence-integrator-logs.png differ diff --git a/images/docs/user-guide/1-blank.png b/images/docs/user-guide/1-blank.png new file mode 100644 index 00000000..da1c3a67 Binary files /dev/null and b/images/docs/user-guide/1-blank.png differ diff --git a/images/docs/user-guide/1b-configuration.png b/images/docs/user-guide/1b-configuration.png new file mode 100644 index 00000000..4ac48845 Binary files /dev/null and b/images/docs/user-guide/1b-configuration.png differ diff --git a/images/docs/user-guide/1c-configuration.png b/images/docs/user-guide/1c-configuration.png new file mode 100644 index 00000000..f3801e7c Binary files /dev/null and b/images/docs/user-guide/1c-configuration.png differ diff --git a/images/docs/user-guide/2-step-catalog.png b/images/docs/user-guide/2-step-catalog.png new file mode 100644 index 00000000..d804b1ba Binary files /dev/null and b/images/docs/user-guide/2-step-catalog.png differ diff --git a/images/docs/user-guide/3-first-step.png b/images/docs/user-guide/3-first-step.png new file mode 100644 index 00000000..1972da77 Binary files /dev/null and b/images/docs/user-guide/3-first-step.png differ diff --git a/images/docs/user-guide/4-configuration.png b/images/docs/user-guide/4-configuration.png new file mode 100644 index 00000000..9f9a113d Binary files /dev/null and b/images/docs/user-guide/4-configuration.png differ diff --git a/images/docs/user-guide/5-second-step.png b/images/docs/user-guide/5-second-step.png new file mode 100644 index 00000000..45276d43 Binary files /dev/null and b/images/docs/user-guide/5-second-step.png differ diff --git a/images/docs/user-guide/6-final-step.png b/images/docs/user-guide/6-final-step.png new file mode 100644 index 00000000..a635460d Binary files /dev/null and b/images/docs/user-guide/6-final-step.png differ diff --git a/images/docs/user-guide/7-source-code.png b/images/docs/user-guide/7-source-code.png new file mode 100644 index 00000000..e5787128 Binary files /dev/null and b/images/docs/user-guide/7-source-code.png differ diff --git a/images/experience/icon-1.png b/images/experience/icon-1.png new file mode 100644 index 00000000..ef08f8a8 Binary files /dev/null and b/images/experience/icon-1.png differ diff --git a/images/experience/icon-2.png b/images/experience/icon-2.png new file mode 100644 index 00000000..d81f3885 Binary files /dev/null and b/images/experience/icon-2.png differ diff --git a/images/experience/icon-3.png b/images/experience/icon-3.png new file mode 100644 index 00000000..cc29defe Binary files /dev/null and b/images/experience/icon-3.png differ diff --git a/images/favicon.ico b/images/favicon.ico new file mode 100644 index 00000000..e6a5a731 Binary files /dev/null and b/images/favicon.ico differ diff --git a/images/favicon.png b/images/favicon.png new file mode 100644 index 00000000..22c6bf6b Binary files /dev/null and b/images/favicon.png differ diff --git a/images/features/about-modal.png b/images/features/about-modal.png new file mode 100644 index 00000000..209439e7 Binary files /dev/null and b/images/features/about-modal.png differ diff --git a/images/features/beans-ui.png b/images/features/beans-ui.png new file mode 100644 index 00000000..49fdafa9 Binary files /dev/null and b/images/features/beans-ui.png differ diff --git a/images/features/empty-canvas.png b/images/features/empty-canvas.png new file mode 100644 index 00000000..b8b48bf4 Binary files /dev/null and b/images/features/empty-canvas.png differ diff --git a/images/features/multiple-routes.png b/images/features/multiple-routes.png new file mode 100644 index 00000000..ba092629 Binary files /dev/null and b/images/features/multiple-routes.png differ diff --git a/images/features/renaming-route.gif b/images/features/renaming-route.gif new file mode 100644 index 00000000..b1a8f526 Binary files /dev/null and b/images/features/renaming-route.gif differ diff --git a/images/features/rest-dsl.png b/images/features/rest-dsl.png new file mode 100644 index 00000000..808316ea Binary files /dev/null and b/images/features/rest-dsl.png differ diff --git a/images/icons/design.png b/images/icons/design.png new file mode 100644 index 00000000..00a96e46 Binary files /dev/null and b/images/icons/design.png differ diff --git a/images/icons/plan.png b/images/icons/plan.png new file mode 100644 index 00000000..120e4b74 Binary files /dev/null and b/images/icons/plan.png differ diff --git a/images/icons/print.png b/images/icons/print.png new file mode 100644 index 00000000..fea7c832 Binary files /dev/null and b/images/icons/print.png differ diff --git a/images/illustrations/arrow-crossed.svg b/images/illustrations/arrow-crossed.svg new file mode 100755 index 00000000..bb576a34 --- /dev/null +++ b/images/illustrations/arrow-crossed.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/images/illustrations/camel-emoji.svg b/images/illustrations/camel-emoji.svg new file mode 100755 index 00000000..6fba61f8 --- /dev/null +++ b/images/illustrations/camel-emoji.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/illustrations/dots-cyan.svg b/images/illustrations/dots-cyan.svg new file mode 100644 index 00000000..cb463b54 --- /dev/null +++ b/images/illustrations/dots-cyan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/dots-group-cyan.svg b/images/illustrations/dots-group-cyan.svg new file mode 100644 index 00000000..bdbc1835 --- /dev/null +++ b/images/illustrations/dots-group-cyan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/dots-group-orange.svg b/images/illustrations/dots-group-orange.svg new file mode 100644 index 00000000..e85fb5cd --- /dev/null +++ b/images/illustrations/dots-group-orange.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/dots-group-sm.svg b/images/illustrations/dots-group-sm.svg new file mode 100644 index 00000000..e85fb5cd --- /dev/null +++ b/images/illustrations/dots-group-sm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/dots-group-v.svg b/images/illustrations/dots-group-v.svg new file mode 100644 index 00000000..cbc1fbb5 --- /dev/null +++ b/images/illustrations/dots-group-v.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/dots-orange.svg b/images/illustrations/dots-orange.svg new file mode 100644 index 00000000..f8b90885 --- /dev/null +++ b/images/illustrations/dots-orange.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/fire.svg b/images/illustrations/fire.svg new file mode 100755 index 00000000..0d70ddfc --- /dev/null +++ b/images/illustrations/fire.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/images/illustrations/leaf-bg-top.svg b/images/illustrations/leaf-bg-top.svg new file mode 100644 index 00000000..378985ff --- /dev/null +++ b/images/illustrations/leaf-bg-top.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/leaf-bg.png b/images/illustrations/leaf-bg.png new file mode 100644 index 00000000..b55d870f Binary files /dev/null and b/images/illustrations/leaf-bg.png differ diff --git a/images/illustrations/leaf-bg.svg b/images/illustrations/leaf-bg.svg new file mode 100644 index 00000000..8a86f7ff --- /dev/null +++ b/images/illustrations/leaf-bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/leaf-cyan-2.svg b/images/illustrations/leaf-cyan-2.svg new file mode 100644 index 00000000..13b11a35 --- /dev/null +++ b/images/illustrations/leaf-cyan-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/leaf-cyan-lg.svg b/images/illustrations/leaf-cyan-lg.svg new file mode 100644 index 00000000..206e1dc9 --- /dev/null +++ b/images/illustrations/leaf-cyan-lg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/leaf-cyan.svg b/images/illustrations/leaf-cyan.svg new file mode 100644 index 00000000..89c4e51f --- /dev/null +++ b/images/illustrations/leaf-cyan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/leaf-orange.svg b/images/illustrations/leaf-orange.svg new file mode 100644 index 00000000..e5c859f0 --- /dev/null +++ b/images/illustrations/leaf-orange.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/leaf-pink-round.svg b/images/illustrations/leaf-pink-round.svg new file mode 100644 index 00000000..a68d4aed --- /dev/null +++ b/images/illustrations/leaf-pink-round.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/leaf-pink.svg b/images/illustrations/leaf-pink.svg new file mode 100644 index 00000000..f80a29f9 --- /dev/null +++ b/images/illustrations/leaf-pink.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/leaf-yellow.svg b/images/illustrations/leaf-yellow.svg new file mode 100644 index 00000000..04c9f9c9 --- /dev/null +++ b/images/illustrations/leaf-yellow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/page-title.png b/images/illustrations/page-title.png new file mode 100644 index 00000000..fc70b922 Binary files /dev/null and b/images/illustrations/page-title.png differ diff --git a/images/illustrations/page-title.svg b/images/illustrations/page-title.svg new file mode 100644 index 00000000..db08a236 --- /dev/null +++ b/images/illustrations/page-title.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/illustrations/plug.svg b/images/illustrations/plug.svg new file mode 100755 index 00000000..68e7c2bb --- /dev/null +++ b/images/illustrations/plug.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/marker.png b/images/marker.png new file mode 100644 index 00000000..edf522b6 Binary files /dev/null and b/images/marker.png differ diff --git a/images/portfolio/20220715Kaoto.mp4 b/images/portfolio/20220715Kaoto.mp4 new file mode 100644 index 00000000..45c75fde Binary files /dev/null and b/images/portfolio/20220715Kaoto.mp4 differ diff --git a/images/portfolio/20220715Kaoto.webm b/images/portfolio/20220715Kaoto.webm new file mode 100644 index 00000000..dc0c7fd0 Binary files /dev/null and b/images/portfolio/20220715Kaoto.webm differ diff --git a/images/portfolio/202208FOSS4G.mp4 b/images/portfolio/202208FOSS4G.mp4 new file mode 100644 index 00000000..996a9c69 Binary files /dev/null and b/images/portfolio/202208FOSS4G.mp4 differ diff --git a/images/portfolio/hello-kaoto.mp4 b/images/portfolio/hello-kaoto.mp4 new file mode 100644 index 00000000..77b8cb6f Binary files /dev/null and b/images/portfolio/hello-kaoto.mp4 differ diff --git a/images/portfolio/hello-kaoto.vtt b/images/portfolio/hello-kaoto.vtt new file mode 100644 index 00000000..9e24e5d1 --- /dev/null +++ b/images/portfolio/hello-kaoto.vtt @@ -0,0 +1,118 @@ +WEBVTT +Kind: captions +Language: en + +00:00:00.001 --> 00:00:02.001 +What I'm going to show you here is + +00:00:02.001 --> 00:00:05.320 +how to do a simple hello world integration + +00:00:05.320 --> 00:00:07.840 +that gets deployed via Camel K + +00:00:07.840 --> 00:00:09.840 +into a kubernetes cluster. + +00:00:09.840 --> 00:00:10.852 + + +00:00:10.852 --> 00:00:12.852 +So the first thing we need to do is + +00:00:12.852 --> 00:00:14.852 +start a new integration and then + +00:00:14.852 --> 00:00:16.852 +we are going to select + +00:00:16.852 --> 00:00:20.000 +the first step, which is going to be a timer. + +00:00:20.000 --> 00:00:22.000 +This timer is going to + +00:00:22.000 --> 00:00:24.000 +throw a message to the integration [route] + +00:00:24.000 --> 00:00:25.320 +every second. + +00:00:25.320 --> 00:00:27.800 +We configure that message by going to the config. + +00:00:27.800 --> 00:00:29.800 +Write, for example, "Hello Kaoto!". + +00:00:29.800 --> 00:00:32.280 +You can see how it gets updated on the YAML. + +00:00:32.280 --> 00:00:35.000 +And then we are going to select the second step, + +00:00:35.000 --> 00:00:37.000 +which is going to be the last step, + +00:00:37.000 --> 00:00:38.162 +which is going to be a log. + +00:00:38.162 --> 00:00:40.477 +It's going to log the headers + +00:00:40.477 --> 00:00:43.800 +and the message that is coming from the timer. + +00:00:43.800 --> 00:00:46.972 +We want to do a Kamelet Binding + +00:00:46.972 --> 00:00:50.179 +and we change the integration name + +00:00:50.179 --> 00:00:52.136 +"hello-kaoto" for example. + +00:00:52.136 --> 00:00:56.190 +And now we are going to watch the integrations + +00:00:56.190 --> 00:00:59.110 +and the Kamelet Bindings that are deployed on the cluster, + +00:00:59.110 --> 00:01:01.179 +which right now is none of them. + +00:01:01.179 --> 00:01:04.144 +The Kamelet Binding is the same integration type we are deploying. + +00:01:04.144 --> 00:01:07.920 +We click on deploy and now we have a Kamelet Binding + +00:01:07.920 --> 00:01:10.242 +which is creating an integration via Camel K. + +00:01:10.242 --> 00:01:14.600 +If we watch the logs on this "hello-kaoto" integration, + +00:01:14.600 --> 00:01:17.593 +well, right now it is going to say it is still building; + +00:01:17.593 --> 00:01:21.124 +so we have to wait a few seconds while the Building Kit gets build and + +00:01:21.124 --> 00:01:23.120 +the integration gets deployed. + +00:01:23.120 --> 00:01:25.514 +And once it gets deployed, + +00:01:25.514 --> 00:01:30.665 +it will show the "Hello Kaoto" message + +00:01:30.665 --> 00:01:33.061 +and the headers on the log. + +00:01:33.061 --> 00:01:35.416 +This is starting... and... + +00:01:35.416 --> 00:01:40.640 +we can see that every second we get a "Hello Kaoto!" message here. + diff --git a/images/portfolio/hello-kaoto.webm b/images/portfolio/hello-kaoto.webm new file mode 100644 index 00000000..fe3ade88 Binary files /dev/null and b/images/portfolio/hello-kaoto.webm differ diff --git a/images/portfolio/low-code-kaoto.mp4 b/images/portfolio/low-code-kaoto.mp4 new file mode 100644 index 00000000..3465be62 Binary files /dev/null and b/images/portfolio/low-code-kaoto.mp4 differ diff --git a/images/portfolio/low-code-kaoto.webm b/images/portfolio/low-code-kaoto.webm new file mode 100644 index 00000000..62daf864 Binary files /dev/null and b/images/portfolio/low-code-kaoto.webm differ diff --git a/images/portfolio/screenshot-01.webp b/images/portfolio/screenshot-01.webp new file mode 100644 index 00000000..4e3756c7 Binary files /dev/null and b/images/portfolio/screenshot-01.webp differ diff --git a/images/portfolio/screenshot-02.webp b/images/portfolio/screenshot-02.webp new file mode 100644 index 00000000..25c5f43b Binary files /dev/null and b/images/portfolio/screenshot-02.webp differ diff --git a/images/portfolio/screenshot-03.webp b/images/portfolio/screenshot-03.webp new file mode 100644 index 00000000..916d15f2 Binary files /dev/null and b/images/portfolio/screenshot-03.webp differ diff --git a/images/portfolio/screenshot-04.webp b/images/portfolio/screenshot-04.webp new file mode 100644 index 00000000..360bd1b5 Binary files /dev/null and b/images/portfolio/screenshot-04.webp differ diff --git a/images/portfolio/simple-drag-and-drop.mp4 b/images/portfolio/simple-drag-and-drop.mp4 new file mode 100644 index 00000000..e8124f9c Binary files /dev/null and b/images/portfolio/simple-drag-and-drop.mp4 differ diff --git a/images/portfolio/simple-drag-and-drop.webm b/images/portfolio/simple-drag-and-drop.webm new file mode 100644 index 00000000..2d8cc61c Binary files /dev/null and b/images/portfolio/simple-drag-and-drop.webm differ diff --git a/images/preloader.gif b/images/preloader.gif new file mode 100644 index 00000000..daf0bb10 Binary files /dev/null and b/images/preloader.gif differ diff --git a/images/step-extension.png b/images/step-extension.png new file mode 100755 index 00000000..f5dc9495 Binary files /dev/null and b/images/step-extension.png differ diff --git a/images/step-replacement.webm b/images/step-replacement.webm new file mode 100644 index 00000000..4fa00a56 Binary files /dev/null and b/images/step-replacement.webm differ diff --git a/images/workshop/beginner-camel-choice/1-create-simple-choice.mp4 b/images/workshop/beginner-camel-choice/1-create-simple-choice.mp4 new file mode 100644 index 00000000..495ead95 Binary files /dev/null and b/images/workshop/beginner-camel-choice/1-create-simple-choice.mp4 differ diff --git a/images/workshop/beginner-camel-choice/2-set-header.webm b/images/workshop/beginner-camel-choice/2-set-header.webm new file mode 100644 index 00000000..b5a75ed0 Binary files /dev/null and b/images/workshop/beginner-camel-choice/2-set-header.webm differ diff --git a/images/workshop/beginner-camel-choice/3-connect-external-service.webm b/images/workshop/beginner-camel-choice/3-connect-external-service.webm new file mode 100644 index 00000000..183a11c5 Binary files /dev/null and b/images/workshop/beginner-camel-choice/3-connect-external-service.webm differ diff --git a/images/workshop/beginner-camel-choice/first.png b/images/workshop/beginner-camel-choice/first.png new file mode 100644 index 00000000..802e801f Binary files /dev/null and b/images/workshop/beginner-camel-choice/first.png differ diff --git a/images/workshop/beginner-camel-choice/front.png b/images/workshop/beginner-camel-choice/front.png new file mode 100644 index 00000000..c2325f04 Binary files /dev/null and b/images/workshop/beginner-camel-choice/front.png differ diff --git a/images/workshop/beginner-file/1-log-changes.webm b/images/workshop/beginner-file/1-log-changes.webm new file mode 100644 index 00000000..9365e08b Binary files /dev/null and b/images/workshop/beginner-file/1-log-changes.webm differ diff --git a/images/workshop/beginner-file/2-add-filter.webm b/images/workshop/beginner-file/2-add-filter.webm new file mode 100644 index 00000000..8238285b Binary files /dev/null and b/images/workshop/beginner-file/2-add-filter.webm differ diff --git a/images/workshop/beginner-file/front.png b/images/workshop/beginner-file/front.png new file mode 100644 index 00000000..461a9885 Binary files /dev/null and b/images/workshop/beginner-file/front.png differ diff --git a/images/workshop/intermediate-kamelet/1-make-sure-kamelet.webm b/images/workshop/intermediate-kamelet/1-make-sure-kamelet.webm new file mode 100644 index 00000000..9c64e16b Binary files /dev/null and b/images/workshop/intermediate-kamelet/1-make-sure-kamelet.webm differ diff --git a/images/workshop/intermediate-kamelet/front.png b/images/workshop/intermediate-kamelet/front.png new file mode 100644 index 00000000..7be96627 Binary files /dev/null and b/images/workshop/intermediate-kamelet/front.png differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..30bd60e4 --- /dev/null +++ b/index.html @@ -0,0 +1,9 @@ +Kaoto | Free and Open Source Integration Editor for Apache Camel +

Camel Integration Editor

Free & Open Source now and forever

bg-shape
bg-shape
bg-shape
bg-shape
bg-shape
bg-shape
bg-shape
bg-shape
bg-shape

Kaoto is an editor to create and deploy integrations for Apache Camel in a visual, low-code way; with developer-friendly features like a code editor and deployments to the cloud. Kaoto augments user productivity via Zero-ETL: it accelerates new users and helps experienced developers.

learn more

What is Kaoto

icon

Create flows without opening an IDE.

Graphic Editor

Create the flow visually and see how the code grows into a route. Or modify the code and see how the flow looks like.
icon

Camel deployment

Low Code and No Code

Create and deploy integrations to Kubernetes clusters without writing a single line of code.
icon

Focus on User Experience

Support multiple DSL

Simplify the learning curve of Apache Camel. Use different underlying frameworks with the same user interface.

Why Kaoto

Kubernetes

Cloud Native

Use it as standalone or as a service in the cloud, seamlessly deploying your integrations to Kubernetes clusters. Don't stop at editing: deploy, debug, and monitor your integration workflows. Built-in support for Camel K to deploy Apache Camel integrations.

Customizable

Fully Extendable

Support custom views for your specific needs. Add your own DSL and extensions. Include custom views and building blocks for more complex needs. Show manuals and helpers for your use cases. Automate discovery of resources.

FLOSS heart

Free Libre and Open Source Forever

Truly open with no vendor lock-in. Use, reuse, share, modify, and resell to your needs. Own Kaoto and make it yours, making sure your use cases are covered.

LCNC: Low Code and No Code

Care about developers

You can seamlessly switch between any IDE and Kaoto, allowing mixed teams and converting low code integrators to developers. Keep control of the code at all times with our built-in code editor that stays in sync with the visualization.

bg-image

See it in action

Deploy a Kamelet and a Kamelet Binding
No code deployment via Camel K
Kaoto visual editor

Latest News

Version 1.1.0 released!

In this 1.1.0 release, continued focusing on supporting Apache Camel DSLs, such as Camel Route in YAML DSL , Kamelet , KameletBinding and Integration .

Read More
\ No newline at end of file diff --git a/index.xml b/index.xml new file mode 100644 index 00000000..e9c4de50 --- /dev/null +++ b/index.xml @@ -0,0 +1,12 @@ +Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/Recent content on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usTue, 19 Dec 2023 00:00:00 +0000Milestone 2.0.0https://kaoto.io/roadmap/generated-milestone-2.0.0/Tue, 19 Dec 2023 00:00:00 +0000https://kaoto.io/roadmap/generated-milestone-2.0.0/Milestone 2.0.0 (Open: 17 Closed: 226) +Expected delivery: 01/24/2024 +DescriptionMilestone 2.1.0https://kaoto.io/roadmap/generated-milestone-2.1.0/Tue, 19 Dec 2023 00:00:00 +0000https://kaoto.io/roadmap/generated-milestone-2.1.0/Milestone 2.1.0 (Open: 23 Closed: 0) +Expected delivery: 02/21/2024 +Descriptionkaoto-next v0.7.0https://kaoto.io/timeline/generated-release-2023-12-18-132400+0000/Mon, 18 Dec 2023 13:24:00 +0000https://kaoto.io/timeline/generated-release-2023-12-18-132400+0000/What&rsquo;s Changed chore: Console warning: Received true for a non-boolean attribute pla… by @igarashitm in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.3https://kaoto.io/timeline/generated-release-2023-12-08-071731+0000/Fri, 08 Dec 2023 07:17:31 +0000https://kaoto.io/timeline/generated-release-2023-12-08-071731+0000/What&rsquo;s Changed chore(deps): update @lerna-lite to v3 (major) by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.2https://kaoto.io/timeline/generated-release-2023-12-06-171328+0000/Wed, 06 Dec 2023 17:13:28 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171328+0000/What&rsquo;s Changed chore(deps): update @lerna-lite to v2.7.2 by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.1https://kaoto.io/timeline/generated-release-2023-12-06-171314+0000/Wed, 06 Dec 2023 17:13:14 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171314+0000/What&rsquo;s Changed chore(deps): update babel monorepo to v7.23.3 by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.0https://kaoto.io/timeline/generated-release-2023-12-06-171258+0000/Wed, 06 Dec 2023 17:12:58 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171258+0000/What&rsquo;s Changed chore(deps): update react monorepo to v18.2.31 by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.4https://kaoto.io/timeline/generated-release-2023-12-06-171237+0000/Wed, 06 Dec 2023 17:12:37 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171237+0000/What&rsquo;s Changed fix(deps): update dependency @types/invariant to v2.2.36 by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.3https://kaoto.io/timeline/generated-release-2023-12-06-171215+0000/Wed, 06 Dec 2023 17:12:15 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171215+0000/What&rsquo;s Changed chore(deps): update dependency @testing-library/jest-dom to v6.1.4 by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.2https://kaoto.io/timeline/generated-release-2023-12-06-171157+0000/Wed, 06 Dec 2023 17:11:57 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171157+0000/What&rsquo;s Changed chore(deps): update react monorepo to v18.2.25 by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.1https://kaoto.io/timeline/generated-release-2023-12-06-171135+0000/Wed, 06 Dec 2023 17:11:35 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171135+0000/What&rsquo;s Changed chore(deps): update dependency @types/node to v18.18.3 by @renovate in https://github.kaoto-next v0.6.0https://kaoto.io/timeline/generated-release-2023-11-29-133343+0000/Wed, 29 Nov 2023 13:33:43 +0000https://kaoto.io/timeline/generated-release-2023-11-29-133343+0000/What&rsquo;s Changed fix: Expression: Can&rsquo;t use unquoted number for constant expression by @igarashitm in https://github.kaoto-next v0.4.0https://kaoto.io/timeline/generated-release-2023-11-28-165709+0000/Tue, 28 Nov 2023 16:57:09 +0000https://kaoto.io/timeline/generated-release-2023-11-28-165709+0000/What&rsquo;s Changed fix(313) - Kamelets in Camel Routes are not handled properly by @shivamG640 in https://github.kaoto-next v0.3.0https://kaoto.io/timeline/generated-release-2023-11-28-165643+0000/Tue, 28 Nov 2023 16:56:43 +0000https://kaoto.io/timeline/generated-release-2023-11-28-165643+0000/What&rsquo;s Changed chore(viz): Add CustomNode component by @lordrip in https://github.com/KaotoIO/kaoto-next/pull/202 chore(viznode): Remove usage of the VisualizationNode class by @lordrip in https://github.kaoto-next v0.5.0https://kaoto.io/timeline/generated-release-2023-11-28-165440+0000/Tue, 28 Nov 2023 16:54:40 +0000https://kaoto.io/timeline/generated-release-2023-11-28-165440+0000/What&rsquo;s Changed Use Java 21 instead of Java 17 by @apupier in https://github.shivamguhttps://kaoto.io/timeline/generated-contributor-shivamgu/Wed, 22 Nov 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-shivamgu/shivamgu made their first commit on Kaoto!corners2wallhttps://kaoto.io/timeline/generated-contributor-corners2wall/Wed, 08 Nov 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-corners2wall/corners2wall made their first commit on Kaoto!kaoto-operator v0.0.9https://kaoto.io/timeline/generated-release-2023-10-17-121156+0000/Tue, 17 Oct 2023 12:11:56 +0000https://kaoto.io/timeline/generated-release-2023-10-17-121156+0000/Read morekaoto-ui v1.4.0https://kaoto.io/timeline/generated-release-2023-10-16-093236+0000/Mon, 16 Oct 2023 09:32:36 +0000https://kaoto.io/timeline/generated-release-2023-10-16-093236+0000/What&rsquo;s Changed Update package.json to 1.4.0-dev by @lordrip in https://github.com/KaotoIO/kaoto-ui/pull/2295 chore(deps): update dependency @testing-library/user-event to v14.kaoto-backend v1.4.0https://kaoto.io/timeline/generated-release-2023-10-16-080954+0000/Mon, 16 Oct 2023 08:09:54 +0000https://kaoto.io/timeline/generated-release-2023-10-16-080954+0000/What&rsquo;s Changed Prepare for 1.4.0 by @igarashitm in https://github.com/KaotoIO/kaoto-backend/pull/862 fix: bindingMode: off is converted to bindingMode: false by @igarashitm in https://github.kaoto-next v0.2.0https://kaoto.io/timeline/generated-release-2023-10-06-075924+0000/Fri, 06 Oct 2023 07:59:24 +0000https://kaoto.io/timeline/generated-release-2023-10-06-075924+0000/What&rsquo;s Changed feat(ui): Add basic UI scaffolding by @lordrip in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.0https://kaoto.io/timeline/generated-release-2023-10-02-090635+0000/Mon, 02 Oct 2023 09:06:35 +0000https://kaoto.io/timeline/generated-release-2023-10-02-090635+0000/What&rsquo;s Changed feat: Expose wrapField function by @lordrip in https://github.com/KaotoIO/uniforms-patternfly/pull/8 Full Changelog: https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.3.2https://kaoto.io/timeline/generated-release-2023-10-01-135913+0000/Sun, 01 Oct 2023 13:59:13 +0000https://kaoto.io/timeline/generated-release-2023-10-01-135913+0000/What&rsquo;s Changed chore(docs): Update README.md file by @lordrip in https://github.com/KaotoIO/uniforms-patternfly/pull/6 Full Changelog: https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.3.1https://kaoto.io/timeline/generated-release-2023-10-01-135855+0000/Sun, 01 Oct 2023 13:58:55 +0000https://kaoto.io/timeline/generated-release-2023-10-01-135855+0000/What&rsquo;s Changed feat: Initial commit by @lordrip in https://github.com/KaotoIO/uniforms-patternfly/pull/1 chore(publish): Add registry information by @lordrip in https://github.kaoto-backend v1.3.0https://kaoto.io/timeline/generated-release-2023-09-15-124502+0000/Fri, 15 Sep 2023 12:45:02 +0000https://kaoto.io/timeline/generated-release-2023-09-15-124502+0000/Read morekaoto-ui v1.3.0https://kaoto.io/timeline/generated-release-2023-09-14-144325+0000/Thu, 14 Sep 2023 14:43:25 +0000https://kaoto.io/timeline/generated-release-2023-09-14-144325+0000/What&rsquo;s Changed Functional change chore(deployment): Disable Deploy button by @lordrip in https://github.kaoto-ui v1.2.1https://kaoto.io/timeline/generated-release-2023-08-24-133223+0000/Thu, 24 Aug 2023 13:32:23 +0000https://kaoto.io/timeline/generated-release-2023-08-24-133223+0000/What&rsquo;s Changed chore: Provide information to release by @apupier in https://github.kaoto-ui v1.2.0https://kaoto.io/timeline/generated-release-2023-08-24-103357+0000/Thu, 24 Aug 2023 10:33:57 +0000https://kaoto.io/timeline/generated-release-2023-08-24-103357+0000/What&rsquo;s Changed Features feat: Persist layout choice to local storage by @tplevko in https://github.kaoto-backend v1.2.0https://kaoto.io/timeline/generated-release-2023-08-24-082007+0000/Thu, 24 Aug 2023 08:20:07 +0000https://kaoto.io/timeline/generated-release-2023-08-24-082007+0000/What&rsquo;s Changed Features feat: build standalone images by @lburgazzoli in https://github.eerkmenhttps://kaoto.io/timeline/generated-contributor-eerkmen/Wed, 23 Aug 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-eerkmen/eerkmen made their first commit on Kaoto!Efe Erkmenhttps://kaoto.io/timeline/generated-contributor-efe-erkmen/Wed, 23 Aug 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-efe-erkmen/Efe Erkmen made their first commit on Kaoto!Lars Heinemannhttps://kaoto.io/timeline/generated-contributor-lars-heinemann/Sat, 12 Aug 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-lars-heinemann/Lars Heinemann made their first commit on Kaoto!kaoto-backend v1.1.1https://kaoto.io/timeline/generated-release-2023-07-24-080234+0000/Mon, 24 Jul 2023 08:02:34 +0000https://kaoto.io/timeline/generated-release-2023-07-24-080234+0000/Small fixes because the 1.1.0 version in native mode had a blocking bug that prevented it from running.Version 1.1.0 released!https://kaoto.io/blog/2023-07-21/Fri, 21 Jul 2023 11:00:00 +0200https://kaoto.io/blog/2023-07-21/In this 1.1.0 release, continued focusing on supporting Apache Camel DSLs, such as Camel Route in YAML DSL , Kamelet , KameletBinding and Integration .kaoto-ui v1.1.0https://kaoto.io/timeline/generated-release-2023-07-21-084346+0000/Fri, 21 Jul 2023 08:43:46 +0000https://kaoto.io/timeline/generated-release-2023-07-21-084346+0000/Features feat(about): Add About modal to display front and back version by @lordrip in https://github.kaoto-backend v1.1.0https://kaoto.io/timeline/generated-release-2023-07-21-072500+0000/Fri, 21 Jul 2023 07:25:00 +0000https://kaoto.io/timeline/generated-release-2023-07-21-072500+0000/This is version 1.1.0 of Kaoto Backend! +This version differs from latest final release in 3 main new features:kaoto-ui v1.1.0-M3https://kaoto.io/timeline/generated-release-2023-07-17-042659+0000/Mon, 17 Jul 2023 04:26:59 +0000https://kaoto.io/timeline/generated-release-2023-07-17-042659+0000/What&rsquo;s Changed (chore): Set version to v1.1.0-dev by @lordrip in https://github.kaoto-ui v1.1.0-M2https://kaoto.io/timeline/generated-release-2023-07-14-104846+0000/Fri, 14 Jul 2023 10:48:46 +0000https://kaoto.io/timeline/generated-release-2023-07-14-104846+0000/This is a pre-release very close to the 1.1.0 milestone. We have fixed several features towards the goals of the milestone, played with multiple routes, and made sure to update dependencies.kaoto-backend Backend v1.1.0-M2https://kaoto.io/timeline/generated-release-2023-07-14-102442+0000/Fri, 14 Jul 2023 10:24:42 +0000https://kaoto.io/timeline/generated-release-2023-07-14-102442+0000/This release is almost closing all 1.1.0 milestone goals. +What&rsquo;s Changed We added some new features:Luca Burgazzolihttps://kaoto.io/timeline/generated-contributor-luca-burgazzoli/Thu, 06 Jul 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-luca-burgazzoli/Luca Burgazzoli made their first commit on Kaoto!kaoto-ui v1.1.0-M1https://kaoto.io/timeline/generated-release-2023-07-03-084147+0000/Mon, 03 Jul 2023 08:41:47 +0000https://kaoto.io/timeline/generated-release-2023-07-03-084147+0000/What&rsquo;s Changed chore: update kaoto version to 1.0.1-dev by @kahboom in https://github.kaoto-backend Backend v1.1.0-M1https://kaoto.io/timeline/generated-release-2023-06-30-094316+0000/Fri, 30 Jun 2023 09:43:16 +0000https://kaoto.io/timeline/generated-release-2023-06-30-094316+0000/This is a release working towards milestone 1.1.0. It includes an upgrade to Quarkus 3.Quickstarthttps://kaoto.io/docs/quickstart/Mon, 19 Jun 2023 00:00:00 +0000https://kaoto.io/docs/quickstart/Using our testing instance We have an openly available testing instance .User Guidehttps://kaoto.io/docs/user-guide/Mon, 19 Jun 2023 00:00:00 +0000https://kaoto.io/docs/user-guide/On this guide we will learn how to create our first workflow using Kaoto in a no-code way.kaoto-backend Backend v1.0.1https://kaoto.io/timeline/generated-release-2023-06-15-112121+0000/Thu, 15 Jun 2023 11:21:21 +0000https://kaoto.io/timeline/generated-release-2023-06-15-112121+0000/What&rsquo;s Changed This is a patch release with some version updates and minor bug fixing.Matej Králikhttps://kaoto.io/timeline/generated-contributor-matej-kr%C3%A1lik/Fri, 19 May 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-matej-kr%C3%A1lik/Matej Králik made their first commit on Kaoto!Dominik Jelínekhttps://kaoto.io/timeline/generated-contributor-dominik-jel%C3%ADnek/Thu, 18 May 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-dominik-jel%C3%ADnek/Dominik Jelínek made their first commit on Kaoto!mkralik3https://kaoto.io/timeline/generated-contributor-mkralik3/Wed, 10 May 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-mkralik3/mkralik3 made their first commit on Kaoto!Martin Muzikarhttps://kaoto.io/timeline/generated-contributor-martin-muzikar/Fri, 05 May 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-martin-muzikar/Martin Muzikar made their first commit on Kaoto!Purva Naikhttps://kaoto.io/timeline/generated-contributor-purva-naik/Mon, 17 Apr 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-purva-naik/Purva Naik made their first commit on Kaoto!Version 1.0.0 released!https://kaoto.io/blog/2023-04-13/Thu, 13 Apr 2023 13:48:11 +0200https://kaoto.io/blog/2023-04-13/This marks the first major release for Kaoto. 🍾 Kaoto is an open source visual integration and workflow editor.kaoto-ui v1.0.0 🎉https://kaoto.io/timeline/generated-release-2023-04-11-150443+0000/Tue, 11 Apr 2023 15:04:43 +0000https://kaoto.io/timeline/generated-release-2023-04-11-150443+0000/Overview This marks the first major release for Kaoto. 🍾 Kaoto is an open source visual integration and workflow editor.kaoto-backend Backend v1.0.0https://kaoto.io/timeline/generated-release-2023-04-11-115727+0000/Tue, 11 Apr 2023 11:57:27 +0000https://kaoto.io/timeline/generated-release-2023-04-11-115727+0000/:partying_face: :tada: :balloon: This is our 1.0.0 release! :champagne: +Conversions from the graphical canvas to the source text editor are complete.Dominik Jelinekhttps://kaoto.io/timeline/generated-contributor-dominik-jelinek/Wed, 05 Apr 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-dominik-jelinek/Dominik Jelinek made their first commit on Kaoto!kaoto-ui v1.0.0-rc1https://kaoto.io/timeline/generated-release-2023-04-04-142232+0000/Tue, 04 Apr 2023 14:22:32 +0000https://kaoto.io/timeline/generated-release-2023-04-04-142232+0000/What&rsquo;s Changed Bug Fixes fix(steps-details): Required object type&rsquo;s parameters are lost by @lordrip in https://github.kaoto-backend v1.0.0-rc1https://kaoto.io/timeline/generated-release-2023-04-04-134237+0000/Tue, 04 Apr 2023 13:42:37 +0000https://kaoto.io/timeline/generated-release-2023-04-04-134237+0000/This is the release candidate for 1.0.0. It doesn&rsquo;t have much more than a few bug fixings, but it is significantly different from previous v0.kaoto-ui v0.7.6https://kaoto.io/timeline/generated-release-2023-03-30-151015+0000/Thu, 30 Mar 2023 15:10:15 +0000https://kaoto.io/timeline/generated-release-2023-03-30-151015+0000/What&rsquo;s Changed BugFixes fix(StepsService): Generate steady IDs for steps and branches by @lordrip in https://github.kaoto-backend v0.7.6https://kaoto.io/timeline/generated-release-2023-03-30-150810+0000/Thu, 30 Mar 2023 15:08:10 +0000https://kaoto.io/timeline/generated-release-2023-03-30-150810+0000/What&rsquo;s Changed Features feature: Add new endpoint to show version of the backend by @Delawen in https://github.kaoto-backend v0.7.5https://kaoto.io/timeline/generated-release-2023-03-27-073322+0000/Mon, 27 Mar 2023 07:33:22 +0000https://kaoto.io/timeline/generated-release-2023-03-27-073322+0000/What&rsquo;s Changed Bugfixes Remove default values from code generation by @Delawen in https://github.kaoto-ui v0.7.5https://kaoto.io/timeline/generated-release-2023-03-27-072848+0000/Mon, 27 Mar 2023 07:28:48 +0000https://kaoto.io/timeline/generated-release-2023-03-27-072848+0000/What&rsquo;s Changed Bugfixes fix(modals): Modals have an incorrect height by @lordrip in https://github.kaoto-backend v0.7.4https://kaoto.io/timeline/generated-release-2023-03-21-135409+0000/Tue, 21 Mar 2023 13:54:09 +0000https://kaoto.io/timeline/generated-release-2023-03-21-135409+0000/What&rsquo;s Changed Bugfixes fix: when an id was null, there was still cases in which we lost branches by @Delawen in https://github.kaoto-ui v0.7.4https://kaoto.io/timeline/generated-release-2023-03-21-104852+0000/Tue, 21 Mar 2023 10:48:52 +0000https://kaoto.io/timeline/generated-release-2023-03-21-104852+0000/What&rsquo;s Changed Prepare next development iteration 0.7.4 by @apupier in https://github.kaoto-ui v0.7.3https://kaoto.io/timeline/generated-release-2023-03-20-114306+0000/Mon, 20 Mar 2023 11:43:06 +0000https://kaoto.io/timeline/generated-release-2023-03-20-114306+0000/What&rsquo;s Changed Features Hide Add Branch button for steps with custom extensions by @lordrip in https://github.kaoto-backend v0.7.3https://kaoto.io/timeline/generated-release-2023-03-20-114026+0000/Mon, 20 Mar 2023 11:40:26 +0000https://kaoto.io/timeline/generated-release-2023-03-20-114026+0000/What&rsquo;s Changed Features feature: consider branch identifier on choices by @Delawen in https://github.kaoto-ui v0.7.2https://kaoto.io/timeline/generated-release-2023-03-13-100132+0000/Mon, 13 Mar 2023 10:01:32 +0000https://kaoto.io/timeline/generated-release-2023-03-13-100132+0000/What&rsquo;s Changed Bugfixes fix(jest): Jest warning about duplicated step mock by @lordrip in https://github.kaoto-backend v0.7.2https://kaoto.io/timeline/generated-release-2023-03-13-095103+0000/Mon, 13 Mar 2023 09:51:03 +0000https://kaoto.io/timeline/generated-release-2023-03-13-095103+0000/What&rsquo;s Changed Bugfixes fix: When no start step is available, don&rsquo;t go crazy by @Delawen in https://github.Antonin Stefanuttihttps://kaoto.io/timeline/generated-contributor-antonin-stefanutti/Mon, 13 Mar 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-antonin-stefanutti/Antonin Stefanutti made their first commit on Kaoto!Listen to a folderhttps://kaoto.io/workshop/beginner-file/Sun, 12 Mar 2023 12:14:34 +0600https://kaoto.io/workshop/beginner-file/1.- Log changes The goals for this exercise are: +Start the flow with a file-watch step which watches a local folder like /tmp/tutorial and configure parameter recursive as false Then log the detected change with an output like Detected ${header.Create a Kamelet in Apache Camelhttps://kaoto.io/workshop/intermediate-kamelet/Sat, 11 Mar 2023 12:14:34 +0600https://kaoto.io/workshop/intermediate-kamelet/1.- Make sure we are creating a Kamelet We are going to start by making sure the Settings are properly configured.Create a multiple choice route in Apache Camelhttps://kaoto.io/workshop/beginner-camel-choice/Fri, 10 Mar 2023 12:14:34 +0600https://kaoto.io/workshop/beginner-camel-choice/1.- Create a simple choice We are going to start by creating a simple if-else code using the graphical canvas.kaoto-ui v0.7.1https://kaoto.io/timeline/generated-release-2023-03-06-094832+0000/Mon, 06 Mar 2023 09:48:32 +0000https://kaoto.io/timeline/generated-release-2023-03-06-094832+0000/What&rsquo;s Changed Features Add gzip config to nginx server by @lordrip in https://github.kaoto-backend v0.7.1https://kaoto.io/timeline/generated-release-2023-03-06-094149+0000/Mon, 06 Mar 2023 09:41:49 +0000https://kaoto.io/timeline/generated-release-2023-03-06-094149+0000/What&rsquo;s Changed Bugfixes fix: Step extension doesn&rsquo;t load in some case by @igarashitm in https://github.kaoto-ui v0.7.0https://kaoto.io/timeline/generated-release-2023-02-28-123417+0000/Tue, 28 Feb 2023 12:34:17 +0000https://kaoto.io/timeline/generated-release-2023-02-28-123417+0000/What&rsquo;s Changed Features feat(settings): allow light mode &amp; add labels to step names by @kahboom in https://github.kaoto-backend v0.7.0https://kaoto.io/timeline/generated-release-2023-02-28-120103+0000/Tue, 28 Feb 2023 12:01:03 +0000https://kaoto.io/timeline/generated-release-2023-02-28-120103+0000/What&rsquo;s Changed Features Update view definition zip file used by native artifact in prod to by @apupier in https://github.Mikhail Abramovhttps://kaoto.io/timeline/generated-contributor-mikhail-abramov/Thu, 23 Feb 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-mikhail-abramov/Mikhail Abramov made their first commit on Kaoto!Helio Frotahttps://kaoto.io/timeline/generated-contributor-helio-frota/Tue, 21 Feb 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-helio-frota/Helio Frota made their first commit on Kaoto!kaoto-backend Backend v0.6.2https://kaoto.io/timeline/generated-release-2023-02-15-140607+0000/Wed, 15 Feb 2023 14:06:07 +0000https://kaoto.io/timeline/generated-release-2023-02-15-140607+0000/This patch release contains a few step extensions for EIP that now the kaoto-ui will use.Tomas Plevkohttps://kaoto.io/timeline/generated-contributor-tomas-plevko/Tue, 31 Jan 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-tomas-plevko/Tomas Plevko made their first commit on Kaoto!kaoto-ui v0.6.1https://kaoto.io/timeline/generated-release-2023-01-26-142932+0000/Thu, 26 Jan 2023 14:29:32 +0000https://kaoto.io/timeline/generated-release-2023-01-26-142932+0000/What&rsquo;s Changed Features feat(branching): add append for branch steps and branch-containing steps by @kahboom in https://github.kaoto-backend v0.6.1https://kaoto.io/timeline/generated-release-2023-01-25-094307+0000/Wed, 25 Jan 2023 09:43:07 +0000https://kaoto.io/timeline/generated-release-2023-01-25-094307+0000/What&rsquo;s Changed Features Provide Exception stack in server log when there is &ldquo;Error getting capabilities.kaoto-ui v0.6.0https://kaoto.io/timeline/generated-release-2023-01-23-155947+0000/Mon, 23 Jan 2023 15:59:47 +0000https://kaoto.io/timeline/generated-release-2023-01-23-155947+0000/What&rsquo;s Changed Features Branch support: feat(branching): add support to edit branch step properties by @kahboom in https://github.kaoto-backend v0.6.0https://kaoto.io/timeline/generated-release-2023-01-23-151912+0000/Mon, 23 Jan 2023 15:19:12 +0000https://kaoto.io/timeline/generated-release-2023-01-23-151912+0000/What&rsquo;s Changed feature(eip): Add Threads EIP by @Delawen in https://github.com/KaotoIO/kaoto-backend/pull/385 feature(eip): Add Transacted EIP by @Delawen in https://github.Javier López de Ancoshttps://kaoto.io/timeline/generated-contributor-javier-l%C3%B3pez-de-ancos/Wed, 04 Jan 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-javier-l%C3%B3pez-de-ancos/Javier López de Ancos made their first commit on Kaoto!kaoto-backend Backend v0.5.1https://kaoto.io/timeline/generated-release-2022-12-14-115143+0000/Wed, 14 Dec 2022 11:51:43 +0000https://kaoto.io/timeline/generated-release-2022-12-14-115143+0000/What&rsquo;s Changed Added some EIPs more and fixed minor bugs.kaoto-ui v0.5.0https://kaoto.io/timeline/generated-release-2022-12-13-115357+0000/Tue, 13 Dec 2022 11:53:57 +0000https://kaoto.io/timeline/generated-release-2022-12-13-115357+0000/What&rsquo;s Changed Features feat(viz): migrate to elk for layouting by @kahboom in https://github.tplevkohttps://kaoto.io/timeline/generated-contributor-tplevko/Tue, 13 Dec 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-tplevko/tplevko made their first commit on Kaoto!kaoto-backend Backend v0.5.0https://kaoto.io/timeline/generated-release-2022-12-07-112727+0000/Wed, 07 Dec 2022 11:27:27 +0000https://kaoto.io/timeline/generated-release-2022-12-07-112727+0000/What&rsquo;s Changed Added some new EIPs and strenghten the APIs for the frontend to handle branches.kaoto-backend Backend v0.4.3https://kaoto.io/timeline/generated-release-2022-11-30-142908+0000/Wed, 30 Nov 2022 14:29:08 +0000https://kaoto.io/timeline/generated-release-2022-11-30-142908+0000/What&rsquo;s Changed Features feature(eip): Add Rollback EIP by @Delawen in https://github.kaoto-backend Backend v0.4.2https://kaoto.io/timeline/generated-release-2022-11-28-091734+0000/Mon, 28 Nov 2022 09:17:34 +0000https://kaoto.io/timeline/generated-release-2022-11-28-091734+0000/Minor version release with Quarkus update. Now we support Windows native executables!kaoto-backend Backend v0.4.1https://kaoto.io/timeline/generated-release-2022-11-24-084005+0000/Thu, 24 Nov 2022 08:40:05 +0000https://kaoto.io/timeline/generated-release-2022-11-24-084005+0000/Minor release with bug fixes and dependencies updates. +Features Make Kaoto look for kamelets in specified namespace based on defined property by @mmelko in https://github.kaoto-ui v0.4.3https://kaoto.io/timeline/generated-release-2022-11-15-154943+0000/Tue, 15 Nov 2022 15:49:43 +0000https://kaoto.io/timeline/generated-release-2022-11-15-154943+0000/What&rsquo;s Changed This release addresses an issue with the npm package that gets published for kaoto-ui and is used by vscode-kaoto.kaoto-ui v0.4.2https://kaoto.io/timeline/generated-release-2022-11-14-150818+0000/Mon, 14 Nov 2022 15:08:18 +0000https://kaoto.io/timeline/generated-release-2022-11-14-150818+0000/What&rsquo;s Changed Fixes fix(catalog): Avoid creating gaps between steps. #797 by @lordrip in https://github.Ricardo Mhttps://kaoto.io/timeline/generated-contributor-ricardo-m/Wed, 09 Nov 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-ricardo-m/Ricardo M made their first commit on Kaoto!Ricardo M.https://kaoto.io/timeline/generated-contributor-ricardo-m./Wed, 09 Nov 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-ricardo-m./Ricardo M. made their first commit on Kaoto!kaoto-ui v0.4.1https://kaoto.io/timeline/generated-release-2022-11-08-135627+0000/Tue, 08 Nov 2022 13:56:27 +0000https://kaoto.io/timeline/generated-release-2022-11-08-135627+0000/What&rsquo;s Changed chore: bump kaoto version to 0.4.1 by @kahboom in https://github.kaoto-ui v0.4.0 🎉https://kaoto.io/timeline/generated-release-2022-11-07-163724+0000/Mon, 07 Nov 2022 16:37:24 +0000https://kaoto.io/timeline/generated-release-2022-11-07-163724+0000/What&rsquo;s Changed in the Frontend Main changes include a VS Code plugin, support for visualizing EIP branching, layouting, auto-layout choice (with new icons!kaoto-backend v0.4.0https://kaoto.io/timeline/generated-release-2022-11-07-162442+0000/Mon, 07 Nov 2022 16:24:42 +0000https://kaoto.io/timeline/generated-release-2022-11-07-162442+0000/What&rsquo;s Changed in the Backend Removed API v0 no longer used by the frontend Add all Camel Components to the Step Catalog Improved startup time that was slowed down after adding camel Read moreAsish Abraham Josephhttps://kaoto.io/timeline/generated-contributor-asish-abraham-joseph/Sat, 01 Oct 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-asish-abraham-joseph/Asish Abraham Joseph made their first commit on Kaoto!José Ráez Rodríguezhttps://kaoto.io/timeline/generated-contributor-jos%C3%A9-r%C3%A1ez-rodr%C3%ADguez/Thu, 15 Sep 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-jos%C3%A9-r%C3%A1ez-rodr%C3%ADguez/José Ráez Rodríguez made their first commit on Kaoto!JoshiRaezhttps://kaoto.io/timeline/generated-contributor-joshiraez/Thu, 15 Sep 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-joshiraez/JoshiRaez made their first commit on Kaoto!Thiago Luglihttps://kaoto.io/timeline/generated-contributor-thiago-lugli/Fri, 09 Sep 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-thiago-lugli/Thiago Lugli made their first commit on Kaoto!kaoto-ui v0.3.1https://kaoto.io/timeline/generated-release-2022-09-07-095742+0000/Wed, 07 Sep 2022 09:57:42 +0000https://kaoto.io/timeline/generated-release-2022-09-07-095742+0000/Full Changelog: https://github.com/KaotoIO/kaoto-ui/compare/v0.3.0...v0.3.1 Bumped version for npm package +Read morekaoto-ui v0.3.0 🎉https://kaoto.io/timeline/generated-release-2022-09-06-084454+0000/Tue, 06 Sep 2022 08:44:54 +0000https://kaoto.io/timeline/generated-release-2022-09-06-084454+0000/What&rsquo;s Changed in the Frontend Main changes include a new layout, persistent steps between changes, settings (with dark mode!kaoto-backend v0.3.0https://kaoto.io/timeline/generated-release-2022-09-02-073434+0000/Fri, 02 Sep 2022 07:34:34 +0000https://kaoto.io/timeline/generated-release-2022-09-02-073434+0000/What&rsquo;s Changed in the Backend Support for editing Kamelets Support for editing Camel Routes (Integration kind of resource) Cluster management: start, stop, list resources in the cluster Add [mutation testing](https://github.kahboomhttps://kaoto.io/timeline/generated-contributor-kahboom/Wed, 31 Aug 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-kahboom/kahboom made their first commit on Kaoto!Tomohisa Igarashihttps://kaoto.io/timeline/generated-contributor-tomohisa-igarashi/Wed, 31 Aug 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-tomohisa-igarashi/Tomohisa Igarashi made their first commit on Kaoto!eray.erdemhttps://kaoto.io/timeline/generated-contributor-eray.erdem/Fri, 26 Aug 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-eray.erdem/eray.erdem made their first commit on Kaoto!Deploy a Kamelet and a Kamelet Bindinghttps://kaoto.io/portfolio/2022-07-15-kamelet-creation/Fri, 15 Jul 2022 12:13:34 +0600https://kaoto.io/portfolio/2022-07-15-kamelet-creation/On this video we create a Kamelet which is then used to create a Kamelet Binding and deploy it on an Openshift.Crowayhttps://kaoto.io/timeline/generated-contributor-croway/Wed, 22 Jun 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-croway/Croway made their first commit on Kaoto!Mohammadi Iramhttps://kaoto.io/timeline/generated-contributor-mohammadi-iram/Tue, 24 May 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-mohammadi-iram/Mohammadi Iram made their first commit on Kaoto!No code deployment via Camel Khttps://kaoto.io/portfolio/deployment-via-camelk/Tue, 19 Apr 2022 12:14:34 +0600https://kaoto.io/portfolio/deployment-via-camelk/On the following video we can see how to do a no code integration and deploy it in a cluster via Camel K.Selmahttps://kaoto.io/timeline/generated-contributor-selma/Sun, 03 Apr 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-selma/Selma made their first commit on Kaoto!kaoto-backend Version 0.2.1 with bug fixeshttps://kaoto.io/timeline/generated-release-2022-03-31-102012+0000/Thu, 31 Mar 2022 10:20:12 +0000https://kaoto.io/timeline/generated-release-2022-03-31-102012+0000/This is a small patch bug fix adding a workaround for the Parameter polymorphism in https://github.Evan Shortisshttps://kaoto.io/timeline/generated-contributor-evan-shortiss/Thu, 17 Mar 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-evan-shortiss/Evan Shortiss made their first commit on Kaoto!kaoto-ui Version 0.2.0 with improved editor!https://kaoto.io/timeline/generated-release-2022-03-16-153313+0000/Wed, 16 Mar 2022 15:33:13 +0000https://kaoto.io/timeline/generated-release-2022-03-16-153313+0000/What&rsquo;s Changed Provide color syntax for Yaml textual editor #37 by @apupier in https://github.kaoto-backend Version 0.2.0 with improved editor!https://kaoto.io/timeline/generated-release-2022-03-16-123750+0000/Wed, 16 Mar 2022 12:37:50 +0000https://kaoto.io/timeline/generated-release-2022-03-16-123750+0000/What&rsquo;s Changed Cluster deployment support (not available on frontend yet) in https://github.Version 0.2.0 released with improved editor!https://kaoto.io/blog/2022-03-16/Wed, 16 Mar 2022 13:40:11 +0600https://kaoto.io/blog/2022-03-16/We have a new pre-release version v0.2.0 of Kaoto with a fancy refactored editor!Kaoto visual editorhttps://kaoto.io/portfolio/visualeditorinaction/Wed, 16 Mar 2022 12:14:34 +0600https://kaoto.io/portfolio/visualeditorinaction/Hello Worldhttps://kaoto.io/portfolio/helloworldklb/Tue, 08 Mar 2022 12:14:34 +0600https://kaoto.io/portfolio/helloworldklb/On this video we can see we can drag and drop step into the integration and how to use the plus button to add intermediate and final steps.Matej Melkohttps://kaoto.io/timeline/generated-contributor-matej-melko/Tue, 22 Feb 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-matej-melko/Matej Melko made their first commit on Kaoto!mmelkohttps://kaoto.io/timeline/generated-contributor-mmelko/Tue, 22 Feb 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-mmelko/mmelko made their first commit on Kaoto!Kaoto Over Dockerhttps://kaoto.io/blog/2022-02-10/Thu, 10 Feb 2022 00:50:11 +0600https://kaoto.io/blog/2022-02-10/There is a Docker Hub KaotoIO organization in which you can find all the docker images for both frontend and backend.Almen Nghttps://kaoto.io/timeline/generated-contributor-almen-ng/Wed, 02 Feb 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-almen-ng/Almen Ng made their first commit on Kaoto!kaoto-backend v0.1.0https://kaoto.io/timeline/generated-release-2021-11-26-083308+0000/Fri, 26 Nov 2021 08:33:08 +0000https://kaoto.io/timeline/generated-release-2021-11-26-083308+0000/What&rsquo;s Changed This is the first release for the Kaoto backend.Kaoto 0.1 is released!https://kaoto.io/blog/2021-10-15/Wed, 24 Nov 2021 23:50:11 +0600https://kaoto.io/blog/2021-10-15/The first version of Kaoto has been released. +In this version, you can already edit a Kamelet Binding both visually and using the YAML editor.Building Blockshttps://kaoto.io/portfolio/stepcatalogdetailed/Fri, 12 Nov 2021 12:14:34 +0600https://kaoto.io/portfolio/stepcatalogdetailed/Step Cataloghttps://kaoto.io/portfolio/stepcatalog/Fri, 12 Nov 2021 12:14:34 +0600https://kaoto.io/portfolio/stepcatalog/Aurélien Pupierhttps://kaoto.io/timeline/generated-contributor-aur%C3%A9lien-pupier/Fri, 24 Sep 2021 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-aur%C3%A9lien-pupier/Aurélien Pupier made their first commit on Kaoto!Zineb Bendhibahttps://kaoto.io/timeline/generated-contributor-zineb-bendhiba/Thu, 01 Jul 2021 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-zineb-bendhiba/Zineb Bendhiba made their first commit on Kaoto!María Arias de Reynahttps://kaoto.io/timeline/generated-contributor-mar%C3%ADa-arias-de-reyna/Fri, 18 Jun 2021 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-mar%C3%ADa-arias-de-reyna/María Arias de Reyna made their first commit on Kaoto!María Arias de Reyna Domínguezhttps://kaoto.io/timeline/generated-contributor-mar%C3%ADa-arias-de-reyna-dom%C3%ADnguez/Fri, 18 Jun 2021 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-mar%C3%ADa-arias-de-reyna-dom%C3%ADnguez/María Arias de Reyna Domínguez made their first commit on Kaoto!Rachel Yordánhttps://kaoto.io/timeline/generated-contributor-rachel-yord%C3%A1n/Fri, 18 Jun 2021 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-rachel-yord%C3%A1n/Rachel Yordán made their first commit on Kaoto!Kaoto was bornhttps://kaoto.io/timeline/creation/Tue, 06 Apr 2021 00:00:00 +0000https://kaoto.io/timeline/creation/Kaoto was born on a virtual coffee with Zineb , Rachel , and María . \ No newline at end of file diff --git a/js/script.min.js b/js/script.min.js new file mode 100644 index 00000000..61b99506 --- /dev/null +++ b/js/script.min.js @@ -0,0 +1 @@ +(function(e){"use strict";e(window).scroll(function(){e(".navigation").offset().top>100?e(".navigation").addClass("nav-bg"):e(".navigation").removeClass("nav-bg")}),e("[data-background]").each(function(){e(this).css({"background-image":"url("+e(this).data("background")+")"})}),e("[data-color]").each(function(){e(this).css({"background-color":e(this).data("color")})}),e("[data-progress]").each(function(){e(this).css({bottom:e(this).data("progress")})}),window.onload=function(){if(e=document.getElementById("parallax"),!e)return;var e,n=document.getElementById("l2").offsetLeft,s=document.getElementById("l2").offsetTop,o=document.getElementById("l3").offsetLeft,i=document.getElementById("l3").offsetTop,a=document.getElementById("l4").offsetLeft,r=document.getElementById("l4").offsetTop,c=document.getElementById("l5").offsetLeft,l=document.getElementById("l5").offsetTop,d=document.getElementById("l6").offsetLeft,u=document.getElementById("l6").offsetTop,h=document.getElementById("l7").offsetLeft,m=document.getElementById("l7").offsetTop,f=document.getElementById("l8").offsetLeft,p=document.getElementById("l8").offsetTop,g=document.getElementById("l9").offsetLeft,v=document.getElementById("l9").offsetTop;e.onmousemove=function(b){b=b||window.event;var j=b.clientX-e.offsetLeft,y=b.clientY-e.offsetTop;t("l2",n,s,j,y,25),t("l3",o,i,j,y,20),t("l4",a,r,j,y,35),t("l5",c,l,j,y,30),t("l6",d,u,j,y,45),t("l7",h,m,j,y,30),t("l8",f,p,j,y,25),t("l9",g,v,j,y,40)}};function t(e,t,n,s,o,i){var a=document.getElementById(e),r=a.parentNode,c=parseInt(r.offsetWidth),l=parseInt(r.offsetHeight);a.style.left=t-(s-(parseInt(a.offsetWidth)/2+t))/c*i+"px",a.style.top=n-(o-(parseInt(a.offsetHeight)/2+n))/l*i+"px"}e(".testimonial-slider").slick({dots:!0,infinite:!0,speed:300,slidesToShow:1,arrows:!1,adaptiveHeight:!0}),e(".client-logo-slider").slick({infinite:!0,slidesToShow:5,slidesToScroll:1,autoplay:!0,dots:!1,arrows:!1,responsive:[{breakpoint:1024,settings:{slidesToShow:3,slidesToScroll:1}},{breakpoint:600,settings:{slidesToShow:3,slidesToScroll:1}},{breakpoint:480,settings:{slidesToShow:2,slidesToScroll:1}},{breakpoint:400,settings:{slidesToShow:1,slidesToScroll:1}}]});var n,s,o=document.querySelector(".shuffle-wrapper");o&&(n=window.Shuffle,s=new n(document.querySelector(".shuffle-wrapper"),{itemSelector:".shuffle-item",buffer:1}),jQuery('input[name="shuffle-filter"]').on("change",function(e){var t=e.currentTarget;t.checked&&s.filter(t.value)}))})(jQuery) \ No newline at end of file diff --git a/plugins/bootstrap/bootstrap.min.css b/plugins/bootstrap/bootstrap.min.css new file mode 100644 index 00000000..7d2a868f --- /dev/null +++ b/plugins/bootstrap/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.5.0 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:-ms-flexbox;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/plugins/bootstrap/bootstrap.min.js b/plugins/bootstrap/bootstrap.min.js new file mode 100644 index 00000000..130bcfa5 --- /dev/null +++ b/plugins/bootstrap/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.5.0 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,(function(t,e,n){"use strict";function i(t,e){for(var n=0;n=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};c.jQueryDetection(),e.fn.emulateTransitionEnd=l,e.event.special[c.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var h="alert",u=e.fn[h],d=function(){function t(t){this._element=t}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},n.dispose=function(){e.removeData(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){var n=c.getSelectorFromElement(t),i=!1;return n&&(i=document.querySelector(n)),i||(i=e(t).closest(".alert")[0]),i},n._triggerCloseEvent=function(t){var n=e.Event("close.bs.alert");return e(t).trigger(n),n},n._removeElement=function(t){var n=this;if(e(t).removeClass("show"),e(t).hasClass("fade")){var i=c.getTransitionDurationFromElement(t);e(t).one(c.TRANSITION_END,(function(e){return n._destroyElement(t,e)})).emulateTransitionEnd(i)}else this._destroyElement(t)},n._destroyElement=function(t){e(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.alert");o||(o=new t(this),i.data("bs.alert",o)),"close"===n&&o[n](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',d._handleDismiss(new d)),e.fn[h]=d._jQueryInterface,e.fn[h].Constructor=d,e.fn[h].noConflict=function(){return e.fn[h]=u,d._jQueryInterface};var f=e.fn.button,g=function(){function t(t){this._element=t}var n=t.prototype;return n.toggle=function(){var t=!0,n=!0,i=e(this._element).closest('[data-toggle="buttons"]')[0];if(i){var o=this._element.querySelector('input:not([type="hidden"])');if(o){if("radio"===o.type)if(o.checked&&this._element.classList.contains("active"))t=!1;else{var s=i.querySelector(".active");s&&e(s).removeClass("active")}t&&("checkbox"!==o.type&&"radio"!==o.type||(o.checked=!this._element.classList.contains("active")),e(o).trigger("change")),o.focus(),n=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(n&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&e(this._element).toggleClass("active"))},n.dispose=function(){e.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.button");i||(i=new t(this),e(this).data("bs.button",i)),"toggle"===n&&i[n]()}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var n=t.target,i=n;if(e(n).hasClass("btn")||(n=e(n).closest(".btn")[0]),!n||n.hasAttribute("disabled")||n.classList.contains("disabled"))t.preventDefault();else{var o=n.querySelector('input:not([type="hidden"])');if(o&&(o.hasAttribute("disabled")||o.classList.contains("disabled")))return void t.preventDefault();"LABEL"===i.tagName&&o&&"checkbox"===o.type&&t.preventDefault(),g._jQueryInterface.call(e(n),"toggle")}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var n=e(t.target).closest(".btn")[0];e(n).toggleClass("focus",/^focus(in)?$/.test(t.type))})),e(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var n=t.prototype;return n.next=function(){this._isSliding||this._slide("next")},n.nextWhenVisible=function(){!document.hidden&&e(this._element).is(":visible")&&"hidden"!==e(this._element).css("visibility")&&this.next()},n.prev=function(){this._isSliding||this._slide("prev")},n.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(c.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(t){var n=this;this._activeElement=this._element.querySelector(".active.carousel-item");var i=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)e(this._element).one("slid.bs.carousel",(function(){return n.to(t)}));else{if(i===t)return this.pause(),void this.cycle();var o=t>i?"next":"prev";this._slide(o,this._items[t])}},n.dispose=function(){e(this._element).off(p),e.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(t){return t=a(a({},v),t),c.typeCheckConfig(m,t,b),t},n._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},n._addEventListeners=function(){var t=this;this._config.keyboard&&e(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&e(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var n=function(e){t._pointerEvent&&y[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},i=function(e){t._pointerEvent&&y[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};e(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(e(this._element).on("pointerdown.bs.carousel",(function(t){return n(t)})),e(this._element).on("pointerup.bs.carousel",(function(t){return i(t)})),this._element.classList.add("pointer-event")):(e(this._element).on("touchstart.bs.carousel",(function(t){return n(t)})),e(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),e(this._element).on("touchend.bs.carousel",(function(t){return i(t)})))}},n._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},n._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),s=this._items.length-1;if((i&&0===o||n&&o===s)&&!this._config.wrap)return e;var r=(o+("prev"===t?-1:1))%this._items.length;return-1===r?this._items[this._items.length-1]:this._items[r]},n._triggerSlideEvent=function(t,n){var i=this._getItemIndex(t),o=this._getItemIndex(this._element.querySelector(".active.carousel-item")),s=e.Event("slide.bs.carousel",{relatedTarget:t,direction:n,from:o,to:i});return e(this._element).trigger(s),s},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var n=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));e(n).removeClass("active");var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&e(i).addClass("active")}},n._slide=function(t,n){var i,o,s,r=this,a=this._element.querySelector(".active.carousel-item"),l=this._getItemIndex(a),h=n||a&&this._getItemByDirection(t,a),u=this._getItemIndex(h),d=Boolean(this._interval);if("next"===t?(i="carousel-item-left",o="carousel-item-next",s="left"):(i="carousel-item-right",o="carousel-item-prev",s="right"),h&&e(h).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(h,s).isDefaultPrevented()&&a&&h){this._isSliding=!0,d&&this.pause(),this._setActiveIndicatorElement(h);var f=e.Event("slid.bs.carousel",{relatedTarget:h,direction:s,from:l,to:u});if(e(this._element).hasClass("slide")){e(h).addClass(o),c.reflow(h),e(a).addClass(i),e(h).addClass(i);var g=parseInt(h.getAttribute("data-interval"),10);g?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=g):this._config.interval=this._config.defaultInterval||this._config.interval;var m=c.getTransitionDurationFromElement(a);e(a).one(c.TRANSITION_END,(function(){e(h).removeClass(i+" "+o).addClass("active"),e(a).removeClass("active "+o+" "+i),r._isSliding=!1,setTimeout((function(){return e(r._element).trigger(f)}),0)})).emulateTransitionEnd(m)}else e(a).removeClass("active"),e(h).addClass("active"),this._isSliding=!1,e(this._element).trigger(f);d&&this.cycle()}},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.carousel"),o=a(a({},v),e(this).data());"object"==typeof n&&(o=a(a({},o),n));var s="string"==typeof n?n:o.slide;if(i||(i=new t(this,o),e(this).data("bs.carousel",i)),"number"==typeof n)i.to(n);else if("string"==typeof s){if("undefined"==typeof i[s])throw new TypeError('No method named "'+s+'"');i[s]()}else o.interval&&o.ride&&(i.pause(),i.cycle())}))},t._dataApiClickHandler=function(n){var i=c.getSelectorFromElement(this);if(i){var o=e(i)[0];if(o&&e(o).hasClass("carousel")){var s=a(a({},e(o).data()),e(this).data()),r=this.getAttribute("data-slide-to");r&&(s.interval=!1),t._jQueryInterface.call(e(o),s),r&&e(o).data("bs.carousel").to(r),n.preventDefault()}}},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return v}}]),t}();e(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",E._dataApiClickHandler),e(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),n=0,i=t.length;n0&&(this._selector=r,this._triggerArray.push(s))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var n=t.prototype;return n.toggle=function(){e(this._element).hasClass("show")?this.hide():this.show()},n.show=function(){var n,i,o=this;if(!this._isTransitioning&&!e(this._element).hasClass("show")&&(this._parent&&0===(n=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof o._config.parent?t.getAttribute("data-parent")===o._config.parent:t.classList.contains("collapse")}))).length&&(n=null),!(n&&(i=e(n).not(this._selector).data("bs.collapse"))&&i._isTransitioning))){var s=e.Event("show.bs.collapse");if(e(this._element).trigger(s),!s.isDefaultPrevented()){n&&(t._jQueryInterface.call(e(n).not(this._selector),"hide"),i||e(n).data("bs.collapse",null));var r=this._getDimension();e(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[r]=0,this._triggerArray.length&&e(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var a="scroll"+(r[0].toUpperCase()+r.slice(1)),l=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,(function(){e(o._element).removeClass("collapsing").addClass("collapse show"),o._element.style[r]="",o.setTransitioning(!1),e(o._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(l),this._element.style[r]=this._element[a]+"px"}}},n.hide=function(){var t=this;if(!this._isTransitioning&&e(this._element).hasClass("show")){var n=e.Event("hide.bs.collapse");if(e(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",c.reflow(this._element),e(this._element).addClass("collapsing").removeClass("collapse show");var o=this._triggerArray.length;if(o>0)for(var s=0;s0},i._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=a(a({},e.offsets),t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},i._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),a(a({},t),this._config.popperConfig)},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.dropdown");if(i||(i=new t(this,"object"==typeof n?n:null),e(this).data("bs.dropdown",i)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},t._clearMenus=function(n){if(!n||3!==n.which&&("keyup"!==n.type||9===n.which))for(var i=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),o=0,s=i.length;o0&&r--,40===n.which&&rdocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:F,popperConfig:null},Y={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},$=function(){function t(t,e){if("undefined"==typeof n)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var i=t.prototype;return i.enable=function(){this._isEnabled=!0},i.disable=function(){this._isEnabled=!1},i.toggleEnabled=function(){this._isEnabled=!this._isEnabled},i.toggle=function(t){if(this._isEnabled)if(t){var n=this.constructor.DATA_KEY,i=e(t.currentTarget).data(n);i||(i=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(e(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},i.dispose=function(){clearTimeout(this._timeout),e.removeData(this.element,this.constructor.DATA_KEY),e(this.element).off(this.constructor.EVENT_KEY),e(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&e(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},i.show=function(){var t=this;if("none"===e(this.element).css("display"))throw new Error("Please use show on visible elements");var i=e.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){e(this.element).trigger(i);var o=c.findShadowRoot(this.element),s=e.contains(null!==o?o:this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!s)return;var r=this.getTipElement(),a=c.getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&e(r).addClass("fade");var l="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,h=this._getAttachment(l);this.addAttachmentClass(h);var u=this._getContainer();e(r).data(this.constructor.DATA_KEY,this),e.contains(this.element.ownerDocument.documentElement,this.tip)||e(r).appendTo(u),e(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,r,this._getPopperConfig(h)),e(r).addClass("show"),"ontouchstart"in document.documentElement&&e(document.body).children().on("mouseover",null,e.noop);var d=function(){t.config.animation&&t._fixTransition();var n=t._hoverState;t._hoverState=null,e(t.element).trigger(t.constructor.Event.SHOWN),"out"===n&&t._leave(null,t)};if(e(this.tip).hasClass("fade")){var f=c.getTransitionDurationFromElement(this.tip);e(this.tip).one(c.TRANSITION_END,d).emulateTransitionEnd(f)}else d()}},i.hide=function(t){var n=this,i=this.getTipElement(),o=e.Event(this.constructor.Event.HIDE),s=function(){"show"!==n._hoverState&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),e(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()};if(e(this.element).trigger(o),!o.isDefaultPrevented()){if(e(i).removeClass("show"),"ontouchstart"in document.documentElement&&e(document.body).children().off("mouseover",null,e.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,e(this.tip).hasClass("fade")){var r=c.getTransitionDurationFromElement(i);e(i).one(c.TRANSITION_END,s).emulateTransitionEnd(r)}else s();this._hoverState=""}},i.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},i.isWithContent=function(){return Boolean(this.getTitle())},i.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-tooltip-"+t)},i.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},i.setContent=function(){var t=this.getTipElement();this.setElementContent(e(t.querySelectorAll(".tooltip-inner")),this.getTitle()),e(t).removeClass("fade show")},i.setElementContent=function(t,n){"object"!=typeof n||!n.nodeType&&!n.jquery?this.config.html?(this.config.sanitize&&(n=H(n,this.config.whiteList,this.config.sanitizeFn)),t.html(n)):t.text(n):this.config.html?e(n).parent().is(t)||t.empty().append(n):t.text(e(n).text())},i.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},i._getPopperConfig=function(t){var e=this;return a(a({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),this.config.popperConfig)},i._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=a(a({},e.offsets),t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},i._getContainer=function(){return!1===this.config.container?document.body:c.isElement(this.config.container)?e(this.config.container):e(document).find(this.config.container)},i._getAttachment=function(t){return K[t.toUpperCase()]},i._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(n){if("click"===n)e(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==n){var i="hover"===n?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o="hover"===n?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;e(t.element).on(i,t.config.selector,(function(e){return t._enter(e)})).on(o,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},e(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=a(a({},this.config),{},{trigger:"manual",selector:""}):this._fixTitle()},i._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},i._enter=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e(n.getTipElement()).hasClass("show")||"show"===n._hoverState?n._hoverState="show":(clearTimeout(n._timeout),n._hoverState="show",n.config.delay&&n.config.delay.show?n._timeout=setTimeout((function(){"show"===n._hoverState&&n.show()}),n.config.delay.show):n.show())},i._leave=function(t,n){var i=this.constructor.DATA_KEY;(n=n||e(t.currentTarget).data(i))||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(i,n)),t&&(n._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState="out",n.config.delay&&n.config.delay.hide?n._timeout=setTimeout((function(){"out"===n._hoverState&&n.hide()}),n.config.delay.hide):n.hide())},i._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},i._getConfig=function(t){var n=e(this.element).data();return Object.keys(n).forEach((function(t){-1!==V.indexOf(t)&&delete n[t]})),"number"==typeof(t=a(a(a({},this.constructor.Default),n),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),c.typeCheckConfig(U,t,this.constructor.DefaultType),t.sanitize&&(t.template=H(t.template,t.whiteList,t.sanitizeFn)),t},i._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},i._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(W);null!==n&&n.length&&t.removeClass(n.join(""))},i._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},i._fixTransition=function(){var t=this.getTipElement(),n=this.config.animation;null===t.getAttribute("x-placement")&&(e(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},t._jQueryInterface=function(n){return this.each((function(){var i=e(this).data("bs.tooltip"),o="object"==typeof n&&n;if((i||!/dispose|hide/.test(n))&&(i||(i=new t(this,o),e(this).data("bs.tooltip",i)),"string"==typeof n)){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return X}},{key:"NAME",get:function(){return U}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Y}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return z}}]),t}();e.fn[U]=$._jQueryInterface,e.fn[U].Constructor=$,e.fn[U].noConflict=function(){return e.fn[U]=M,$._jQueryInterface};var J="popover",G=e.fn[J],Z=new RegExp("(^|\\s)bs-popover\\S+","g"),tt=a(a({},$.Default),{},{placement:"right",trigger:"click",content:"",template:''}),et=a(a({},$.DefaultType),{},{content:"(string|element|function)"}),nt={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},it=function(t){var n,i;function s(){return t.apply(this,arguments)||this}i=t,(n=s).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var r=s.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){e(this.getTipElement()).addClass("bs-popover-"+t)},r.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},r.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(t.find(".popover-body"),n),t.removeClass("fade show")},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=e(this.getTipElement()),n=t.attr("class").match(Z);null!==n&&n.length>0&&t.removeClass(n.join(""))},s._jQueryInterface=function(t){return this.each((function(){var n=e(this).data("bs.popover"),i="object"==typeof t?t:null;if((n||!/dispose|hide/.test(t))&&(n||(n=new s(this,i),e(this).data("bs.popover",n)),"string"==typeof t)){if("undefined"==typeof n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},o(s,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"Default",get:function(){return tt}},{key:"NAME",get:function(){return J}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return nt}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return et}}]),s}($);e.fn[J]=it._jQueryInterface,e.fn[J].Constructor=it,e.fn[J].noConflict=function(){return e.fn[J]=G,it._jQueryInterface};var ot="scrollspy",st=e.fn[ot],rt={offset:10,method:"auto",target:""},at={offset:"number",method:"string",target:"(string|element)"},lt=function(){function t(t,n){var i=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(n),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,e(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return i._process(t)})),this.refresh(),this._process()}var n=t.prototype;return n.refresh=function(){var t=this,n=this._scrollElement===this._scrollElement.window?"offset":"position",i="auto"===this._config.method?n:this._config.method,o="position"===i?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var n,s=c.getSelectorFromElement(t);if(s&&(n=document.querySelector(s)),n){var r=n.getBoundingClientRect();if(r.width||r.height)return[e(n)[i]().top+o,s]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},n.dispose=function(){e.removeData(this._element,"bs.scrollspy"),e(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(t){if("string"!=typeof(t=a(a({},rt),"object"==typeof t&&t?t:{})).target&&c.isElement(t.target)){var n=e(t.target).attr("id");n||(n=c.getUID(ot),e(t.target).attr("id",n)),t.target="#"+n}return c.typeCheckConfig(ot,t,at),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active":".active";i=(i=e.makeArray(e(o).find(r)))[i.length-1]}var a=e.Event("hide.bs.tab",{relatedTarget:this._element}),l=e.Event("show.bs.tab",{relatedTarget:i});if(i&&e(i).trigger(a),e(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(n=document.querySelector(s)),this._activate(this._element,o);var h=function(){var n=e.Event("hidden.bs.tab",{relatedTarget:t._element}),o=e.Event("shown.bs.tab",{relatedTarget:i});e(i).trigger(n),e(t._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},n.dispose=function(){e.removeData(this._element,"bs.tab"),this._element=null},n._activate=function(t,n,i){var o=this,s=(!n||"UL"!==n.nodeName&&"OL"!==n.nodeName?e(n).children(".active"):e(n).find("> li > .active"))[0],r=i&&s&&e(s).hasClass("fade"),a=function(){return o._transitionComplete(t,s,i)};if(s&&r){var l=c.getTransitionDurationFromElement(s);e(s).removeClass("show").one(c.TRANSITION_END,a).emulateTransitionEnd(l)}else a()},n._transitionComplete=function(t,n,i){if(n){e(n).removeClass("active");var o=e(n.parentNode).find("> .dropdown-menu .active")[0];o&&e(o).removeClass("active"),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(e(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),c.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&e(t.parentNode).hasClass("dropdown-menu")){var s=e(t).closest(".dropdown")[0];if(s){var r=[].slice.call(s.querySelectorAll(".dropdown-toggle"));e(r).addClass("active")}t.setAttribute("aria-expanded",!0)}i&&i()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.tab");if(o||(o=new t(this),i.data("bs.tab",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n]()}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}}]),t}();e(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ht._jQueryInterface.call(e(this),"show")})),e.fn.tab=ht._jQueryInterface,e.fn.tab.Constructor=ht,e.fn.tab.noConflict=function(){return e.fn.tab=ct,ht._jQueryInterface};var ut=e.fn.toast,dt={animation:"boolean",autohide:"boolean",delay:"number"},ft={animation:!0,autohide:!0,delay:500},gt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var n=t.prototype;return n.show=function(){var t=this,n=e.Event("show.bs.toast");if(e(this._element).trigger(n),!n.isDefaultPrevented()){this._config.animation&&this._element.classList.add("fade");var i=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),e(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),c.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var o=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,i).emulateTransitionEnd(o)}else i()}},n.hide=function(){if(this._element.classList.contains("show")){var t=e.Event("hide.bs.toast");e(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),e(this._element).off("click.dismiss.bs.toast"),e.removeData(this._element,"bs.toast"),this._element=null,this._config=null},n._getConfig=function(t){return t=a(a(a({},ft),e(this._element).data()),"object"==typeof t&&t?t:{}),c.typeCheckConfig("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;e(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},n._close=function(){var t=this,n=function(){t._element.classList.add("hide"),e(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var i=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,n).emulateTransitionEnd(i)}else n()},t._jQueryInterface=function(n){return this.each((function(){var i=e(this),o=i.data("bs.toast");if(o||(o=new t(this,"object"==typeof n&&n),i.data("bs.toast",o)),"string"==typeof n){if("undefined"==typeof o[n])throw new TypeError('No method named "'+n+'"');o[n](this)}}))},o(t,null,[{key:"VERSION",get:function(){return"4.5.0"}},{key:"DefaultType",get:function(){return dt}},{key:"Default",get:function(){return ft}}]),t}();e.fn.toast=gt._jQueryInterface,e.fn.toast.Constructor=gt,e.fn.toast.noConflict=function(){return e.fn.toast=ut,gt._jQueryInterface},t.Alert=d,t.Button=g,t.Carousel=E,t.Collapse=D,t.Dropdown=j,t.Modal=R,t.Popover=it,t.Scrollspy=lt,t.Tab=ht,t.Toast=gt,t.Tooltip=$,t.Util=c,Object.defineProperty(t,"__esModule",{value:!0})})); + //# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/plugins/jQuery/jquery.min.js b/plugins/jQuery/jquery.min.js new file mode 100644 index 00000000..07c00cd2 --- /dev/null +++ b/plugins/jQuery/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0=e?l():o=setTimeout(l,e-t)),s};function l(){o=0,r=+new Date,s=t.apply(i,n),i=null,n=null}};function c(){}function d(t){return parseFloat(t)||0}var m=function(){function e(i,n){t(this,e),this.x=d(i),this.y=d(n)}return i(e,null,[{key:"equals",value:function(t,e){return t.x===e.x&&t.y===e.y}}]),e}(),p=function(){function e(i,n,s,o,r){t(this,e),this.id=r,this.left=i,this.top=n,this.width=s,this.height=o}return i(e,null,[{key:"intersects",value:function(t,e){return t.left2&&void 0!==arguments[2]?arguments[2]:window.getComputedStyle(t,null),n=d(i[e]);return E()||"width"!==e?E()||"height"!==e||(n+=d(i.paddingTop)+d(i.paddingBottom)+d(i.borderTopWidth)+d(i.borderBottomWidth)):n+=d(i.paddingLeft)+d(i.paddingRight)+d(i.borderLeftWidth)+d(i.borderRightWidth),n}var b={reverse:!1,by:null,compare:null,randomize:!1,key:"element"};function S(t,e){var i=Object.assign({},b,e),n=Array.from(t),s=!1;return t.length?i.randomize?function(t){for(var e=t.length;e;){e-=1;var i=Math.floor(Math.random()*(e+1)),n=t[i];t[i]=t[e],t[e]=n}return t}(t):("function"==typeof i.by?t.sort(function(t,e){if(s)return 0;var n=i.by(t[i.key]),o=i.by(e[i.key]);return void 0===n&&void 0===o?(s=!0,0):no||"sortLast"===n||"sortFirst"===o?1:0}):"function"==typeof i.compare&&t.sort(i.compare),s?n:(i.reverse&&t.reverse(),t)):[]}var T={},k="transitionend",w=0;function C(t){return!!T[t]&&(T[t].element.removeEventListener(k,T[t].listener),T[t]=null,!0)}function L(t,e){var i=k+(w+=1),n=function(t){t.currentTarget===t.target&&(C(i),e(t))};return t.addEventListener(k,n),T[i]={element:t,listener:n},i}function D(t){return Math.max.apply(Math,t)}function z(t,e,i,n){var s=t/e;return Math.abs(Math.round(s)-s)=n-e&&t[s]<=n+e)return s;return 0}function F(t,e){var i={};t.forEach(function(t){i[t.top]?i[t.top].push(t):i[t.top]=[t]});var n=[],s=[],o=[];return Object.keys(i).forEach(function(t){var r=i[t];s.push(r);var l,a=r[r.length-1],u=a.left+a.width,h=Math.round((e-u)/2),f=r,c=!1;if(h>0){var d=[];(c=r.every(function(t){var e=new p(t.left+h,t.top,t.width,t.height,t.id),i=!n.some(function(t){return p.intersects(e,t)});return d.push(e),i}))&&(f=d)}if(!c&&r.some(function(t){return n.some(function(e){var i=p.intersects(t,e);return i&&(l=e),i})})){var m=o.findIndex(function(t){return t.includes(l)});o.splice(m,1,s[m])}n=n.concat(f),o.push(f)}),[].concat.apply([],o).sort(function(t,e){return t.id-e.id}).map(function(t){return new m(t.left,t.top)})}function x(t){return Array.from(new Set(t))}var O=0,N=function(e){function r(e){var i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t(this,r),(i=o(this,n(r).call(this))).options=Object.assign({},r.options,s),i.options.delimeter&&(i.options.delimiter=i.options.delimeter),i.lastSort={},i.group=r.ALL_ITEMS,i.lastFilter=r.ALL_ITEMS,i.isEnabled=!0,i.isDestroyed=!1,i.isInitialized=!1,i._transitions=[],i.isTransitioning=!1,i._queue=[];var l=i._getElementOption(e);if(!l)throw new TypeError("Shuffle needs to be initialized with an element.");return i.element=l,i.id="shuffle_"+O,O+=1,i._init(),i.isInitialized=!0,i}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&s(t,e)}(r,l),i(r,[{key:"_init",value:function(){if(this.items=this._getItems(),this.options.sizer=this._getElementOption(this.options.sizer),this.element.classList.add(r.Classes.BASE),this._initItems(this.items),this._onResize=this._getResizeFunction(),window.addEventListener("resize",this._onResize),"complete"!==document.readyState){var t=this.layout.bind(this);window.addEventListener("load",function e(){window.removeEventListener("load",e),t()})}var e=window.getComputedStyle(this.element,null),i=r.getSize(this.element).width;this._validateStyles(e),this._setColumns(i),this.filter(this.options.group,this.options.initialSort),this.element.offsetWidth,this.setItemTransitions(this.items),this.element.style.transition="height ".concat(this.options.speed,"ms ").concat(this.options.easing)}},{key:"_getResizeFunction",value:function(){var t=this._handleResize.bind(this);return this.options.throttle?this.options.throttle(t,this.options.throttleTime):t}},{key:"_getElementOption",value:function(t){return"string"==typeof t?this.element.querySelector(t):t&&t.nodeType&&1===t.nodeType?t:t&&t.jquery?t[0]:null}},{key:"_validateStyles",value:function(t){"static"===t.position&&(this.element.style.position="relative"),"hidden"!==t.overflow&&(this.element.style.overflow="hidden")}},{key:"_filter",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.lastFilter,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.items,i=this._getFilteredSets(t,e);return this._toggleFilterClasses(i),this.lastFilter=t,"string"==typeof t&&(this.group=t),i}},{key:"_getFilteredSets",value:function(t,e){var i=this,n=[],s=[];return t===r.ALL_ITEMS?n=e:e.forEach(function(e){i._doesPassFilter(t,e.element)?n.push(e):s.push(e)}),{visible:n,hidden:s}}},{key:"_doesPassFilter",value:function(t,e){if("function"==typeof t)return t.call(e,e,this);var i=e.getAttribute("data-"+r.FILTER_ATTRIBUTE_KEY),n=this.options.delimiter?i.split(this.options.delimiter):JSON.parse(i);function s(t){return n.includes(t)}return Array.isArray(t)?this.options.filterMode===r.FilterMode.ANY?t.some(s):t.every(s):n.includes(t)}},{key:"_toggleFilterClasses",value:function(t){var e=t.visible,i=t.hidden;e.forEach(function(t){t.show()}),i.forEach(function(t){t.hide()})}},{key:"_initItems",value:function(t){t.forEach(function(t){t.init()})}},{key:"_disposeItems",value:function(t){t.forEach(function(t){t.dispose()})}},{key:"_updateItemCount",value:function(){this.visibleItems=this._getFilteredItems().length}},{key:"setItemTransitions",value:function(t){var e=this.options,i=e.speed,n=e.easing,s=this.options.useTransforms?["transform"]:["top","left"],o=Object.keys(g.Css.HIDDEN.before).map(function(t){return t.replace(/([A-Z])/g,function(t,e){return"-".concat(e.toLowerCase())})}),r=s.concat(o).join();t.forEach(function(t){t.element.style.transitionDuration=i+"ms",t.element.style.transitionTimingFunction=n,t.element.style.transitionProperty=r})}},{key:"_getItems",value:function(){var t=this;return Array.from(this.element.children).filter(function(e){return h(e,t.options.itemSelector)}).map(function(t){return new g(t)})}},{key:"_mergeNewItems",value:function(t){var e=Array.from(this.element.children);return S(this.items.concat(t),{by:function(t){return e.indexOf(t)}})}},{key:"_getFilteredItems",value:function(){return this.items.filter(function(t){return t.isVisible})}},{key:"_getConcealedItems",value:function(){return this.items.filter(function(t){return!t.isVisible})}},{key:"_getColumnSize",value:function(t,e){var i;return 0===(i="function"==typeof this.options.columnWidth?this.options.columnWidth(t):this.options.sizer?r.getSize(this.options.sizer).width:this.options.columnWidth?this.options.columnWidth:this.items.length>0?r.getSize(this.items[0].element,!0).width:t)&&(i=t),i+e}},{key:"_getGutterSize",value:function(t){return"function"==typeof this.options.gutterWidth?this.options.gutterWidth(t):this.options.sizer?I(this.options.sizer,"marginLeft"):this.options.gutterWidth}},{key:"_setColumns",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r.getSize(this.element).width,e=this._getGutterSize(t),i=this._getColumnSize(t,e),n=(t+e)/i;Math.abs(Math.round(n)-n)1&&void 0!==arguments[1]?arguments[1]:{};this.isDestroyed||(e.shuffle=this,this.emit(t,e))}},{key:"_resetCols",value:function(){var t=this.cols;for(this.positions=[];t;)t-=1,this.positions.push(0)}},{key:"_layout",value:function(t){var e=this,i=this._getNextPositions(t),n=0;t.forEach(function(t,s){function o(){t.applyCss(g.Css.VISIBLE.after)}if(m.equals(t.point,i[s])&&!t.isHidden)return t.applyCss(g.Css.VISIBLE.before),void o();t.point=i[s],t.scale=g.Scale.VISIBLE,t.isHidden=!1;var r=e.getStylesForTransition(t,g.Css.VISIBLE.before);r.transitionDelay=e._getStaggerAmount(n)+"ms",e._queue.push({item:t,styles:r,callback:o}),n+=1})}},{key:"_getNextPositions",value:function(t){var e=this;if(this.options.isCentered){var i=t.map(function(t,i){var n=r.getSize(t.element,!0),s=e._getItemPosition(n);return new p(s.x,s.y,n.width,n.height,i)});return this.getTransformedPositions(i,this.containerWidth)}return t.map(function(t){return e._getItemPosition(r.getSize(t.element,!0))})}},{key:"_getItemPosition",value:function(t){return function(t){for(var e=t.itemSize,i=t.positions,n=t.gridSize,s=t.total,o=t.threshold,r=t.buffer,l=z(e.width,n,s,o),a=M(i,l,s),u=A(a,r),h=new m(n*u,a[u]),f=a[u]+e.height,c=0;c0&&void 0!==arguments[0]?arguments[0]:this._getConcealedItems(),i=0;e.forEach(function(e){function n(){e.applyCss(g.Css.HIDDEN.after)}if(e.isHidden)return e.applyCss(g.Css.HIDDEN.before),void n();e.scale=g.Scale.HIDDEN,e.isHidden=!0;var s=t.getStylesForTransition(e,g.Css.HIDDEN.before);s.transitionDelay=t._getStaggerAmount(i)+"ms",t._queue.push({item:e,styles:s,callback:n}),i+=1})}},{key:"_handleResize",value:function(){this.isEnabled&&!this.isDestroyed&&this.update()}},{key:"getStylesForTransition",value:function(t,e){var i=Object.assign({},e);if(this.options.useTransforms){var n=this.options.roundTransforms?Math.round(t.point.x):t.point.x,s=this.options.roundTransforms?Math.round(t.point.y):t.point.y;i.transform="translate(".concat(n,"px, ").concat(s,"px) scale(").concat(t.scale,")")}else i.left=t.point.x+"px",i.top=t.point.y+"px";return i}},{key:"_whenTransitionDone",value:function(t,e,i){var n=L(t,function(t){e(),i(null,t)});this._transitions.push(n)}},{key:"_getTransitionFunction",value:function(t){var e=this;return function(i){t.item.applyCss(t.styles),e._whenTransitionDone(t.item.element,t.callback,i)}}},{key:"_processQueue",value:function(){this.isTransitioning&&this._cancelMovement();var t=this.options.speed>0,e=this._queue.length>0;e&&t&&this.isInitialized?this._startTransitions(this._queue):e?(this._styleImmediately(this._queue),this._dispatch(r.EventType.LAYOUT)):this._dispatch(r.EventType.LAYOUT),this._queue.length=0}},{key:"_startTransitions",value:function(t){var e=this;this.isTransitioning=!0,function(t,e,i){i||("function"==typeof e?(i=e,e=null):i=c);var n=t&&t.length;if(!n)return i(null,[]);var s=!1,o=new Array(n);function r(t){return function(e,r){if(!s){if(e)return i(e,o),void(s=!0);o[t]=r,--n||i(null,o)}}}t.forEach(e?function(t,i){t.call(e,r(i))}:function(t,e){t(r(e))})}(t.map(function(t){return e._getTransitionFunction(t)}),this._movementFinished.bind(this))}},{key:"_cancelMovement",value:function(){this._transitions.forEach(C),this._transitions.length=0,this.isTransitioning=!1}},{key:"_styleImmediately",value:function(t){if(t.length){var e=t.map(function(t){return t.item.element});r._skipTransitions(e,function(){t.forEach(function(t){t.item.applyCss(t.styles),t.callback()})})}}},{key:"_movementFinished",value:function(){this._transitions.length=0,this.isTransitioning=!1,this._dispatch(r.EventType.LAYOUT)}},{key:"filter",value:function(t,e){this.isEnabled&&((!t||t&&0===t.length)&&(t=r.ALL_ITEMS),this._filter(t),this._shrink(),this._updateItemCount(),this.sort(e))}},{key:"sort",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.lastSort;if(this.isEnabled){this._resetCols();var e=S(this._getFilteredItems(),t);this._layout(e),this._processQueue(),this._setContainerSize(),this.lastSort=t}}},{key:"update",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isEnabled&&(t||this._setColumns(),this.sort())}},{key:"layout",value:function(){this.update(!0)}},{key:"add",value:function(t){var e=this,i=x(t).map(function(t){return new g(t)});this._initItems(i),this._resetCols();var n=S(this._mergeNewItems(i),this.lastSort),s=this._filter(this.lastFilter,n),o=function(t){return i.includes(t)},r=function(t){t.scale=g.Scale.HIDDEN,t.isHidden=!0,t.applyCss(g.Css.HIDDEN.before),t.applyCss(g.Css.HIDDEN.after)},l=this._getNextPositions(s.visible);s.visible.forEach(function(t,i){o(t)&&(t.point=l[i],r(t),t.applyCss(e.getStylesForTransition(t,{})))}),s.hidden.forEach(function(t){o(t)&&r(t)}),this.element.offsetWidth,this.setItemTransitions(i),this.items=this._mergeNewItems(i),this.filter(this.lastFilter)}},{key:"disable",value:function(){this.isEnabled=!1}},{key:"enable",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.isEnabled=!0,t&&this.update()}},{key:"remove",value:function(t){var e=this;if(t.length){var i=x(t),n=i.map(function(t){return e.getItemByElement(t)}).filter(function(t){return!!t});this._toggleFilterClasses({visible:[],hidden:n}),this._shrink(n),this.sort(),this.items=this.items.filter(function(t){return!n.includes(t)}),this._updateItemCount(),this.once(r.EventType.LAYOUT,function(){e._disposeItems(n),i.forEach(function(t){t.parentNode.removeChild(t)}),e._dispatch(r.EventType.REMOVED,{collection:i})})}}},{key:"getItemByElement",value:function(t){return this.items.find(function(e){return e.element===t})}},{key:"resetItems",value:function(){var t=this;this._disposeItems(this.items),this.isInitialized=!1,this.items=this._getItems(),this._initItems(this.items),this.once(r.EventType.LAYOUT,function(){t.setItemTransitions(t.items),t.isInitialized=!0}),this.filter(this.lastFilter)}},{key:"destroy",value:function(){this._cancelMovement(),window.removeEventListener("resize",this._onResize),this.element.classList.remove("shuffle"),this.element.removeAttribute("style"),this._disposeItems(this.items),this.items.length=0,this._transitions.length=0,this.options.sizer=null,this.element=null,this.isDestroyed=!0,this.isEnabled=!1}}],[{key:"getSize",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=window.getComputedStyle(t,null),n=I(t,"width",i),s=I(t,"height",i);e&&(n+=I(t,"marginLeft",i)+I(t,"marginRight",i),s+=I(t,"marginTop",i)+I(t,"marginBottom",i));return{width:n,height:s}}},{key:"_skipTransitions",value:function(t,e){var i=t.map(function(t){var e=t.style,i=e.transitionDuration,n=e.transitionDelay;return e.transitionDuration="0ms",e.transitionDelay="0ms",{duration:i,delay:n}});e(),t[0].offsetWidth,t.forEach(function(t,e){t.style.transitionDuration=i[e].duration,t.style.transitionDelay=i[e].delay})}}]),r}();return N.ShuffleItem=g,N.ALL_ITEMS="all",N.FILTER_ATTRIBUTE_KEY="groups",N.EventType={LAYOUT:"shuffle:layout",REMOVED:"shuffle:removed"},N.Classes=v,N.FilterMode={ANY:"any",ALL:"all"},N.options={group:N.ALL_ITEMS,speed:250,easing:"cubic-bezier(0.4, 0.0, 0.2, 1)",itemSelector:"*",sizer:null,gutterWidth:0,columnWidth:0,delimiter:null,buffer:0,columnThreshold:.01,initialSort:null,throttle:f,throttleTime:300,staggerAmount:15,staggerAmountMax:150,useTransforms:!0,filterMode:N.FilterMode.ANY,isCentered:!1,roundTransforms:!0},N.Point=m,N.Rect=p,N.__sorter=S,N.__getColumnSpan=z,N.__getAvailablePositions=M,N.__getShortColumn=A,N.__getCenteredPositions=F,N}); \ No newline at end of file diff --git a/plugins/slick/ajax-loader.gif b/plugins/slick/ajax-loader.gif new file mode 100644 index 00000000..e0e6e976 Binary files /dev/null and b/plugins/slick/ajax-loader.gif differ diff --git a/plugins/slick/fonts/slick.eot b/plugins/slick/fonts/slick.eot new file mode 100644 index 00000000..2cbab9ca Binary files /dev/null and b/plugins/slick/fonts/slick.eot differ diff --git a/plugins/slick/fonts/slick.svg b/plugins/slick/fonts/slick.svg new file mode 100644 index 00000000..b36a66a6 --- /dev/null +++ b/plugins/slick/fonts/slick.svg @@ -0,0 +1,14 @@ + + + +Generated by Fontastic.me + + + + + + + + + + diff --git a/plugins/slick/fonts/slick.ttf b/plugins/slick/fonts/slick.ttf new file mode 100644 index 00000000..9d03461b Binary files /dev/null and b/plugins/slick/fonts/slick.ttf differ diff --git a/plugins/slick/fonts/slick.woff b/plugins/slick/fonts/slick.woff new file mode 100644 index 00000000..8ee99721 Binary files /dev/null and b/plugins/slick/fonts/slick.woff differ diff --git a/plugins/slick/slick.css b/plugins/slick/slick.css new file mode 100644 index 00000000..0d537c93 --- /dev/null +++ b/plugins/slick/slick.css @@ -0,0 +1 @@ +.slick-list,.slick-slider,.slick-track{position:relative;display:block}.slick-loading .slick-slide,.slick-loading .slick-track{visibility:hidden}.slick-slider{box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{top:0;left:0;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none} \ No newline at end of file diff --git a/plugins/slick/slick.min.js b/plugins/slick/slick.min.js new file mode 100644 index 00000000..bd349196 --- /dev/null +++ b/plugins/slick/slick.min.js @@ -0,0 +1 @@ +!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e,t=window.Slick||{};(e=0,t=function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('

Deploy a Kamelet and a Kamelet Binding

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Date

Jul 15, 2022

Categories

Deployment, visualizer, no code, low code

On this video we create a Kamelet which is then used to create a Kamelet Binding and deploy it on an Openshift.

The creation of the Kamelet Binding is purely no code, while we use low code to create the Kamelet.

\ No newline at end of file diff --git a/portfolio/deployment-via-camelk/index.html b/portfolio/deployment-via-camelk/index.html new file mode 100644 index 00000000..2e587400 --- /dev/null +++ b/portfolio/deployment-via-camelk/index.html @@ -0,0 +1,10 @@ +No code deployment via Camel K | Kaoto +

No code deployment via Camel K

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Date

Apr 19, 2022

Categories

Deployment, visualizer, no code

On the following video we can see how to do a no code integration and deploy it in a cluster via Camel K.

First we start a new integration by selecting the first step, which is going to be a timer. This timer is going to send a message to the following step. Then we select the second step from the mini catalog. On this case, we are selecting a log step, that will just log the message sent from the previous step.

Finally we are going to deploy using the triangle button representing a “start”. We could afterwards stop the integration by clicking on the “stop” button.

\ No newline at end of file diff --git a/portfolio/helloworldklb/index.html b/portfolio/helloworldklb/index.html new file mode 100644 index 00000000..6cf4b8fe --- /dev/null +++ b/portfolio/helloworldklb/index.html @@ -0,0 +1,10 @@ +Hello World | Kaoto +

Hello World

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Date

Mar 08, 2022

Categories

Design, visualizer, code editor

On this video we can see we can drag and drop step into the integration and how to use the plus button to add intermediate and final steps. The source code at the left is modified every time we edit the graphical integration.

\ No newline at end of file diff --git a/portfolio/index.html b/portfolio/index.html new file mode 100644 index 00000000..d6db9695 --- /dev/null +++ b/portfolio/index.html @@ -0,0 +1,20 @@ +Use Cases | Kaoto +

Use Cases

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
Deploy a Kamelet and a Kamelet Binding
No code deployment via Camel K
Kaoto visual editor
Hello World
client-logo
\ No newline at end of file diff --git a/portfolio/index.xml b/portfolio/index.xml new file mode 100644 index 00000000..83422450 --- /dev/null +++ b/portfolio/index.xml @@ -0,0 +1 @@ +Use Cases on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/portfolio/Recent content in Use Cases on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usFri, 15 Jul 2022 12:13:34 +0600Deploy a Kamelet and a Kamelet Bindinghttps://kaoto.io/portfolio/2022-07-15-kamelet-creation/Fri, 15 Jul 2022 12:13:34 +0600https://kaoto.io/portfolio/2022-07-15-kamelet-creation/On this video we create a Kamelet which is then used to create a Kamelet Binding and deploy it on an Openshift.No code deployment via Camel Khttps://kaoto.io/portfolio/deployment-via-camelk/Tue, 19 Apr 2022 12:14:34 +0600https://kaoto.io/portfolio/deployment-via-camelk/On the following video we can see how to do a no code integration and deploy it in a cluster via Camel K.Kaoto visual editorhttps://kaoto.io/portfolio/visualeditorinaction/Wed, 16 Mar 2022 12:14:34 +0600https://kaoto.io/portfolio/visualeditorinaction/Hello Worldhttps://kaoto.io/portfolio/helloworldklb/Tue, 08 Mar 2022 12:14:34 +0600https://kaoto.io/portfolio/helloworldklb/On this video we can see we can drag and drop step into the integration and how to use the plus button to add intermediate and final steps.Building Blockshttps://kaoto.io/portfolio/stepcatalogdetailed/Fri, 12 Nov 2021 12:14:34 +0600https://kaoto.io/portfolio/stepcatalogdetailed/Step Cataloghttps://kaoto.io/portfolio/stepcatalog/Fri, 12 Nov 2021 12:14:34 +0600https://kaoto.io/portfolio/stepcatalog/ \ No newline at end of file diff --git a/portfolio/stepcatalog/index.html b/portfolio/stepcatalog/index.html new file mode 100644 index 00000000..16fca386 --- /dev/null +++ b/portfolio/stepcatalog/index.html @@ -0,0 +1,9 @@ +Step Catalog | Kaoto +

Step Catalog

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Date

Nov 12, 2021

Categories

Design, visualizer, step catalog

\ No newline at end of file diff --git a/portfolio/stepcatalogdetailed/index.html b/portfolio/stepcatalogdetailed/index.html new file mode 100644 index 00000000..aa534e0f --- /dev/null +++ b/portfolio/stepcatalogdetailed/index.html @@ -0,0 +1,9 @@ +Building Blocks | Kaoto +

Building Blocks

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Date

Nov 12, 2021

Categories

Step catalog

\ No newline at end of file diff --git a/portfolio/visualeditorinaction/index.html b/portfolio/visualeditorinaction/index.html new file mode 100644 index 00000000..3b0971e3 --- /dev/null +++ b/portfolio/visualeditorinaction/index.html @@ -0,0 +1,10 @@ +Kaoto visual editor | Kaoto +

Kaoto visual editor

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Date

Mar 16, 2022

Categories

Design, visualizer, code editor

\ No newline at end of file diff --git a/roadmap/generated-milestone-2.0.0/index.html b/roadmap/generated-milestone-2.0.0/index.html new file mode 100644 index 00000000..b63b8d5a --- /dev/null +++ b/roadmap/generated-milestone-2.0.0/index.html @@ -0,0 +1,15 @@ +Milestone 2.0.0 | Kaoto +

Milestone 2.0.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Published on 19 Dec 2023 by

Milestone 2.0.0 + (Open: 17 Closed: 226)

Expected delivery: 01/24/2024

Description

- support all the features that were supported in Kaoto v1 (without REST editing in UI)
+- provide a VS Code extension for the new Kaoto replacing the existing one
+- full support for expressions and dataformats configuration
+- support Camel Routes, Pipes and Kamelets using YAML notation
+- provide commands in VS Code to allow users to create Rest DSL and Routes by importing an openAPI schema
+

Issues


\ No newline at end of file diff --git a/roadmap/generated-milestone-2.1.0/index.html b/roadmap/generated-milestone-2.1.0/index.html new file mode 100644 index 00000000..0ef9cb48 --- /dev/null +++ b/roadmap/generated-milestone-2.1.0/index.html @@ -0,0 +1,12 @@ +Milestone 2.1.0 | Kaoto +

Milestone 2.1.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/roadmap/index.html b/roadmap/index.html new file mode 100644 index 00000000..df44b768 --- /dev/null +++ b/roadmap/index.html @@ -0,0 +1,18 @@ +Roadmap | Kaoto +

Roadmap

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Milestone 2.0.0 + (Open: 17 Closed: 226)

Expected delivery: 01/24/2024

Description

- support all the features that were supported in Kaoto v1 (without REST editing in UI)
+- provide a VS Code extension for the new Kaoto replacing the existing one
+- full support for expressions and dataformats configuration
+- support Camel Routes, Pipes and Kamelets using YAML notation
+- provide commands in VS Code to allow users to create Rest DSL and Routes by importing an openAPI schema
+

Issues


\ No newline at end of file diff --git a/roadmap/index.xml b/roadmap/index.xml new file mode 100644 index 00000000..3204b968 --- /dev/null +++ b/roadmap/index.xml @@ -0,0 +1,5 @@ +Roadmap on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/roadmap/Recent content in Roadmap on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usTue, 19 Dec 2023 00:00:00 +0000Milestone 2.0.0https://kaoto.io/roadmap/generated-milestone-2.0.0/Tue, 19 Dec 2023 00:00:00 +0000https://kaoto.io/roadmap/generated-milestone-2.0.0/Milestone 2.0.0 (Open: 17 Closed: 226) +Expected delivery: 01/24/2024 +DescriptionMilestone 2.1.0https://kaoto.io/roadmap/generated-milestone-2.1.0/Tue, 19 Dec 2023 00:00:00 +0000https://kaoto.io/roadmap/generated-milestone-2.1.0/Milestone 2.1.0 (Open: 23 Closed: 0) +Expected delivery: 02/21/2024 +Description \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..be03908e --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://kaoto.io/2023-12-19T00:00:00+00:00https://kaoto.io/roadmap/generated-milestone-2.0.0/2023-12-19T00:00:00+00:00https://kaoto.io/roadmap/generated-milestone-2.1.0/2023-12-19T00:00:00+00:00https://kaoto.io/roadmap/2023-12-19T00:00:00+00:00https://kaoto.io/timeline/generated-release-2023-12-18-132400+0000/2023-12-18T13:24:00+00:00https://kaoto.io/timeline/2023-12-18T13:24:00+00:00https://kaoto.io/timeline/generated-release-2023-12-08-071731+0000/2023-12-08T07:17:31+00:00https://kaoto.io/timeline/generated-release-2023-12-06-171328+0000/2023-12-06T17:13:28+00:00https://kaoto.io/timeline/generated-release-2023-12-06-171314+0000/2023-12-06T17:13:14+00:00https://kaoto.io/timeline/generated-release-2023-12-06-171258+0000/2023-12-06T17:12:58+00:00https://kaoto.io/timeline/generated-release-2023-12-06-171237+0000/2023-12-06T17:12:37+00:00https://kaoto.io/timeline/generated-release-2023-12-06-171215+0000/2023-12-06T17:12:15+00:00https://kaoto.io/timeline/generated-release-2023-12-06-171157+0000/2023-12-06T17:11:57+00:00https://kaoto.io/timeline/generated-release-2023-12-06-171135+0000/2023-12-06T17:11:35+00:00https://kaoto.io/timeline/generated-release-2023-11-29-133343+0000/2023-11-29T13:33:43+00:00https://kaoto.io/timeline/generated-release-2023-11-28-165709+0000/2023-11-28T16:57:09+00:00https://kaoto.io/timeline/generated-release-2023-11-28-165643+0000/2023-11-28T16:56:43+00:00https://kaoto.io/timeline/generated-release-2023-11-28-165440+0000/2023-11-28T16:54:40+00:00https://kaoto.io/timeline/generated-contributor-shivamgu/2023-11-22T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-corners2wall/2023-11-08T00:00:00+00:00https://kaoto.io/timeline/generated-release-2023-10-17-121156+0000/2023-10-17T12:11:56+00:00https://kaoto.io/timeline/generated-release-2023-10-16-093236+0000/2023-10-16T09:32:36+00:00https://kaoto.io/timeline/generated-release-2023-10-16-080954+0000/2023-10-16T08:09:54+00:00https://kaoto.io/timeline/generated-release-2023-10-06-075924+0000/2023-10-06T07:59:24+00:00https://kaoto.io/timeline/generated-release-2023-10-02-090635+0000/2023-10-02T09:06:35+00:00https://kaoto.io/timeline/generated-release-2023-10-01-135913+0000/2023-10-01T13:59:13+00:00https://kaoto.io/timeline/generated-release-2023-10-01-135855+0000/2023-10-01T13:58:55+00:00https://kaoto.io/timeline/generated-release-2023-09-15-124502+0000/2023-09-15T12:45:02+00:00https://kaoto.io/timeline/generated-release-2023-09-14-144325+0000/2023-09-14T14:43:25+00:00https://kaoto.io/timeline/generated-release-2023-08-24-133223+0000/2023-08-24T13:32:23+00:00https://kaoto.io/timeline/generated-release-2023-08-24-103357+0000/2023-08-24T10:33:57+00:00https://kaoto.io/timeline/generated-release-2023-08-24-082007+0000/2023-08-24T08:20:07+00:00https://kaoto.io/timeline/generated-contributor-eerkmen/2023-08-23T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-efe-erkmen/2023-08-23T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-lars-heinemann/2023-08-12T00:00:00+00:00https://kaoto.io/timeline/generated-release-2023-07-24-080234+0000/2023-07-24T08:02:34+00:00https://kaoto.io/blog/2023-07-21T11:00:00+02:00https://kaoto.io/blog/2023-07-21/2023-07-21T11:00:00+02:00https://kaoto.io/timeline/generated-release-2023-07-21-084346+0000/2023-07-21T08:43:46+00:00https://kaoto.io/timeline/generated-release-2023-07-21-072500+0000/2023-07-21T07:25:00+00:00https://kaoto.io/timeline/generated-release-2023-07-17-042659+0000/2023-07-17T04:26:59+00:00https://kaoto.io/timeline/generated-release-2023-07-14-104846+0000/2023-07-14T10:48:46+00:00https://kaoto.io/timeline/generated-release-2023-07-14-102442+0000/2023-07-14T10:24:42+00:00https://kaoto.io/timeline/generated-contributor-luca-burgazzoli/2023-07-06T00:00:00+00:00https://kaoto.io/timeline/generated-release-2023-07-03-084147+0000/2023-07-03T08:41:47+00:00https://kaoto.io/timeline/generated-release-2023-06-30-094316+0000/2023-06-30T09:43:16+00:00https://kaoto.io/categories/2023-06-19T00:00:00+00:00https://kaoto.io/docs/2023-06-19T00:00:00+00:00https://kaoto.io/docs/quickstart/2023-06-19T00:00:00+00:00https://kaoto.io/categories/user/2023-06-19T00:00:00+00:00https://kaoto.io/docs/user-guide/2023-06-19T00:00:00+00:00https://kaoto.io/timeline/generated-release-2023-06-15-112121+0000/2023-06-15T11:21:21+00:00https://kaoto.io/timeline/generated-contributor-matej-kr%C3%A1lik/2023-05-19T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-dominik-jel%C3%ADnek/2023-05-18T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-mkralik3/2023-05-10T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-martin-muzikar/2023-05-05T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-purva-naik/2023-04-17T00:00:00+00:00https://kaoto.io/blog/2023-04-13/2023-04-13T13:48:11+02:00https://kaoto.io/timeline/generated-release-2023-04-11-150443+0000/2023-04-11T15:04:43+00:00https://kaoto.io/timeline/generated-release-2023-04-11-115727+0000/2023-04-11T11:57:27+00:00https://kaoto.io/timeline/generated-contributor-dominik-jelinek/2023-04-05T00:00:00+00:00https://kaoto.io/timeline/generated-release-2023-04-04-142232+0000/2023-04-04T14:22:32+00:00https://kaoto.io/timeline/generated-release-2023-04-04-134237+0000/2023-04-04T13:42:37+00:00https://kaoto.io/timeline/generated-release-2023-03-30-151015+0000/2023-03-30T15:10:15+00:00https://kaoto.io/timeline/generated-release-2023-03-30-150810+0000/2023-03-30T15:08:10+00:00https://kaoto.io/timeline/generated-release-2023-03-27-073322+0000/2023-03-27T07:33:22+00:00https://kaoto.io/timeline/generated-release-2023-03-27-072848+0000/2023-03-27T07:28:48+00:00https://kaoto.io/timeline/generated-release-2023-03-21-135409+0000/2023-03-21T13:54:09+00:00https://kaoto.io/timeline/generated-release-2023-03-21-104852+0000/2023-03-21T10:48:52+00:00https://kaoto.io/timeline/generated-release-2023-03-20-114306+0000/2023-03-20T11:43:06+00:00https://kaoto.io/timeline/generated-release-2023-03-20-114026+0000/2023-03-20T11:40:26+00:00https://kaoto.io/timeline/generated-release-2023-03-13-100132+0000/2023-03-13T10:01:32+00:00https://kaoto.io/timeline/generated-release-2023-03-13-095103+0000/2023-03-13T09:51:03+00:00https://kaoto.io/timeline/generated-contributor-antonin-stefanutti/2023-03-13T00:00:00+00:00https://kaoto.io/categories/beginner/2023-03-12T12:14:34+06:00https://kaoto.io/workshop/beginner-file/2023-03-12T12:14:34+06:00https://kaoto.io/workshop/2023-03-12T12:14:34+06:00https://kaoto.io/workshop/intermediate-kamelet/2023-03-11T12:14:34+06:00https://kaoto.io/categories/intermediate/2023-03-11T12:14:34+06:00https://kaoto.io/workshop/beginner-camel-choice/2023-03-10T12:14:34+06:00https://kaoto.io/timeline/generated-release-2023-03-06-094832+0000/2023-03-06T09:48:32+00:00https://kaoto.io/timeline/generated-release-2023-03-06-094149+0000/2023-03-06T09:41:49+00:00https://kaoto.io/timeline/generated-release-2023-02-28-123417+0000/2023-02-28T12:34:17+00:00https://kaoto.io/timeline/generated-release-2023-02-28-120103+0000/2023-02-28T12:01:03+00:00https://kaoto.io/timeline/generated-contributor-mikhail-abramov/2023-02-23T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-helio-frota/2023-02-21T00:00:00+00:00https://kaoto.io/timeline/generated-release-2023-02-15-140607+0000/2023-02-15T14:06:07+00:00https://kaoto.io/timeline/generated-contributor-tomas-plevko/2023-01-31T00:00:00+00:00https://kaoto.io/timeline/generated-release-2023-01-26-142932+0000/2023-01-26T14:29:32+00:00https://kaoto.io/timeline/generated-release-2023-01-25-094307+0000/2023-01-25T09:43:07+00:00https://kaoto.io/timeline/generated-release-2023-01-23-155947+0000/2023-01-23T15:59:47+00:00https://kaoto.io/timeline/generated-release-2023-01-23-151912+0000/2023-01-23T15:19:12+00:00https://kaoto.io/timeline/generated-contributor-javier-l%C3%B3pez-de-ancos/2023-01-04T00:00:00+00:00https://kaoto.io/timeline/generated-release-2022-12-14-115143+0000/2022-12-14T11:51:43+00:00https://kaoto.io/timeline/generated-release-2022-12-13-115357+0000/2022-12-13T11:53:57+00:00https://kaoto.io/timeline/generated-contributor-tplevko/2022-12-13T00:00:00+00:00https://kaoto.io/timeline/generated-release-2022-12-07-112727+0000/2022-12-07T11:27:27+00:00https://kaoto.io/timeline/generated-release-2022-11-30-142908+0000/2022-11-30T14:29:08+00:00https://kaoto.io/timeline/generated-release-2022-11-28-091734+0000/2022-11-28T09:17:34+00:00https://kaoto.io/timeline/generated-release-2022-11-24-084005+0000/2022-11-24T08:40:05+00:00https://kaoto.io/timeline/generated-release-2022-11-15-154943+0000/2022-11-15T15:49:43+00:00https://kaoto.io/timeline/generated-release-2022-11-14-150818+0000/2022-11-14T15:08:18+00:00https://kaoto.io/timeline/generated-contributor-ricardo-m/2022-11-09T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-ricardo-m./2022-11-09T00:00:00+00:00https://kaoto.io/timeline/generated-release-2022-11-08-135627+0000/2022-11-08T13:56:27+00:00https://kaoto.io/timeline/generated-release-2022-11-07-163724+0000/2022-11-07T16:37:24+00:00https://kaoto.io/timeline/generated-release-2022-11-07-162442+0000/2022-11-07T16:24:42+00:00https://kaoto.io/timeline/generated-contributor-asish-abraham-joseph/2022-10-01T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-jos%C3%A9-r%C3%A1ez-rodr%C3%ADguez/2022-09-15T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-joshiraez/2022-09-15T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-thiago-lugli/2022-09-09T00:00:00+00:00https://kaoto.io/timeline/generated-release-2022-09-07-095742+0000/2022-09-07T09:57:42+00:00https://kaoto.io/timeline/generated-release-2022-09-06-084454+0000/2022-09-06T08:44:54+00:00https://kaoto.io/timeline/generated-release-2022-09-02-073434+0000/2022-09-02T07:34:34+00:00https://kaoto.io/timeline/generated-contributor-kahboom/2022-08-31T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-tomohisa-igarashi/2022-08-31T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-eray.erdem/2022-08-26T00:00:00+00:00https://kaoto.io/portfolio/2022-07-15-kamelet-creation/2022-07-15T12:13:34+06:00https://kaoto.io/categories/deployment/2022-07-15T12:13:34+06:00https://kaoto.io/categories/low-code/2022-07-15T12:13:34+06:00https://kaoto.io/categories/no-code/2022-07-15T12:13:34+06:00https://kaoto.io/portfolio/2022-07-15T12:13:34+06:00https://kaoto.io/categories/visualizer/2022-07-15T12:13:34+06:00https://kaoto.io/timeline/generated-contributor-croway/2022-06-22T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-mohammadi-iram/2022-05-24T00:00:00+00:00https://kaoto.io/portfolio/deployment-via-camelk/2022-04-19T12:14:34+06:00https://kaoto.io/timeline/generated-contributor-selma/2022-04-03T00:00:00+00:00https://kaoto.io/timeline/generated-release-2022-03-31-102012+0000/2022-03-31T10:20:12+00:00https://kaoto.io/timeline/generated-contributor-evan-shortiss/2022-03-17T00:00:00+00:00https://kaoto.io/timeline/generated-release-2022-03-16-153313+0000/2022-03-16T15:33:13+00:00https://kaoto.io/timeline/generated-release-2022-03-16-123750+0000/2022-03-16T12:37:50+00:00https://kaoto.io/blog/2022-03-16/2022-03-16T13:40:11+06:00https://kaoto.io/categories/code-editor/2022-03-16T12:14:34+06:00https://kaoto.io/categories/design/2022-03-16T12:14:34+06:00https://kaoto.io/portfolio/visualeditorinaction/2022-03-16T12:14:34+06:00https://kaoto.io/portfolio/helloworldklb/2022-03-08T12:14:34+06:00https://kaoto.io/timeline/generated-contributor-matej-melko/2022-02-22T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-mmelko/2022-02-22T00:00:00+00:00https://kaoto.io/blog/2022-02-10/2022-02-10T00:50:11+06:00https://kaoto.io/timeline/generated-contributor-almen-ng/2022-02-02T00:00:00+00:00https://kaoto.io/timeline/generated-release-2021-11-26-083308+0000/2021-11-26T08:33:08+00:00https://kaoto.io/blog/2021-10-15/2021-11-24T23:50:11+06:00https://kaoto.io/portfolio/stepcatalogdetailed/2021-11-12T12:14:34+06:00https://kaoto.io/categories/step-catalog/2021-11-12T12:14:34+06:00https://kaoto.io/portfolio/stepcatalog/2021-11-12T12:14:34+06:00https://kaoto.io/timeline/generated-contributor-aur%C3%A9lien-pupier/2021-09-24T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-zineb-bendhiba/2021-07-01T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-mar%C3%ADa-arias-de-reyna/2021-06-18T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-mar%C3%ADa-arias-de-reyna-dom%C3%ADnguez/2021-06-18T00:00:00+00:00https://kaoto.io/timeline/generated-contributor-rachel-yord%C3%A1n/2021-06-18T00:00:00+00:00https://kaoto.io/timeline/creation/2021-04-06T00:00:00+00:00https://kaoto.io/about/https://kaoto.io/tags/ \ No newline at end of file diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 00000000..4f065650 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,9 @@ +Tags | Kaoto +

Tags

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/tags/index.xml b/tags/index.xml new file mode 100644 index 00000000..d2c40c67 --- /dev/null +++ b/tags/index.xml @@ -0,0 +1 @@ +Tags on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/tags/Recent content in Tags on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-us \ No newline at end of file diff --git a/timeline/creation/index.html b/timeline/creation/index.html new file mode 100644 index 00000000..78f6b5e4 --- /dev/null +++ b/timeline/creation/index.html @@ -0,0 +1,12 @@ +Kaoto was born | Kaoto +

Kaoto was born

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Kaoto was born on a virtual coffee with Zineb +, Rachel +, and María +. It was initially called ZiMaRa to commemorate its three creators.

\ No newline at end of file diff --git a/timeline/generated-contributor-almen-ng/index.html b/timeline/generated-contributor-almen-ng/index.html new file mode 100644 index 00000000..0c676be3 --- /dev/null +++ b/timeline/generated-contributor-almen-ng/index.html @@ -0,0 +1,9 @@ +Almen Ng | Kaoto +

Almen Ng

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Almen Ng made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-antonin-stefanutti/index.html b/timeline/generated-contributor-antonin-stefanutti/index.html new file mode 100644 index 00000000..ecb807fe --- /dev/null +++ b/timeline/generated-contributor-antonin-stefanutti/index.html @@ -0,0 +1,9 @@ +Antonin Stefanutti | Kaoto +

Antonin Stefanutti

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Antonin Stefanutti made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-asish-abraham-joseph/index.html b/timeline/generated-contributor-asish-abraham-joseph/index.html new file mode 100644 index 00000000..92c94368 --- /dev/null +++ b/timeline/generated-contributor-asish-abraham-joseph/index.html @@ -0,0 +1,9 @@ +Asish Abraham Joseph | Kaoto +

Asish Abraham Joseph

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Asish Abraham Joseph made their first commit on Kaoto!

\ No newline at end of file diff --git "a/timeline/generated-contributor-aur\303\251lien-pupier/index.html" "b/timeline/generated-contributor-aur\303\251lien-pupier/index.html" new file mode 100644 index 00000000..46f23a9a --- /dev/null +++ "b/timeline/generated-contributor-aur\303\251lien-pupier/index.html" @@ -0,0 +1,9 @@ +Aurélien Pupier | Kaoto +

Aurélien Pupier

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Aurélien Pupier made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-corners2wall/index.html b/timeline/generated-contributor-corners2wall/index.html new file mode 100644 index 00000000..5ac6621f --- /dev/null +++ b/timeline/generated-contributor-corners2wall/index.html @@ -0,0 +1,9 @@ +corners2wall | Kaoto +

corners2wall

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

corners2wall made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-croway/index.html b/timeline/generated-contributor-croway/index.html new file mode 100644 index 00000000..a4009cea --- /dev/null +++ b/timeline/generated-contributor-croway/index.html @@ -0,0 +1,9 @@ +Croway | Kaoto +

Croway

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Croway made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-dominik-jelinek/index.html b/timeline/generated-contributor-dominik-jelinek/index.html new file mode 100644 index 00000000..a8558ffb --- /dev/null +++ b/timeline/generated-contributor-dominik-jelinek/index.html @@ -0,0 +1,9 @@ +Dominik Jelinek | Kaoto +

Dominik Jelinek

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Dominik Jelinek made their first commit on Kaoto!

\ No newline at end of file diff --git "a/timeline/generated-contributor-dominik-jel\303\255nek/index.html" "b/timeline/generated-contributor-dominik-jel\303\255nek/index.html" new file mode 100644 index 00000000..1311ac6e --- /dev/null +++ "b/timeline/generated-contributor-dominik-jel\303\255nek/index.html" @@ -0,0 +1,9 @@ +Dominik Jelínek | Kaoto +

Dominik Jelínek

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Dominik Jelínek made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-eerkmen/index.html b/timeline/generated-contributor-eerkmen/index.html new file mode 100644 index 00000000..8e17654b --- /dev/null +++ b/timeline/generated-contributor-eerkmen/index.html @@ -0,0 +1,9 @@ +eerkmen | Kaoto +

eerkmen

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

eerkmen made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-efe-erkmen/index.html b/timeline/generated-contributor-efe-erkmen/index.html new file mode 100644 index 00000000..660b0aee --- /dev/null +++ b/timeline/generated-contributor-efe-erkmen/index.html @@ -0,0 +1,9 @@ +Efe Erkmen | Kaoto +

Efe Erkmen

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Efe Erkmen made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-eray.erdem/index.html b/timeline/generated-contributor-eray.erdem/index.html new file mode 100644 index 00000000..b13d812d --- /dev/null +++ b/timeline/generated-contributor-eray.erdem/index.html @@ -0,0 +1,9 @@ +eray.erdem | Kaoto +

eray.erdem

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

eray.erdem made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-evan-shortiss/index.html b/timeline/generated-contributor-evan-shortiss/index.html new file mode 100644 index 00000000..03eaec74 --- /dev/null +++ b/timeline/generated-contributor-evan-shortiss/index.html @@ -0,0 +1,9 @@ +Evan Shortiss | Kaoto +

Evan Shortiss

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Evan Shortiss made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-helio-frota/index.html b/timeline/generated-contributor-helio-frota/index.html new file mode 100644 index 00000000..ac96ba9d --- /dev/null +++ b/timeline/generated-contributor-helio-frota/index.html @@ -0,0 +1,9 @@ +Helio Frota | Kaoto +

Helio Frota

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Helio Frota made their first commit on Kaoto!

\ No newline at end of file diff --git "a/timeline/generated-contributor-javier-l\303\263pez-de-ancos/index.html" "b/timeline/generated-contributor-javier-l\303\263pez-de-ancos/index.html" new file mode 100644 index 00000000..10b3a7f0 --- /dev/null +++ "b/timeline/generated-contributor-javier-l\303\263pez-de-ancos/index.html" @@ -0,0 +1,9 @@ +Javier López de Ancos | Kaoto +

Javier López de Ancos

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Javier López de Ancos made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-joshiraez/index.html b/timeline/generated-contributor-joshiraez/index.html new file mode 100644 index 00000000..a1eccb74 --- /dev/null +++ b/timeline/generated-contributor-joshiraez/index.html @@ -0,0 +1,9 @@ +JoshiRaez | Kaoto +

JoshiRaez

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

JoshiRaez made their first commit on Kaoto!

\ No newline at end of file diff --git "a/timeline/generated-contributor-jos\303\251-r\303\241ez-rodr\303\255guez/index.html" "b/timeline/generated-contributor-jos\303\251-r\303\241ez-rodr\303\255guez/index.html" new file mode 100644 index 00000000..8e55943f --- /dev/null +++ "b/timeline/generated-contributor-jos\303\251-r\303\241ez-rodr\303\255guez/index.html" @@ -0,0 +1,9 @@ +José Ráez Rodríguez | Kaoto +

José Ráez Rodríguez

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

José Ráez Rodríguez made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-kahboom/index.html b/timeline/generated-contributor-kahboom/index.html new file mode 100644 index 00000000..ce8db953 --- /dev/null +++ b/timeline/generated-contributor-kahboom/index.html @@ -0,0 +1,9 @@ +kahboom | Kaoto +

kahboom

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

kahboom made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-lars-heinemann/index.html b/timeline/generated-contributor-lars-heinemann/index.html new file mode 100644 index 00000000..44a706dd --- /dev/null +++ b/timeline/generated-contributor-lars-heinemann/index.html @@ -0,0 +1,9 @@ +Lars Heinemann | Kaoto +

Lars Heinemann

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Lars Heinemann made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-luca-burgazzoli/index.html b/timeline/generated-contributor-luca-burgazzoli/index.html new file mode 100644 index 00000000..b0d60e19 --- /dev/null +++ b/timeline/generated-contributor-luca-burgazzoli/index.html @@ -0,0 +1,9 @@ +Luca Burgazzoli | Kaoto +

Luca Burgazzoli

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Luca Burgazzoli made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-martin-muzikar/index.html b/timeline/generated-contributor-martin-muzikar/index.html new file mode 100644 index 00000000..f607fb2a --- /dev/null +++ b/timeline/generated-contributor-martin-muzikar/index.html @@ -0,0 +1,9 @@ +Martin Muzikar | Kaoto +

Martin Muzikar

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Martin Muzikar made their first commit on Kaoto!

\ No newline at end of file diff --git "a/timeline/generated-contributor-mar\303\255a-arias-de-reyna-dom\303\255nguez/index.html" "b/timeline/generated-contributor-mar\303\255a-arias-de-reyna-dom\303\255nguez/index.html" new file mode 100644 index 00000000..32805da0 --- /dev/null +++ "b/timeline/generated-contributor-mar\303\255a-arias-de-reyna-dom\303\255nguez/index.html" @@ -0,0 +1,9 @@ +María Arias de Reyna Domínguez | Kaoto +

María Arias de Reyna Domínguez

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

María Arias de Reyna Domínguez made their first commit on Kaoto!

\ No newline at end of file diff --git "a/timeline/generated-contributor-mar\303\255a-arias-de-reyna/index.html" "b/timeline/generated-contributor-mar\303\255a-arias-de-reyna/index.html" new file mode 100644 index 00000000..52a3cba9 --- /dev/null +++ "b/timeline/generated-contributor-mar\303\255a-arias-de-reyna/index.html" @@ -0,0 +1,9 @@ +María Arias de Reyna | Kaoto +

María Arias de Reyna

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

María Arias de Reyna made their first commit on Kaoto!

\ No newline at end of file diff --git "a/timeline/generated-contributor-matej-kr\303\241lik/index.html" "b/timeline/generated-contributor-matej-kr\303\241lik/index.html" new file mode 100644 index 00000000..2084e2ea --- /dev/null +++ "b/timeline/generated-contributor-matej-kr\303\241lik/index.html" @@ -0,0 +1,9 @@ +Matej Králik | Kaoto +

Matej Králik

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Matej Králik made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-matej-melko/index.html b/timeline/generated-contributor-matej-melko/index.html new file mode 100644 index 00000000..10d89fbc --- /dev/null +++ b/timeline/generated-contributor-matej-melko/index.html @@ -0,0 +1,9 @@ +Matej Melko | Kaoto +

Matej Melko

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Matej Melko made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-mikhail-abramov/index.html b/timeline/generated-contributor-mikhail-abramov/index.html new file mode 100644 index 00000000..b0cc30cb --- /dev/null +++ b/timeline/generated-contributor-mikhail-abramov/index.html @@ -0,0 +1,9 @@ +Mikhail Abramov | Kaoto +

Mikhail Abramov

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Mikhail Abramov made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-mkralik3/index.html b/timeline/generated-contributor-mkralik3/index.html new file mode 100644 index 00000000..6d9b62b8 --- /dev/null +++ b/timeline/generated-contributor-mkralik3/index.html @@ -0,0 +1,9 @@ +mkralik3 | Kaoto +

mkralik3

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

mkralik3 made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-mmelko/index.html b/timeline/generated-contributor-mmelko/index.html new file mode 100644 index 00000000..c0fd93af --- /dev/null +++ b/timeline/generated-contributor-mmelko/index.html @@ -0,0 +1,9 @@ +mmelko | Kaoto +

mmelko

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

mmelko made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-mohammadi-iram/index.html b/timeline/generated-contributor-mohammadi-iram/index.html new file mode 100644 index 00000000..7ccaccf2 --- /dev/null +++ b/timeline/generated-contributor-mohammadi-iram/index.html @@ -0,0 +1,9 @@ +Mohammadi Iram | Kaoto +

Mohammadi Iram

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Mohammadi Iram made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-purva-naik/index.html b/timeline/generated-contributor-purva-naik/index.html new file mode 100644 index 00000000..4f1743c1 --- /dev/null +++ b/timeline/generated-contributor-purva-naik/index.html @@ -0,0 +1,9 @@ +Purva Naik | Kaoto +

Purva Naik

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Purva Naik made their first commit on Kaoto!

\ No newline at end of file diff --git "a/timeline/generated-contributor-rachel-yord\303\241n/index.html" "b/timeline/generated-contributor-rachel-yord\303\241n/index.html" new file mode 100644 index 00000000..46a43ec4 --- /dev/null +++ "b/timeline/generated-contributor-rachel-yord\303\241n/index.html" @@ -0,0 +1,9 @@ +Rachel Yordán | Kaoto +

Rachel Yordán

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Rachel Yordán made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-ricardo-m./index.html b/timeline/generated-contributor-ricardo-m./index.html new file mode 100644 index 00000000..b0cc7daa --- /dev/null +++ b/timeline/generated-contributor-ricardo-m./index.html @@ -0,0 +1,9 @@ +Ricardo M. | Kaoto +

Ricardo M.

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Ricardo M. made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-ricardo-m/index.html b/timeline/generated-contributor-ricardo-m/index.html new file mode 100644 index 00000000..453b1f97 --- /dev/null +++ b/timeline/generated-contributor-ricardo-m/index.html @@ -0,0 +1,9 @@ +Ricardo M | Kaoto +

Ricardo M

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Ricardo M made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-selma/index.html b/timeline/generated-contributor-selma/index.html new file mode 100644 index 00000000..5b69299f --- /dev/null +++ b/timeline/generated-contributor-selma/index.html @@ -0,0 +1,9 @@ +Selma | Kaoto +

Selma

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Selma made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-shivamgu/index.html b/timeline/generated-contributor-shivamgu/index.html new file mode 100644 index 00000000..f72bb395 --- /dev/null +++ b/timeline/generated-contributor-shivamgu/index.html @@ -0,0 +1,9 @@ +shivamgu | Kaoto +

shivamgu

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

shivamgu made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-thiago-lugli/index.html b/timeline/generated-contributor-thiago-lugli/index.html new file mode 100644 index 00000000..bf0612af --- /dev/null +++ b/timeline/generated-contributor-thiago-lugli/index.html @@ -0,0 +1,9 @@ +Thiago Lugli | Kaoto +

Thiago Lugli

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Thiago Lugli made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-tomas-plevko/index.html b/timeline/generated-contributor-tomas-plevko/index.html new file mode 100644 index 00000000..64fcf63d --- /dev/null +++ b/timeline/generated-contributor-tomas-plevko/index.html @@ -0,0 +1,9 @@ +Tomas Plevko | Kaoto +

Tomas Plevko

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Tomas Plevko made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-tomohisa-igarashi/index.html b/timeline/generated-contributor-tomohisa-igarashi/index.html new file mode 100644 index 00000000..4aad50cc --- /dev/null +++ b/timeline/generated-contributor-tomohisa-igarashi/index.html @@ -0,0 +1,9 @@ +Tomohisa Igarashi | Kaoto +

Tomohisa Igarashi

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Tomohisa Igarashi made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-tplevko/index.html b/timeline/generated-contributor-tplevko/index.html new file mode 100644 index 00000000..420f27fa --- /dev/null +++ b/timeline/generated-contributor-tplevko/index.html @@ -0,0 +1,9 @@ +tplevko | Kaoto +

tplevko

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

tplevko made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-contributor-zineb-bendhiba/index.html b/timeline/generated-contributor-zineb-bendhiba/index.html new file mode 100644 index 00000000..687a33bf --- /dev/null +++ b/timeline/generated-contributor-zineb-bendhiba/index.html @@ -0,0 +1,9 @@ +Zineb Bendhiba | Kaoto +

Zineb Bendhiba

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Zineb Bendhiba made their first commit on Kaoto!

\ No newline at end of file diff --git a/timeline/generated-release-2021-11-26-083308+0000/index.html b/timeline/generated-release-2021-11-26-083308+0000/index.html new file mode 100644 index 00000000..01d0c970 --- /dev/null +++ b/timeline/generated-release-2021-11-26-083308+0000/index.html @@ -0,0 +1,11 @@ +kaoto-backend v0.1.0 | Kaoto +

kaoto-backend v0.1.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

This is the first release for the Kaoto backend. It contains the basic endpoints for the Kaoto frontend to work:

/step that lists the full catalog of steps +/step/id/{id} that returns details from a step by identifier +`/st

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-03-16-123750+0000/index.html b/timeline/generated-release-2022-03-16-123750+0000/index.html new file mode 100644 index 00000000..1c98e3e2 --- /dev/null +++ b/timeline/generated-release-2022-03-16-123750+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend Version 0.2.0 with improved editor! | Kaoto +

kaoto-backend Version 0.2.0 with improved editor!

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-03-16-153313+0000/index.html b/timeline/generated-release-2022-03-16-153313+0000/index.html new file mode 100644 index 00000000..d209322a --- /dev/null +++ b/timeline/generated-release-2022-03-16-153313+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui Version 0.2.0 with improved editor! | Kaoto +

kaoto-ui Version 0.2.0 with improved editor!

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-03-31-102012+0000/index.html b/timeline/generated-release-2022-03-31-102012+0000/index.html new file mode 100644 index 00000000..11790155 --- /dev/null +++ b/timeline/generated-release-2022-03-31-102012+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend Version 0.2.1 with bug fixes | Kaoto +

kaoto-backend Version 0.2.1 with bug fixes

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

This is a small patch bug fix adding a workaround for the Parameter polymorphism in https://github.com/KaotoIO/kaoto-backend/pull/54

Now editing properties on steps should work better.

Full Changelog: https://github.com/KaotoIO/kaoto-backen

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-09-02-073434+0000/index.html b/timeline/generated-release-2022-09-02-073434+0000/index.html new file mode 100644 index 00000000..a44d899e --- /dev/null +++ b/timeline/generated-release-2022-09-02-073434+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v0.3.0 | Kaoto +

kaoto-backend v0.3.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed in the Backend

  • Support for editing Kamelets
  • Support for editing Camel Routes (Integration kind of resource)
  • Cluster management: start, stop, list resources in the cluster
  • Add [mutation testing](https://github.com/Kaoto

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-09-06-084454+0000/index.html b/timeline/generated-release-2022-09-06-084454+0000/index.html new file mode 100644 index 00000000..712dc524 --- /dev/null +++ b/timeline/generated-release-2022-09-06-084454+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.3.0 🎉 | Kaoto +

kaoto-ui v0.3.0 🎉

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed in the Frontend

Main changes include a new layout, persistent steps between changes, settings (with dark mode!), deployments, the step extension API, and bug fixes.

![Kapture 2022-08-10 at 17 37 15](https://user-images.githubuse

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-09-07-095742+0000/index.html b/timeline/generated-release-2022-09-07-095742+0000/index.html new file mode 100644 index 00000000..07738615 --- /dev/null +++ b/timeline/generated-release-2022-09-07-095742+0000/index.html @@ -0,0 +1,10 @@ +kaoto-ui v0.3.1 | Kaoto +

kaoto-ui v0.3.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Full Changelog: https://github.com/KaotoIO/kaoto-ui/compare/v0.3.0...v0.3.1 +Bumped version for npm package

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-11-07-162442+0000/index.html b/timeline/generated-release-2022-11-07-162442+0000/index.html new file mode 100644 index 00000000..20f7ad46 --- /dev/null +++ b/timeline/generated-release-2022-11-07-162442+0000/index.html @@ -0,0 +1,10 @@ +kaoto-backend v0.4.0 | Kaoto +

kaoto-backend v0.4.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed in the Backend

  • Removed API v0 no longer used by the frontend
  • Add all Camel Components +to the Step Catalog
  • Improved startup time that was slowed down after adding camel

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-11-07-163724+0000/index.html b/timeline/generated-release-2022-11-07-163724+0000/index.html new file mode 100644 index 00000000..49c3972d --- /dev/null +++ b/timeline/generated-release-2022-11-07-163724+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.4.0 🎉 | Kaoto +

kaoto-ui v0.4.0 🎉

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed in the Frontend

Main changes include a VS Code plugin, support for visualizing EIP branching, layouting, auto-layout choice (with new icons!), detection of backend waiting screen, delete from canvas, bug fixes, and many more.

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-11-08-135627+0000/index.html b/timeline/generated-release-2022-11-08-135627+0000/index.html new file mode 100644 index 00000000..e2799706 --- /dev/null +++ b/timeline/generated-release-2022-11-08-135627+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.4.1 | Kaoto +

kaoto-ui v0.4.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Full Changelog: ht

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-11-14-150818+0000/index.html b/timeline/generated-release-2022-11-14-150818+0000/index.html new file mode 100644 index 00000000..57499eb5 --- /dev/null +++ b/timeline/generated-release-2022-11-14-150818+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.4.2 | Kaoto +

kaoto-ui v0.4.2

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Fixes

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-11-15-154943+0000/index.html b/timeline/generated-release-2022-11-15-154943+0000/index.html new file mode 100644 index 00000000..7f6c2e64 --- /dev/null +++ b/timeline/generated-release-2022-11-15-154943+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.4.3 | Kaoto +

kaoto-ui v0.4.3

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

This release addresses an issue with the npm package that gets published for kaoto-ui and is used by vscode-kaoto.

Chores

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-11-24-084005+0000/index.html b/timeline/generated-release-2022-11-24-084005+0000/index.html new file mode 100644 index 00000000..df884162 --- /dev/null +++ b/timeline/generated-release-2022-11-24-084005+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend Backend v0.4.1 | Kaoto +

kaoto-backend Backend v0.4.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Minor release with bug fixes and dependencies updates.

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-11-28-091734+0000/index.html b/timeline/generated-release-2022-11-28-091734+0000/index.html new file mode 100644 index 00000000..37d6dd1a --- /dev/null +++ b/timeline/generated-release-2022-11-28-091734+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend Backend v0.4.2 | Kaoto +

kaoto-backend Backend v0.4.2

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Minor version release with Quarkus update. Now we support Windows native executables!

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-11-30-142908+0000/index.html b/timeline/generated-release-2022-11-30-142908+0000/index.html new file mode 100644 index 00000000..29bf3886 --- /dev/null +++ b/timeline/generated-release-2022-11-30-142908+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend Backend v0.4.3 | Kaoto +

kaoto-backend Backend v0.4.3

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-12-07-112727+0000/index.html b/timeline/generated-release-2022-12-07-112727+0000/index.html new file mode 100644 index 00000000..98962c1a --- /dev/null +++ b/timeline/generated-release-2022-12-07-112727+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend Backend v0.5.0 | Kaoto +

kaoto-backend Backend v0.5.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Added some new EIPs and strenghten the APIs for the frontend to handle branches. The backend is now closer to have all Apache Camel EIPs available.

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-12-13-115357+0000/index.html b/timeline/generated-release-2022-12-13-115357+0000/index.html new file mode 100644 index 00000000..5c28653e --- /dev/null +++ b/timeline/generated-release-2022-12-13-115357+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.5.0 | Kaoto +

kaoto-ui v0.5.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2022-12-14-115143+0000/index.html b/timeline/generated-release-2022-12-14-115143+0000/index.html new file mode 100644 index 00000000..39819d79 --- /dev/null +++ b/timeline/generated-release-2022-12-14-115143+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend Backend v0.5.1 | Kaoto +

kaoto-backend Backend v0.5.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Added some EIPs more and fixed minor bugs.

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-01-23-151912+0000/index.html b/timeline/generated-release-2023-01-23-151912+0000/index.html new file mode 100644 index 00000000..4496d5e1 --- /dev/null +++ b/timeline/generated-release-2023-01-23-151912+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v0.6.0 | Kaoto +

kaoto-backend v0.6.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-01-23-155947+0000/index.html b/timeline/generated-release-2023-01-23-155947+0000/index.html new file mode 100644 index 00000000..0149d368 --- /dev/null +++ b/timeline/generated-release-2023-01-23-155947+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.6.0 | Kaoto +

kaoto-ui v0.6.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-01-25-094307+0000/index.html b/timeline/generated-release-2023-01-25-094307+0000/index.html new file mode 100644 index 00000000..a76e7b4e --- /dev/null +++ b/timeline/generated-release-2023-01-25-094307+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v0.6.1 | Kaoto +

kaoto-backend v0.6.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Bugfix

  • fix: Include static files used for schema in

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-01-26-142932+0000/index.html b/timeline/generated-release-2023-01-26-142932+0000/index.html new file mode 100644 index 00000000..5c50f59d --- /dev/null +++ b/timeline/generated-release-2023-01-26-142932+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.6.1 | Kaoto +

kaoto-ui v0.6.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Bugfixes

  • Fix properties view in prod version compiled with build:

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-02-15-140607+0000/index.html b/timeline/generated-release-2023-02-15-140607+0000/index.html new file mode 100644 index 00000000..2cd6b6eb --- /dev/null +++ b/timeline/generated-release-2023-02-15-140607+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend Backend v0.6.2 | Kaoto +

kaoto-backend Backend v0.6.2

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

This patch release contains a few step extensions for EIP that now the kaoto-ui will use.

What’s Changed

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-02-28-120103+0000/index.html b/timeline/generated-release-2023-02-28-120103+0000/index.html new file mode 100644 index 00000000..fbdda667 --- /dev/null +++ b/timeline/generated-release-2023-02-28-120103+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v0.7.0 | Kaoto +

kaoto-backend v0.7.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-02-28-123417+0000/index.html b/timeline/generated-release-2023-02-28-123417+0000/index.html new file mode 100644 index 00000000..446bfbd6 --- /dev/null +++ b/timeline/generated-release-2023-02-28-123417+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.7.0 | Kaoto +

kaoto-ui v0.7.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-03-06-094149+0000/index.html b/timeline/generated-release-2023-03-06-094149+0000/index.html new file mode 100644 index 00000000..b651d4e4 --- /dev/null +++ b/timeline/generated-release-2023-03-06-094149+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v0.7.1 | Kaoto +

kaoto-backend v0.7.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Bugfixes

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-03-06-094832+0000/index.html b/timeline/generated-release-2023-03-06-094832+0000/index.html new file mode 100644 index 00000000..bc37c449 --- /dev/null +++ b/timeline/generated-release-2023-03-06-094832+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.7.1 | Kaoto +

kaoto-ui v0.7.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-03-13-095103+0000/index.html b/timeline/generated-release-2023-03-13-095103+0000/index.html new file mode 100644 index 00000000..a6d43e2b --- /dev/null +++ b/timeline/generated-release-2023-03-13-095103+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v0.7.2 | Kaoto +

kaoto-backend v0.7.2

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Bugfixes

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-03-13-100132+0000/index.html b/timeline/generated-release-2023-03-13-100132+0000/index.html new file mode 100644 index 00000000..b5dc0acd --- /dev/null +++ b/timeline/generated-release-2023-03-13-100132+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.7.2 | Kaoto +

kaoto-ui v0.7.2

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Bugfixes

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-03-20-114026+0000/index.html b/timeline/generated-release-2023-03-20-114026+0000/index.html new file mode 100644 index 00000000..dc634d55 --- /dev/null +++ b/timeline/generated-release-2023-03-20-114026+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v0.7.3 | Kaoto +

kaoto-backend v0.7.3

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-03-20-114306+0000/index.html b/timeline/generated-release-2023-03-20-114306+0000/index.html new file mode 100644 index 00000000..57e26511 --- /dev/null +++ b/timeline/generated-release-2023-03-20-114306+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.7.3 | Kaoto +

kaoto-ui v0.7.3

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Bugfixes

  • fix(defaultConfigTab): add setIndex to useEffect by @unsortedhashsets i

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-03-21-104852+0000/index.html b/timeline/generated-release-2023-03-21-104852+0000/index.html new file mode 100644 index 00000000..07c1feab --- /dev/null +++ b/timeline/generated-release-2023-03-21-104852+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.7.4 | Kaoto +

kaoto-ui v0.7.4

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-03-21-135409+0000/index.html b/timeline/generated-release-2023-03-21-135409+0000/index.html new file mode 100644 index 00000000..c52dc6a7 --- /dev/null +++ b/timeline/generated-release-2023-03-21-135409+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v0.7.4 | Kaoto +

kaoto-backend v0.7.4

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Bugfixes

technical tasks and dependencies upgrades

  • Prepare next devel

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-03-27-072848+0000/index.html b/timeline/generated-release-2023-03-27-072848+0000/index.html new file mode 100644 index 00000000..1ba77e46 --- /dev/null +++ b/timeline/generated-release-2023-03-27-072848+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.7.5 | Kaoto +

kaoto-ui v0.7.5

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Bugfixes

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-03-27-073322+0000/index.html b/timeline/generated-release-2023-03-27-073322+0000/index.html new file mode 100644 index 00000000..0b1866d1 --- /dev/null +++ b/timeline/generated-release-2023-03-27-073322+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v0.7.5 | Kaoto +

kaoto-backend v0.7.5

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Bugfixes

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-03-30-150810+0000/index.html b/timeline/generated-release-2023-03-30-150810+0000/index.html new file mode 100644 index 00000000..ed54b2ef --- /dev/null +++ b/timeline/generated-release-2023-03-30-150810+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v0.7.6 | Kaoto +

kaoto-backend v0.7.6

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Bugfixes

  • fix: Kamelet component provided as uri are removed by @igarashitm

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-03-30-151015+0000/index.html b/timeline/generated-release-2023-03-30-151015+0000/index.html new file mode 100644 index 00000000..a7adeeca --- /dev/null +++ b/timeline/generated-release-2023-03-30-151015+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v0.7.6 | Kaoto +

kaoto-ui v0.7.6

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

BugFixes

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-04-04-134237+0000/index.html b/timeline/generated-release-2023-04-04-134237+0000/index.html new file mode 100644 index 00000000..a9c14c53 --- /dev/null +++ b/timeline/generated-release-2023-04-04-134237+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v1.0.0-rc1 | Kaoto +

kaoto-backend v1.0.0-rc1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

This is the release candidate for 1.0.0. It doesn’t have much more than a few bug fixings, but it is significantly different from previous v0.7.6.

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-04-04-142232+0000/index.html b/timeline/generated-release-2023-04-04-142232+0000/index.html new file mode 100644 index 00000000..56c963fc --- /dev/null +++ b/timeline/generated-release-2023-04-04-142232+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v1.0.0-rc1 | Kaoto +

kaoto-ui v1.0.0-rc1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Bug Fixes

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-04-11-115727+0000/index.html b/timeline/generated-release-2023-04-11-115727+0000/index.html new file mode 100644 index 00000000..9d983229 --- /dev/null +++ b/timeline/generated-release-2023-04-11-115727+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend Backend v1.0.0 | Kaoto +

kaoto-backend Backend v1.0.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

:partying_face: :tada: :balloon: This is our 1.0.0 release! :champagne:

Conversions from the graphical canvas to the source text editor are complete. Some conversions from the source text editor to the graphical canvas are not covered. For ex

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-04-11-150443+0000/index.html b/timeline/generated-release-2023-04-11-150443+0000/index.html new file mode 100644 index 00000000..850a0d39 --- /dev/null +++ b/timeline/generated-release-2023-04-11-150443+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v1.0.0 🎉 | Kaoto +

kaoto-ui v1.0.0 🎉

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Overview

This marks the first major release for Kaoto. 🍾 Kaoto is an open source visual integration and workflow editor. It supports multiple DSLs and advanced integration capabilities for both developers and non-developers.

Kaoto was built t

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-06-15-112121+0000/index.html b/timeline/generated-release-2023-06-15-112121+0000/index.html new file mode 100644 index 00000000..d58a5bd4 --- /dev/null +++ b/timeline/generated-release-2023-06-15-112121+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend Backend v1.0.1 | Kaoto +

kaoto-backend Backend v1.0.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

This is a patch release with some version updates and minor bug fixing.

It also contains a new experimental endpoint for multi routing.

New Contributors

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-06-30-094316+0000/index.html b/timeline/generated-release-2023-06-30-094316+0000/index.html new file mode 100644 index 00000000..438939f9 --- /dev/null +++ b/timeline/generated-release-2023-06-30-094316+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend Backend v1.1.0-M1 | Kaoto +

kaoto-backend Backend v1.1.0-M1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

This is a release working towards milestone 1.1.0. It includes an upgrade to Quarkus 3.

What’s Changed

We have changed the way we parse the Camel DSLs to align with latest Camel K behaviour:

  • Refactor camel k crd by @Delawen in https://g

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-07-03-084147+0000/index.html b/timeline/generated-release-2023-07-03-084147+0000/index.html new file mode 100644 index 00000000..b2a1cf64 --- /dev/null +++ b/timeline/generated-release-2023-07-03-084147+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v1.1.0-M1 | Kaoto +

kaoto-ui v1.1.0-M1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-07-14-102442+0000/index.html b/timeline/generated-release-2023-07-14-102442+0000/index.html new file mode 100644 index 00000000..a48cee98 --- /dev/null +++ b/timeline/generated-release-2023-07-14-102442+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend Backend v1.1.0-M2 | Kaoto +

kaoto-backend Backend v1.1.0-M2

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

This release is almost closing all 1.1.0 milestone goals.

What’s Changed

We added some new features:

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-07-14-104846+0000/index.html b/timeline/generated-release-2023-07-14-104846+0000/index.html new file mode 100644 index 00000000..cc3a68b2 --- /dev/null +++ b/timeline/generated-release-2023-07-14-104846+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v1.1.0-M2 | Kaoto +

kaoto-ui v1.1.0-M2

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

This is a pre-release very close to the 1.1.0 milestone. We have fixed several features towards the goals of the milestone, played with multiple routes, and made sure to update dependencies.

What’s Changed

Features

  • Add test for disa

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-07-17-042659+0000/index.html b/timeline/generated-release-2023-07-17-042659+0000/index.html new file mode 100644 index 00000000..6c9ffde4 --- /dev/null +++ b/timeline/generated-release-2023-07-17-042659+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v1.1.0-M3 | Kaoto +

kaoto-ui v1.1.0-M3

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-07-21-072500+0000/index.html b/timeline/generated-release-2023-07-21-072500+0000/index.html new file mode 100644 index 00000000..ce32d397 --- /dev/null +++ b/timeline/generated-release-2023-07-21-072500+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v1.1.0 | Kaoto +

kaoto-backend v1.1.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

This is version 1.1.0 of Kaoto Backend!

This version differs from latest final release in 3 main new features:

  • New Bean Management UI
  • REST DSL
  • Multi Route Support

See the main goals in https://github.com/KaotoIO/kaoto-backend/mil

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-07-21-084346+0000/index.html b/timeline/generated-release-2023-07-21-084346+0000/index.html new file mode 100644 index 00000000..7b9069e3 --- /dev/null +++ b/timeline/generated-release-2023-07-21-084346+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v1.1.0 | Kaoto +

kaoto-ui v1.1.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-07-24-080234+0000/index.html b/timeline/generated-release-2023-07-24-080234+0000/index.html new file mode 100644 index 00000000..3db8efaa --- /dev/null +++ b/timeline/generated-release-2023-07-24-080234+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v1.1.1 | Kaoto +

kaoto-backend v1.1.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

Small fixes because the 1.1.0 version in native mode had a blocking bug that prevented it from running.

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-08-24-082007+0000/index.html b/timeline/generated-release-2023-08-24-082007+0000/index.html new file mode 100644 index 00000000..4b31dfc9 --- /dev/null +++ b/timeline/generated-release-2023-08-24-082007+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v1.2.0 | Kaoto +

kaoto-backend v1.2.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Bug fixes

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-08-24-103357+0000/index.html b/timeline/generated-release-2023-08-24-103357+0000/index.html new file mode 100644 index 00000000..eb941aca --- /dev/null +++ b/timeline/generated-release-2023-08-24-103357+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v1.2.0 | Kaoto +

kaoto-ui v1.2.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Features

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-08-24-133223+0000/index.html b/timeline/generated-release-2023-08-24-133223+0000/index.html new file mode 100644 index 00000000..27b867e5 --- /dev/null +++ b/timeline/generated-release-2023-08-24-133223+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v1.2.1 | Kaoto +

kaoto-ui v1.2.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-09-14-144325+0000/index.html b/timeline/generated-release-2023-09-14-144325+0000/index.html new file mode 100644 index 00000000..91f6734c --- /dev/null +++ b/timeline/generated-release-2023-09-14-144325+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v1.3.0 | Kaoto +

kaoto-ui v1.3.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Functional change

Technical tasks and dependency upgrades

  • chore: Update version to 1.3.0-dev by @apupier in

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-09-15-124502+0000/index.html b/timeline/generated-release-2023-09-15-124502+0000/index.html new file mode 100644 index 00000000..3af65b7f --- /dev/null +++ b/timeline/generated-release-2023-09-15-124502+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v1.3.0 | Kaoto +

kaoto-backend v1.3.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/timeline/generated-release-2023-10-01-135855+0000/index.html b/timeline/generated-release-2023-10-01-135855+0000/index.html new file mode 100644 index 00000000..4af68a1e --- /dev/null +++ b/timeline/generated-release-2023-10-01-135855+0000/index.html @@ -0,0 +1,9 @@ +uniforms-patternfly @kaoto-next/uniforms-patternfly@0.3.1 | Kaoto +

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.3.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-10-01-135913+0000/index.html b/timeline/generated-release-2023-10-01-135913+0000/index.html new file mode 100644 index 00000000..73b2abe9 --- /dev/null +++ b/timeline/generated-release-2023-10-01-135913+0000/index.html @@ -0,0 +1,9 @@ +uniforms-patternfly @kaoto-next/uniforms-patternfly@0.3.2 | Kaoto +

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.3.2

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/timeline/generated-release-2023-10-02-090635+0000/index.html b/timeline/generated-release-2023-10-02-090635+0000/index.html new file mode 100644 index 00000000..a3411b45 --- /dev/null +++ b/timeline/generated-release-2023-10-02-090635+0000/index.html @@ -0,0 +1,9 @@ +uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.0 | Kaoto +

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/timeline/generated-release-2023-10-06-075924+0000/index.html b/timeline/generated-release-2023-10-06-075924+0000/index.html new file mode 100644 index 00000000..c318aa36 --- /dev/null +++ b/timeline/generated-release-2023-10-06-075924+0000/index.html @@ -0,0 +1,9 @@ +kaoto-next v0.2.0 | Kaoto +

kaoto-next v0.2.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-10-16-080954+0000/index.html b/timeline/generated-release-2023-10-16-080954+0000/index.html new file mode 100644 index 00000000..7280eb8e --- /dev/null +++ b/timeline/generated-release-2023-10-16-080954+0000/index.html @@ -0,0 +1,9 @@ +kaoto-backend v1.4.0 | Kaoto +

kaoto-backend v1.4.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-10-16-093236+0000/index.html b/timeline/generated-release-2023-10-16-093236+0000/index.html new file mode 100644 index 00000000..22be0b90 --- /dev/null +++ b/timeline/generated-release-2023-10-16-093236+0000/index.html @@ -0,0 +1,9 @@ +kaoto-ui v1.4.0 | Kaoto +

kaoto-ui v1.4.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-10-17-121156+0000/index.html b/timeline/generated-release-2023-10-17-121156+0000/index.html new file mode 100644 index 00000000..7031fbcc --- /dev/null +++ b/timeline/generated-release-2023-10-17-121156+0000/index.html @@ -0,0 +1,9 @@ +kaoto-operator v0.0.9 | Kaoto +

kaoto-operator v0.0.9

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/timeline/generated-release-2023-11-28-165440+0000/index.html b/timeline/generated-release-2023-11-28-165440+0000/index.html new file mode 100644 index 00000000..88b3d09f --- /dev/null +++ b/timeline/generated-release-2023-11-28-165440+0000/index.html @@ -0,0 +1,9 @@ +kaoto-next v0.5.0 | Kaoto +

kaoto-next v0.5.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-11-28-165643+0000/index.html b/timeline/generated-release-2023-11-28-165643+0000/index.html new file mode 100644 index 00000000..389b472a --- /dev/null +++ b/timeline/generated-release-2023-11-28-165643+0000/index.html @@ -0,0 +1,9 @@ +kaoto-next v0.3.0 | Kaoto +

kaoto-next v0.3.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-11-28-165709+0000/index.html b/timeline/generated-release-2023-11-28-165709+0000/index.html new file mode 100644 index 00000000..85aeac22 --- /dev/null +++ b/timeline/generated-release-2023-11-28-165709+0000/index.html @@ -0,0 +1,9 @@ +kaoto-next v0.4.0 | Kaoto +

kaoto-next v0.4.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-11-29-133343+0000/index.html b/timeline/generated-release-2023-11-29-133343+0000/index.html new file mode 100644 index 00000000..d2fc3461 --- /dev/null +++ b/timeline/generated-release-2023-11-29-133343+0000/index.html @@ -0,0 +1,9 @@ +kaoto-next v0.6.0 | Kaoto +

kaoto-next v0.6.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-12-06-171135+0000/index.html b/timeline/generated-release-2023-12-06-171135+0000/index.html new file mode 100644 index 00000000..8cdac017 --- /dev/null +++ b/timeline/generated-release-2023-12-06-171135+0000/index.html @@ -0,0 +1,9 @@ +uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.1 | Kaoto +

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Full Changelog: https://github.com/KaotoIO/uniforms-patternfly/compare/@kaoto-next/uniforms-pat

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-12-06-171157+0000/index.html b/timeline/generated-release-2023-12-06-171157+0000/index.html new file mode 100644 index 00000000..9fba7857 --- /dev/null +++ b/timeline/generated-release-2023-12-06-171157+0000/index.html @@ -0,0 +1,9 @@ +uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.2 | Kaoto +

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.2

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
\ No newline at end of file diff --git a/timeline/generated-release-2023-12-06-171215+0000/index.html b/timeline/generated-release-2023-12-06-171215+0000/index.html new file mode 100644 index 00000000..0b67be18 --- /dev/null +++ b/timeline/generated-release-2023-12-06-171215+0000/index.html @@ -0,0 +1,9 @@ +uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.3 | Kaoto +

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.3

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-12-06-171237+0000/index.html b/timeline/generated-release-2023-12-06-171237+0000/index.html new file mode 100644 index 00000000..b4bac5f2 --- /dev/null +++ b/timeline/generated-release-2023-12-06-171237+0000/index.html @@ -0,0 +1,9 @@ +uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.4 | Kaoto +

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.4

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-12-06-171258+0000/index.html b/timeline/generated-release-2023-12-06-171258+0000/index.html new file mode 100644 index 00000000..15db03e6 --- /dev/null +++ b/timeline/generated-release-2023-12-06-171258+0000/index.html @@ -0,0 +1,9 @@ +uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.0 | Kaoto +

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-12-06-171314+0000/index.html b/timeline/generated-release-2023-12-06-171314+0000/index.html new file mode 100644 index 00000000..55221444 --- /dev/null +++ b/timeline/generated-release-2023-12-06-171314+0000/index.html @@ -0,0 +1,9 @@ +uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.1 | Kaoto +

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.1

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-12-06-171328+0000/index.html b/timeline/generated-release-2023-12-06-171328+0000/index.html new file mode 100644 index 00000000..99aff6bb --- /dev/null +++ b/timeline/generated-release-2023-12-06-171328+0000/index.html @@ -0,0 +1,9 @@ +uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.2 | Kaoto +

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.2

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-12-08-071731+0000/index.html b/timeline/generated-release-2023-12-08-071731+0000/index.html new file mode 100644 index 00000000..37ab7201 --- /dev/null +++ b/timeline/generated-release-2023-12-08-071731+0000/index.html @@ -0,0 +1,9 @@ +uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.3 | Kaoto +

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.3

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/generated-release-2023-12-18-132400+0000/index.html b/timeline/generated-release-2023-12-18-132400+0000/index.html new file mode 100644 index 00000000..c63911e0 --- /dev/null +++ b/timeline/generated-release-2023-12-18-132400+0000/index.html @@ -0,0 +1,9 @@ +kaoto-next v0.7.0 | Kaoto +

kaoto-next v0.7.0

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

What’s Changed

Read more

\ No newline at end of file diff --git a/timeline/index.html b/timeline/index.html new file mode 100644 index 00000000..edfda708 --- /dev/null +++ b/timeline/index.html @@ -0,0 +1,18 @@ +Statistics and history | Kaoto +

Statistics and history

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

GitHub +Docker Pulls +GitHub release (latest by date including pre-releases)

Dec 2023

kaoto-next v0.7.0

What’s Changed

Read more

Dec 2023

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.3

What’s Changed

Read more

Dec 2023

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.2

What’s Changed

Read more

Dec 2023

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.1

What’s Changed

Read more

Dec 2023

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.0

What’s Changed

Read more

Dec 2023

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.4

What’s Changed

Read more

Dec 2023

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.3

What’s Changed

Read more

Dec 2023

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.2

What’s Changed

Full Changelog: https://github.com/KaotoIO/uniforms-patternfly/compare/@kaoto-next/uniforms-patternfly

Read more

Dec 2023

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.1

What’s Changed

Full Changelog: https://github.com/KaotoIO/uniforms-patternfly/compare/@kaoto-next/uniforms-pat

Read more

Nov 2023

kaoto-next v0.6.0

What’s Changed

Read more

Nov 2023

kaoto-next v0.4.0

What’s Changed

Read more

Nov 2023

kaoto-next v0.3.0

What’s Changed

Read more

Nov 2023

kaoto-next v0.5.0

What’s Changed

Read more

Nov 2023

shivamgu

shivamgu made their first commit on Kaoto!

Nov 2023

corners2wall

corners2wall made their first commit on Kaoto!

Oct 2023

kaoto-operator v0.0.9

Read more

Oct 2023

kaoto-ui v1.4.0

What’s Changed

Read more

Oct 2023

kaoto-backend v1.4.0

What’s Changed

Read more

Oct 2023

kaoto-next v0.2.0

What’s Changed

Read more

Oct 2023

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.0

What’s Changed

Full Changelog: https://github.com/KaotoIO/uniforms-patternfly/compare/@kaoto-next/uniforms-patternfly@0.3.2...@kaoto-n

Read more

Oct 2023

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.3.2

What’s Changed

Full Changelog: https://github.com/KaotoIO/uniforms-patternfly/compare/@kaoto-next/uniforms-patternfly@0.3.1...@kaot

Read more

Oct 2023

uniforms-patternfly @kaoto-next/uniforms-patternfly@0.3.1

What’s Changed

Read more

Sep 2023

kaoto-backend v1.3.0

Read more

Sep 2023

kaoto-ui v1.3.0

What’s Changed

Functional change

Technical tasks and dependency upgrades

  • chore: Update version to 1.3.0-dev by @apupier in

Read more

Aug 2023

kaoto-ui v1.2.1

What’s Changed

Read more

Aug 2023

kaoto-ui v1.2.0

What’s Changed

Features

Read more

Aug 2023

kaoto-backend v1.2.0

What’s Changed

Features

Bug fixes

Read more

Aug 2023

eerkmen

eerkmen made their first commit on Kaoto!

Aug 2023

Efe Erkmen

Efe Erkmen made their first commit on Kaoto!

Aug 2023

Lars Heinemann

Lars Heinemann made their first commit on Kaoto!

Jul 2023

kaoto-backend v1.1.1

Small fixes because the 1.1.0 version in native mode had a blocking bug that prevented it from running.

What’s Changed

Read more

Jul 2023

kaoto-ui v1.1.0

Features

Read more

Jul 2023

kaoto-backend v1.1.0

This is version 1.1.0 of Kaoto Backend!

This version differs from latest final release in 3 main new features:

  • New Bean Management UI
  • REST DSL
  • Multi Route Support

See the main goals in https://github.com/KaotoIO/kaoto-backend/mil

Read more

Jul 2023

kaoto-ui v1.1.0-M3

What’s Changed

Read more

Jul 2023

kaoto-ui v1.1.0-M2

This is a pre-release very close to the 1.1.0 milestone. We have fixed several features towards the goals of the milestone, played with multiple routes, and made sure to update dependencies.

What’s Changed

Features

  • Add test for disa

Read more

Jul 2023

kaoto-backend Backend v1.1.0-M2

This release is almost closing all 1.1.0 milestone goals.

What’s Changed

We added some new features:

Read more

Jul 2023

Luca Burgazzoli

Luca Burgazzoli made their first commit on Kaoto!

Jul 2023

kaoto-ui v1.1.0-M1

What’s Changed

Read more

Jun 2023

kaoto-backend Backend v1.1.0-M1

This is a release working towards milestone 1.1.0. It includes an upgrade to Quarkus 3.

What’s Changed

We have changed the way we parse the Camel DSLs to align with latest Camel K behaviour:

  • Refactor camel k crd by @Delawen in https://g

Read more

Jun 2023

kaoto-backend Backend v1.0.1

What’s Changed

This is a patch release with some version updates and minor bug fixing.

It also contains a new experimental endpoint for multi routing.

New Contributors

Read more

May 2023

Matej Králik

Matej Králik made their first commit on Kaoto!

May 2023

Dominik Jelínek

Dominik Jelínek made their first commit on Kaoto!

May 2023

mkralik3

mkralik3 made their first commit on Kaoto!

May 2023

Martin Muzikar

Martin Muzikar made their first commit on Kaoto!

Apr 2023

Purva Naik

Purva Naik made their first commit on Kaoto!

Apr 2023

kaoto-ui v1.0.0 🎉

Overview

This marks the first major release for Kaoto. 🍾 Kaoto is an open source visual integration and workflow editor. It supports multiple DSLs and advanced integration capabilities for both developers and non-developers.

Kaoto was built t

Read more

Apr 2023

kaoto-backend Backend v1.0.0

:partying_face: :tada: :balloon: This is our 1.0.0 release! :champagne:

Conversions from the graphical canvas to the source text editor are complete. Some conversions from the source text editor to the graphical canvas are not covered. For ex

Read more

Apr 2023

Dominik Jelinek

Dominik Jelinek made their first commit on Kaoto!

Apr 2023

kaoto-ui v1.0.0-rc1

What’s Changed

Bug Fixes

Read more

Apr 2023

kaoto-backend v1.0.0-rc1

This is the release candidate for 1.0.0. It doesn’t have much more than a few bug fixings, but it is significantly different from previous v0.7.6.

What’s Changed

Read more

Mar 2023

kaoto-ui v0.7.6

What’s Changed

BugFixes

Read more

Mar 2023

kaoto-backend v0.7.6

What’s Changed

Features

Bugfixes

  • fix: Kamelet component provided as uri are removed by @igarashitm

Read more

Mar 2023

kaoto-backend v0.7.5

What’s Changed

Bugfixes

Read more

Mar 2023

kaoto-ui v0.7.5

What’s Changed

Bugfixes

Read more

Mar 2023

kaoto-backend v0.7.4

What’s Changed

Bugfixes

technical tasks and dependencies upgrades

  • Prepare next devel

Read more

Mar 2023

kaoto-ui v0.7.4

What’s Changed

Read more

Mar 2023

kaoto-ui v0.7.3

What’s Changed

Features

Bugfixes

  • fix(defaultConfigTab): add setIndex to useEffect by @unsortedhashsets i

Read more

Mar 2023

kaoto-backend v0.7.3

What’s Changed

Features

Read more

Mar 2023

kaoto-ui v0.7.2

What’s Changed

Bugfixes

Read more

Mar 2023

kaoto-backend v0.7.2

What’s Changed

Bugfixes

Read more

Mar 2023

Antonin Stefanutti

Antonin Stefanutti made their first commit on Kaoto!

Mar 2023

kaoto-ui v0.7.1

What’s Changed

Features

Read more

Mar 2023

kaoto-backend v0.7.1

What’s Changed

Bugfixes

Read more

Feb 2023

kaoto-ui v0.7.0

What’s Changed

Features

Read more

Feb 2023

kaoto-backend v0.7.0

What’s Changed

Features

Read more

Feb 2023

Mikhail Abramov

Mikhail Abramov made their first commit on Kaoto!

Feb 2023

Helio Frota

Helio Frota made their first commit on Kaoto!

Feb 2023

kaoto-backend Backend v0.6.2

This patch release contains a few step extensions for EIP that now the kaoto-ui will use.

What’s Changed

Features

Read more

Jan 2023

Tomas Plevko

Tomas Plevko made their first commit on Kaoto!

Jan 2023

kaoto-ui v0.6.1

What’s Changed

Features

Bugfixes

  • Fix properties view in prod version compiled with build:

Read more

Jan 2023

kaoto-backend v0.6.1

What’s Changed

Features

Bugfix

  • fix: Include static files used for schema in

Read more

Jan 2023

kaoto-ui v0.6.0

What’s Changed

Features

Read more

Jan 2023

kaoto-backend v0.6.0

What’s Changed

Read more

Jan 2023

Javier López de Ancos

Javier López de Ancos made their first commit on Kaoto!

Dec 2022

kaoto-backend Backend v0.5.1

What’s Changed

Added some EIPs more and fixed minor bugs.

Features

Read more

Dec 2022

kaoto-ui v0.5.0

What’s Changed

Features

Read more

Dec 2022

tplevko

tplevko made their first commit on Kaoto!

Dec 2022

kaoto-backend Backend v0.5.0

What’s Changed

Added some new EIPs and strenghten the APIs for the frontend to handle branches. The backend is now closer to have all Apache Camel EIPs available.

Features

Read more

Nov 2022

kaoto-backend Backend v0.4.3

What’s Changed

Features

Read more

Nov 2022

kaoto-backend Backend v0.4.2

Minor version release with Quarkus update. Now we support Windows native executables!

What’s Changed

Read more

Nov 2022

kaoto-backend Backend v0.4.1

Minor release with bug fixes and dependencies updates.

Features

Read more

Nov 2022

kaoto-ui v0.4.3

What’s Changed

This release addresses an issue with the npm package that gets published for kaoto-ui and is used by vscode-kaoto.

Chores

Read more

Nov 2022

kaoto-ui v0.4.2

What’s Changed

Fixes

Read more

Nov 2022

Ricardo M

Ricardo M made their first commit on Kaoto!

Nov 2022

Ricardo M.

Ricardo M. made their first commit on Kaoto!

Nov 2022

kaoto-ui v0.4.1

What’s Changed

Full Changelog: ht

Read more

Nov 2022

kaoto-ui v0.4.0 🎉

What’s Changed in the Frontend

Main changes include a VS Code plugin, support for visualizing EIP branching, layouting, auto-layout choice (with new icons!), detection of backend waiting screen, delete from canvas, bug fixes, and many more.

Read more

Nov 2022

kaoto-backend v0.4.0

What’s Changed in the Backend

  • Removed API v0 no longer used by the frontend
  • Add all Camel Components +to the Step Catalog
  • Improved startup time that was slowed down after adding camel

Read more

Oct 2022

Asish Abraham Joseph

Asish Abraham Joseph made their first commit on Kaoto!

Sep 2022

José Ráez Rodríguez

José Ráez Rodríguez made their first commit on Kaoto!

Sep 2022

JoshiRaez

JoshiRaez made their first commit on Kaoto!

Sep 2022

Thiago Lugli

Thiago Lugli made their first commit on Kaoto!

Sep 2022

kaoto-ui v0.3.1

Full Changelog: https://github.com/KaotoIO/kaoto-ui/compare/v0.3.0...v0.3.1 +Bumped version for npm package

Read more

Sep 2022

kaoto-ui v0.3.0 🎉

What’s Changed in the Frontend

Main changes include a new layout, persistent steps between changes, settings (with dark mode!), deployments, the step extension API, and bug fixes.

![Kapture 2022-08-10 at 17 37 15](https://user-images.githubuse

Read more

Sep 2022

kaoto-backend v0.3.0

What’s Changed in the Backend

  • Support for editing Kamelets
  • Support for editing Camel Routes (Integration kind of resource)
  • Cluster management: start, stop, list resources in the cluster
  • Add [mutation testing](https://github.com/Kaoto

Read more

Aug 2022

kahboom

kahboom made their first commit on Kaoto!

Aug 2022

Tomohisa Igarashi

Tomohisa Igarashi made their first commit on Kaoto!

Aug 2022

eray.erdem

eray.erdem made their first commit on Kaoto!

Jun 2022

Croway

Croway made their first commit on Kaoto!

May 2022

Mohammadi Iram

Mohammadi Iram made their first commit on Kaoto!

Apr 2022

Selma

Selma made their first commit on Kaoto!

Mar 2022

kaoto-backend Version 0.2.1 with bug fixes

This is a small patch bug fix adding a workaround for the Parameter polymorphism in https://github.com/KaotoIO/kaoto-backend/pull/54

Now editing properties on steps should work better.

Full Changelog: https://github.com/KaotoIO/kaoto-backen

Read more

Mar 2022

Evan Shortiss

Evan Shortiss made their first commit on Kaoto!

Mar 2022

kaoto-ui Version 0.2.0 with improved editor!

What’s Changed

Read more

Mar 2022

kaoto-backend Version 0.2.0 with improved editor!

What’s Changed

Read more

Feb 2022

Matej Melko

Matej Melko made their first commit on Kaoto!

Feb 2022

mmelko

mmelko made their first commit on Kaoto!

Feb 2022

Almen Ng

Almen Ng made their first commit on Kaoto!

Nov 2021

kaoto-backend v0.1.0

What’s Changed

This is the first release for the Kaoto backend. It contains the basic endpoints for the Kaoto frontend to work:

/step that lists the full catalog of steps +/step/id/{id} that returns details from a step by identifier +`/st

Read more

Sep 2021

Aurélien Pupier

Aurélien Pupier made their first commit on Kaoto!

Jul 2021

Zineb Bendhiba

Zineb Bendhiba made their first commit on Kaoto!

Jun 2021

María Arias de Reyna

María Arias de Reyna made their first commit on Kaoto!

Jun 2021

María Arias de Reyna Domínguez

María Arias de Reyna Domínguez made their first commit on Kaoto!

Jun 2021

Rachel Yordán

Rachel Yordán made their first commit on Kaoto!

Apr 2021

Kaoto was born

Kaoto was born on a virtual coffee with Zineb +, Rachel +, and María +. It was initially called ZiMaRa to commemorate its three creators.

\ No newline at end of file diff --git a/timeline/index.xml b/timeline/index.xml new file mode 100644 index 00000000..f75204bc --- /dev/null +++ b/timeline/index.xml @@ -0,0 +1,6 @@ +Statistics and history on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/timeline/Recent content in Statistics and history on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usMon, 18 Dec 2023 13:24:00 +0000kaoto-next v0.7.0https://kaoto.io/timeline/generated-release-2023-12-18-132400+0000/Mon, 18 Dec 2023 13:24:00 +0000https://kaoto.io/timeline/generated-release-2023-12-18-132400+0000/What&rsquo;s Changed chore: Console warning: Received true for a non-boolean attribute pla… by @igarashitm in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.3https://kaoto.io/timeline/generated-release-2023-12-08-071731+0000/Fri, 08 Dec 2023 07:17:31 +0000https://kaoto.io/timeline/generated-release-2023-12-08-071731+0000/What&rsquo;s Changed chore(deps): update @lerna-lite to v3 (major) by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.2https://kaoto.io/timeline/generated-release-2023-12-06-171328+0000/Wed, 06 Dec 2023 17:13:28 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171328+0000/What&rsquo;s Changed chore(deps): update @lerna-lite to v2.7.2 by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.1https://kaoto.io/timeline/generated-release-2023-12-06-171314+0000/Wed, 06 Dec 2023 17:13:14 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171314+0000/What&rsquo;s Changed chore(deps): update babel monorepo to v7.23.3 by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.5.0https://kaoto.io/timeline/generated-release-2023-12-06-171258+0000/Wed, 06 Dec 2023 17:12:58 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171258+0000/What&rsquo;s Changed chore(deps): update react monorepo to v18.2.31 by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.4https://kaoto.io/timeline/generated-release-2023-12-06-171237+0000/Wed, 06 Dec 2023 17:12:37 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171237+0000/What&rsquo;s Changed fix(deps): update dependency @types/invariant to v2.2.36 by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.3https://kaoto.io/timeline/generated-release-2023-12-06-171215+0000/Wed, 06 Dec 2023 17:12:15 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171215+0000/What&rsquo;s Changed chore(deps): update dependency @testing-library/jest-dom to v6.1.4 by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.2https://kaoto.io/timeline/generated-release-2023-12-06-171157+0000/Wed, 06 Dec 2023 17:11:57 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171157+0000/What&rsquo;s Changed chore(deps): update react monorepo to v18.2.25 by @renovate in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.1https://kaoto.io/timeline/generated-release-2023-12-06-171135+0000/Wed, 06 Dec 2023 17:11:35 +0000https://kaoto.io/timeline/generated-release-2023-12-06-171135+0000/What&rsquo;s Changed chore(deps): update dependency @types/node to v18.18.3 by @renovate in https://github.kaoto-next v0.6.0https://kaoto.io/timeline/generated-release-2023-11-29-133343+0000/Wed, 29 Nov 2023 13:33:43 +0000https://kaoto.io/timeline/generated-release-2023-11-29-133343+0000/What&rsquo;s Changed fix: Expression: Can&rsquo;t use unquoted number for constant expression by @igarashitm in https://github.kaoto-next v0.4.0https://kaoto.io/timeline/generated-release-2023-11-28-165709+0000/Tue, 28 Nov 2023 16:57:09 +0000https://kaoto.io/timeline/generated-release-2023-11-28-165709+0000/What&rsquo;s Changed fix(313) - Kamelets in Camel Routes are not handled properly by @shivamG640 in https://github.kaoto-next v0.3.0https://kaoto.io/timeline/generated-release-2023-11-28-165643+0000/Tue, 28 Nov 2023 16:56:43 +0000https://kaoto.io/timeline/generated-release-2023-11-28-165643+0000/What&rsquo;s Changed chore(viz): Add CustomNode component by @lordrip in https://github.com/KaotoIO/kaoto-next/pull/202 chore(viznode): Remove usage of the VisualizationNode class by @lordrip in https://github.kaoto-next v0.5.0https://kaoto.io/timeline/generated-release-2023-11-28-165440+0000/Tue, 28 Nov 2023 16:54:40 +0000https://kaoto.io/timeline/generated-release-2023-11-28-165440+0000/What&rsquo;s Changed Use Java 21 instead of Java 17 by @apupier in https://github.shivamguhttps://kaoto.io/timeline/generated-contributor-shivamgu/Wed, 22 Nov 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-shivamgu/shivamgu made their first commit on Kaoto!corners2wallhttps://kaoto.io/timeline/generated-contributor-corners2wall/Wed, 08 Nov 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-corners2wall/corners2wall made their first commit on Kaoto!kaoto-operator v0.0.9https://kaoto.io/timeline/generated-release-2023-10-17-121156+0000/Tue, 17 Oct 2023 12:11:56 +0000https://kaoto.io/timeline/generated-release-2023-10-17-121156+0000/Read morekaoto-ui v1.4.0https://kaoto.io/timeline/generated-release-2023-10-16-093236+0000/Mon, 16 Oct 2023 09:32:36 +0000https://kaoto.io/timeline/generated-release-2023-10-16-093236+0000/What&rsquo;s Changed Update package.json to 1.4.0-dev by @lordrip in https://github.com/KaotoIO/kaoto-ui/pull/2295 chore(deps): update dependency @testing-library/user-event to v14.kaoto-backend v1.4.0https://kaoto.io/timeline/generated-release-2023-10-16-080954+0000/Mon, 16 Oct 2023 08:09:54 +0000https://kaoto.io/timeline/generated-release-2023-10-16-080954+0000/What&rsquo;s Changed Prepare for 1.4.0 by @igarashitm in https://github.com/KaotoIO/kaoto-backend/pull/862 fix: bindingMode: off is converted to bindingMode: false by @igarashitm in https://github.kaoto-next v0.2.0https://kaoto.io/timeline/generated-release-2023-10-06-075924+0000/Fri, 06 Oct 2023 07:59:24 +0000https://kaoto.io/timeline/generated-release-2023-10-06-075924+0000/What&rsquo;s Changed feat(ui): Add basic UI scaffolding by @lordrip in https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.4.0https://kaoto.io/timeline/generated-release-2023-10-02-090635+0000/Mon, 02 Oct 2023 09:06:35 +0000https://kaoto.io/timeline/generated-release-2023-10-02-090635+0000/What&rsquo;s Changed feat: Expose wrapField function by @lordrip in https://github.com/KaotoIO/uniforms-patternfly/pull/8 Full Changelog: https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.3.2https://kaoto.io/timeline/generated-release-2023-10-01-135913+0000/Sun, 01 Oct 2023 13:59:13 +0000https://kaoto.io/timeline/generated-release-2023-10-01-135913+0000/What&rsquo;s Changed chore(docs): Update README.md file by @lordrip in https://github.com/KaotoIO/uniforms-patternfly/pull/6 Full Changelog: https://github.uniforms-patternfly @kaoto-next/uniforms-patternfly@0.3.1https://kaoto.io/timeline/generated-release-2023-10-01-135855+0000/Sun, 01 Oct 2023 13:58:55 +0000https://kaoto.io/timeline/generated-release-2023-10-01-135855+0000/What&rsquo;s Changed feat: Initial commit by @lordrip in https://github.com/KaotoIO/uniforms-patternfly/pull/1 chore(publish): Add registry information by @lordrip in https://github.kaoto-backend v1.3.0https://kaoto.io/timeline/generated-release-2023-09-15-124502+0000/Fri, 15 Sep 2023 12:45:02 +0000https://kaoto.io/timeline/generated-release-2023-09-15-124502+0000/Read morekaoto-ui v1.3.0https://kaoto.io/timeline/generated-release-2023-09-14-144325+0000/Thu, 14 Sep 2023 14:43:25 +0000https://kaoto.io/timeline/generated-release-2023-09-14-144325+0000/What&rsquo;s Changed Functional change chore(deployment): Disable Deploy button by @lordrip in https://github.kaoto-ui v1.2.1https://kaoto.io/timeline/generated-release-2023-08-24-133223+0000/Thu, 24 Aug 2023 13:32:23 +0000https://kaoto.io/timeline/generated-release-2023-08-24-133223+0000/What&rsquo;s Changed chore: Provide information to release by @apupier in https://github.kaoto-ui v1.2.0https://kaoto.io/timeline/generated-release-2023-08-24-103357+0000/Thu, 24 Aug 2023 10:33:57 +0000https://kaoto.io/timeline/generated-release-2023-08-24-103357+0000/What&rsquo;s Changed Features feat: Persist layout choice to local storage by @tplevko in https://github.kaoto-backend v1.2.0https://kaoto.io/timeline/generated-release-2023-08-24-082007+0000/Thu, 24 Aug 2023 08:20:07 +0000https://kaoto.io/timeline/generated-release-2023-08-24-082007+0000/What&rsquo;s Changed Features feat: build standalone images by @lburgazzoli in https://github.eerkmenhttps://kaoto.io/timeline/generated-contributor-eerkmen/Wed, 23 Aug 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-eerkmen/eerkmen made their first commit on Kaoto!Efe Erkmenhttps://kaoto.io/timeline/generated-contributor-efe-erkmen/Wed, 23 Aug 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-efe-erkmen/Efe Erkmen made their first commit on Kaoto!Lars Heinemannhttps://kaoto.io/timeline/generated-contributor-lars-heinemann/Sat, 12 Aug 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-lars-heinemann/Lars Heinemann made their first commit on Kaoto!kaoto-backend v1.1.1https://kaoto.io/timeline/generated-release-2023-07-24-080234+0000/Mon, 24 Jul 2023 08:02:34 +0000https://kaoto.io/timeline/generated-release-2023-07-24-080234+0000/Small fixes because the 1.1.0 version in native mode had a blocking bug that prevented it from running.kaoto-ui v1.1.0https://kaoto.io/timeline/generated-release-2023-07-21-084346+0000/Fri, 21 Jul 2023 08:43:46 +0000https://kaoto.io/timeline/generated-release-2023-07-21-084346+0000/Features feat(about): Add About modal to display front and back version by @lordrip in https://github.kaoto-backend v1.1.0https://kaoto.io/timeline/generated-release-2023-07-21-072500+0000/Fri, 21 Jul 2023 07:25:00 +0000https://kaoto.io/timeline/generated-release-2023-07-21-072500+0000/This is version 1.1.0 of Kaoto Backend! +This version differs from latest final release in 3 main new features:kaoto-ui v1.1.0-M3https://kaoto.io/timeline/generated-release-2023-07-17-042659+0000/Mon, 17 Jul 2023 04:26:59 +0000https://kaoto.io/timeline/generated-release-2023-07-17-042659+0000/What&rsquo;s Changed (chore): Set version to v1.1.0-dev by @lordrip in https://github.kaoto-ui v1.1.0-M2https://kaoto.io/timeline/generated-release-2023-07-14-104846+0000/Fri, 14 Jul 2023 10:48:46 +0000https://kaoto.io/timeline/generated-release-2023-07-14-104846+0000/This is a pre-release very close to the 1.1.0 milestone. We have fixed several features towards the goals of the milestone, played with multiple routes, and made sure to update dependencies.kaoto-backend Backend v1.1.0-M2https://kaoto.io/timeline/generated-release-2023-07-14-102442+0000/Fri, 14 Jul 2023 10:24:42 +0000https://kaoto.io/timeline/generated-release-2023-07-14-102442+0000/This release is almost closing all 1.1.0 milestone goals. +What&rsquo;s Changed We added some new features:Luca Burgazzolihttps://kaoto.io/timeline/generated-contributor-luca-burgazzoli/Thu, 06 Jul 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-luca-burgazzoli/Luca Burgazzoli made their first commit on Kaoto!kaoto-ui v1.1.0-M1https://kaoto.io/timeline/generated-release-2023-07-03-084147+0000/Mon, 03 Jul 2023 08:41:47 +0000https://kaoto.io/timeline/generated-release-2023-07-03-084147+0000/What&rsquo;s Changed chore: update kaoto version to 1.0.1-dev by @kahboom in https://github.kaoto-backend Backend v1.1.0-M1https://kaoto.io/timeline/generated-release-2023-06-30-094316+0000/Fri, 30 Jun 2023 09:43:16 +0000https://kaoto.io/timeline/generated-release-2023-06-30-094316+0000/This is a release working towards milestone 1.1.0. It includes an upgrade to Quarkus 3.kaoto-backend Backend v1.0.1https://kaoto.io/timeline/generated-release-2023-06-15-112121+0000/Thu, 15 Jun 2023 11:21:21 +0000https://kaoto.io/timeline/generated-release-2023-06-15-112121+0000/What&rsquo;s Changed This is a patch release with some version updates and minor bug fixing.Matej Králikhttps://kaoto.io/timeline/generated-contributor-matej-kr%C3%A1lik/Fri, 19 May 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-matej-kr%C3%A1lik/Matej Králik made their first commit on Kaoto!Dominik Jelínekhttps://kaoto.io/timeline/generated-contributor-dominik-jel%C3%ADnek/Thu, 18 May 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-dominik-jel%C3%ADnek/Dominik Jelínek made their first commit on Kaoto!mkralik3https://kaoto.io/timeline/generated-contributor-mkralik3/Wed, 10 May 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-mkralik3/mkralik3 made their first commit on Kaoto!Martin Muzikarhttps://kaoto.io/timeline/generated-contributor-martin-muzikar/Fri, 05 May 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-martin-muzikar/Martin Muzikar made their first commit on Kaoto!Purva Naikhttps://kaoto.io/timeline/generated-contributor-purva-naik/Mon, 17 Apr 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-purva-naik/Purva Naik made their first commit on Kaoto!kaoto-ui v1.0.0 🎉https://kaoto.io/timeline/generated-release-2023-04-11-150443+0000/Tue, 11 Apr 2023 15:04:43 +0000https://kaoto.io/timeline/generated-release-2023-04-11-150443+0000/Overview This marks the first major release for Kaoto. 🍾 Kaoto is an open source visual integration and workflow editor.kaoto-backend Backend v1.0.0https://kaoto.io/timeline/generated-release-2023-04-11-115727+0000/Tue, 11 Apr 2023 11:57:27 +0000https://kaoto.io/timeline/generated-release-2023-04-11-115727+0000/:partying_face: :tada: :balloon: This is our 1.0.0 release! :champagne: +Conversions from the graphical canvas to the source text editor are complete.Dominik Jelinekhttps://kaoto.io/timeline/generated-contributor-dominik-jelinek/Wed, 05 Apr 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-dominik-jelinek/Dominik Jelinek made their first commit on Kaoto!kaoto-ui v1.0.0-rc1https://kaoto.io/timeline/generated-release-2023-04-04-142232+0000/Tue, 04 Apr 2023 14:22:32 +0000https://kaoto.io/timeline/generated-release-2023-04-04-142232+0000/What&rsquo;s Changed Bug Fixes fix(steps-details): Required object type&rsquo;s parameters are lost by @lordrip in https://github.kaoto-backend v1.0.0-rc1https://kaoto.io/timeline/generated-release-2023-04-04-134237+0000/Tue, 04 Apr 2023 13:42:37 +0000https://kaoto.io/timeline/generated-release-2023-04-04-134237+0000/This is the release candidate for 1.0.0. It doesn&rsquo;t have much more than a few bug fixings, but it is significantly different from previous v0.kaoto-ui v0.7.6https://kaoto.io/timeline/generated-release-2023-03-30-151015+0000/Thu, 30 Mar 2023 15:10:15 +0000https://kaoto.io/timeline/generated-release-2023-03-30-151015+0000/What&rsquo;s Changed BugFixes fix(StepsService): Generate steady IDs for steps and branches by @lordrip in https://github.kaoto-backend v0.7.6https://kaoto.io/timeline/generated-release-2023-03-30-150810+0000/Thu, 30 Mar 2023 15:08:10 +0000https://kaoto.io/timeline/generated-release-2023-03-30-150810+0000/What&rsquo;s Changed Features feature: Add new endpoint to show version of the backend by @Delawen in https://github.kaoto-backend v0.7.5https://kaoto.io/timeline/generated-release-2023-03-27-073322+0000/Mon, 27 Mar 2023 07:33:22 +0000https://kaoto.io/timeline/generated-release-2023-03-27-073322+0000/What&rsquo;s Changed Bugfixes Remove default values from code generation by @Delawen in https://github.kaoto-ui v0.7.5https://kaoto.io/timeline/generated-release-2023-03-27-072848+0000/Mon, 27 Mar 2023 07:28:48 +0000https://kaoto.io/timeline/generated-release-2023-03-27-072848+0000/What&rsquo;s Changed Bugfixes fix(modals): Modals have an incorrect height by @lordrip in https://github.kaoto-backend v0.7.4https://kaoto.io/timeline/generated-release-2023-03-21-135409+0000/Tue, 21 Mar 2023 13:54:09 +0000https://kaoto.io/timeline/generated-release-2023-03-21-135409+0000/What&rsquo;s Changed Bugfixes fix: when an id was null, there was still cases in which we lost branches by @Delawen in https://github.kaoto-ui v0.7.4https://kaoto.io/timeline/generated-release-2023-03-21-104852+0000/Tue, 21 Mar 2023 10:48:52 +0000https://kaoto.io/timeline/generated-release-2023-03-21-104852+0000/What&rsquo;s Changed Prepare next development iteration 0.7.4 by @apupier in https://github.kaoto-ui v0.7.3https://kaoto.io/timeline/generated-release-2023-03-20-114306+0000/Mon, 20 Mar 2023 11:43:06 +0000https://kaoto.io/timeline/generated-release-2023-03-20-114306+0000/What&rsquo;s Changed Features Hide Add Branch button for steps with custom extensions by @lordrip in https://github.kaoto-backend v0.7.3https://kaoto.io/timeline/generated-release-2023-03-20-114026+0000/Mon, 20 Mar 2023 11:40:26 +0000https://kaoto.io/timeline/generated-release-2023-03-20-114026+0000/What&rsquo;s Changed Features feature: consider branch identifier on choices by @Delawen in https://github.kaoto-ui v0.7.2https://kaoto.io/timeline/generated-release-2023-03-13-100132+0000/Mon, 13 Mar 2023 10:01:32 +0000https://kaoto.io/timeline/generated-release-2023-03-13-100132+0000/What&rsquo;s Changed Bugfixes fix(jest): Jest warning about duplicated step mock by @lordrip in https://github.kaoto-backend v0.7.2https://kaoto.io/timeline/generated-release-2023-03-13-095103+0000/Mon, 13 Mar 2023 09:51:03 +0000https://kaoto.io/timeline/generated-release-2023-03-13-095103+0000/What&rsquo;s Changed Bugfixes fix: When no start step is available, don&rsquo;t go crazy by @Delawen in https://github.Antonin Stefanuttihttps://kaoto.io/timeline/generated-contributor-antonin-stefanutti/Mon, 13 Mar 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-antonin-stefanutti/Antonin Stefanutti made their first commit on Kaoto!kaoto-ui v0.7.1https://kaoto.io/timeline/generated-release-2023-03-06-094832+0000/Mon, 06 Mar 2023 09:48:32 +0000https://kaoto.io/timeline/generated-release-2023-03-06-094832+0000/What&rsquo;s Changed Features Add gzip config to nginx server by @lordrip in https://github.kaoto-backend v0.7.1https://kaoto.io/timeline/generated-release-2023-03-06-094149+0000/Mon, 06 Mar 2023 09:41:49 +0000https://kaoto.io/timeline/generated-release-2023-03-06-094149+0000/What&rsquo;s Changed Bugfixes fix: Step extension doesn&rsquo;t load in some case by @igarashitm in https://github.kaoto-ui v0.7.0https://kaoto.io/timeline/generated-release-2023-02-28-123417+0000/Tue, 28 Feb 2023 12:34:17 +0000https://kaoto.io/timeline/generated-release-2023-02-28-123417+0000/What&rsquo;s Changed Features feat(settings): allow light mode &amp; add labels to step names by @kahboom in https://github.kaoto-backend v0.7.0https://kaoto.io/timeline/generated-release-2023-02-28-120103+0000/Tue, 28 Feb 2023 12:01:03 +0000https://kaoto.io/timeline/generated-release-2023-02-28-120103+0000/What&rsquo;s Changed Features Update view definition zip file used by native artifact in prod to by @apupier in https://github.Mikhail Abramovhttps://kaoto.io/timeline/generated-contributor-mikhail-abramov/Thu, 23 Feb 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-mikhail-abramov/Mikhail Abramov made their first commit on Kaoto!Helio Frotahttps://kaoto.io/timeline/generated-contributor-helio-frota/Tue, 21 Feb 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-helio-frota/Helio Frota made their first commit on Kaoto!kaoto-backend Backend v0.6.2https://kaoto.io/timeline/generated-release-2023-02-15-140607+0000/Wed, 15 Feb 2023 14:06:07 +0000https://kaoto.io/timeline/generated-release-2023-02-15-140607+0000/This patch release contains a few step extensions for EIP that now the kaoto-ui will use.Tomas Plevkohttps://kaoto.io/timeline/generated-contributor-tomas-plevko/Tue, 31 Jan 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-tomas-plevko/Tomas Plevko made their first commit on Kaoto!kaoto-ui v0.6.1https://kaoto.io/timeline/generated-release-2023-01-26-142932+0000/Thu, 26 Jan 2023 14:29:32 +0000https://kaoto.io/timeline/generated-release-2023-01-26-142932+0000/What&rsquo;s Changed Features feat(branching): add append for branch steps and branch-containing steps by @kahboom in https://github.kaoto-backend v0.6.1https://kaoto.io/timeline/generated-release-2023-01-25-094307+0000/Wed, 25 Jan 2023 09:43:07 +0000https://kaoto.io/timeline/generated-release-2023-01-25-094307+0000/What&rsquo;s Changed Features Provide Exception stack in server log when there is &ldquo;Error getting capabilities.kaoto-ui v0.6.0https://kaoto.io/timeline/generated-release-2023-01-23-155947+0000/Mon, 23 Jan 2023 15:59:47 +0000https://kaoto.io/timeline/generated-release-2023-01-23-155947+0000/What&rsquo;s Changed Features Branch support: feat(branching): add support to edit branch step properties by @kahboom in https://github.kaoto-backend v0.6.0https://kaoto.io/timeline/generated-release-2023-01-23-151912+0000/Mon, 23 Jan 2023 15:19:12 +0000https://kaoto.io/timeline/generated-release-2023-01-23-151912+0000/What&rsquo;s Changed feature(eip): Add Threads EIP by @Delawen in https://github.com/KaotoIO/kaoto-backend/pull/385 feature(eip): Add Transacted EIP by @Delawen in https://github.Javier López de Ancoshttps://kaoto.io/timeline/generated-contributor-javier-l%C3%B3pez-de-ancos/Wed, 04 Jan 2023 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-javier-l%C3%B3pez-de-ancos/Javier López de Ancos made their first commit on Kaoto!kaoto-backend Backend v0.5.1https://kaoto.io/timeline/generated-release-2022-12-14-115143+0000/Wed, 14 Dec 2022 11:51:43 +0000https://kaoto.io/timeline/generated-release-2022-12-14-115143+0000/What&rsquo;s Changed Added some EIPs more and fixed minor bugs.kaoto-ui v0.5.0https://kaoto.io/timeline/generated-release-2022-12-13-115357+0000/Tue, 13 Dec 2022 11:53:57 +0000https://kaoto.io/timeline/generated-release-2022-12-13-115357+0000/What&rsquo;s Changed Features feat(viz): migrate to elk for layouting by @kahboom in https://github.tplevkohttps://kaoto.io/timeline/generated-contributor-tplevko/Tue, 13 Dec 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-tplevko/tplevko made their first commit on Kaoto!kaoto-backend Backend v0.5.0https://kaoto.io/timeline/generated-release-2022-12-07-112727+0000/Wed, 07 Dec 2022 11:27:27 +0000https://kaoto.io/timeline/generated-release-2022-12-07-112727+0000/What&rsquo;s Changed Added some new EIPs and strenghten the APIs for the frontend to handle branches.kaoto-backend Backend v0.4.3https://kaoto.io/timeline/generated-release-2022-11-30-142908+0000/Wed, 30 Nov 2022 14:29:08 +0000https://kaoto.io/timeline/generated-release-2022-11-30-142908+0000/What&rsquo;s Changed Features feature(eip): Add Rollback EIP by @Delawen in https://github.kaoto-backend Backend v0.4.2https://kaoto.io/timeline/generated-release-2022-11-28-091734+0000/Mon, 28 Nov 2022 09:17:34 +0000https://kaoto.io/timeline/generated-release-2022-11-28-091734+0000/Minor version release with Quarkus update. Now we support Windows native executables!kaoto-backend Backend v0.4.1https://kaoto.io/timeline/generated-release-2022-11-24-084005+0000/Thu, 24 Nov 2022 08:40:05 +0000https://kaoto.io/timeline/generated-release-2022-11-24-084005+0000/Minor release with bug fixes and dependencies updates. +Features Make Kaoto look for kamelets in specified namespace based on defined property by @mmelko in https://github.kaoto-ui v0.4.3https://kaoto.io/timeline/generated-release-2022-11-15-154943+0000/Tue, 15 Nov 2022 15:49:43 +0000https://kaoto.io/timeline/generated-release-2022-11-15-154943+0000/What&rsquo;s Changed This release addresses an issue with the npm package that gets published for kaoto-ui and is used by vscode-kaoto.kaoto-ui v0.4.2https://kaoto.io/timeline/generated-release-2022-11-14-150818+0000/Mon, 14 Nov 2022 15:08:18 +0000https://kaoto.io/timeline/generated-release-2022-11-14-150818+0000/What&rsquo;s Changed Fixes fix(catalog): Avoid creating gaps between steps. #797 by @lordrip in https://github.Ricardo Mhttps://kaoto.io/timeline/generated-contributor-ricardo-m/Wed, 09 Nov 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-ricardo-m/Ricardo M made their first commit on Kaoto!Ricardo M.https://kaoto.io/timeline/generated-contributor-ricardo-m./Wed, 09 Nov 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-ricardo-m./Ricardo M. made their first commit on Kaoto!kaoto-ui v0.4.1https://kaoto.io/timeline/generated-release-2022-11-08-135627+0000/Tue, 08 Nov 2022 13:56:27 +0000https://kaoto.io/timeline/generated-release-2022-11-08-135627+0000/What&rsquo;s Changed chore: bump kaoto version to 0.4.1 by @kahboom in https://github.kaoto-ui v0.4.0 🎉https://kaoto.io/timeline/generated-release-2022-11-07-163724+0000/Mon, 07 Nov 2022 16:37:24 +0000https://kaoto.io/timeline/generated-release-2022-11-07-163724+0000/What&rsquo;s Changed in the Frontend Main changes include a VS Code plugin, support for visualizing EIP branching, layouting, auto-layout choice (with new icons!kaoto-backend v0.4.0https://kaoto.io/timeline/generated-release-2022-11-07-162442+0000/Mon, 07 Nov 2022 16:24:42 +0000https://kaoto.io/timeline/generated-release-2022-11-07-162442+0000/What&rsquo;s Changed in the Backend Removed API v0 no longer used by the frontend Add all Camel Components to the Step Catalog Improved startup time that was slowed down after adding camel Read moreAsish Abraham Josephhttps://kaoto.io/timeline/generated-contributor-asish-abraham-joseph/Sat, 01 Oct 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-asish-abraham-joseph/Asish Abraham Joseph made their first commit on Kaoto!José Ráez Rodríguezhttps://kaoto.io/timeline/generated-contributor-jos%C3%A9-r%C3%A1ez-rodr%C3%ADguez/Thu, 15 Sep 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-jos%C3%A9-r%C3%A1ez-rodr%C3%ADguez/José Ráez Rodríguez made their first commit on Kaoto!JoshiRaezhttps://kaoto.io/timeline/generated-contributor-joshiraez/Thu, 15 Sep 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-joshiraez/JoshiRaez made their first commit on Kaoto!Thiago Luglihttps://kaoto.io/timeline/generated-contributor-thiago-lugli/Fri, 09 Sep 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-thiago-lugli/Thiago Lugli made their first commit on Kaoto!kaoto-ui v0.3.1https://kaoto.io/timeline/generated-release-2022-09-07-095742+0000/Wed, 07 Sep 2022 09:57:42 +0000https://kaoto.io/timeline/generated-release-2022-09-07-095742+0000/Full Changelog: https://github.com/KaotoIO/kaoto-ui/compare/v0.3.0...v0.3.1 Bumped version for npm package +Read morekaoto-ui v0.3.0 🎉https://kaoto.io/timeline/generated-release-2022-09-06-084454+0000/Tue, 06 Sep 2022 08:44:54 +0000https://kaoto.io/timeline/generated-release-2022-09-06-084454+0000/What&rsquo;s Changed in the Frontend Main changes include a new layout, persistent steps between changes, settings (with dark mode!kaoto-backend v0.3.0https://kaoto.io/timeline/generated-release-2022-09-02-073434+0000/Fri, 02 Sep 2022 07:34:34 +0000https://kaoto.io/timeline/generated-release-2022-09-02-073434+0000/What&rsquo;s Changed in the Backend Support for editing Kamelets Support for editing Camel Routes (Integration kind of resource) Cluster management: start, stop, list resources in the cluster Add [mutation testing](https://github.kahboomhttps://kaoto.io/timeline/generated-contributor-kahboom/Wed, 31 Aug 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-kahboom/kahboom made their first commit on Kaoto!Tomohisa Igarashihttps://kaoto.io/timeline/generated-contributor-tomohisa-igarashi/Wed, 31 Aug 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-tomohisa-igarashi/Tomohisa Igarashi made their first commit on Kaoto!eray.erdemhttps://kaoto.io/timeline/generated-contributor-eray.erdem/Fri, 26 Aug 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-eray.erdem/eray.erdem made their first commit on Kaoto!Crowayhttps://kaoto.io/timeline/generated-contributor-croway/Wed, 22 Jun 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-croway/Croway made their first commit on Kaoto!Mohammadi Iramhttps://kaoto.io/timeline/generated-contributor-mohammadi-iram/Tue, 24 May 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-mohammadi-iram/Mohammadi Iram made their first commit on Kaoto!Selmahttps://kaoto.io/timeline/generated-contributor-selma/Sun, 03 Apr 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-selma/Selma made their first commit on Kaoto!kaoto-backend Version 0.2.1 with bug fixeshttps://kaoto.io/timeline/generated-release-2022-03-31-102012+0000/Thu, 31 Mar 2022 10:20:12 +0000https://kaoto.io/timeline/generated-release-2022-03-31-102012+0000/This is a small patch bug fix adding a workaround for the Parameter polymorphism in https://github.Evan Shortisshttps://kaoto.io/timeline/generated-contributor-evan-shortiss/Thu, 17 Mar 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-evan-shortiss/Evan Shortiss made their first commit on Kaoto!kaoto-ui Version 0.2.0 with improved editor!https://kaoto.io/timeline/generated-release-2022-03-16-153313+0000/Wed, 16 Mar 2022 15:33:13 +0000https://kaoto.io/timeline/generated-release-2022-03-16-153313+0000/What&rsquo;s Changed Provide color syntax for Yaml textual editor #37 by @apupier in https://github.kaoto-backend Version 0.2.0 with improved editor!https://kaoto.io/timeline/generated-release-2022-03-16-123750+0000/Wed, 16 Mar 2022 12:37:50 +0000https://kaoto.io/timeline/generated-release-2022-03-16-123750+0000/What&rsquo;s Changed Cluster deployment support (not available on frontend yet) in https://github.Matej Melkohttps://kaoto.io/timeline/generated-contributor-matej-melko/Tue, 22 Feb 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-matej-melko/Matej Melko made their first commit on Kaoto!mmelkohttps://kaoto.io/timeline/generated-contributor-mmelko/Tue, 22 Feb 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-mmelko/mmelko made their first commit on Kaoto!Almen Nghttps://kaoto.io/timeline/generated-contributor-almen-ng/Wed, 02 Feb 2022 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-almen-ng/Almen Ng made their first commit on Kaoto!kaoto-backend v0.1.0https://kaoto.io/timeline/generated-release-2021-11-26-083308+0000/Fri, 26 Nov 2021 08:33:08 +0000https://kaoto.io/timeline/generated-release-2021-11-26-083308+0000/What&rsquo;s Changed This is the first release for the Kaoto backend.Aurélien Pupierhttps://kaoto.io/timeline/generated-contributor-aur%C3%A9lien-pupier/Fri, 24 Sep 2021 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-aur%C3%A9lien-pupier/Aurélien Pupier made their first commit on Kaoto!Zineb Bendhibahttps://kaoto.io/timeline/generated-contributor-zineb-bendhiba/Thu, 01 Jul 2021 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-zineb-bendhiba/Zineb Bendhiba made their first commit on Kaoto!María Arias de Reynahttps://kaoto.io/timeline/generated-contributor-mar%C3%ADa-arias-de-reyna/Fri, 18 Jun 2021 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-mar%C3%ADa-arias-de-reyna/María Arias de Reyna made their first commit on Kaoto!María Arias de Reyna Domínguezhttps://kaoto.io/timeline/generated-contributor-mar%C3%ADa-arias-de-reyna-dom%C3%ADnguez/Fri, 18 Jun 2021 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-mar%C3%ADa-arias-de-reyna-dom%C3%ADnguez/María Arias de Reyna Domínguez made their first commit on Kaoto!Rachel Yordánhttps://kaoto.io/timeline/generated-contributor-rachel-yord%C3%A1n/Fri, 18 Jun 2021 00:00:00 +0000https://kaoto.io/timeline/generated-contributor-rachel-yord%C3%A1n/Rachel Yordán made their first commit on Kaoto!Kaoto was bornhttps://kaoto.io/timeline/creation/Tue, 06 Apr 2021 00:00:00 +0000https://kaoto.io/timeline/creation/Kaoto was born on a virtual coffee with Zineb , Rachel , and María . \ No newline at end of file diff --git a/workshop/beginner-camel-choice/index.html b/workshop/beginner-camel-choice/index.html new file mode 100644 index 00000000..e243bb56 --- /dev/null +++ b/workshop/beginner-camel-choice/index.html @@ -0,0 +1,74 @@ +Create a multiple choice route in Apache Camel | Kaoto +

Create a multiple choice route in Apache Camel

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
Create a multiple choice route in Apache Camel

Published on 10 Mar 2023 by

On this workshop we will learn how to create a multiple choice route in Apache Camel using mostly the graphical canvas.

We will be using Kaoto version 1.0.0.

The suggested way of following this workshop is to read the goals of each exercise and try to do it without looking at the solution. After finishing the exercise, you can check if the solution reached is the same as the solution suggested.

If you are having difficulties with an exercise, you can try to take a look at the Hints. If that’s not enough, you can check on the Solution section how to do it.

Note that there may be more than one way of finishing the exercise.

1.- Create a simple choice

We are going to start by creating a simple if-else code using the graphical canvas. We will have 5 steps in total:

  • A first step which will be a timer with timer name property filled as tutorial
  • A second step which will be a set-body that will generate randomly a zero or a one.
  • A third step which will be a choice step. This step will contain two branches:
    • A branch that detects if ${body} == 1, leading to a log with a message configured as "We got a one."
    • A branch that will be fallback branch, leading to a log with a message configured as "We got a ${body}."

Hints

A first step which will be a timer with timer name property filled as tutorial

  • To add new steps to the canvas, take a look at the User Guide +.
  • To configure a step and fill the configuration properties, click on the step icon of the canvas.

A second step which will be a set-body that will generate randomly a zero or a one.

  • You can generate random numbers using the simple language function random +.
  • The simple expression ${random(2))} will generate a random number between zero (included) and two (not included).
  • When configuring the set-body, we can use the expression syntax Simple and then the expression used will be ${random(2)}.

A third step which will be a choice step.

  • To configure the different choices, we click on the choice step which will open a tab with two buttons: + When and + Otherwise
  • We have to click once on each button to create an if and an else.
  • If we add more than one when (if condition), we can remove them using the trash icon.
  • We have to fill the condition ${body} == 1 on the when and click Apply.
  • We can now add steps on the canvas as before, just clicking on the placeholder.
  • We add a log step. Kaoto offers two log steps to add: the camel component and the EIP. For simplicity, we will choose the EIP (the one without the Camel logo).
  • We have to fill the message property as described on the goals.

Solution

The following video showcases the solution.

At this point, the text editor should show the following code:

- from:
+    uri: timer:tutorial
+    steps:
+    - set-body:
+        simple: ${random(2)}
+    - choice:
+        when:
+        - simple: ${body} == 1
+          steps:
+          - log:
+              message: We got a one.
+        otherwise:
+          steps:
+          - log:
+              message: We got a ${body}
+

If it doesn’t look like that but you want to go to the following exercise, you can copy and paste that code on the text editor and click on the green tick button to synchronize.

2.- Set Header instead of Body

On this exercise we are going to modify the previously created route to replace the set-body with a set-header.

The goals for this exercise are:

  • Modify the route so instead of setting the body, we will use a header called myChoice for the decision.

Hints

  • To replace an existing component, select it from the step catalog and drag and drop on top of it.
  • Note that you have to use the proper type of step: START, MIDDLE or END.

Solution

The following video showcases the solution.

At this point, the text editor should show the following code:

- from:
+    uri: timer:tutorial
+    steps:
+    - set-header:
+        simple: ${random(2)}
+        name: myChoice
+    - choice:
+        when:
+        - simple: ${header.myChoice} == 1
+          steps:
+          - log:
+              message: We got a one.
+        otherwise:
+          steps:
+          - log:
+              message: We got a ${body}
+

If it doesn’t look like that but you want to go to the following exercise, you can copy and paste that code on the text editor and click on the green tick button to synchronize.

3.- Connect to an external service

On this exercise we are going to modify the previously created route to add a more complex route. We are going to modify the when branch to send a request to an API.

The goals for this exercise are:

  • Modify the route so when the generated random number is 0 it calls the service https://dog-api.kinduff.com/api/facts to display a random dog fact on the log
  • Modify the route so when the generated random number is 1 it calls the service https://cat-fact.herokuapp.com/facts/random to display a random cat fact on the log
  • Move the log out of the choice branches
  • Change the log to just display the ${body} of the message

Note: these two services are testing services that we don’t control. Make sure they run properly before attempting to use them to prevent any weird errors.

Hints

  • To call an external service, you can use the https component.
  • You just need to configure the HTTP Uri with the proper value.
  • To remove a step from a flow branch, there is a - button that appears when you hover over the step.
  • You can add steps after the choice by clicking on the + button near it.

Solution

The following video showcases the solution.

At this point, the text editor should show the following code:


+- from:
+    uri: timer:tutorial
+    steps:
+    - set-header:
+        simple: ${random(2)}
+        name: myChoice
+    - choice:
+        when:
+        - simple: ${header.myChoice} == 1
+          steps:
+          - to:
+              uri: https://cat-fact.herokuapp.com/facts/random
+        otherwise:
+          steps:
+          - to:
+              uri: https://dog-api.kinduff.com/api/facts
+    - log:
+        message: ${body}
+

If it doesn’t look like that but you want to go to the following exercise, you can copy and paste that code on the text editor and click on the green tick button to synchronize.

Deployment

At this point, if you deploy the existing integration, the log should show something like this:


+2023-04-11 12:37:17.107  INFO 69161 --- [           main] el.impl.engine.AbstractCamelContext : Apache Camel 3.20.3 (maria-test) started in 1s19ms (build:98ms init:709ms start:212ms JVM-uptime:2s)
+2023-04-11 12:37:18.990  INFO 69161 --- [imer://tutorial] maria-test.camel.yaml:17            : {"facts":["Dogs are all direct descendants of wolves."],"success":true}
+2023-04-11 12:37:19.865  INFO 69161 --- [imer://tutorial] maria-test.camel.yaml:17            : {"status":{"verified":null,"sentCount":0},"_id":"61d36272403b4002d3798703","user":"61b8566766b26cede617b4ef","text":"35342r54235233.","type":"cat","deleted":false,"createdAt":"2022-01-03T20:54:10.612Z","updatedAt":"2022-01-03T20:54:10.612Z","__v":0}
+2023-04-11 12:37:20.216  INFO 69161 --- [imer://tutorial] maria-test.camel.yaml:17            : {"status":{"verified":null,"sentCount":0},"_id":"64328a14b831d40018499dfc","user":"642fee0fd56bfe7a06ce6788","text":"Something interesting and amazing about cats.","type":"cat","deleted":false,"createdAt":"2023-04-09T09:49:08.850Z","updatedAt":"2023-04-09T09:49:08.850Z","__v":0}
+2023-04-11 12:37:21.874  INFO 69161 --- [imer://tutorial] maria-test.camel.yaml:17            : {"status":{"verified":null,"sentCount":0},"_id":"640977e892271493a95639ad","user":"640027109444b2a501a06ba8","text":"Cat it the best animal in the world< pero no todo el mundo piensa asi.","type":"cat","deleted":false,"createdAt":"2023-03-09T06:08:40.401Z","updatedAt":"2023-03-09T06:08:40.401Z","__v":0}
+2023-04-11 12:37:22.143  INFO 69161 --- [imer://tutorial] maria-test.camel.yaml:17            : {"facts":["During the Middle Ages, Great Danes and Mastiffs were sometimes suited with armor and spiked collars to enter a battle or to defend supply caravans."],"success":true}
+2023-04-11 12:37:23.142  INFO 69161 --- [imer://tutorial] maria-test.camel.yaml:17            : {"facts":["One of the most famous Labrador Retrievers was \"Endal,\" an assistance dog recognized as the most decorated dog in the world."],"success":true}
+2023-04-11 12:37:24.140  INFO 69161 --- [imer://tutorial] maria-test.camel.yaml:17            : {"facts":["Americans love dogs! 44% of U.S. households have a dog, which equates to 55.3 million homes"],"success":true}
+2023-04-11 12:37:25.586  INFO 69161 --- [imer://tutorial] maria-test.camel.yaml:17            : {"status":{"verified":null,"sentCount":0},"_id":"6433e407c8f25e1d24c35557","user
+

More information

More information about Apache Camel routes can be found on the Apache Camel website

\ No newline at end of file diff --git a/workshop/beginner-file/index.html b/workshop/beginner-file/index.html new file mode 100644 index 00000000..586f6463 --- /dev/null +++ b/workshop/beginner-file/index.html @@ -0,0 +1,33 @@ +Listen to a folder | Kaoto +

Listen to a folder

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
Listen to a folder

Published on 12 Mar 2023 by

On this workshop we will learn how to listen to changes in a folder using Apache Camel.

We will be using Kaoto version 1.0.0.

The suggested way of following this workshop is to read the goals of each exercise and try to do it without looking at the solution. After finishing the exercise, you can check if the solution reached is the same as the solution suggested.

If you are having difficulties with an exercise, you can try to take a look at the Hints. If that’s not enough, you can check on the Solution section how to do it.

Note that there may be more than one way of finishing the exercise.

1.- Log changes

The goals for this exercise are:

  • Start the flow with a file-watch step which watches a local folder like /tmp/tutorial and configure parameter recursive as false
  • Then log the detected change with an output like Detected ${header.CamelFileEventType} on file ${header.CamelFileName} at ${header.CamelFileLastModified}

Make sure your folder (/tmp/tutorial) exists before running this integration.

This integration will work better when run locally, as the folder must be in the same machine that it gets deployed.

Hints

  • To add new steps to the canvas, take a look at the User Guide +.
  • To configure a step and fill the configuration properties, click on the step icon of the canvas.
  • The first step you want to add is called file-watch. Don’t confuse it with file
  • The second step is a log. There may be more than one log option, choose the one without the camel logo for simplicity.

Solution

The following video showcases the solution.

At this point, the text editor should show the following code:

- from:
+    uri: file-watch:/tmp/tutorial
+    parameters:
+      recursive: false
+    steps:
+    - log:
+        message: Detected  ${header.CamelFileEventType} on file ${header.CamelFileName}
+          at ${header.CamelFileLastModified}
+

If it doesn’t look like that but you want to go to the following exercise, you can copy and paste that code on the text editor and click on the green tick button to synchronize.

2.- Add a filter

Now we want to add a filter between the file-watch and the file that copies the file in another folder everytime a file gets created.

This will require adding two steps:

  • A step filter that will open a branch of steps that will be executed only when ${header.CamelFileEventType} equals ‘CREATE’`
  • A step file to create the new file in /tmp/backup or whatever folder you choose (different from the previous one)

Make sure your folder (/tmp/backup) exists before running this integration.

Hints

  • To create a new file, you have to use the step file
  • Configure the directory name of the file step as /tmp/backup (or whatever folder you are using)
  • The condition of the filter is configured in the simple text field as ${header.CamelFileEventType} == 'CREATE'

Solution

The following video showcases the solution.

At this point, the text editor should show the following code:

- from:
+    uri: file-watch:/tmp/tutorial
+    parameters:
+      recursive: false
+    steps:
+    - filter:
+        simple: ${header.CamelFileEventType} == 'CREATE'
+        steps:
+        - to:
+            uri: file:/tmp/backup
+    - log:
+        message: Detected  ${header.CamelFileEventType} on file ${header.CamelFileName}
+          at ${header.CamelFileLastModified}
+

If it doesn’t look like that but you want to go to the following exercise, you can copy and paste that code on the text editor and click on the green tick button to synchronize.

More information

More information about Apache Camel routes can be found on the Apache Camel website

\ No newline at end of file diff --git a/workshop/index.html b/workshop/index.html new file mode 100644 index 00000000..db5538fd --- /dev/null +++ b/workshop/index.html @@ -0,0 +1,12 @@ +Workshops | Kaoto +

Workshops

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations

For all workshops, we will assume the user have already a running Kaoto instance on the specified version of each tutorial.

  • `Beginner` level means only using the graphical canvas (no-code).
  • `Intermediate` level means slight use of the text editor (low-code).
  • `Advanced` level means complex features for experimented users.
Listen to a folder

Listen to a folder

beginner

1.- Log changes The goals for this exercise are: +Start the flow with a file-watch step which watches a local folder like /tmp/tutorial and configure parameter recursive as false Then log the detected change with an output like Detected ${header.

Do it!
client-logo
\ No newline at end of file diff --git a/workshop/index.xml b/workshop/index.xml new file mode 100644 index 00000000..18893891 --- /dev/null +++ b/workshop/index.xml @@ -0,0 +1,2 @@ +Workshops on Kaoto | Free and Open Source Integration Editor for Apache Camelhttps://kaoto.io/workshop/Recent content in Workshops on Kaoto | Free and Open Source Integration Editor for Apache CamelHugo -- gohugo.ioen-usSun, 12 Mar 2023 12:14:34 +0600Listen to a folderhttps://kaoto.io/workshop/beginner-file/Sun, 12 Mar 2023 12:14:34 +0600https://kaoto.io/workshop/beginner-file/1.- Log changes The goals for this exercise are: +Start the flow with a file-watch step which watches a local folder like /tmp/tutorial and configure parameter recursive as false Then log the detected change with an output like Detected ${header.Create a Kamelet in Apache Camelhttps://kaoto.io/workshop/intermediate-kamelet/Sat, 11 Mar 2023 12:14:34 +0600https://kaoto.io/workshop/intermediate-kamelet/1.- Make sure we are creating a Kamelet We are going to start by making sure the Settings are properly configured.Create a multiple choice route in Apache Camelhttps://kaoto.io/workshop/beginner-camel-choice/Fri, 10 Mar 2023 12:14:34 +0600https://kaoto.io/workshop/beginner-camel-choice/1.- Create a simple choice We are going to start by creating a simple if-else code using the graphical canvas. \ No newline at end of file diff --git a/workshop/intermediate-kamelet/index.html b/workshop/intermediate-kamelet/index.html new file mode 100644 index 00000000..1235aec2 --- /dev/null +++ b/workshop/intermediate-kamelet/index.html @@ -0,0 +1,137 @@ +Create a Kamelet in Apache Camel | Kaoto +

Create a Kamelet in Apache Camel

illustrations +illustrations +illustrations +illustrations +illustrations +illustrations +illustrations
Create a Kamelet in Apache Camel

Published on 11 Mar 2023 by

On this workshop we will learn how to create a Kamelet in Apache Camel using the graphical canvas. We are going to create something similar to the Chuck Norris source +, but generating cat facts.

We will be using Kaoto version 1.0.0.

The suggested way of following this workshop is to read the goals of each exercise and try to do it without looking at the solution. After finishing the exercise, you can check if the solution reached is the same as the solution suggested.

If you are having difficulties with an exercise, you can try to take a look at the Hints. If that’s not enough, you can check on the Solution section how to do it.

Note that there may be more than one way of finishing the exercise.

1.- Make sure we are creating a Kamelet

We are going to start by making sure the Settings are properly configured.

Hints

  • Look for the burguer (three dots) menu top right
  • At the end of the Settings window there is a Type that should be set to Kamelet.

Solution

The following video showcases the solution.

2.- Create the Flow

The goals for this exercise are:

  • Add a first step of timer type with a period of 10000
  • Add another step that calls the cat facts service: https://cat-fact.herokuapp.com/facts/random
  • Add a set-body that extracts the text attribute of the response
  • End the flow with a kamelet:sink

Hints

  • The timer component needs two configuration properties: Timer name and Period.
  • To call an external service, use the https component
  • To extract the attribute of the response, use a set-body with simple language and the following expression: $.text.
  • The kamelet:sink is an end step.

Solution

At this point, the text editor should show the following code:


+apiVersion: camel.apache.org/v1alpha1
+kind: Kamelet
+metadata:
+  annotations:
+    camel.apache.org/kamelet.icon: data:image/svg+xml;base64,PD94bWwgdmVy[...]
+  labels:
+    camel.apache.org/kamelet.type: source
+  name: integration-source
+spec:
+  definition:
+    title: null
+    description: ''
+    properties: {}
+  dependencies:
+  - camel:core
+  - camel:timer
+  - camel:https
+  template:
+    from:
+      uri: timer:cats
+      parameters:
+        period: '10000'
+      steps:
+      - to:
+          uri: https://cat-fact.herokuapp.com/facts/random
+      - set-body:
+          simple: $.text
+      - to:
+          uri: kamelet:sink
+

If it doesn’t look like that but you want to go to the following exercise, you can copy and paste that code on the text editor and click on the green tick button to synchronize.

3.- Configure title and description

The goals for this exercise are:

  • Give a proper description to the kamelet, like Gets periodically Cat facts. using the Settings.
  • Give a proper title to the kamelet, like Cat Source using the source code editor.

Hints

  • All these properties can be found on the spec/definition section of the yaml source code.
  • You can edit the description either on the source code or using the Settings menu.
  • The Settings menu is on the three dot hamburguer menu top right.

Solution

At this point, the text editor should show the following code:


+apiVersion: camel.apache.org/v1alpha1
+kind: Kamelet
+metadata:
+  annotations:
+    camel.apache.org/kamelet.icon: data:image/svg+xml;base64,PD94bWwgdmVy[...]
+  labels:
+    camel.apache.org/kamelet.type: source
+  name: integration-source
+spec:
+  definition:
+    title: Cat Source
+    description: Gets periodically Cat facts.
+    properties: {}
+  dependencies:
+  - camel:core
+  - camel:timer
+  - camel:https
+  template:
+    from:
+      uri: timer:cats
+      parameters:
+        period: '10000'
+      steps:
+      - to:
+          uri: https://cat-fact.herokuapp.com/facts/random
+      - set-body:
+          simple: ${body['text']}
+      - to:
+          uri: kamelet:sink
+

If it doesn’t look like that but you want to go to the following exercise, you can copy and paste that code on the text editor and click on the green tick button to synchronize.

4.- Add Unmarshal

The goals for this exercise are:

  • Add an unmarshal step before set-body using the source code editor
  • The type of unmarshal will be json and use the library Gson

Hints

  • You can add the unmarshal step on the graphical canvas, but (on version 1.0.0 you need the source code editor to properly configure it.
  • The proper expression to configure unmarshal on the source code is the following:
      - unmarshal:
+          json:
+            library: Gson
+

Solution

At this point, the text editor should show the following code:


+apiVersion: camel.apache.org/v1alpha1
+kind: Kamelet
+metadata:
+  annotations:
+    camel.apache.org/kamelet.icon: data:image/svg+xml;base64,PD94bWwgdmVy[...]
+  labels:
+    camel.apache.org/kamelet.type: source
+  name: integration-source
+spec:
+  definition:
+    title: Cat Source
+    description: Gets periodically Cat facts.
+    properties: {}
+  dependencies:
+  - camel:core
+  - camel:timer
+  - camel:https
+  template:
+    from:
+      uri: timer:cats
+      steps:
+      - to:
+          uri: https://cat-fact.herokuapp.com/facts/random
+      - unmarshal:
+          json:
+            library: Gson
+      - set-body:
+          simple: ${body['text']}
+      - to:
+          uri: kamelet:sink
+

If it doesn’t look like that but you want to go to the following exercise, you can copy and paste that code on the text editor and click on the green tick button to synchronize.

5.- Check the dependencies

Kaoto is able to automatically detect many of the dependencies needed for the Kamelet. Open the source code editor and look for the dependencies section.

Goals for this exercise:

  • Add manually the camel:gson dependency

If instead of camel:https Kaoto is showing a camel:http that means you used the http component instead of the https.

Also note that Kaoto also detected this is a kamelet source, as it starts with a timer and ends with a kamelet:sink. Therefore, the name of the kamelet in the source code, has a -source appended to it.

After this exercise, our kamelet will be ready to deploy.

Solution

At this point, the text editor should show the following code:


+apiVersion: camel.apache.org/v1alpha1
+kind: Kamelet
+metadata:
+  annotations:
+    camel.apache.org/kamelet.icon: data:image/svg+xml;base64,PD94bWwgdmVy[...]
+  labels:
+    camel.apache.org/kamelet.type: source
+  name: integration-source
+spec:
+  definition:
+    title: Cat Source
+    description: Gets periodically Cat facts.
+    properties: {}
+  dependencies:
+  - camel:core
+  - camel:timer
+  - camel:https
+  - camel:gson
+  template:
+    from:
+      uri: timer:cats
+      steps:
+      - to:
+          uri: https://cat-fact.herokuapp.com/facts/random
+      - unmarshal:
+          json:
+            library: Gson
+      - set-body:
+          simple: ${body['text']}
+      - to:
+          uri: kamelet:sink
+

Hints

  • The source code editor can be shown by clicking on the </> top menu item.

More information

More information about Apache Camel Kamelets can be found on the Apache Camel website

\ No newline at end of file