diff --git a/README.md b/README.md index b504230..0cb1d37 100644 --- a/README.md +++ b/README.md @@ -32,9 +32,21 @@ This repo covers Kubernetes objects' and components' details (Kubectl, Pod, Depl - [LAB: K8s Cluster Setup with Kubeadm and Docker](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Kubeadm-Cluster-Docker.md) - [LAB: Helm-Jenkins on running K8s Cluster (2 Node Multipass VM)](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Helm-Jenkins.md) - [LAB: Enable Dashboard on Real K8s Cluster](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Enable-Dashboard-On-Cluster.md) -- [LAB: K8s Monitoring - Prometheus and Grafana](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Monitoring-Prometheus-Grafana.md) +- [LAB: K8s Monitoring - Prometheus and Grafana](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Monitoring-Prometheus-Grafana.md) - [Kubectl Commands Cheatsheet](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/KubernetesCommandCheatSheet.md) - [Helm Commands Cheatsheet](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/HelmCheatsheet.md) +- [LAB: Deploy Azure resources with Meshery](./meshery-kanvas-labs/meshery-azure-resources-deployment.md) +- [LAB: Deploy AWS EC2 Instances with Meshery](./meshery-kanvas-labs/meshery-deploy-aws-ec2-instances-with-meshery.md) +- [LAB: Deploy Azure Storage Account with Meshery](./meshery-kanvas-labs/meshery-deploy-azure-storage-account-with-meshery.md) +- [LAB: Exploring Kubernetes Pods with Meshery](./meshery-kanvas-labs/kanvas-kubernetes-pods.md) +- [LAB: Exploring Kubernetes Deployments with Meshery](./meshery-kanvas-labs/kanvas-kubernetes-deployments.md) +- [LAB: Understanding Kubernetes ConfigMaps and Secrets with Meshery](./meshery-kanvas-labs/kanvas-kubernetes-configmaps-secrets.md) +- [LAB: Exploring Kubernetes CronJobs with Meshery](./meshery-kanvas-labs/kanvas-exploring-kubernetes-cronjobs.md) +- [LAB: Deploying Apache Cassandra with a StatefulSet in Meshery Playground](./meshery-kanvas-labs/kanvas-deploy-cassandra-with-statefulset.md) +- [LAB: Deploying PHP Guestbook application with Redis in Meshery](./meshery-kanvas-labs/kanvas-deploy-php-redis.md) +- [LAB: Embedding a Meshery Design in a WordPress Post](./meshery-kanvas-labs/kanvas-embedding-meshery-design-in-wordpress.md) +- [LAB: Deploying WordPress and MySQL with Persistent Volumes with Meshery](./meshery-kanvas-labs/kanvas-wordpress-mysql-persistentvolume.md) + # Table of Contents - [Motivation](#motivation) @@ -73,6 +85,17 @@ This repo covers Kubernetes objects' and components' details (Kubectl, Pod, Depl - [Helm Commands Cheatsheet](#helm_cheatsheet) - [Kubernetes Cluster Setup: Kubeadm, Containerd, Multipass](#cluster_setup) - [Monitoring Kubernetes Cluster with SSH, Prometheus and Grafana](#prometheus_grafana) +- [Meshery](#Meshery) + - [What is Meshery](#what-is-meshery) + - [Meshery's Purpose](#meshery-purpose) + - [Quick Start Guide](#meshery-quick-start-guide) + - [Meshery's Functionality](#meshery-functionality) + - [Architectural Components](#meshery-architectural-components) + - [Logical Components](#meshery-logical-components) +- [Kanvas](#kanvas) + - [What is Kanvas?](#what-is-kanvas) + - [Getting Started with Designs](#getting-started-designs) + - [Exploring Designer](#exploring-designer) - [Other Useful Resources Related Kubernetes](#resource) - [References](#references) @@ -1037,7 +1060,179 @@ sensible-browser http://127.0.0.1:45771/api/v1/namespaces/kubernetes-dashboard/s **Goto:** [LAB: K8s Monitoring - Prometheus and Grafana](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Monitoring-Prometheus-Grafana.md) **Goto:** [LAB: Enable Dashboard on Real K8s Cluster](https://github.com/omerbsezer/Fast-Kubernetes/blob/main/K8s-Enable-Dashboard-On-Cluster.md) - + +## Meshery + +### What is Meshery? + +Meshery is a self-service engineering platform that enables collaborative design and operation of cloud and cloud-native infrastructure. It's a versatile tool designed to help engineers manage and operate their infrastructure visually, collaboratively, and confidently. Whether you are a platform engineer, a site reliability engineer, or part of a DevSecOps team, Meshery has something to offer. + +Kubernetes-centric. Kubernetes not required. +### Meshery's Purpose + +Meshery's primary purpose is to facilitate the collaborative design, operation, and management of cloud and cloud-native infrastructure. By providing a unified platform that integrates with various tools and technologies, Meshery aims to streamline infrastructure management tasks for engineers. Its goals include: + +1. **Enhancing Collaboration:** Meshery allows teams of engineers to work together more effectively by providing a visual and intuitive interface for managing infrastructure. +2. **Simplifying Complexity:** It abstracts the complexity of managing multiple Kubernetes clusters and cloud-native environments, making it easier for engineers to deploy, monitor, and manage applications. +3. **Ensuring Extensibility:** As an open-source project, Meshery is highly extensible, allowing users to customize and extend its functionality to meet their specific needs. +4. **Improving Performance Management:** Meshery provides tools for performance analysis, helping teams understand and optimize the performance of their applications and infrastructure. +5. **Promoting Best Practices:** Through its various features and capabilities, Meshery encourages the adoption of best practices in cloud-native infrastructure management, such as using standardized designs and patterns. + +Meshery is designed to be a versatile and powerful tool that addresses the modern needs of infrastructure management in cloud-native environments, making it easier for engineers to manage their infrastructure with confidence and efficiency. + +### Quick Start Guide + +Getting Meshery up and running locally on a Docker-enabled system or in Kubernetes is easy. Meshery deploys as a set of Docker containers, which can be deployed to either a Docker host or Kubernetes cluster. + +#### [Installation Guide](./meshery-kanvas-docs/meshery-installation/quick-start-guide.md) + +**Goto the scenario:** +- [LAB: Deploy Azure resources with Meshery](./meshery-kanvas-labs/meshery-azure-resources-deployment.md) +- [LAB: Deploy AWS EC2 Instances with Meshery](./meshery-kanvas-labs/meshery-deploy-aws-ec2-instances-with-meshery.md) +- [LAB: Deploy Azure Storage Account with Meshery](./meshery-kanvas-labs/meshery-deploy-azure-storage-account-with-meshery.md) + +### Meshery is for all cloud and cloud native infrastructure + +Infrastructure diversity is a reality for any enterprise. Whether you're running a single Kubernetes cluster or multiple Kubernetes clusters, on one cloud or multiple clouds, you'll find that Meshery supports your infrastructure diversity (or lack thereof). + +### Meshery's Functionality + +Meshery supports all Kubernetes-based infrastructure including most cloud services of AWS and GCP platforms. Meshery features can be categorized by: + +1. Performance Management + - Workload and performance characterization with both built-in and external load generators + - Prometheus and Grafana integration +2. Lifecycle Management (Day 0, Day 1) + - Cloud and cloud native provisioning + - Discovery and onboarding of existing environments and workloads +3. Configuration Management (Day 2) + - Cloud native patterns catalog + - Configuration best practices + - Policy engine for relationship inference and context-aware design +4. Collaboration + - Multi-player infrastructure design and operation +5. Data Plane Intelligence + - Registry and configuration of WebAssembly filters for Envoy +6. Interoperability and Federation + - Integration with thousands of cloud services and cloud native projects + - Manage multiple Infrastructure components concurrently + - Connect to multiple clusters independently + +### Meshery is for Developers, Operators, and Product Owners + +Whether making a Day 0 adoption choice or maintaining a Day 2 deployment, Meshery has useful capabilities in either circumstance. Targeted audience for Meshery project would be any technology operators that leverage cloud native infrastructurein their ecosystem; this includes developers, devops engineers, decision makers, architects, and organizations that rely on microservices platform. + +### Meshery is for cloud native patterns + +Through [Models]({{site.baseurl}}/concepts/logical/models), Meshery describes infrastructure under management, enabling you to define cloud native designs and patterns and then to export those designs and share within the Meshery Catalog. + +### Meshery is for performance management + +Meshery helps users weigh the value of their cloud native deployments against the overhead incurred in running different deployment scenarios and different configruations. Meshery provides statistical analysis of the request latency and throughput seen across various permutations of your workload, infrastructure and infrastructure configuration. In addition to request latency and throughput, Meshery also tracks memory and CPU overhead in of the nodes in your cluster. Establish a performance benchmark and track performance against this baseline as your environment changes over time. + +### Architectural Components + +Architectural components in Meshery are the physical and functional building blocks that enable the platform to operate and manage infrastructure. These include elements like the Meshery Server, Adapters, MeshSync, Broker, and Operator. Each architectural component has a distinct function, such as facilitating communication between cluster components (Broker), managing the lifecycle of deployed components (Operator), or synchronizing state information (MeshSync). Together, these components form a cohesive system that ensures Meshery can effectively integrate with various tools and environments, providing a robust and scalable infrastructure management solution. + +* [Adapters](https://docs.meshery.io/concepts/architecture/adapters) - Adapters extend Meshery's management capabilities in any number of ways, including lifecycle, configuration, performance, governance, identity... +* [Architecture](https://docs.meshery.io/concepts/architecture) - overview of different individual components of Meshery architecture and how they interact as a system. +* [Broker](https://docs.meshery.io/concepts/architecture/broker) - Meshery broker component facilitates data streaming between kubernetes cluster components and outside world. +* [Catalog](https://docs.meshery.io/concepts/catalog) - Browsing and using cloud native patterns +* [Database](https://docs.meshery.io/concepts/architecture/database) - Meshery offers support for internal caching with the help of file databases. This has been implemented with several libraries that supports different kinds of data formats. +* [MeshSync](https://docs.meshery.io/concepts/architecture/meshsync) - Meshery offers support for Kubernetes cluster and cloud state synchronization with the help of MeshSync. +* [Operator](https://docs.meshery.io/concepts/architecture/operator) - Meshery Operator controls and manages the lifecycle of components deployed inside a kubernetes cluster + +### Logical Components + +Logical components in Meshery refer to the conceptual elements that define and organize how infrastructure is managed and operated. These include components like Designs, Patterns, Policies, Environments, Models, and Workspaces. Each logical component has a specific role, such as defining the desired state of infrastructure (Designs), grouping resources (Environments), or enforcing governance rules (Policies). Logical components help structure the management process, making it more systematic and efficient by providing a clear framework for configuration, operation, and collaboration. + +* [Components](https://docs.meshery.io/concepts/logical/components) - Meshery Components identify and characterize infrastructure under management. +* [Connections](https://docs.meshery.io/concepts/logical/connections) - Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are managed by a state machine and used within one or more Environments. +* [Credentials](https://docs.meshery.io/concepts/logical/credentials) - Meshery uses one or more Credentials when authenticating to a managed or unmanaged Connection. +* [Designs](https://docs.meshery.io/concepts/logical/designs) - Meshery Designs are descriptive, declarative characterizations of how your Kubernetes infrastructure should be configured. +* [Environments](https://docs.meshery.io/concepts/logical/environments) - Environments are how you organize your deployment targets (whether on-premises servers or cloud services) into resource groups. +* [Models](https://docs.meshery.io/concepts/logical/models) - Meshery uses a set of resource models to define concrete boundaries to ensure extensible and sustainable management. +* [Patterns](https://docs.meshery.io/concepts/logical/patterns) - Meshery Patterns are descriptive, declarative characterizations of how your Kubernetes infrastructure should be configured. +* [Policies](https://docs.meshery.io/concepts/logical/policies) - Meshery Policies enable you with a broad set of controls and governance of the behavior of systems under Meshery's management. +* [Registry](https://docs.meshery.io/concepts/logical/registry) - Meshery Registry is a database acting as the central repository for all capabilities known to Meshery. These capabilities encompass various entities, including models, components, relationships, and policies. +* [Relationships](https://docs.meshery.io/concepts/logical/relationships) - Meshery Relationships identify and facilitate genealogy between Components. +* [Workspaces](https://docs.meshery.io/concepts/logical/workspaces) - Meshery Workspaces act as a central collaboration point for teams. + + + +## Kanvas + +Kanvas delivers a collaborative experience for engineers similar to how Google Workplace transforms the digital work environment and how Figma democratizes UX design tooling. + +### What is Kanvas? + +
Kanvas is like Google Workspace for DevOps, as it allows you to create, test, and deploy cloud native architectures collaboratively and easily.
+ +Kanvas is a web-based application that allows you to create and share orchestratable diagrams of cloud native infrastructure for Kubernetes and public cloud services. You can draw shapes, lines, text, and icons to represent your infrastructure components and their relationships. Kanvas also supports freestyle design, meaning that you can customize the appearance and layout of your diagrams without any constraints. Kanvas enables real-time collaboration, meaning that you can invite others to join your sessions and edit the diagrams together. Kanvas is a simple and intuitive tool for designing and communicating cloud native infrastructure for Kubernetes and multi-cloud services. + +### Getting Started with Designs + +#### Use Layer5 Kanvas for all of your diagrams and docs + +Beyond data flow diagrams, do you need to create other technical docs and diagrams like design docs, RFCs, network diagrams, and API diagrams? Kanvas provides a single platform for modern engineering teams to collaborate on docs and diagrams. + +- [Starting from scratch](./meshery-kanvas-docs/getting-started/starting-scratch.md) +Welcome to Kanvas, your comprehensive tool for creating and managing cloud native deployment designs. This documentation will guide you through the steps, emphasizing the underlying system behavior for each action you take. + +- [Importing a Design](./meshery-kanvas-docs/getting-started/import-designs.md) +Learn how to import designs from various sources and formats, including Kubernetes manifests, Helm charts, Docker Compose files, and more. + +- [Creating Relationships](./meshery-kanvas-docs/getting-started/creating-relationships.md) +Relationships identify and facilitate genealogy between Components. + +- [Working with Components](./meshery-kanvas-docs/getting-started/working-with-components.md) +Meshery Components are reusable, interactive elements that can be used to build your Meshery designs. Learn how to work with components. + +### Exploring Designer + Designer mode is for those who want to create their own Kanvas, using the palette of components provided by Meshery. Collaborate with your team to create a Design. Enable collaboration mode using the Options mode available in the Kanvas canvas. + +- [Understanding Design Components](./meshery-kanvas-docs/designer/understanding-design-component/index.md) +A complete reference for all components available in the Kanvas designer. + +- [Understanding Edge Styles](./meshery-kanvas-docs/designer/understanding-edges/index.md) +Learn how to use and customize edge styles in Kanvas to create clear and meaningful designs. + +- [Interpreting Component Badges](./meshery-kanvas-docs/designer/interpreting-component-badges/index.md) +Learn to interpret component badges, the small visual indicators that provide at-a-glance information about a component’s status in both Designer and Operator modes. + +- [Understanding Tool Modes](./meshery-kanvas-docs/designer/understanding-tool-modes/index.md) +Kanvas Designer offers three modes: Default, Pencil, and Connector, which behave differently based on the context in which they are used. Learn how to interact with components and the canvas in each mode. + +- [Whiteboarding](./meshery-kanvas-docs/designer/whiteboarding/index.md) +Whiteboarding and Freestyle Drawing inside Kanvas + +- [Reviewing Designs](./meshery-kanvas-docs/designer/) +Learn how to leverage comments in Kanvas’s Designer Mode to enhance collaboration and streamline design reviews. + +- [Sharing Designs](./meshery-kanvas-docs/designer/sharing/index.md) +Share designs with other users and use access controls to manage design permissions and visibility. + +- [Embedding Designs](./meshery-kanvas-docs/designer/embedding-designs/index.md) +How to embed your designs for sharing on your sites. + +- [Working with Tags](./meshery-kanvas-docs/designer/tagsets/index.md) +Share design with other users and use control access to manage design access permissions and visibility. + +- [Exporting Designs](./meshery-kanvas-docs/designer/export-designs/index.md) +How to export your designs for backup, sharing or offline use. + +- [Publishing Designs](./meshery-kanvas-docs/designer/publishing-designs/index.md) +Learn to publish, manage, and work with designs in Meshery with clear state transitions, role-based permissions, and common workflow FAQs. + +**Goto the scenario:** +- [LAB: Exploring Kubernetes Pods with Meshery](./meshery-kanvas-labs/kanvas-kubernetes-pods.md) +- [LAB: Exploring Kubernetes Deployments with Meshery](./meshery-kanvas-labs/kanvas-kubernetes-deployments.md) +- [LAB: Understanding Kubernetes ConfigMaps and Secrets with Meshery](./meshery-kanvas-labs/kanvas-kubernetes-configmaps-secrets.md) +- [LAB: Exploring Kubernetes CronJobs with Meshery](./meshery-kanvas-labs/kanvas-exploring-kubernetes-cronjobs.md) +- [LAB: Deploying Apache Cassandra with a StatefulSet in Meshery Playground](./meshery-kanvas-labs/kanvas-deploy-cassandra-with-statefulset.md) +- [LAB: Deploying PHP Guestbook application with Redis in Meshery](./meshery-kanvas-labs/kanvas-deploy-php-redis.md) +- [LAB: Embedding a Meshery Design in a WordPress Post](./meshery-kanvas-labs/kanvas-embedding-meshery-design-in-wordpress.md) +- [LAB: Deploying WordPress and MySQL with Persistent Volumes with Meshery](./meshery-kanvas-labs/kanvas-wordpress-mysql-persistentvolume.md) ## Other Useful Resources Related Docker - [KubernetesTutorial](https://kubernetes.io/docs/tutorials/) - Docker and Kubernetes Tutorial - Youtube: https://www.youtube.com/watch?v=bhBSlnQcq2k&t=3088s @@ -1046,4 +1241,4 @@ sensible-browser http://127.0.0.1:45771/api/v1/namespaces/kubernetes-dashboard/s - [Kubernetes.io](https://kubernetes.io/docs/concepts/overview/) - [KubernetesTutorial](https://kubernetes.io/docs/tutorials/) - [udemy-course:Kubernetes-Temelleri](https://www.udemy.com/course/kubernetes-temelleri/) -- [Helm.sh](https://helm.sh/) +- [Helm.sh](https://helm.sh/) \ No newline at end of file diff --git a/meshery-kanvas-docs/designer/_index.md b/meshery-kanvas-docs/designer/_index.md new file mode 100644 index 0000000..236b384 --- /dev/null +++ b/meshery-kanvas-docs/designer/_index.md @@ -0,0 +1,18 @@ +--- +title: Exploring Designer +description: > + Designer mode is for those who want to create their own Kanvas, using the palette of components provided by Meshery. +weight: 4 +categories: [Designer] +# tags: [designs] +aliases: + - /meshmap/designer/ +--- + +{{% pageinfo %}} +Collaborate with your team to create a Design. Enable collaboration mode using the Options mode available in the Kanvas canvas +{{% /pageinfo %}} + + diff --git a/meshery-kanvas-docs/designer/comments/Right-click.png b/meshery-kanvas-docs/designer/comments/Right-click.png new file mode 100644 index 0000000..8850c85 Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/Right-click.png differ diff --git a/meshery-kanvas-docs/designer/comments/Toolbar1.png b/meshery-kanvas-docs/designer/comments/Toolbar1.png new file mode 100644 index 0000000..e042ea2 Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/Toolbar1.png differ diff --git a/meshery-kanvas-docs/designer/comments/Toolbar2.png b/meshery-kanvas-docs/designer/comments/Toolbar2.png new file mode 100644 index 0000000..9008e57 Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/Toolbar2.png differ diff --git a/meshery-kanvas-docs/designer/comments/comment-canvas.png b/meshery-kanvas-docs/designer/comments/comment-canvas.png new file mode 100644 index 0000000..01d958f Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/comment-canvas.png differ diff --git a/meshery-kanvas-docs/designer/comments/comment-cloud-manage.png b/meshery-kanvas-docs/designer/comments/comment-cloud-manage.png new file mode 100644 index 0000000..997576c Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/comment-cloud-manage.png differ diff --git a/meshery-kanvas-docs/designer/comments/comment-copy.gif b/meshery-kanvas-docs/designer/comments/comment-copy.gif new file mode 100644 index 0000000..53ff9b2 Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/comment-copy.gif differ diff --git a/meshery-kanvas-docs/designer/comments/comment-dock.png b/meshery-kanvas-docs/designer/comments/comment-dock.png new file mode 100644 index 0000000..8aca231 Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/comment-dock.png differ diff --git a/meshery-kanvas-docs/designer/comments/comment-notificationBell.png b/meshery-kanvas-docs/designer/comments/comment-notificationBell.png new file mode 100644 index 0000000..a5f5b2f Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/comment-notificationBell.png differ diff --git a/meshery-kanvas-docs/designer/comments/comments-color.png b/meshery-kanvas-docs/designer/comments/comments-color.png new file mode 100644 index 0000000..3eaaff3 Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/comments-color.png differ diff --git a/meshery-kanvas-docs/designer/comments/comments-conversation.gif b/meshery-kanvas-docs/designer/comments/comments-conversation.gif new file mode 100644 index 0000000..9427cfa Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/comments-conversation.gif differ diff --git a/meshery-kanvas-docs/designer/comments/comments-grouped.png b/meshery-kanvas-docs/designer/comments/comments-grouped.png new file mode 100644 index 0000000..f3229fb Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/comments-grouped.png differ diff --git a/meshery-kanvas-docs/designer/comments/comments-hide.png b/meshery-kanvas-docs/designer/comments/comments-hide.png new file mode 100644 index 0000000..2eb5197 Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/comments-hide.png differ diff --git a/meshery-kanvas-docs/designer/comments/comments-unresolved.gif b/meshery-kanvas-docs/designer/comments/comments-unresolved.gif new file mode 100644 index 0000000..2d6aa03 Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/comments-unresolved.gif differ diff --git a/meshery-kanvas-docs/designer/comments/conversation-screenshot.png b/meshery-kanvas-docs/designer/comments/conversation-screenshot.png new file mode 100644 index 0000000..2ec4f29 Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/conversation-screenshot.png differ diff --git a/meshery-kanvas-docs/designer/comments/example-notification-email.png b/meshery-kanvas-docs/designer/comments/example-notification-email.png new file mode 100644 index 0000000..90e70bb Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/example-notification-email.png differ diff --git a/meshery-kanvas-docs/designer/comments/grouping -comments.gif b/meshery-kanvas-docs/designer/comments/grouping -comments.gif new file mode 100644 index 0000000..40d0d7f Binary files /dev/null and b/meshery-kanvas-docs/designer/comments/grouping -comments.gif differ diff --git a/meshery-kanvas-docs/designer/comments/index.md b/meshery-kanvas-docs/designer/comments/index.md new file mode 100644 index 0000000..0ddf5f0 --- /dev/null +++ b/meshery-kanvas-docs/designer/comments/index.md @@ -0,0 +1,316 @@ +# Reviewing Designs + +Learn how to leverage comments in Kanvas's Designer Mode to enhance collaboration and streamline design reviews + +Kanvas's Designer enables you to place comments "inline" with your infrastructure as code. Use comments to offer feedback to team members, take detailed design notes, capture helpful tips for your team members, and include justification as to your infrastructure and application configuration decisions. Pay it forward to your future self by leaving historical record for reference later. + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{{< alert title="Performance Consideration" type="warning">}}
+Tags are indexed and searchable. However, the performance of design operations may degrade as the number of tags increases. To ensure an optimal user experience, we recommend using tags judiciously and limiting the number of tags used in a design.
+
+Upon loading a design exceeds that exceeds 10 tags within a single design, Kanvas will automatically disable grouping by tags. You can manually enable grouping by tags by clicking the "Group Components" button in the Designer dock.
+{{< /alert >}}
+
+{{< alert title="Related Concept">}}
+{{< /alert >}}
diff --git a/meshery-kanvas-docs/designer/tagsets/tagsets.gif b/meshery-kanvas-docs/designer/tagsets/tagsets.gif
new file mode 100644
index 0000000..8c709eb
Binary files /dev/null and b/meshery-kanvas-docs/designer/tagsets/tagsets.gif differ
diff --git a/meshery-kanvas-docs/designer/understanding-design-component/images/arrows.png b/meshery-kanvas-docs/designer/understanding-design-component/images/arrows.png
new file mode 100644
index 0000000..efa1acb
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-design-component/images/arrows.png differ
diff --git a/meshery-kanvas-docs/designer/understanding-design-component/images/component_style.gif b/meshery-kanvas-docs/designer/understanding-design-component/images/component_style.gif
new file mode 100644
index 0000000..ac5abea
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-design-component/images/component_style.gif differ
diff --git a/meshery-kanvas-docs/designer/understanding-design-component/images/deployment-dashboard.png b/meshery-kanvas-docs/designer/understanding-design-component/images/deployment-dashboard.png
new file mode 100644
index 0000000..7395fae
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-design-component/images/deployment-dashboard.png differ
diff --git a/meshery-kanvas-docs/designer/understanding-design-component/images/deployment-icon.png b/meshery-kanvas-docs/designer/understanding-design-component/images/deployment-icon.png
new file mode 100644
index 0000000..e042caa
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-design-component/images/deployment-icon.png differ
diff --git a/meshery-kanvas-docs/designer/understanding-design-component/images/deployment-shape.png b/meshery-kanvas-docs/designer/understanding-design-component/images/deployment-shape.png
new file mode 100644
index 0000000..665ff6d
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-design-component/images/deployment-shape.png differ
diff --git a/meshery-kanvas-docs/designer/understanding-design-component/images/flowchart.png b/meshery-kanvas-docs/designer/understanding-design-component/images/flowchart.png
new file mode 100644
index 0000000..175e4a4
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-design-component/images/flowchart.png differ
diff --git a/meshery-kanvas-docs/designer/understanding-design-component/images/k8s_style.gif b/meshery-kanvas-docs/designer/understanding-design-component/images/k8s_style.gif
new file mode 100644
index 0000000..0cbb9d5
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-design-component/images/k8s_style.gif differ
diff --git a/meshery-kanvas-docs/designer/understanding-design-component/images/shape_style.gif b/meshery-kanvas-docs/designer/understanding-design-component/images/shape_style.gif
new file mode 100644
index 0000000..8b42c31
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-design-component/images/shape_style.gif differ
diff --git a/meshery-kanvas-docs/designer/understanding-design-component/images/shapes.png b/meshery-kanvas-docs/designer/understanding-design-component/images/shapes.png
new file mode 100644
index 0000000..47a6289
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-design-component/images/shapes.png differ
diff --git a/meshery-kanvas-docs/designer/understanding-design-component/images/simple_line_icons.png b/meshery-kanvas-docs/designer/understanding-design-component/images/simple_line_icons.png
new file mode 100644
index 0000000..c1703af
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-design-component/images/simple_line_icons.png differ
diff --git a/meshery-kanvas-docs/designer/understanding-design-component/index.md b/meshery-kanvas-docs/designer/understanding-design-component/index.md
new file mode 100644
index 0000000..be0b6b0
--- /dev/null
+++ b/meshery-kanvas-docs/designer/understanding-design-component/index.md
@@ -0,0 +1,137 @@
+# Understanding Design Components
+
+A complete reference for all components available in the Kanvas designer.
+
+When you're designing and visualizing in [Kanvas](https://kanvas.new/), you'll encounter a rich library of components. This guide will help you understand what these components mean and how they behave in your designs.
+
+## Core Component Categories
+
+[Components](https://docs.meshery.io/concepts/logical/components) in Kanvas fall into two fundamental categories, distinguished by whether they can be orchestrated (managed) during deployment.
+
+### Semantic Components (Orchestratable)
+
+These components represent actual infrastructure resources that Kanvas can understand and manage during deployment. They are "meaningful" because they map directly to real infrastructure elements. Examples include:
+
+- Kubernetes resources (Pods, Services, Deployments)
+- Cloud provider resources (AWS S3 buckets, Azure Functions)
+- Infrastructure components (Load Balancers, Databases)
+
+These components are orchestratable because Kanvas can create, configure, and manage their lifecycle during deployment.
+
+{{< alert title="Visual Distinction Rule" type="info">}}
+To help users quickly distinguish between component types, Kanvas follows a clear visual design rule:
+
+- Semantic (Configurable) Components: Have a background to represent their status as "real" infrastructure resources
+- Non-semantic (Annotation) Components: Have transparent backgrounds, as they are purely visual aids
+{{< /alert >}}
+
+### Non-semantic Components (Annotation-Only)
+
+These components are visual and organizational elements that help document and organize your designs. They are "meaningless" in terms of infrastructure because they don't represent deployable resources. Examples include:
+
+- Text boxes and comments
+- Shapes and containers for grouping
+- Arrows and lines for relationships
+- Labels and tags
+
+Kanvas ignores these components during deployment as they are purely visual/organizational elements.
+
+{{< alert title="Visual Customization" type="info">}}
+All components, whether semantic or non-semantic, support rich visual customization. For example, you can change a Kubernetes Pod's color from blue to green, modify its shape, or replace its background logo - it's all configurable!
+{{< /alert >}}
+
+## Semantic Components
+
+These components represent real infrastructure that Kanvas can manage. They can be either built-in (like Kubernetes components) or custom components that you [create](https://docs.meshery.io/guides/configuration-management/creating-models).
+
+
+
+Kanvas provides a rich ecosystem of semantic components through various integrations. While Kubernetes is a commonly used example, all integration models (like KEDA, Istio, AWS, etc.) provide components with the same orchestratable capabilities. To help you navigate this ecosystem, Kanvas organizes these components in a clear hierarchy:
+
+{{< alert title="Integration Hierarchy" type="info">}}
+Kanvas organizes integrated components in a clear hierarchy:
+
+1. **Categories:** High-level groups (e.g., "Cloud Native Network", "Database")
+2. **Integration Models:** Specific technologies (e.g., "AWS App Mesh", "Prometheus", "Kubernetes")
+3. **Semantic Components:** Functional building blocks that can be deployed and managed
+{{< /alert >}}
+
+### Kubernetes Components Example
+
+To illustrate how semantic components work in practice, let's examine Kubernetes components. As one of the most widely used integration models, Kubernetes components demonstrate how Kanvas implements its design principles while maintaining a distinct visual style:
+
+
+
+For Kubernetes resources, Kanvas employs a thoughtful design system built on these key principles:
+
+**Principle 1: Color and Structure**
+
+- **Uniform Color Scheme:** Kubernetes component icons typically use a **distinctive blue background** as a standard identifier
+- **Standardized Icon Structure:** The fundamental structure is consistent: an outer container shape with the blue background, encompassing a unique inner white symbol
+- **Meaningful Inner Symbols:** The white symbol inside each icon is the crucial unique identifier for that specific Kubernetes Kind
+
+**Principle 2: Shape as an Indicator**
+
+The blue background is framed by different outer shapes that help identify the component's role:
+
+- **Triangles:** Used for core networking resources like `Service` and `API Service`
+- **Hexagons:** Used for foundational workload controllers like `StatefulSet`
+- **Unique Polygons:** Used for specialized resources like `Endpoints`, `PriorityClass`, or `ValidatingWebhookConfiguration`
+
+{{< alert title="Exploring All Integrations" type="info">}}
+This guide covers the visual style of components. For a complete catalog of all technologies that Kanvas integrates, visit the integrations directory.
+{{< /alert >}}
+
+## Non-semantic Components
+
+These components help you document and organize your designs without affecting the actual infrastructure. They include:
+
+
+
+### Generic Shapes
+
+The "Shapes" palette offers a diverse collection of annotation-only components for general-purpose diagramming. These are purely visual elements that won't be deployed.
+
+
+
+### Arrows
+
+Arrows are annotation-only components for showing direction or creating simple visual annotations. They are static shapes intended for illustration.
+
+
+
+{{< alert title="Looking for Dynamic Connections?" type="info">}}
+The arrows shown here are static visual aids. To represent actual, functional relationships between semantic components (like network traffic or dependencies), you should use the Edge system instead. Learn more
+{{< /alert >}}
+
+### Flowchart Shapes
+
+Kanvas includes a dedicated palette of standard flowchart shapes. These are annotation-only components that help document your design's logic and flow.
+
+
+
+### Simple Line Icons
+
+Kanvas provides a comprehensive library of **Simple Line Icons** as annotation-only components. These icons are intended for user-driven annotations and visual enhancement.
+
+
+
+## Component Visuals in Different Contexts
+
+A single semantic component will be visually represented differently depending on where you encounter it in Kanvas. Let's take the Deployment component as an example:
+
+1. **Deployment component with its distinctive shape and badge:**
+
+
+
+2. **Deployment icon as it appears in a component selection panel:**
+
+
+
+3. **Deployment component as seen in a cluster resource overview:**
+
+
+
+{{< alert title="Learn More About Interpreting Designs" type="info">}}
+To learn how to interpret and understand designs in practice, including how components work together in a design, visit our comprehensive guide in the Layer5 Academy.
+{{< /alert >}}
diff --git a/meshery-kanvas-docs/designer/understanding-edges/images/embedded-design-edge-annotation-relationship-copy.js b/meshery-kanvas-docs/designer/understanding-edges/images/embedded-design-edge-annotation-relationship-copy.js
new file mode 100644
index 0000000..06026a8
--- /dev/null
+++ b/meshery-kanvas-docs/designer/understanding-edges/images/embedded-design-edge-annotation-relationship-copy.js
@@ -0,0 +1,150 @@
+
+ import cytoscape from 'https://cdn.jsdelivr.net/npm/cytoscape@3.27.0/+esm'
+ const data = {"elements":{"nodes":[{"data":{"id":"36f27f24-c483-4a34-b123-ef56db24b54d","label":"","schemaId":"components.meshery.io/v1beta1"},"position":{"x":400.5760190403939,"y":231.2512877465826},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":""},{"data":{"id":"f6d383e6-99d6-44c8-8b63-1e39d87f882d","label":"","schemaId":"components.meshery.io/v1beta1"},"position":{"x":564.0138980258529,"y":165.14888333661094},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":""},{"data":{"id":"3fcd7b19-39f4-4c7d-bf98-79d035d3d5f0","label":"","schemaId":"components.meshery.io/v1beta1"},"position":{"x":548.4277546612421,"y":292.7245630483445},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":""}],"edges":[{"data":{"id":"720f9764-2135-407c-9cff-8ff454c6a9ba","source":"36f27f24-c483-4a34-b123-ef56db24b54d","target":"3fcd7b19-39f4-4c7d-bf98-79d035d3d5f0"},"position":{"x":-28.00960394903137,"y":16.15037829384196},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""},{"data":{"id":"98b88e35-31f3-4b1b-a9ee-81247d852a1d","source":"f6d383e6-99d6-44c8-8b63-1e39d87f882d","target":"36f27f24-c483-4a34-b123-ef56db24b54d"},"position":{"x":28.42865408541112,"y":-49.08132088504593},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""}]},"elementStyles":{"36f27f24-c483-4a34-b123-ef56db24b54d":{"events":"yes","text-events":"no","textEvents":"no","transition-property":"none","transitionProperty":"none","transition-duration":"0ms","transitionDuration":"0ms","transition-delay":"0ms","transitionDelay":"0ms","transition-timing-function":"linear","transitionTimingFunction":"linear","display":"element","visibility":"visible","opacity":"1","text-opacity":"1","textOpacity":"1","min-zoomed-font-size":"6px","minZoomedFontSize":"6px","z-compound-depth":"orphan","zCompoundDepth":"orphan","z-index-compare":"auto","zIndexCompare":"auto","z-index":"3","zIndex":"3","overlay-padding":"10px","overlayPadding":"10px","overlay-color":"rgb(0,0,0)","overlayColor":"rgb(0,0,0)","overlay-opacity":"0","overlayOpacity":"0","overlay-shape":"round-rectangle","overlayShape":"round-rectangle","overlay-corner-radius":"auto","overlayCornerRadius":"auto","underlay-padding":"10px","underlayPadding":"10px","underlay-color":"rgb(0,0,0)","underlayColor":"rgb(0,0,0)","underlay-opacity":"0","underlayOpacity":"0","underlay-shape":"round-rectangle","underlayShape":"round-rectangle","underlay-corner-radius":"auto","underlayCornerRadius":"auto","ghost":"no","ghost-offset-x":"0px","ghostOffsetX":"0px","ghost-offset-y":"0px","ghostOffsetY":"0px","ghost-opacity":"0","ghostOpacity":"0","text-valign":"bottom","textValign":"bottom","text-halign":"center","textHalign":"center","color":"rgb(0,0,0)","text-outline-color":"rgb(0,0,0)","textOutlineColor":"rgb(0,0,0)","text-outline-opacity":"1","textOutlineOpacity":"1","text-background-color":"rgb(210,212,210)","textBackgroundColor":"rgb(210,212,210)","text-background-opacity":"0.7","textBackgroundOpacity":"0.7","text-background-padding":"2px","textBackgroundPadding":"2px","text-border-opacity":"0","textBorderOpacity":"0","text-border-color":"rgb(0,0,0)","textBorderColor":"rgb(0,0,0)","text-border-width":"0px","textBorderWidth":"0px","text-border-style":"solid","textBorderStyle":"solid","text-background-shape":"round-rectangle","textBackgroundShape":"round-rectangle","text-justification":"auto","textJustification":"auto","font-family":"Qanelas Soft, sans-serif","fontFamily":"Qanelas Soft, sans-serif","font-style":"normal","fontStyle":"normal","font-weight":"300","fontWeight":"300","font-size":"8px","fontSize":"8px","text-transform":"none","textTransform":"none","text-wrap":"wrap","textWrap":"wrap","text-overflow-wrap":"whitespace","textOverflowWrap":"whitespace","text-max-width":"80px","textMaxWidth":"80px","text-outline-width":"0px","textOutlineWidth":"0px","line-height":"1","lineHeight":"1","label":"","text-rotation":"none","textRotation":"none","text-margin-x":"0px","textMarginX":"0px","text-margin-y":"7px","textMarginY":"7px","source-label":"","sourceLabel":"","source-text-rotation":"none","sourceTextRotation":"none","source-text-margin-x":"0px","sourceTextMarginX":"0px","source-text-margin-y":"0px","sourceTextMarginY":"0px","source-text-offset":"0px","sourceTextOffset":"0px","target-label":"","targetLabel":"","target-text-rotation":"none","targetTextRotation":"none","target-text-margin-x":"0px","targetTextMarginX":"0px","target-text-margin-y":"0px","targetTextMarginY":"0px","target-text-offset":"0px","targetTextOffset":"0px","height":"24px","width":"24px","shape":"rectangle","shape-polygon-points":"-1 -1 1 -1 1 1 -1 1","shapePolygonPoints":"-1 -1 1 -1 1 1 -1 1","corner-radius":"auto","cornerRadius":"auto","background-color":"rgb(231,21,123)","backgroundColor":"rgb(231,21,123)","background-fill":"solid","backgroundFill":"solid","background-opacity":"1","backgroundOpacity":"1","background-blacken":"0","backgroundBlacken":"0","background-gradient-stop-colors":"rgb(153,153,153)","backgroundGradientStopColors":"rgb(153,153,153)","background-gradient-stop-positions":"0%","backgroundGradientStopPositions":"0%","background-gradient-direction":"to-bottom","backgroundGradientDirection":"to-bottom","padding":"6px","padding-relative-to":"width","paddingRelativeTo":"width","bounds-expansion":"0px","boundsExpansion":"0px","border-color":"rgb(0,211,169)","borderColor":"rgb(0,211,169)","border-opacity":"1","borderOpacity":"1","border-width":"0px","borderWidth":"0px","border-style":"solid","borderStyle":"solid","border-cap":"butt","borderCap":"butt","border-join":"miter","borderJoin":"miter","border-dash-pattern":"4 2","borderDashPattern":"4 2","border-dash-offset":"0","borderDashOffset":"0","border-position":"center","borderPosition":"center","outline-color":"rgb(153,153,153)","outlineColor":"rgb(153,153,153)","outline-opacity":"1","outlineOpacity":"1","outline-width":"0px","outlineWidth":"0px","outline-style":"solid","outlineStyle":"solid","outline-offset":"0px","outlineOffset":"0px","background-image":"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiICB2aWV3Qm94PSIwIDAgNDAgNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICA8ZyBpZD0iSWNvbi1BcmNoaXRlY3R1cmUvMzIvQXJjaF9BbWF6b24tQVBJLUdhdGV3YXlfMzIiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPGcgaWQ9Ikljb24tU2VydmljZS8zMi9BbWF6b24tQVBJLUdhdGV3YXlfMzIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuMDAwMDAwLCA2LjAwMDAwMCkiIGZpbGw9IiNGRkZGRkYiPiA8cGF0aCBkPSJNMTMsMjIuMDAwMDMzMyBMMTUsMjIuMDAwMDMzMyBMMTUsMjEuMDAwMDMzMyBMMTMsMjEuMDAwMDMzMyBMMTMsMjIuMDAwMDMzMyBaIE04LDEuMjYyMTI3MzQgTDEsNC4zMDIxMTI4NiBMMSwyNC4zNTcwMTczIEw4LDI2Ljc5NjAwNTcgTDgsMS4yNjIxMjczNCBaIE05LDcuMDAwMTAwMDEgTDksMjEuMDAwMDMzMyBMMTEsMjEuMDAwMDMzMyBMMTEsMjIuMDAwMDI4NiBMOSwyMi4wMDAwMjg2IEw5LDI3LjUwMDAwMjQgQzksMjcuNjYyMDAxNiA4LjkyMiwyNy44MTQwMDA5IDguNzksMjcuOTA4MDAwNCBDOC43MDQsMjcuOTY4MDAwMiA4LjYwMywyOCA4LjUsMjggQzguNDQ0LDI4IDguMzg5LDI3Ljk5MSA4LjMzNiwyNy45NzIwMDAxIEwwLjMzNiwyNS4xODUwMTM0IEMwLjEzNSwyNS4xMTUwMTM3IDAsMjQuOTI2MDE0NiAwLDI0LjcxMzAxNTcgTDAsMy45NzQxMTQ0MiBDMCwzLjc3NTExNTM3IDAuMTE4LDMuNTk1MTE2MjMgMC4zMDEsMy41MTYxMTY2IEw4LjMwMSwwLjA0MjEzMzE0ODkgQzguNDU1LC0wLjAyNDg2NjUzMiA4LjYzNCwtMC4wMDk4NjY2MDM0MSA4Ljc3NCwwLjA4MjEzMjk1ODQgQzguOTE1LDAuMTc0MTMyNTIgOSwwLjMzMjEzMTc2OCA5LDAuNTAwMTMwOTY4IEw5LDYuMDAwMTA0NzcgTDExLDYuMDAwMTA0NzcgTDExLDcuMDAwMTAwMDEgTDksNy4wMDAxMDAwMSBaIE0yNyw0LjMwMjExMjg2IEwyMCwxLjI2MjEyNzM0IEwyMCw2LjAwMDEwNDc3IEwyMCw3LjAwMDEwMDAxIEwyMCwyMS4wMDAwMzMzIEwyMCwyMi4wMDAwMjg2IEwyMCwyNi43OTYwMDU3IEwyNywyNC4zNTcwMTczIEwyNyw0LjMwMjExMjg2IFogTTI4LDMuOTc0MTE0NDIgTDI4LDI0LjcxMzAxNTcgQzI4LDI0LjkyNjAxNDYgMjcuODY1LDI1LjExNTAxMzcgMjcuNjY0LDI1LjE4NTAxMzQgTDE5LjY2NCwyNy45NzIwMDAxIEMxOS42MTEsMjcuOTkxIDE5LjU1NiwyOCAxOS41LDI4IEMxOS4zOTcsMjggMTkuMjk2LDI3Ljk2ODAwMDIgMTkuMjEsMjcuOTA4MDAwNCBDMTkuMDc4LDI3LjgxNDAwMDkgMTksMjcuNjYyMDAxNiAxOSwyNy41IEwxOSwyMi4wMDAwMjg2IEwxNywyMi4wMDAwMjg2IEwxNywyMS4wMDAwMzMzIEwxOSwyMS4wMDAwMzMzIEwxOSw3LjAwMDEwMDAxIEwxNyw3LjAwMDEwMDAxIEwxNyw2LjAwMDEwNDc3IEwxOSw2LjAwMDEwNDc3IEwxOSwwLjUwMDEzMDk2OCBDMTksMC4zMzIxMzE3NjggMTkuMDg1LDAuMTc0MTMyNTIgMTkuMjI2LDAuMDgyMTMyOTU4NCBDMTkuMzY3LC0wLjAxMDg2NjU5ODYgMTkuNTQ2LC0wLjAyNTg2NjUyNzIgMTkuNjk5LDAuMDQyMTMzMTQ4OSBMMjcuNjk5LDMuNTE2MTE2NiBDMjcuODgyLDMuNTk1MTE2MjMgMjgsMy43NzUxMTUzNyAyOCwzLjk3NDExNDQyIEwyOCwzLjk3NDExNDQyIFogTTEzLDcuMDAwMTA0NzcgTDE1LDcuMDAwMTA0NzcgTDE1LDYuMDAwMTA0NzcgTDEzLDYuMDAwMTA0NzcgTDEzLDcuMDAwMTA0NzcgWiBNMTcuOTc1LDkuNjU4MDg3MzUgTDE3LjAyNSw5LjM0MjA4ODg2IEwxNC4wMjUsMTguMzQyMDQ2IEwxNC45NzUsMTguNjU4MDQ0NSBMMTcuOTc1LDkuNjU4MDg3MzUgWiBNMTMuMTQ2LDE2Ljg1NDA1MzEgTDEwLjE0NiwxMy44NTQwNjc0IEM5Ljk1MSwxMy42NTgwNjgzIDkuOTUxLDEzLjM0MjA2OTggMTAuMTQ2LDEzLjE0NjA3MDcgTDEzLjE0NiwxMC4xNDYwODUgTDEzLjg1NCwxMC44NTQwODE3IEwxMS4yMDcsMTMuNTAwMDY5MSBMMTMuODU0LDE2LjE0NjA1NjUgTDEzLjE0NiwxNi44NTQwNTMxIFoiIGlkPSJBbWF6b24tQVBJLUdhdGV3YXlfSWNvbl8zMl9TcXVpZCI+PC9wYXRoPiA8L2c+IDwvZz48L3N2Zz4=)","backgroundImage":"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiICB2aWV3Qm94PSIwIDAgNDAgNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICA8ZyBpZD0iSWNvbi1BcmNoaXRlY3R1cmUvMzIvQXJjaF9BbWF6b24tQVBJLUdhdGV3YXlfMzIiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPGcgaWQ9Ikljb24tU2VydmljZS8zMi9BbWF6b24tQVBJLUdhdGV3YXlfMzIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYuMDAwMDAwLCA2LjAwMDAwMCkiIGZpbGw9IiNGRkZGRkYiPiA8cGF0aCBkPSJNMTMsMjIuMDAwMDMzMyBMMTUsMjIuMDAwMDMzMyBMMTUsMjEuMDAwMDMzMyBMMTMsMjEuMDAwMDMzMyBMMTMsMjIuMDAwMDMzMyBaIE04LDEuMjYyMTI3MzQgTDEsNC4zMDIxMTI4NiBMMSwyNC4zNTcwMTczIEw4LDI2Ljc5NjAwNTcgTDgsMS4yNjIxMjczNCBaIE05LDcuMDAwMTAwMDEgTDksMjEuMDAwMDMzMyBMMTEsMjEuMDAwMDMzMyBMMTEsMjIuMDAwMDI4NiBMOSwyMi4wMDAwMjg2IEw5LDI3LjUwMDAwMjQgQzksMjcuNjYyMDAxNiA4LjkyMiwyNy44MTQwMDA5IDguNzksMjcuOTA4MDAwNCBDOC43MDQsMjcuOTY4MDAwMiA4LjYwMywyOCA4LjUsMjggQzguNDQ0LDI4IDguMzg5LDI3Ljk5MSA4LjMzNiwyNy45NzIwMDAxIEwwLjMzNiwyNS4xODUwMTM0IEMwLjEzNSwyNS4xMTUwMTM3IDAsMjQuOTI2MDE0NiAwLDI0LjcxMzAxNTcgTDAsMy45NzQxMTQ0MiBDMCwzLjc3NTExNTM3IDAuMTE4LDMuNTk1MTE2MjMgMC4zMDEsMy41MTYxMTY2IEw4LjMwMSwwLjA0MjEzMzE0ODkgQzguNDU1LC0wLjAyNDg2NjUzMiA4LjYzNCwtMC4wMDk4NjY2MDM0MSA4Ljc3NCwwLjA4MjEzMjk1ODQgQzguOTE1LDAuMTc0MTMyNTIgOSwwLjMzMjEzMTc2OCA5LDAuNTAwMTMwOTY4IEw5LDYuMDAwMTA0NzcgTDExLDYuMDAwMTA0NzcgTDExLDcuMDAwMTAwMDEgTDksNy4wMDAxMDAwMSBaIE0yNyw0LjMwMjExMjg2IEwyMCwxLjI2MjEyNzM0IEwyMCw2LjAwMDEwNDc3IEwyMCw3LjAwMDEwMDAxIEwyMCwyMS4wMDAwMzMzIEwyMCwyMi4wMDAwMjg2IEwyMCwyNi43OTYwMDU3IEwyNywyNC4zNTcwMTczIEwyNyw0LjMwMjExMjg2IFogTTI4LDMuOTc0MTE0NDIgTDI4LDI0LjcxMzAxNTcgQzI4LDI0LjkyNjAxNDYgMjcuODY1LDI1LjExNTAxMzcgMjcuNjY0LDI1LjE4NTAxMzQgTDE5LjY2NCwyNy45NzIwMDAxIEMxOS42MTEsMjcuOTkxIDE5LjU1NiwyOCAxOS41LDI4IEMxOS4zOTcsMjggMTkuMjk2LDI3Ljk2ODAwMDIgMTkuMjEsMjcuOTA4MDAwNCBDMTkuMDc4LDI3LjgxNDAwMDkgMTksMjcuNjYyMDAxNiAxOSwyNy41IEwxOSwyMi4wMDAwMjg2IEwxNywyMi4wMDAwMjg2IEwxNywyMS4wMDAwMzMzIEwxOSwyMS4wMDAwMzMzIEwxOSw3LjAwMDEwMDAxIEwxNyw3LjAwMDEwMDAxIEwxNyw2LjAwMDEwNDc3IEwxOSw2LjAwMDEwNDc3IEwxOSwwLjUwMDEzMDk2OCBDMTksMC4zMzIxMzE3NjggMTkuMDg1LDAuMTc0MTMyNTIgMTkuMjI2LDAuMDgyMTMyOTU4NCBDMTkuMzY3LC0wLjAxMDg2NjU5ODYgMTkuNTQ2LC0wLjAyNTg2NjUyNzIgMTkuNjk5LDAuMDQyMTMzMTQ4OSBMMjcuNjk5LDMuNTE2MTE2NiBDMjcuODgyLDMuNTk1MTE2MjMgMjgsMy43NzUxMTUzNyAyOCwzLjk3NDExNDQyIEwyOCwzLjk3NDExNDQyIFogTTEzLDcuMDAwMTA0NzcgTDE1LDcuMDAwMTA0NzcgTDE1LDYuMDAwMTA0NzcgTDEzLDYuMDAwMTA0NzcgTDEzLDcuMDAwMTA0NzcgWiBNMTcuOTc1LDkuNjU4MDg3MzUgTDE3LjAyNSw5LjM0MjA4ODg2IEwxNC4wMjUsMTguMzQyMDQ2IEwxNC45NzUsMTguNjU4MDQ0NSBMMTcuOTc1LDkuNjU4MDg3MzUgWiBNMTMuMTQ2LDE2Ljg1NDA1MzEgTDEwLjE0NiwxMy44NTQwNjc0IEM5Ljk1MSwxMy42NTgwNjgzIDkuOTUxLDEzLjM0MjA2OTggMTAuMTQ2LDEzLjE0NjA3MDcgTDEzLjE0NiwxMC4xNDYwODUgTDEzLjg1NCwxMC44NTQwODE3IEwxMS4yMDcsMTMuNTAwMDY5MSBMMTMuODU0LDE2LjE0NjA1NjUgTDEzLjE0NiwxNi44NTQwNTMxIFoiIGlkPSJBbWF6b24tQVBJLUdhdGV3YXlfSWNvbl8zMl9TcXVpZCI+PC9wYXRoPiA8L2c+IDwvZz48L3N2Zz4=)","background-image-crossorigin":"anonymous","backgroundImageCrossorigin":"anonymous","background-image-opacity":"1","backgroundImageOpacity":"1","background-image-containment":"inside","backgroundImageContainment":"inside","background-image-smoothing":"yes","backgroundImageSmoothing":"yes","background-position-x":"50%","backgroundPositionX":"50%","background-position-y":"50%","backgroundPositionY":"50%","background-width-relative-to":"inner","backgroundWidthRelativeTo":"inner","background-height-relative-to":"inner","backgroundHeightRelativeTo":"inner","background-repeat":"no-repeat","backgroundRepeat":"no-repeat","background-fit":"contain","backgroundFit":"contain","background-clip":"none","backgroundClip":"none","background-width":"auto","backgroundWidth":"auto","background-height":"auto","backgroundHeight":"auto","background-offset-x":"0px","backgroundOffsetX":"0px","background-offset-y":"0px","backgroundOffsetY":"0px","pie-size":"100%","pieSize":"100%","pie-1-background-color":"rgb(0,0,0)","pie1BackgroundColor":"rgb(0,0,0)","pie-1-background-size":"0%","pie1BackgroundSize":"0%","pie-1-background-opacity":"1","pie1BackgroundOpacity":"1","pie-2-background-color":"rgb(0,0,0)","pie2BackgroundColor":"rgb(0,0,0)","pie-2-background-size":"0%","pie2BackgroundSize":"0%","pie-2-background-opacity":"1","pie2BackgroundOpacity":"1","pie-3-background-color":"rgb(0,0,0)","pie3BackgroundColor":"rgb(0,0,0)","pie-3-background-size":"0%","pie3BackgroundSize":"0%","pie-3-background-opacity":"1","pie3BackgroundOpacity":"1","pie-4-background-color":"rgb(0,0,0)","pie4BackgroundColor":"rgb(0,0,0)","pie-4-background-size":"0%","pie4BackgroundSize":"0%","pie-4-background-opacity":"1","pie4BackgroundOpacity":"1","pie-5-background-color":"rgb(0,0,0)","pie5BackgroundColor":"rgb(0,0,0)","pie-5-background-size":"0%","pie5BackgroundSize":"0%","pie-5-background-opacity":"1","pie5BackgroundOpacity":"1","pie-6-background-color":"rgb(0,0,0)","pie6BackgroundColor":"rgb(0,0,0)","pie-6-background-size":"0%","pie6BackgroundSize":"0%","pie-6-background-opacity":"1","pie6BackgroundOpacity":"1","pie-7-background-color":"rgb(0,0,0)","pie7BackgroundColor":"rgb(0,0,0)","pie-7-background-size":"0%","pie7BackgroundSize":"0%","pie-7-background-opacity":"1","pie7BackgroundOpacity":"1","pie-8-background-color":"rgb(0,0,0)","pie8BackgroundColor":"rgb(0,0,0)","pie-8-background-size":"0%","pie8BackgroundSize":"0%","pie-8-background-opacity":"1","pie8BackgroundOpacity":"1","pie-9-background-color":"rgb(0,0,0)","pie9BackgroundColor":"rgb(0,0,0)","pie-9-background-size":"0%","pie9BackgroundSize":"0%","pie-9-background-opacity":"1","pie9BackgroundOpacity":"1","pie-10-background-color":"rgb(0,0,0)","pie10BackgroundColor":"rgb(0,0,0)","pie-10-background-size":"0%","pie10BackgroundSize":"0%","pie-10-background-opacity":"1","pie10BackgroundOpacity":"1","pie-11-background-color":"rgb(0,0,0)","pie11BackgroundColor":"rgb(0,0,0)","pie-11-background-size":"0%","pie11BackgroundSize":"0%","pie-11-background-opacity":"1","pie11BackgroundOpacity":"1","pie-12-background-color":"rgb(0,0,0)","pie12BackgroundColor":"rgb(0,0,0)","pie-12-background-size":"0%","pie12BackgroundSize":"0%","pie-12-background-opacity":"1","pie12BackgroundOpacity":"1","pie-13-background-color":"rgb(0,0,0)","pie13BackgroundColor":"rgb(0,0,0)","pie-13-background-size":"0%","pie13BackgroundSize":"0%","pie-13-background-opacity":"1","pie13BackgroundOpacity":"1","pie-14-background-color":"rgb(0,0,0)","pie14BackgroundColor":"rgb(0,0,0)","pie-14-background-size":"0%","pie14BackgroundSize":"0%","pie-14-background-opacity":"1","pie14BackgroundOpacity":"1","pie-15-background-color":"rgb(0,0,0)","pie15BackgroundColor":"rgb(0,0,0)","pie-15-background-size":"0%","pie15BackgroundSize":"0%","pie-15-background-opacity":"1","pie15BackgroundOpacity":"1","pie-16-background-color":"rgb(0,0,0)","pie16BackgroundColor":"rgb(0,0,0)","pie-16-background-size":"0%","pie16BackgroundSize":"0%","pie-16-background-opacity":"1","pie16BackgroundOpacity":"1","position":"origin","compound-sizing-wrt-labels":"include","compoundSizingWrtLabels":"include","min-width":"0px","minWidth":"0px","min-width-bias-left":"0px","minWidthBiasLeft":"0px","min-width-bias-right":"0px","minWidthBiasRight":"0px","min-height":"0px","minHeight":"0px","min-height-bias-top":"0px","minHeightBiasTop":"0px","min-height-bias-bottom":"0px","minHeightBiasBottom":"0px","line-style":"solid","lineStyle":"solid","line-color":"rgb(153,153,153)","lineColor":"rgb(153,153,153)","line-fill":"solid","lineFill":"solid","line-cap":"butt","lineCap":"butt","line-opacity":"1","lineOpacity":"1","line-dash-pattern":"6 3","lineDashPattern":"6 3","line-dash-offset":"0","lineDashOffset":"0","line-outline-width":"0px","lineOutlineWidth":"0px","line-outline-color":"rgb(0,0,0)","lineOutlineColor":"rgb(0,0,0)","line-gradient-stop-colors":"rgb(153,153,153)","lineGradientStopColors":"rgb(153,153,153)","line-gradient-stop-positions":"0%","lineGradientStopPositions":"0%","curve-style":"haystack","curveStyle":"haystack","haystack-radius":"0","haystackRadius":"0","source-endpoint":"outside-to-node","sourceEndpoint":"outside-to-node","target-endpoint":"outside-to-node","targetEndpoint":"outside-to-node","control-point-step-size":"40px","controlPointStepSize":"40px","control-point-weights":"0.5","controlPointWeights":"0.5","segment-distances":"20px","segmentDistances":"20px","segment-weights":"0.5","segmentWeights":"0.5","segment-radii":"15","segmentRadii":"15","radius-type":"arc-radius","radiusType":"arc-radius","taxi-turn":"50%","taxiTurn":"50%","taxi-turn-min-distance":"10px","taxiTurnMinDistance":"10px","taxi-direction":"auto","taxiDirection":"auto","taxi-radius":"15","taxiRadius":"15","edge-distances":"intersection","edgeDistances":"intersection","arrow-scale":"1","arrowScale":"1","loop-direction":"-45deg","loopDirection":"-45deg","loop-sweep":"-90deg","loopSweep":"-90deg","source-distance-from-node":"0px","sourceDistanceFromNode":"0px","target-distance-from-node":"0px","targetDistanceFromNode":"0px","source-arrow-shape":"none","sourceArrowShape":"none","mid-source-arrow-shape":"none","midSourceArrowShape":"none","target-arrow-shape":"none","targetArrowShape":"none","mid-target-arrow-shape":"none","midTargetArrowShape":"none","source-arrow-color":"rgb(153,153,153)","sourceArrowColor":"rgb(153,153,153)","mid-source-arrow-color":"rgb(153,153,153)","midSourceArrowColor":"rgb(153,153,153)","target-arrow-color":"rgb(153,153,153)","targetArrowColor":"rgb(153,153,153)","mid-target-arrow-color":"rgb(153,153,153)","midTargetArrowColor":"rgb(153,153,153)","source-arrow-fill":"filled","sourceArrowFill":"filled","mid-source-arrow-fill":"filled","midSourceArrowFill":"filled","target-arrow-fill":"filled","targetArrowFill":"filled","mid-target-arrow-fill":"filled","midTargetArrowFill":"filled","source-arrow-width":"1px","sourceArrowWidth":"1px","mid-source-arrow-width":"1px","midSourceArrowWidth":"1px","target-arrow-width":"1px","targetArrowWidth":"1px","mid-target-arrow-width":"1px","midTargetArrowWidth":"1px","selection-box-color":"rgb(221,221,221)","selectionBoxColor":"rgb(221,221,221)","selection-box-opacity":"0.65","selectionBoxOpacity":"0.65","selection-box-border-color":"rgb(170,170,170)","selectionBoxBorderColor":"rgb(170,170,170)","selection-box-border-width":"1px","selectionBoxBorderWidth":"1px","active-bg-color":"rgb(0,0,0)","activeBgColor":"rgb(0,0,0)","active-bg-opacity":"0.15","activeBgOpacity":"0.15","active-bg-size":"30px","activeBgSize":"30px","outside-texture-bg-color":"rgb(0,0,0)","outsideTextureBgColor":"rgb(0,0,0)","outside-texture-bg-opacity":"0.125","outsideTextureBgOpacity":"0.125","content":"","control-point-weight":"0.5","controlPointWeight":"0.5","segment-distance":"20px","segmentDistance":"20px","segment-weight":"0.5","segmentWeight":"0.5","segment-radius":"15","segmentRadius":"15","edge-text-rotation":"none","edgeTextRotation":"none","padding-left":"6px","paddingLeft":"6px","padding-right":"6px","paddingRight":"6px","padding-top":"6px","paddingTop":"6px","padding-bottom":"6px","paddingBottom":"6px"},"f6d383e6-99d6-44c8-8b63-1e39d87f882d":{"events":"yes","text-events":"no","textEvents":"no","transition-property":"none","transitionProperty":"none","transition-duration":"0ms","transitionDuration":"0ms","transition-delay":"0ms","transitionDelay":"0ms","transition-timing-function":"linear","transitionTimingFunction":"linear","display":"element","visibility":"visible","opacity":"1","text-opacity":"1","textOpacity":"1","min-zoomed-font-size":"6px","minZoomedFontSize":"6px","z-compound-depth":"orphan","zCompoundDepth":"orphan","z-index-compare":"auto","zIndexCompare":"auto","z-index":"4","zIndex":"4","overlay-padding":"10px","overlayPadding":"10px","overlay-color":"rgb(0,0,0)","overlayColor":"rgb(0,0,0)","overlay-opacity":"0","overlayOpacity":"0","overlay-shape":"round-rectangle","overlayShape":"round-rectangle","overlay-corner-radius":"auto","overlayCornerRadius":"auto","underlay-padding":"10px","underlayPadding":"10px","underlay-color":"rgb(0,0,0)","underlayColor":"rgb(0,0,0)","underlay-opacity":"0","underlayOpacity":"0","underlay-shape":"round-rectangle","underlayShape":"round-rectangle","underlay-corner-radius":"auto","underlayCornerRadius":"auto","ghost":"no","ghost-offset-x":"0px","ghostOffsetX":"0px","ghost-offset-y":"0px","ghostOffsetY":"0px","ghost-opacity":"0","ghostOpacity":"0","text-valign":"bottom","textValign":"bottom","text-halign":"center","textHalign":"center","color":"rgb(0,0,0)","text-outline-color":"rgb(0,0,0)","textOutlineColor":"rgb(0,0,0)","text-outline-opacity":"1","textOutlineOpacity":"1","text-background-color":"rgb(210,212,210)","textBackgroundColor":"rgb(210,212,210)","text-background-opacity":"0.7","textBackgroundOpacity":"0.7","text-background-padding":"2px","textBackgroundPadding":"2px","text-border-opacity":"0","textBorderOpacity":"0","text-border-color":"rgb(0,0,0)","textBorderColor":"rgb(0,0,0)","text-border-width":"0px","textBorderWidth":"0px","text-border-style":"solid","textBorderStyle":"solid","text-background-shape":"round-rectangle","textBackgroundShape":"round-rectangle","text-justification":"auto","textJustification":"auto","font-family":"Qanelas Soft, sans-serif","fontFamily":"Qanelas Soft, sans-serif","font-style":"normal","fontStyle":"normal","font-weight":"300","fontWeight":"300","font-size":"8px","fontSize":"8px","text-transform":"none","textTransform":"none","text-wrap":"wrap","textWrap":"wrap","text-overflow-wrap":"whitespace","textOverflowWrap":"whitespace","text-max-width":"80px","textMaxWidth":"80px","text-outline-width":"0px","textOutlineWidth":"0px","line-height":"1","lineHeight":"1","label":"","text-rotation":"none","textRotation":"none","text-margin-x":"0px","textMarginX":"0px","text-margin-y":"7px","textMarginY":"7px","source-label":"","sourceLabel":"","source-text-rotation":"none","sourceTextRotation":"none","source-text-margin-x":"0px","sourceTextMarginX":"0px","source-text-margin-y":"0px","sourceTextMarginY":"0px","source-text-offset":"0px","sourceTextOffset":"0px","target-label":"","targetLabel":"","target-text-rotation":"none","targetTextRotation":"none","target-text-margin-x":"0px","targetTextMarginX":"0px","target-text-margin-y":"0px","targetTextMarginY":"0px","target-text-offset":"0px","targetTextOffset":"0px","height":"24px","width":"24px","shape":"rectangle","shape-polygon-points":"-1 -1 1 -1 1 1 -1 1","shapePolygonPoints":"-1 -1 1 -1 1 1 -1 1","corner-radius":"auto","cornerRadius":"auto","background-color":"rgb(201,37,209)","backgroundColor":"rgb(201,37,209)","background-fill":"solid","backgroundFill":"solid","background-opacity":"1","backgroundOpacity":"1","background-blacken":"0","backgroundBlacken":"0","background-gradient-stop-colors":"rgb(153,153,153)","backgroundGradientStopColors":"rgb(153,153,153)","background-gradient-stop-positions":"0%","backgroundGradientStopPositions":"0%","background-gradient-direction":"to-bottom","backgroundGradientDirection":"to-bottom","padding":"6px","padding-relative-to":"width","paddingRelativeTo":"width","bounds-expansion":"0px","boundsExpansion":"0px","border-color":"rgb(0,211,169)","borderColor":"rgb(0,211,169)","border-opacity":"1","borderOpacity":"1","border-width":"0px","borderWidth":"0px","border-style":"solid","borderStyle":"solid","border-cap":"butt","borderCap":"butt","border-join":"miter","borderJoin":"miter","border-dash-pattern":"4 2","borderDashPattern":"4 2","border-dash-offset":"0","borderDashOffset":"0","border-position":"center","borderPosition":"center","outline-color":"rgb(153,153,153)","outlineColor":"rgb(153,153,153)","outline-opacity":"1","outlineOpacity":"1","outline-width":"0px","outlineWidth":"0px","outline-style":"solid","outlineStyle":"solid","outline-offset":"0px","outlineOffset":"0px","background-image":"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gIDxnIGlkPSJJY29uLUFyY2hpdGVjdHVyZS8zMi9BcmNoX0FXUy1BY3RpdmF0ZV8zMiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+ICA8ZyBpZD0iSWNvbi1TZXJ2aWNlLzMyL0FXUy1BY3RpdmF0ZV8zMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy4wMDAwMDAsIDYuMDAwMDAwKSIgZmlsbD0iI0ZGRkZGRiI+IDxwYXRoIGQ9Ik0yNiwxMy45NzIgQzI2LDE5LjI2MiAyMi44MiwyMy44MTUgMTguMjc1LDI1Ljg0MyBMMTguMjc1LDI0LjczNCBDMjIuMjUxLDIyLjc3NyAyNSwxOC42OTUgMjUsMTMuOTcyIEMyNSw4LjM4MyAyMS4xNTMsMy42ODcgMTUuOTcyLDIuMzYgTDE1LjQ4LDEuMjE2IEMyMS40NjYsMi4zNzggMjYsNy42NTMgMjYsMTMuOTcyIEwyNiwxMy45NzIgWiBNNy43MjUsMjQuNzM0IEw3LjcyNSwyNS44NDMgQzMuMTgxLDIzLjgxNSAwLDE5LjI2MiAwLDEzLjk3MiBDMCw3LjY1NSA0LjUzMSwyLjM4MiAxMC41MTIsMS4yMTcgTDEwLjAyMSwyLjM2MiBDNC44NDMsMy42OTIgMSw4LjM4NSAxLDEzLjk3MiBDMSwxOC42OTUgMy43NDksMjIuNzc3IDcuNzI1LDI0LjczNCBMNy43MjUsMjQuNzM0IFogTTksMjcuOTcyIEwxMCwyNy45NzIgTDEwLDE3Ljk3MiBMOSwxNy45NzIgTDksMjcuOTcyIFogTTE2LDI3Ljk3MiBMMTcsMjcuOTcyIEwxNywxNy45NzIgTDE2LDE3Ljk3MiBMMTYsMjcuOTcyIFogTTEyLjUsMjUuOTcyIEwxMy41LDI1Ljk3MiBMMTMuNSwxNC45NzIgTDEyLjUsMTQuOTcyIEwxMi41LDI1Ljk3MiBaIE0xMywxLjY2OSBMMTguMjA2LDEzLjg0NyBMMTMuMzA1LDEwLjExIEMxMy4xNDcsOS45OSAxMi44NjMsMTAuMDE5IDEyLjY4OSwxMC4xMTUgTDcuNzk0LDEzLjg0NyBMMTMsMS42NjkgWiBNNi4yODEsMTUuNzg5IEM2LjQ2MiwxNS45MjggNi43MTMsMTUuOTMgNi44OTIsMTUuNzkyIEwxMi45OTYsMTEuMTMyIEwxOS4xMDgsMTUuNzkyIEMxOS4xOTcsMTUuODYgMTkuMzA1LDE1Ljg5NCAxOS40MTEsMTUuODk0IEMxOS41MiwxNS44OTQgMTkuNjI4LDE1Ljg1OSAxOS43MTksMTUuNzg5IEMxOS44OTcsMTUuNjQ5IDE5Ljk2LDE1LjQwNyAxOS44NzEsMTUuMTk4IEwxMy40OTIsMC4yNzYgQzEzLjMzNCwtMC4wOTIgMTIuNjY2LC0wLjA5MiAxMi41MDgsMC4yNzYgTDYuMTI5LDE1LjE5OCBDNi4wNCwxNS40MDcgNi4xMDMsMTUuNjQ5IDYuMjgxLDE1Ljc4OSBMNi4yODEsMTUuNzg5IFoiIGlkPSJBV1MtQWN0aXZhdGVfMzJfU3F1aWQiPjwvcGF0aD4gPC9nPiA8L2c+PC9zdmc+)","backgroundImage":"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gIDxnIGlkPSJJY29uLUFyY2hpdGVjdHVyZS8zMi9BcmNoX0FXUy1BY3RpdmF0ZV8zMiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+ICA8ZyBpZD0iSWNvbi1TZXJ2aWNlLzMyL0FXUy1BY3RpdmF0ZV8zMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNy4wMDAwMDAsIDYuMDAwMDAwKSIgZmlsbD0iI0ZGRkZGRiI+IDxwYXRoIGQ9Ik0yNiwxMy45NzIgQzI2LDE5LjI2MiAyMi44MiwyMy44MTUgMTguMjc1LDI1Ljg0MyBMMTguMjc1LDI0LjczNCBDMjIuMjUxLDIyLjc3NyAyNSwxOC42OTUgMjUsMTMuOTcyIEMyNSw4LjM4MyAyMS4xNTMsMy42ODcgMTUuOTcyLDIuMzYgTDE1LjQ4LDEuMjE2IEMyMS40NjYsMi4zNzggMjYsNy42NTMgMjYsMTMuOTcyIEwyNiwxMy45NzIgWiBNNy43MjUsMjQuNzM0IEw3LjcyNSwyNS44NDMgQzMuMTgxLDIzLjgxNSAwLDE5LjI2MiAwLDEzLjk3MiBDMCw3LjY1NSA0LjUzMSwyLjM4MiAxMC41MTIsMS4yMTcgTDEwLjAyMSwyLjM2MiBDNC44NDMsMy42OTIgMSw4LjM4NSAxLDEzLjk3MiBDMSwxOC42OTUgMy43NDksMjIuNzc3IDcuNzI1LDI0LjczNCBMNy43MjUsMjQuNzM0IFogTTksMjcuOTcyIEwxMCwyNy45NzIgTDEwLDE3Ljk3MiBMOSwxNy45NzIgTDksMjcuOTcyIFogTTE2LDI3Ljk3MiBMMTcsMjcuOTcyIEwxNywxNy45NzIgTDE2LDE3Ljk3MiBMMTYsMjcuOTcyIFogTTEyLjUsMjUuOTcyIEwxMy41LDI1Ljk3MiBMMTMuNSwxNC45NzIgTDEyLjUsMTQuOTcyIEwxMi41LDI1Ljk3MiBaIE0xMywxLjY2OSBMMTguMjA2LDEzLjg0NyBMMTMuMzA1LDEwLjExIEMxMy4xNDcsOS45OSAxMi44NjMsMTAuMDE5IDEyLjY4OSwxMC4xMTUgTDcuNzk0LDEzLjg0NyBMMTMsMS42NjkgWiBNNi4yODEsMTUuNzg5IEM2LjQ2MiwxNS45MjggNi43MTMsMTUuOTMgNi44OTIsMTUuNzkyIEwxMi45OTYsMTEuMTMyIEwxOS4xMDgsMTUuNzkyIEMxOS4xOTcsMTUuODYgMTkuMzA1LDE1Ljg5NCAxOS40MTEsMTUuODk0IEMxOS41MiwxNS44OTQgMTkuNjI4LDE1Ljg1OSAxOS43MTksMTUuNzg5IEMxOS44OTcsMTUuNjQ5IDE5Ljk2LDE1LjQwNyAxOS44NzEsMTUuMTk4IEwxMy40OTIsMC4yNzYgQzEzLjMzNCwtMC4wOTIgMTIuNjY2LC0wLjA5MiAxMi41MDgsMC4yNzYgTDYuMTI5LDE1LjE5OCBDNi4wNCwxNS40MDcgNi4xMDMsMTUuNjQ5IDYuMjgxLDE1Ljc4OSBMNi4yODEsMTUuNzg5IFoiIGlkPSJBV1MtQWN0aXZhdGVfMzJfU3F1aWQiPjwvcGF0aD4gPC9nPiA8L2c+PC9zdmc+)","background-image-crossorigin":"anonymous","backgroundImageCrossorigin":"anonymous","background-image-opacity":"1","backgroundImageOpacity":"1","background-image-containment":"inside","backgroundImageContainment":"inside","background-image-smoothing":"yes","backgroundImageSmoothing":"yes","background-position-x":"50%","backgroundPositionX":"50%","background-position-y":"50%","backgroundPositionY":"50%","background-width-relative-to":"inner","backgroundWidthRelativeTo":"inner","background-height-relative-to":"inner","backgroundHeightRelativeTo":"inner","background-repeat":"no-repeat","backgroundRepeat":"no-repeat","background-fit":"contain","backgroundFit":"contain","background-clip":"none","backgroundClip":"none","background-width":"auto","backgroundWidth":"auto","background-height":"auto","backgroundHeight":"auto","background-offset-x":"0px","backgroundOffsetX":"0px","background-offset-y":"0px","backgroundOffsetY":"0px","pie-size":"100%","pieSize":"100%","pie-1-background-color":"rgb(0,0,0)","pie1BackgroundColor":"rgb(0,0,0)","pie-1-background-size":"0%","pie1BackgroundSize":"0%","pie-1-background-opacity":"1","pie1BackgroundOpacity":"1","pie-2-background-color":"rgb(0,0,0)","pie2BackgroundColor":"rgb(0,0,0)","pie-2-background-size":"0%","pie2BackgroundSize":"0%","pie-2-background-opacity":"1","pie2BackgroundOpacity":"1","pie-3-background-color":"rgb(0,0,0)","pie3BackgroundColor":"rgb(0,0,0)","pie-3-background-size":"0%","pie3BackgroundSize":"0%","pie-3-background-opacity":"1","pie3BackgroundOpacity":"1","pie-4-background-color":"rgb(0,0,0)","pie4BackgroundColor":"rgb(0,0,0)","pie-4-background-size":"0%","pie4BackgroundSize":"0%","pie-4-background-opacity":"1","pie4BackgroundOpacity":"1","pie-5-background-color":"rgb(0,0,0)","pie5BackgroundColor":"rgb(0,0,0)","pie-5-background-size":"0%","pie5BackgroundSize":"0%","pie-5-background-opacity":"1","pie5BackgroundOpacity":"1","pie-6-background-color":"rgb(0,0,0)","pie6BackgroundColor":"rgb(0,0,0)","pie-6-background-size":"0%","pie6BackgroundSize":"0%","pie-6-background-opacity":"1","pie6BackgroundOpacity":"1","pie-7-background-color":"rgb(0,0,0)","pie7BackgroundColor":"rgb(0,0,0)","pie-7-background-size":"0%","pie7BackgroundSize":"0%","pie-7-background-opacity":"1","pie7BackgroundOpacity":"1","pie-8-background-color":"rgb(0,0,0)","pie8BackgroundColor":"rgb(0,0,0)","pie-8-background-size":"0%","pie8BackgroundSize":"0%","pie-8-background-opacity":"1","pie8BackgroundOpacity":"1","pie-9-background-color":"rgb(0,0,0)","pie9BackgroundColor":"rgb(0,0,0)","pie-9-background-size":"0%","pie9BackgroundSize":"0%","pie-9-background-opacity":"1","pie9BackgroundOpacity":"1","pie-10-background-color":"rgb(0,0,0)","pie10BackgroundColor":"rgb(0,0,0)","pie-10-background-size":"0%","pie10BackgroundSize":"0%","pie-10-background-opacity":"1","pie10BackgroundOpacity":"1","pie-11-background-color":"rgb(0,0,0)","pie11BackgroundColor":"rgb(0,0,0)","pie-11-background-size":"0%","pie11BackgroundSize":"0%","pie-11-background-opacity":"1","pie11BackgroundOpacity":"1","pie-12-background-color":"rgb(0,0,0)","pie12BackgroundColor":"rgb(0,0,0)","pie-12-background-size":"0%","pie12BackgroundSize":"0%","pie-12-background-opacity":"1","pie12BackgroundOpacity":"1","pie-13-background-color":"rgb(0,0,0)","pie13BackgroundColor":"rgb(0,0,0)","pie-13-background-size":"0%","pie13BackgroundSize":"0%","pie-13-background-opacity":"1","pie13BackgroundOpacity":"1","pie-14-background-color":"rgb(0,0,0)","pie14BackgroundColor":"rgb(0,0,0)","pie-14-background-size":"0%","pie14BackgroundSize":"0%","pie-14-background-opacity":"1","pie14BackgroundOpacity":"1","pie-15-background-color":"rgb(0,0,0)","pie15BackgroundColor":"rgb(0,0,0)","pie-15-background-size":"0%","pie15BackgroundSize":"0%","pie-15-background-opacity":"1","pie15BackgroundOpacity":"1","pie-16-background-color":"rgb(0,0,0)","pie16BackgroundColor":"rgb(0,0,0)","pie-16-background-size":"0%","pie16BackgroundSize":"0%","pie-16-background-opacity":"1","pie16BackgroundOpacity":"1","position":"origin","compound-sizing-wrt-labels":"include","compoundSizingWrtLabels":"include","min-width":"0px","minWidth":"0px","min-width-bias-left":"0px","minWidthBiasLeft":"0px","min-width-bias-right":"0px","minWidthBiasRight":"0px","min-height":"0px","minHeight":"0px","min-height-bias-top":"0px","minHeightBiasTop":"0px","min-height-bias-bottom":"0px","minHeightBiasBottom":"0px","line-style":"solid","lineStyle":"solid","line-color":"rgb(153,153,153)","lineColor":"rgb(153,153,153)","line-fill":"solid","lineFill":"solid","line-cap":"butt","lineCap":"butt","line-opacity":"1","lineOpacity":"1","line-dash-pattern":"6 3","lineDashPattern":"6 3","line-dash-offset":"0","lineDashOffset":"0","line-outline-width":"0px","lineOutlineWidth":"0px","line-outline-color":"rgb(0,0,0)","lineOutlineColor":"rgb(0,0,0)","line-gradient-stop-colors":"rgb(153,153,153)","lineGradientStopColors":"rgb(153,153,153)","line-gradient-stop-positions":"0%","lineGradientStopPositions":"0%","curve-style":"haystack","curveStyle":"haystack","haystack-radius":"0","haystackRadius":"0","source-endpoint":"outside-to-node","sourceEndpoint":"outside-to-node","target-endpoint":"outside-to-node","targetEndpoint":"outside-to-node","control-point-step-size":"40px","controlPointStepSize":"40px","control-point-weights":"0.5","controlPointWeights":"0.5","segment-distances":"20px","segmentDistances":"20px","segment-weights":"0.5","segmentWeights":"0.5","segment-radii":"15","segmentRadii":"15","radius-type":"arc-radius","radiusType":"arc-radius","taxi-turn":"50%","taxiTurn":"50%","taxi-turn-min-distance":"10px","taxiTurnMinDistance":"10px","taxi-direction":"auto","taxiDirection":"auto","taxi-radius":"15","taxiRadius":"15","edge-distances":"intersection","edgeDistances":"intersection","arrow-scale":"1","arrowScale":"1","loop-direction":"-45deg","loopDirection":"-45deg","loop-sweep":"-90deg","loopSweep":"-90deg","source-distance-from-node":"0px","sourceDistanceFromNode":"0px","target-distance-from-node":"0px","targetDistanceFromNode":"0px","source-arrow-shape":"none","sourceArrowShape":"none","mid-source-arrow-shape":"none","midSourceArrowShape":"none","target-arrow-shape":"none","targetArrowShape":"none","mid-target-arrow-shape":"none","midTargetArrowShape":"none","source-arrow-color":"rgb(153,153,153)","sourceArrowColor":"rgb(153,153,153)","mid-source-arrow-color":"rgb(153,153,153)","midSourceArrowColor":"rgb(153,153,153)","target-arrow-color":"rgb(153,153,153)","targetArrowColor":"rgb(153,153,153)","mid-target-arrow-color":"rgb(153,153,153)","midTargetArrowColor":"rgb(153,153,153)","source-arrow-fill":"filled","sourceArrowFill":"filled","mid-source-arrow-fill":"filled","midSourceArrowFill":"filled","target-arrow-fill":"filled","targetArrowFill":"filled","mid-target-arrow-fill":"filled","midTargetArrowFill":"filled","source-arrow-width":"1px","sourceArrowWidth":"1px","mid-source-arrow-width":"1px","midSourceArrowWidth":"1px","target-arrow-width":"1px","targetArrowWidth":"1px","mid-target-arrow-width":"1px","midTargetArrowWidth":"1px","selection-box-color":"rgb(221,221,221)","selectionBoxColor":"rgb(221,221,221)","selection-box-opacity":"0.65","selectionBoxOpacity":"0.65","selection-box-border-color":"rgb(170,170,170)","selectionBoxBorderColor":"rgb(170,170,170)","selection-box-border-width":"1px","selectionBoxBorderWidth":"1px","active-bg-color":"rgb(0,0,0)","activeBgColor":"rgb(0,0,0)","active-bg-opacity":"0.15","activeBgOpacity":"0.15","active-bg-size":"30px","activeBgSize":"30px","outside-texture-bg-color":"rgb(0,0,0)","outsideTextureBgColor":"rgb(0,0,0)","outside-texture-bg-opacity":"0.125","outsideTextureBgOpacity":"0.125","content":"","control-point-weight":"0.5","controlPointWeight":"0.5","segment-distance":"20px","segmentDistance":"20px","segment-weight":"0.5","segmentWeight":"0.5","segment-radius":"15","segmentRadius":"15","edge-text-rotation":"none","edgeTextRotation":"none","padding-left":"6px","paddingLeft":"6px","padding-right":"6px","paddingRight":"6px","padding-top":"6px","paddingTop":"6px","padding-bottom":"6px","paddingBottom":"6px"},"3fcd7b19-39f4-4c7d-bf98-79d035d3d5f0":{"events":"yes","text-events":"no","textEvents":"no","transition-property":"none","transitionProperty":"none","transition-duration":"0ms","transitionDuration":"0ms","transition-delay":"0ms","transitionDelay":"0ms","transition-timing-function":"linear","transitionTimingFunction":"linear","display":"element","visibility":"visible","opacity":"1","text-opacity":"1","textOpacity":"1","min-zoomed-font-size":"6px","minZoomedFontSize":"6px","z-compound-depth":"orphan","zCompoundDepth":"orphan","z-index-compare":"auto","zIndexCompare":"auto","z-index":"5","zIndex":"5","overlay-padding":"10px","overlayPadding":"10px","overlay-color":"rgb(0,0,0)","overlayColor":"rgb(0,0,0)","overlay-opacity":"0","overlayOpacity":"0","overlay-shape":"round-rectangle","overlayShape":"round-rectangle","overlay-corner-radius":"auto","overlayCornerRadius":"auto","underlay-padding":"10px","underlayPadding":"10px","underlay-color":"rgb(0,0,0)","underlayColor":"rgb(0,0,0)","underlay-opacity":"0","underlayOpacity":"0","underlay-shape":"round-rectangle","underlayShape":"round-rectangle","underlay-corner-radius":"auto","underlayCornerRadius":"auto","ghost":"no","ghost-offset-x":"0px","ghostOffsetX":"0px","ghost-offset-y":"0px","ghostOffsetY":"0px","ghost-opacity":"0","ghostOpacity":"0","text-valign":"bottom","textValign":"bottom","text-halign":"center","textHalign":"center","color":"rgb(0,0,0)","text-outline-color":"rgb(0,0,0)","textOutlineColor":"rgb(0,0,0)","text-outline-opacity":"1","textOutlineOpacity":"1","text-background-color":"rgb(210,212,210)","textBackgroundColor":"rgb(210,212,210)","text-background-opacity":"0.7","textBackgroundOpacity":"0.7","text-background-padding":"2px","textBackgroundPadding":"2px","text-border-opacity":"0","textBorderOpacity":"0","text-border-color":"rgb(0,0,0)","textBorderColor":"rgb(0,0,0)","text-border-width":"0px","textBorderWidth":"0px","text-border-style":"solid","textBorderStyle":"solid","text-background-shape":"round-rectangle","textBackgroundShape":"round-rectangle","text-justification":"auto","textJustification":"auto","font-family":"Qanelas Soft, sans-serif","fontFamily":"Qanelas Soft, sans-serif","font-style":"normal","fontStyle":"normal","font-weight":"300","fontWeight":"300","font-size":"8px","fontSize":"8px","text-transform":"none","textTransform":"none","text-wrap":"wrap","textWrap":"wrap","text-overflow-wrap":"whitespace","textOverflowWrap":"whitespace","text-max-width":"80px","textMaxWidth":"80px","text-outline-width":"0px","textOutlineWidth":"0px","line-height":"1","lineHeight":"1","label":"","text-rotation":"none","textRotation":"none","text-margin-x":"0px","textMarginX":"0px","text-margin-y":"7px","textMarginY":"7px","source-label":"","sourceLabel":"","source-text-rotation":"none","sourceTextRotation":"none","source-text-margin-x":"0px","sourceTextMarginX":"0px","source-text-margin-y":"0px","sourceTextMarginY":"0px","source-text-offset":"0px","sourceTextOffset":"0px","target-label":"","targetLabel":"","target-text-rotation":"none","targetTextRotation":"none","target-text-margin-x":"0px","targetTextMarginX":"0px","target-text-margin-y":"0px","targetTextMarginY":"0px","target-text-offset":"0px","targetTextOffset":"0px","height":"24px","width":"24px","shape":"rectangle","shape-polygon-points":"-1 -1 1 -1 1 1 -1 1","shapePolygonPoints":"-1 -1 1 -1 1 1 -1 1","corner-radius":"auto","cornerRadius":"auto","background-color":"rgb(221,52,76)","backgroundColor":"rgb(221,52,76)","background-fill":"solid","backgroundFill":"solid","background-opacity":"1","backgroundOpacity":"1","background-blacken":"0","backgroundBlacken":"0","background-gradient-stop-colors":"rgb(153,153,153)","backgroundGradientStopColors":"rgb(153,153,153)","background-gradient-stop-positions":"0%","backgroundGradientStopPositions":"0%","background-gradient-direction":"to-bottom","backgroundGradientDirection":"to-bottom","padding":"6px","padding-relative-to":"width","paddingRelativeTo":"width","bounds-expansion":"0px","boundsExpansion":"0px","border-color":"rgb(0,211,169)","borderColor":"rgb(0,211,169)","border-opacity":"1","borderOpacity":"1","border-width":"0px","borderWidth":"0px","border-style":"solid","borderStyle":"solid","border-cap":"butt","borderCap":"butt","border-join":"miter","borderJoin":"miter","border-dash-pattern":"4 2","borderDashPattern":"4 2","border-dash-offset":"0","borderDashOffset":"0","border-position":"center","borderPosition":"center","outline-color":"rgb(153,153,153)","outlineColor":"rgb(153,153,153)","outline-opacity":"1","outlineOpacity":"1","outline-width":"0px","outlineWidth":"0px","outline-style":"solid","outlineStyle":"solid","outline-offset":"0px","outlineOffset":"0px","background-image":"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiICB2aWV3Qm94PSIwIDAgNDAgNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICA8ZyBpZD0iSWNvbi1BcmNoaXRlY3R1cmUvMzIvQXJjaF9BbGV4YS1Gb3ItQnVzaW5lc3NfMzIiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHBhdGggZD0iTTE1LDIxLjAwMjQ2MjggTDIwLDIxLjAwMjQ2MjggTDIwLDE5Ljk5NjUzMTMgTDE1LDE5Ljk5NjUzMTMgTDE1LDIxLjAwMjQ2MjggWiBNMTUsMTguOTkwNTk5NyBMMjYsMTguOTkwNTk5NyBMMjYsMTcuOTg0NjY4MiBMMTUsMTcuOTg0NjY4MiBMMTUsMTguOTkwNTk5NyBaIE0xNSwxNi45Nzg3MzY3IEwyNCwxNi45Nzg3MzY3IEwyNCwxNS45NzI4MDUyIEwxNSwxNS45NzI4MDUyIEwxNSwxNi45Nzg3MzY3IFogTTIwLDEwLjAyMzcyNjEgQzE1LjU4OSwxMC4wMjM3MjYxIDEyLDEzLjYzNDAxNDQgMTIsMTguMDcxMTc4MyBDMTIsMjEuMzA1MjQ4MiAxMy44ODUsMjQuMjAxMzI1MSAxNi44MDIsMjUuNDQ5Njg2MSBMMTYuOTk4LDI1LjUxMTA0NzkgQzE3LjIyNCwyNS41ODQ0ODA5IDE3LjQ4NywyNS42NzA5OTEgMTcuNzI3LDI1Ljc1ODUwNzEgTDE5LjY5OSwyNi40ODI3Nzc4IEMxOS44OTYsMjYuNTU1MjA0OCAyMC4wMjcsMjYuNzQzMzE0IDIwLjAyNywyNi45NTQ1NTk2IEwyMC4wMjcsMjkuNTA1NjAyIEMyNC44MjUsMjcuMjg1NTExMSAyOCwyMi43NzM5MDgyIDI4LDE4LjA3MTE3ODMgQzI4LDEzLjYzNDAxNDQgMjQuNDExLDEwLjAyMzcyNjEgMjAsMTAuMDIzNzI2MSBMMjAsMTAuMDIzNzI2MSBaIE0xOS41MjcsMzAuNzcyMDY5OCBDMTkuNDI5LDMwLjc3MjA2OTggMTkuMzMxLDMwLjc0Mjg5NzggMTkuMjQ3LDMwLjY4NTU1OTcgQzE5LjEwOSwzMC41OTIwMDggMTkuMDI3LDMwLjQzNjA4ODcgMTkuMDI3LDMwLjI2OTEwNCBMMTkuMDI3LDI3LjMwNjYzNTcgTDE3LjM4NCwyNi43MDMwNzY4IEMxNy4xNTcsMjYuNjE5NTg0NCAxNi45MDUsMjYuNTM4MTA0IDE2LjY5LDI2LjQ2ODY5NDcgTDE2LjQ1MiwyNi4zOTAyMzIxIEMxMy4xMjQsMjQuOTY4ODUwOCAxMSwyMS43MDk2MzI3IDExLDE4LjA3MTE3ODMgQzExLDEzLjA3ODc0MDIgMTUuMDM3LDkuMDE3Nzk0NTggMjAsOS4wMTc3OTQ1OCBDMjQuOTYzLDkuMDE3Nzk0NTggMjksMTMuMDc4NzQwMiAyOSwxOC4wNzExNzgzIEMyOSwyMy40MDE2MDk1IDI1LjI2OSwyOC40OTA2MTcxIDE5LjcxNCwzMC43MzU4NTYzIEMxOS42NTMsMzAuNzU5OTk4NiAxOS41OTEsMzAuNzcyMDY5OCAxOS41MjcsMzAuNzcyMDY5OCBMMTkuNTI3LDMwLjc3MjA2OTggWiBNMjAsNy4wMDU5MzE1MyBDMTMuOTM1LDcuMDA1OTMxNTMgOSwxMS45NjkxOTc3IDksMTguMDcxMTc4MyBDOSwyMi41MTk0MDc1IDExLjYzNiwyNi41MTk5OTcyIDE1LjcxNSwyOC4yNjEyNjQ3IEMxNS43ODIsMjguMjkwNDM2NyAxNS45MTgsMjguMzMyNjg1OCAxNi4wOCwyOC4zODQ5OTQzIEMxNi4yNzEsMjguNDQ2MzU2MSAxNi40OTYsMjguNTE5Nzg5MSAxNi42OTksMjguNTkzMjIyMSBDMTYuODk2LDI4LjY2NjY1NTEgMTcuMDI3LDI4Ljg1NDc2NDMgMTcuMDI3LDI5LjA2NjAwOTkgTDE3LjAyNywzMy43Nzc3OTMyIEwxOC4xNjksMzMuMzU4MzE5NyBDMjUuNjIzLDMxLjQyMDg5NTYgMzEsMjQuOTk4MDIyOCAzMSwxOC4wNzExNzgzIEMzMSwxMS45NjkxOTc3IDI2LjA2NSw3LjAwNTkzMTUzIDIwLDcuMDA1OTMxNTMgTDIwLDcuMDA1OTMxNTMgWiBNMTYuNTI3LDM1IEMxNi40MjYsMzUgMTYuMzI2LDM0Ljk2ODgxNjEgMTYuMjQxLDM0LjkwOTQ2NjIgQzE2LjEwNywzNC44MTQ5MDg2IDE2LjAyNywzNC42NjEwMDExIDE2LjAyNywzNC40OTcwMzQyIEwxNi4wMjcsMjkuNDI1MTI3NSBDMTUuOTQsMjkuMzk1OTU1NSAxNS44NTQsMjkuMzY3Nzg5NCAxNS43NzQsMjkuMzQyNjQxMSBDMTUuNTc1LDI5LjI3ODI2MTUgMTUuNDA4LDI5LjIyMjkzNTIgMTUuMzI0LDI5LjE4NzcyNzYgQzEwLjg3NSwyNy4yODc1MjMgOCwyMi45MjQ3OTc5IDgsMTguMDcxMTc4MyBDOCwxMS40MTQ5Mjk0IDEzLjM4Myw2IDIwLDYgQzI2LjYxNyw2IDMyLDExLjQxNDkyOTQgMzIsMTguMDcxMTc4MyBDMzIsMjUuNDQ5Njg2MSAyNi4zMDgsMzIuMjgxOTczIDE4LjQ2NiwzNC4zMTc5Nzg0IEwxNi42OTksMzQuOTY5ODIyMSBDMTYuNjQ0LDM0Ljk4OTk0MDcgMTYuNTg1LDM1IDE2LjUyNywzNSBMMTYuNTI3LDM1IFoiIGlkPSJBbGV4YS1Gb3ItQnVzaW5lc3NfSWNvbl8zMl9TcXVpZCIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPiA8L2c+PC9zdmc+)","backgroundImage":"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiICB2aWV3Qm94PSIwIDAgNDAgNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICA8ZyBpZD0iSWNvbi1BcmNoaXRlY3R1cmUvMzIvQXJjaF9BbGV4YS1Gb3ItQnVzaW5lc3NfMzIiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHBhdGggZD0iTTE1LDIxLjAwMjQ2MjggTDIwLDIxLjAwMjQ2MjggTDIwLDE5Ljk5NjUzMTMgTDE1LDE5Ljk5NjUzMTMgTDE1LDIxLjAwMjQ2MjggWiBNMTUsMTguOTkwNTk5NyBMMjYsMTguOTkwNTk5NyBMMjYsMTcuOTg0NjY4MiBMMTUsMTcuOTg0NjY4MiBMMTUsMTguOTkwNTk5NyBaIE0xNSwxNi45Nzg3MzY3IEwyNCwxNi45Nzg3MzY3IEwyNCwxNS45NzI4MDUyIEwxNSwxNS45NzI4MDUyIEwxNSwxNi45Nzg3MzY3IFogTTIwLDEwLjAyMzcyNjEgQzE1LjU4OSwxMC4wMjM3MjYxIDEyLDEzLjYzNDAxNDQgMTIsMTguMDcxMTc4MyBDMTIsMjEuMzA1MjQ4MiAxMy44ODUsMjQuMjAxMzI1MSAxNi44MDIsMjUuNDQ5Njg2MSBMMTYuOTk4LDI1LjUxMTA0NzkgQzE3LjIyNCwyNS41ODQ0ODA5IDE3LjQ4NywyNS42NzA5OTEgMTcuNzI3LDI1Ljc1ODUwNzEgTDE5LjY5OSwyNi40ODI3Nzc4IEMxOS44OTYsMjYuNTU1MjA0OCAyMC4wMjcsMjYuNzQzMzE0IDIwLjAyNywyNi45NTQ1NTk2IEwyMC4wMjcsMjkuNTA1NjAyIEMyNC44MjUsMjcuMjg1NTExMSAyOCwyMi43NzM5MDgyIDI4LDE4LjA3MTE3ODMgQzI4LDEzLjYzNDAxNDQgMjQuNDExLDEwLjAyMzcyNjEgMjAsMTAuMDIzNzI2MSBMMjAsMTAuMDIzNzI2MSBaIE0xOS41MjcsMzAuNzcyMDY5OCBDMTkuNDI5LDMwLjc3MjA2OTggMTkuMzMxLDMwLjc0Mjg5NzggMTkuMjQ3LDMwLjY4NTU1OTcgQzE5LjEwOSwzMC41OTIwMDggMTkuMDI3LDMwLjQzNjA4ODcgMTkuMDI3LDMwLjI2OTEwNCBMMTkuMDI3LDI3LjMwNjYzNTcgTDE3LjM4NCwyNi43MDMwNzY4IEMxNy4xNTcsMjYuNjE5NTg0NCAxNi45MDUsMjYuNTM4MTA0IDE2LjY5LDI2LjQ2ODY5NDcgTDE2LjQ1MiwyNi4zOTAyMzIxIEMxMy4xMjQsMjQuOTY4ODUwOCAxMSwyMS43MDk2MzI3IDExLDE4LjA3MTE3ODMgQzExLDEzLjA3ODc0MDIgMTUuMDM3LDkuMDE3Nzk0NTggMjAsOS4wMTc3OTQ1OCBDMjQuOTYzLDkuMDE3Nzk0NTggMjksMTMuMDc4NzQwMiAyOSwxOC4wNzExNzgzIEMyOSwyMy40MDE2MDk1IDI1LjI2OSwyOC40OTA2MTcxIDE5LjcxNCwzMC43MzU4NTYzIEMxOS42NTMsMzAuNzU5OTk4NiAxOS41OTEsMzAuNzcyMDY5OCAxOS41MjcsMzAuNzcyMDY5OCBMMTkuNTI3LDMwLjc3MjA2OTggWiBNMjAsNy4wMDU5MzE1MyBDMTMuOTM1LDcuMDA1OTMxNTMgOSwxMS45NjkxOTc3IDksMTguMDcxMTc4MyBDOSwyMi41MTk0MDc1IDExLjYzNiwyNi41MTk5OTcyIDE1LjcxNSwyOC4yNjEyNjQ3IEMxNS43ODIsMjguMjkwNDM2NyAxNS45MTgsMjguMzMyNjg1OCAxNi4wOCwyOC4zODQ5OTQzIEMxNi4yNzEsMjguNDQ2MzU2MSAxNi40OTYsMjguNTE5Nzg5MSAxNi42OTksMjguNTkzMjIyMSBDMTYuODk2LDI4LjY2NjY1NTEgMTcuMDI3LDI4Ljg1NDc2NDMgMTcuMDI3LDI5LjA2NjAwOTkgTDE3LjAyNywzMy43Nzc3OTMyIEwxOC4xNjksMzMuMzU4MzE5NyBDMjUuNjIzLDMxLjQyMDg5NTYgMzEsMjQuOTk4MDIyOCAzMSwxOC4wNzExNzgzIEMzMSwxMS45NjkxOTc3IDI2LjA2NSw3LjAwNTkzMTUzIDIwLDcuMDA1OTMxNTMgTDIwLDcuMDA1OTMxNTMgWiBNMTYuNTI3LDM1IEMxNi40MjYsMzUgMTYuMzI2LDM0Ljk2ODgxNjEgMTYuMjQxLDM0LjkwOTQ2NjIgQzE2LjEwNywzNC44MTQ5MDg2IDE2LjAyNywzNC42NjEwMDExIDE2LjAyNywzNC40OTcwMzQyIEwxNi4wMjcsMjkuNDI1MTI3NSBDMTUuOTQsMjkuMzk1OTU1NSAxNS44NTQsMjkuMzY3Nzg5NCAxNS43NzQsMjkuMzQyNjQxMSBDMTUuNTc1LDI5LjI3ODI2MTUgMTUuNDA4LDI5LjIyMjkzNTIgMTUuMzI0LDI5LjE4NzcyNzYgQzEwLjg3NSwyNy4yODc1MjMgOCwyMi45MjQ3OTc5IDgsMTguMDcxMTc4MyBDOCwxMS40MTQ5Mjk0IDEzLjM4Myw2IDIwLDYgQzI2LjYxNyw2IDMyLDExLjQxNDkyOTQgMzIsMTguMDcxMTc4MyBDMzIsMjUuNDQ5Njg2MSAyNi4zMDgsMzIuMjgxOTczIDE4LjQ2NiwzNC4zMTc5Nzg0IEwxNi42OTksMzQuOTY5ODIyMSBDMTYuNjQ0LDM0Ljk4OTk0MDcgMTYuNTg1LDM1IDE2LjUyNywzNSBMMTYuNTI3LDM1IFoiIGlkPSJBbGV4YS1Gb3ItQnVzaW5lc3NfSWNvbl8zMl9TcXVpZCIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPiA8L2c+PC9zdmc+)","background-image-crossorigin":"anonymous","backgroundImageCrossorigin":"anonymous","background-image-opacity":"1","backgroundImageOpacity":"1","background-image-containment":"inside","backgroundImageContainment":"inside","background-image-smoothing":"yes","backgroundImageSmoothing":"yes","background-position-x":"50%","backgroundPositionX":"50%","background-position-y":"50%","backgroundPositionY":"50%","background-width-relative-to":"inner","backgroundWidthRelativeTo":"inner","background-height-relative-to":"inner","backgroundHeightRelativeTo":"inner","background-repeat":"no-repeat","backgroundRepeat":"no-repeat","background-fit":"contain","backgroundFit":"contain","background-clip":"none","backgroundClip":"none","background-width":"auto","backgroundWidth":"auto","background-height":"auto","backgroundHeight":"auto","background-offset-x":"0px","backgroundOffsetX":"0px","background-offset-y":"0px","backgroundOffsetY":"0px","pie-size":"100%","pieSize":"100%","pie-1-background-color":"rgb(0,0,0)","pie1BackgroundColor":"rgb(0,0,0)","pie-1-background-size":"0%","pie1BackgroundSize":"0%","pie-1-background-opacity":"1","pie1BackgroundOpacity":"1","pie-2-background-color":"rgb(0,0,0)","pie2BackgroundColor":"rgb(0,0,0)","pie-2-background-size":"0%","pie2BackgroundSize":"0%","pie-2-background-opacity":"1","pie2BackgroundOpacity":"1","pie-3-background-color":"rgb(0,0,0)","pie3BackgroundColor":"rgb(0,0,0)","pie-3-background-size":"0%","pie3BackgroundSize":"0%","pie-3-background-opacity":"1","pie3BackgroundOpacity":"1","pie-4-background-color":"rgb(0,0,0)","pie4BackgroundColor":"rgb(0,0,0)","pie-4-background-size":"0%","pie4BackgroundSize":"0%","pie-4-background-opacity":"1","pie4BackgroundOpacity":"1","pie-5-background-color":"rgb(0,0,0)","pie5BackgroundColor":"rgb(0,0,0)","pie-5-background-size":"0%","pie5BackgroundSize":"0%","pie-5-background-opacity":"1","pie5BackgroundOpacity":"1","pie-6-background-color":"rgb(0,0,0)","pie6BackgroundColor":"rgb(0,0,0)","pie-6-background-size":"0%","pie6BackgroundSize":"0%","pie-6-background-opacity":"1","pie6BackgroundOpacity":"1","pie-7-background-color":"rgb(0,0,0)","pie7BackgroundColor":"rgb(0,0,0)","pie-7-background-size":"0%","pie7BackgroundSize":"0%","pie-7-background-opacity":"1","pie7BackgroundOpacity":"1","pie-8-background-color":"rgb(0,0,0)","pie8BackgroundColor":"rgb(0,0,0)","pie-8-background-size":"0%","pie8BackgroundSize":"0%","pie-8-background-opacity":"1","pie8BackgroundOpacity":"1","pie-9-background-color":"rgb(0,0,0)","pie9BackgroundColor":"rgb(0,0,0)","pie-9-background-size":"0%","pie9BackgroundSize":"0%","pie-9-background-opacity":"1","pie9BackgroundOpacity":"1","pie-10-background-color":"rgb(0,0,0)","pie10BackgroundColor":"rgb(0,0,0)","pie-10-background-size":"0%","pie10BackgroundSize":"0%","pie-10-background-opacity":"1","pie10BackgroundOpacity":"1","pie-11-background-color":"rgb(0,0,0)","pie11BackgroundColor":"rgb(0,0,0)","pie-11-background-size":"0%","pie11BackgroundSize":"0%","pie-11-background-opacity":"1","pie11BackgroundOpacity":"1","pie-12-background-color":"rgb(0,0,0)","pie12BackgroundColor":"rgb(0,0,0)","pie-12-background-size":"0%","pie12BackgroundSize":"0%","pie-12-background-opacity":"1","pie12BackgroundOpacity":"1","pie-13-background-color":"rgb(0,0,0)","pie13BackgroundColor":"rgb(0,0,0)","pie-13-background-size":"0%","pie13BackgroundSize":"0%","pie-13-background-opacity":"1","pie13BackgroundOpacity":"1","pie-14-background-color":"rgb(0,0,0)","pie14BackgroundColor":"rgb(0,0,0)","pie-14-background-size":"0%","pie14BackgroundSize":"0%","pie-14-background-opacity":"1","pie14BackgroundOpacity":"1","pie-15-background-color":"rgb(0,0,0)","pie15BackgroundColor":"rgb(0,0,0)","pie-15-background-size":"0%","pie15BackgroundSize":"0%","pie-15-background-opacity":"1","pie15BackgroundOpacity":"1","pie-16-background-color":"rgb(0,0,0)","pie16BackgroundColor":"rgb(0,0,0)","pie-16-background-size":"0%","pie16BackgroundSize":"0%","pie-16-background-opacity":"1","pie16BackgroundOpacity":"1","position":"origin","compound-sizing-wrt-labels":"include","compoundSizingWrtLabels":"include","min-width":"0px","minWidth":"0px","min-width-bias-left":"0px","minWidthBiasLeft":"0px","min-width-bias-right":"0px","minWidthBiasRight":"0px","min-height":"0px","minHeight":"0px","min-height-bias-top":"0px","minHeightBiasTop":"0px","min-height-bias-bottom":"0px","minHeightBiasBottom":"0px","line-style":"solid","lineStyle":"solid","line-color":"rgb(153,153,153)","lineColor":"rgb(153,153,153)","line-fill":"solid","lineFill":"solid","line-cap":"butt","lineCap":"butt","line-opacity":"1","lineOpacity":"1","line-dash-pattern":"6 3","lineDashPattern":"6 3","line-dash-offset":"0","lineDashOffset":"0","line-outline-width":"0px","lineOutlineWidth":"0px","line-outline-color":"rgb(0,0,0)","lineOutlineColor":"rgb(0,0,0)","line-gradient-stop-colors":"rgb(153,153,153)","lineGradientStopColors":"rgb(153,153,153)","line-gradient-stop-positions":"0%","lineGradientStopPositions":"0%","curve-style":"haystack","curveStyle":"haystack","haystack-radius":"0","haystackRadius":"0","source-endpoint":"outside-to-node","sourceEndpoint":"outside-to-node","target-endpoint":"outside-to-node","targetEndpoint":"outside-to-node","control-point-step-size":"40px","controlPointStepSize":"40px","control-point-weights":"0.5","controlPointWeights":"0.5","segment-distances":"20px","segmentDistances":"20px","segment-weights":"0.5","segmentWeights":"0.5","segment-radii":"15","segmentRadii":"15","radius-type":"arc-radius","radiusType":"arc-radius","taxi-turn":"50%","taxiTurn":"50%","taxi-turn-min-distance":"10px","taxiTurnMinDistance":"10px","taxi-direction":"auto","taxiDirection":"auto","taxi-radius":"15","taxiRadius":"15","edge-distances":"intersection","edgeDistances":"intersection","arrow-scale":"1","arrowScale":"1","loop-direction":"-45deg","loopDirection":"-45deg","loop-sweep":"-90deg","loopSweep":"-90deg","source-distance-from-node":"0px","sourceDistanceFromNode":"0px","target-distance-from-node":"0px","targetDistanceFromNode":"0px","source-arrow-shape":"none","sourceArrowShape":"none","mid-source-arrow-shape":"none","midSourceArrowShape":"none","target-arrow-shape":"none","targetArrowShape":"none","mid-target-arrow-shape":"none","midTargetArrowShape":"none","source-arrow-color":"rgb(153,153,153)","sourceArrowColor":"rgb(153,153,153)","mid-source-arrow-color":"rgb(153,153,153)","midSourceArrowColor":"rgb(153,153,153)","target-arrow-color":"rgb(153,153,153)","targetArrowColor":"rgb(153,153,153)","mid-target-arrow-color":"rgb(153,153,153)","midTargetArrowColor":"rgb(153,153,153)","source-arrow-fill":"filled","sourceArrowFill":"filled","mid-source-arrow-fill":"filled","midSourceArrowFill":"filled","target-arrow-fill":"filled","targetArrowFill":"filled","mid-target-arrow-fill":"filled","midTargetArrowFill":"filled","source-arrow-width":"1px","sourceArrowWidth":"1px","mid-source-arrow-width":"1px","midSourceArrowWidth":"1px","target-arrow-width":"1px","targetArrowWidth":"1px","mid-target-arrow-width":"1px","midTargetArrowWidth":"1px","selection-box-color":"rgb(221,221,221)","selectionBoxColor":"rgb(221,221,221)","selection-box-opacity":"0.65","selectionBoxOpacity":"0.65","selection-box-border-color":"rgb(170,170,170)","selectionBoxBorderColor":"rgb(170,170,170)","selection-box-border-width":"1px","selectionBoxBorderWidth":"1px","active-bg-color":"rgb(0,0,0)","activeBgColor":"rgb(0,0,0)","active-bg-opacity":"0.15","activeBgOpacity":"0.15","active-bg-size":"30px","activeBgSize":"30px","outside-texture-bg-color":"rgb(0,0,0)","outsideTextureBgColor":"rgb(0,0,0)","outside-texture-bg-opacity":"0.125","outsideTextureBgOpacity":"0.125","content":"","control-point-weight":"0.5","controlPointWeight":"0.5","segment-distance":"20px","segmentDistance":"20px","segment-weight":"0.5","segmentWeight":"0.5","segment-radius":"15","segmentRadius":"15","edge-text-rotation":"none","edgeTextRotation":"none","padding-left":"6px","paddingLeft":"6px","padding-right":"6px","paddingRight":"6px","padding-top":"6px","paddingTop":"6px","padding-bottom":"6px","paddingBottom":"6px"},"720f9764-2135-407c-9cff-8ff454c6a9ba":{"events":"yes","text-events":"yes","textEvents":"yes","transition-property":"none","transitionProperty":"none","transition-duration":"0ms","transitionDuration":"0ms","transition-delay":"0ms","transitionDelay":"0ms","transition-timing-function":"linear","transitionTimingFunction":"linear","display":"element","visibility":"visible","opacity":"1","text-opacity":"1","textOpacity":"1","min-zoomed-font-size":"0px","minZoomedFontSize":"0px","z-compound-depth":"auto","zCompoundDepth":"auto","z-index-compare":"manual","zIndexCompare":"manual","z-index":"999","zIndex":"999","overlay-padding":"10px","overlayPadding":"10px","overlay-color":"rgb(0,0,0)","overlayColor":"rgb(0,0,0)","overlay-opacity":"0","overlayOpacity":"0","overlay-shape":"round-rectangle","overlayShape":"round-rectangle","overlay-corner-radius":"auto","overlayCornerRadius":"auto","underlay-padding":"10px","underlayPadding":"10px","underlay-color":"rgb(0,0,0)","underlayColor":"rgb(0,0,0)","underlay-opacity":"0","underlayOpacity":"0","underlay-shape":"round-rectangle","underlayShape":"round-rectangle","underlay-corner-radius":"auto","underlayCornerRadius":"auto","ghost":"no","ghost-offset-x":"0px","ghostOffsetX":"0px","ghost-offset-y":"0px","ghostOffsetY":"0px","ghost-opacity":"0","ghostOpacity":"0","text-valign":"top","textValign":"top","text-halign":"center","textHalign":"center","color":"rgb(0,0,0)","text-outline-color":"rgb(242,242,242)","textOutlineColor":"rgb(242,242,242)","text-outline-opacity":"1","textOutlineOpacity":"1","text-background-color":"rgb(0,0,0)","textBackgroundColor":"rgb(0,0,0)","text-background-opacity":"0","textBackgroundOpacity":"0","text-background-padding":"0px","textBackgroundPadding":"0px","text-border-opacity":"0","textBorderOpacity":"0","text-border-color":"rgb(0,0,0)","textBorderColor":"rgb(0,0,0)","text-border-width":"0px","textBorderWidth":"0px","text-border-style":"solid","textBorderStyle":"solid","text-background-shape":"rectangle","textBackgroundShape":"rectangle","text-justification":"auto","textJustification":"auto","font-family":"Qanelas Soft, sans-serif","fontFamily":"Qanelas Soft, sans-serif","font-style":"normal","fontStyle":"normal","font-weight":"normal","fontWeight":"normal","font-size":"6px","fontSize":"6px","text-transform":"none","textTransform":"none","text-wrap":"wrap","textWrap":"wrap","text-overflow-wrap":"whitespace","textOverflowWrap":"whitespace","text-max-width":"9999px","textMaxWidth":"9999px","text-outline-width":"1px","textOutlineWidth":"1px","line-height":"1","lineHeight":"1","label":"","text-rotation":"none","textRotation":"none","text-margin-x":"0px","textMarginX":"0px","text-margin-y":"0px","textMarginY":"0px","source-label":"","sourceLabel":"","source-text-rotation":"none","sourceTextRotation":"none","source-text-margin-x":"0px","sourceTextMarginX":"0px","source-text-margin-y":"0px","sourceTextMarginY":"0px","source-text-offset":"0px","sourceTextOffset":"0px","target-label":"","targetLabel":"","target-text-rotation":"none","targetTextRotation":"none","target-text-margin-x":"0px","targetTextMarginX":"0px","target-text-margin-y":"0px","targetTextMarginY":"0px","target-text-offset":"0px","targetTextOffset":"0px","height":"30px","width":"1.5px","shape":"ellipse","shape-polygon-points":"-1 -1 1 -1 1 1 -1 1","shapePolygonPoints":"-1 -1 1 -1 1 1 -1 1","corner-radius":"auto","cornerRadius":"auto","background-color":"rgb(153,153,153)","backgroundColor":"rgb(153,153,153)","background-fill":"solid","backgroundFill":"solid","background-opacity":"1","backgroundOpacity":"1","background-blacken":"0","backgroundBlacken":"0","background-gradient-stop-colors":"rgb(153,153,153)","backgroundGradientStopColors":"rgb(153,153,153)","background-gradient-stop-positions":"0%","backgroundGradientStopPositions":"0%","background-gradient-direction":"to-bottom","backgroundGradientDirection":"to-bottom","padding":"0px","padding-relative-to":"width","paddingRelativeTo":"width","bounds-expansion":"0px","boundsExpansion":"0px","border-color":"rgb(0,0,0)","borderColor":"rgb(0,0,0)","border-opacity":"1","borderOpacity":"1","border-width":"0px","borderWidth":"0px","border-style":"solid","borderStyle":"solid","border-cap":"butt","borderCap":"butt","border-join":"miter","borderJoin":"miter","border-dash-pattern":"4 2","borderDashPattern":"4 2","border-dash-offset":"0","borderDashOffset":"0","border-position":"center","borderPosition":"center","outline-color":"rgb(153,153,153)","outlineColor":"rgb(153,153,153)","outline-opacity":"1","outlineOpacity":"1","outline-width":"0px","outlineWidth":"0px","outline-style":"solid","outlineStyle":"solid","outline-offset":"0px","outlineOffset":"0px","background-image":"url(none)","backgroundImage":"url(none)","background-image-crossorigin":"anonymous","backgroundImageCrossorigin":"anonymous","background-image-opacity":"1","backgroundImageOpacity":"1","background-image-containment":"inside","backgroundImageContainment":"inside","background-image-smoothing":"yes","backgroundImageSmoothing":"yes","background-position-x":"50%","backgroundPositionX":"50%","background-position-y":"50%","backgroundPositionY":"50%","background-width-relative-to":"include-padding","backgroundWidthRelativeTo":"include-padding","background-height-relative-to":"include-padding","backgroundHeightRelativeTo":"include-padding","background-repeat":"no-repeat","backgroundRepeat":"no-repeat","background-fit":"none","backgroundFit":"none","background-clip":"node","backgroundClip":"node","background-width":"auto","backgroundWidth":"auto","background-height":"auto","backgroundHeight":"auto","background-offset-x":"0px","backgroundOffsetX":"0px","background-offset-y":"0px","backgroundOffsetY":"0px","pie-size":"100%","pieSize":"100%","pie-1-background-color":"rgb(0,0,0)","pie1BackgroundColor":"rgb(0,0,0)","pie-1-background-size":"0%","pie1BackgroundSize":"0%","pie-1-background-opacity":"1","pie1BackgroundOpacity":"1","pie-2-background-color":"rgb(0,0,0)","pie2BackgroundColor":"rgb(0,0,0)","pie-2-background-size":"0%","pie2BackgroundSize":"0%","pie-2-background-opacity":"1","pie2BackgroundOpacity":"1","pie-3-background-color":"rgb(0,0,0)","pie3BackgroundColor":"rgb(0,0,0)","pie-3-background-size":"0%","pie3BackgroundSize":"0%","pie-3-background-opacity":"1","pie3BackgroundOpacity":"1","pie-4-background-color":"rgb(0,0,0)","pie4BackgroundColor":"rgb(0,0,0)","pie-4-background-size":"0%","pie4BackgroundSize":"0%","pie-4-background-opacity":"1","pie4BackgroundOpacity":"1","pie-5-background-color":"rgb(0,0,0)","pie5BackgroundColor":"rgb(0,0,0)","pie-5-background-size":"0%","pie5BackgroundSize":"0%","pie-5-background-opacity":"1","pie5BackgroundOpacity":"1","pie-6-background-color":"rgb(0,0,0)","pie6BackgroundColor":"rgb(0,0,0)","pie-6-background-size":"0%","pie6BackgroundSize":"0%","pie-6-background-opacity":"1","pie6BackgroundOpacity":"1","pie-7-background-color":"rgb(0,0,0)","pie7BackgroundColor":"rgb(0,0,0)","pie-7-background-size":"0%","pie7BackgroundSize":"0%","pie-7-background-opacity":"1","pie7BackgroundOpacity":"1","pie-8-background-color":"rgb(0,0,0)","pie8BackgroundColor":"rgb(0,0,0)","pie-8-background-size":"0%","pie8BackgroundSize":"0%","pie-8-background-opacity":"1","pie8BackgroundOpacity":"1","pie-9-background-color":"rgb(0,0,0)","pie9BackgroundColor":"rgb(0,0,0)","pie-9-background-size":"0%","pie9BackgroundSize":"0%","pie-9-background-opacity":"1","pie9BackgroundOpacity":"1","pie-10-background-color":"rgb(0,0,0)","pie10BackgroundColor":"rgb(0,0,0)","pie-10-background-size":"0%","pie10BackgroundSize":"0%","pie-10-background-opacity":"1","pie10BackgroundOpacity":"1","pie-11-background-color":"rgb(0,0,0)","pie11BackgroundColor":"rgb(0,0,0)","pie-11-background-size":"0%","pie11BackgroundSize":"0%","pie-11-background-opacity":"1","pie11BackgroundOpacity":"1","pie-12-background-color":"rgb(0,0,0)","pie12BackgroundColor":"rgb(0,0,0)","pie-12-background-size":"0%","pie12BackgroundSize":"0%","pie-12-background-opacity":"1","pie12BackgroundOpacity":"1","pie-13-background-color":"rgb(0,0,0)","pie13BackgroundColor":"rgb(0,0,0)","pie-13-background-size":"0%","pie13BackgroundSize":"0%","pie-13-background-opacity":"1","pie13BackgroundOpacity":"1","pie-14-background-color":"rgb(0,0,0)","pie14BackgroundColor":"rgb(0,0,0)","pie-14-background-size":"0%","pie14BackgroundSize":"0%","pie-14-background-opacity":"1","pie14BackgroundOpacity":"1","pie-15-background-color":"rgb(0,0,0)","pie15BackgroundColor":"rgb(0,0,0)","pie-15-background-size":"0%","pie15BackgroundSize":"0%","pie-15-background-opacity":"1","pie15BackgroundOpacity":"1","pie-16-background-color":"rgb(0,0,0)","pie16BackgroundColor":"rgb(0,0,0)","pie-16-background-size":"0%","pie16BackgroundSize":"0%","pie-16-background-opacity":"1","pie16BackgroundOpacity":"1","position":"origin","compound-sizing-wrt-labels":"include","compoundSizingWrtLabels":"include","min-width":"0px","minWidth":"0px","min-width-bias-left":"0px","minWidthBiasLeft":"0px","min-width-bias-right":"0px","minWidthBiasRight":"0px","min-height":"0px","minHeight":"0px","min-height-bias-top":"0px","minHeightBiasTop":"0px","min-height-bias-bottom":"0px","minHeightBiasBottom":"0px","line-style":"solid","lineStyle":"solid","line-color":"rgb(0,179,159)","lineColor":"rgb(0,179,159)","line-fill":"solid","lineFill":"solid","line-cap":"butt","lineCap":"butt","line-opacity":"1","lineOpacity":"1","line-dash-pattern":"6 3","lineDashPattern":"6 3","line-dash-offset":"0","lineDashOffset":"0","line-outline-width":"0px","lineOutlineWidth":"0px","line-outline-color":"rgb(0,0,0)","lineOutlineColor":"rgb(0,0,0)","line-gradient-stop-colors":"rgb(153,153,153)","lineGradientStopColors":"rgb(153,153,153)","line-gradient-stop-positions":"0%","lineGradientStopPositions":"0%","curve-style":"bezier","curveStyle":"bezier","haystack-radius":"0","haystackRadius":"0","source-endpoint":"outside-to-node","sourceEndpoint":"outside-to-node","target-endpoint":"outside-to-node","targetEndpoint":"outside-to-node","control-point-step-size":"40px","controlPointStepSize":"40px","control-point-weights":"0.5","controlPointWeights":"0.5","segment-distances":"20px","segmentDistances":"20px","segment-weights":"0.5","segmentWeights":"0.5","segment-radii":"15","segmentRadii":"15","radius-type":"arc-radius","radiusType":"arc-radius","taxi-turn":"50%","taxiTurn":"50%","taxi-turn-min-distance":"10px","taxiTurnMinDistance":"10px","taxi-direction":"auto","taxiDirection":"auto","taxi-radius":"15","taxiRadius":"15","edge-distances":"intersection","edgeDistances":"intersection","arrow-scale":"1","arrowScale":"1","loop-direction":"-45deg","loopDirection":"-45deg","loop-sweep":"-90deg","loopSweep":"-90deg","source-distance-from-node":"0px","sourceDistanceFromNode":"0px","target-distance-from-node":"0px","targetDistanceFromNode":"0px","source-arrow-shape":"none","sourceArrowShape":"none","mid-source-arrow-shape":"none","midSourceArrowShape":"none","target-arrow-shape":"vee","targetArrowShape":"vee","mid-target-arrow-shape":"none","midTargetArrowShape":"none","source-arrow-color":"rgb(147,152,176)","sourceArrowColor":"rgb(147,152,176)","mid-source-arrow-color":"rgb(153,153,153)","midSourceArrowColor":"rgb(153,153,153)","target-arrow-color":"rgb(0,179,159)","targetArrowColor":"rgb(0,179,159)","mid-target-arrow-color":"rgb(153,153,153)","midTargetArrowColor":"rgb(153,153,153)","source-arrow-fill":"filled","sourceArrowFill":"filled","mid-source-arrow-fill":"filled","midSourceArrowFill":"filled","target-arrow-fill":"filled","targetArrowFill":"filled","mid-target-arrow-fill":"filled","midTargetArrowFill":"filled","source-arrow-width":"1px","sourceArrowWidth":"1px","mid-source-arrow-width":"1px","midSourceArrowWidth":"1px","target-arrow-width":"1px","targetArrowWidth":"1px","mid-target-arrow-width":"1px","midTargetArrowWidth":"1px","selection-box-color":"rgb(221,221,221)","selectionBoxColor":"rgb(221,221,221)","selection-box-opacity":"0.65","selectionBoxOpacity":"0.65","selection-box-border-color":"rgb(170,170,170)","selectionBoxBorderColor":"rgb(170,170,170)","selection-box-border-width":"1px","selectionBoxBorderWidth":"1px","active-bg-color":"rgb(0,0,0)","activeBgColor":"rgb(0,0,0)","active-bg-opacity":"0.15","activeBgOpacity":"0.15","active-bg-size":"30px","activeBgSize":"30px","outside-texture-bg-color":"rgb(0,0,0)","outsideTextureBgColor":"rgb(0,0,0)","outside-texture-bg-opacity":"0.125","outsideTextureBgOpacity":"0.125","content":"","control-point-weight":"0.5","controlPointWeight":"0.5","segment-distance":"20px","segmentDistance":"20px","segment-weight":"0.5","segmentWeight":"0.5","segment-radius":"15","segmentRadius":"15","edge-text-rotation":"none","edgeTextRotation":"none","padding-left":"0px","paddingLeft":"0px","padding-right":"0px","paddingRight":"0px","padding-top":"0px","paddingTop":"0px","padding-bottom":"0px","paddingBottom":"0px"},"98b88e35-31f3-4b1b-a9ee-81247d852a1d":{"events":"yes","text-events":"yes","textEvents":"yes","transition-property":"none","transitionProperty":"none","transition-duration":"0ms","transitionDuration":"0ms","transition-delay":"0ms","transitionDelay":"0ms","transition-timing-function":"linear","transitionTimingFunction":"linear","display":"element","visibility":"visible","opacity":"1","text-opacity":"1","textOpacity":"1","min-zoomed-font-size":"0px","minZoomedFontSize":"0px","z-compound-depth":"auto","zCompoundDepth":"auto","z-index-compare":"manual","zIndexCompare":"manual","z-index":"999","zIndex":"999","overlay-padding":"10px","overlayPadding":"10px","overlay-color":"rgb(0,0,0)","overlayColor":"rgb(0,0,0)","overlay-opacity":"0","overlayOpacity":"0","overlay-shape":"round-rectangle","overlayShape":"round-rectangle","overlay-corner-radius":"auto","overlayCornerRadius":"auto","underlay-padding":"10px","underlayPadding":"10px","underlay-color":"rgb(0,0,0)","underlayColor":"rgb(0,0,0)","underlay-opacity":"0","underlayOpacity":"0","underlay-shape":"round-rectangle","underlayShape":"round-rectangle","underlay-corner-radius":"auto","underlayCornerRadius":"auto","ghost":"no","ghost-offset-x":"0px","ghostOffsetX":"0px","ghost-offset-y":"0px","ghostOffsetY":"0px","ghost-opacity":"0","ghostOpacity":"0","text-valign":"top","textValign":"top","text-halign":"center","textHalign":"center","color":"rgb(0,0,0)","text-outline-color":"rgb(242,242,242)","textOutlineColor":"rgb(242,242,242)","text-outline-opacity":"1","textOutlineOpacity":"1","text-background-color":"rgb(0,0,0)","textBackgroundColor":"rgb(0,0,0)","text-background-opacity":"0","textBackgroundOpacity":"0","text-background-padding":"0px","textBackgroundPadding":"0px","text-border-opacity":"0","textBorderOpacity":"0","text-border-color":"rgb(0,0,0)","textBorderColor":"rgb(0,0,0)","text-border-width":"0px","textBorderWidth":"0px","text-border-style":"solid","textBorderStyle":"solid","text-background-shape":"rectangle","textBackgroundShape":"rectangle","text-justification":"auto","textJustification":"auto","font-family":"Qanelas Soft, sans-serif","fontFamily":"Qanelas Soft, sans-serif","font-style":"normal","fontStyle":"normal","font-weight":"normal","fontWeight":"normal","font-size":"6px","fontSize":"6px","text-transform":"none","textTransform":"none","text-wrap":"wrap","textWrap":"wrap","text-overflow-wrap":"whitespace","textOverflowWrap":"whitespace","text-max-width":"9999px","textMaxWidth":"9999px","text-outline-width":"1px","textOutlineWidth":"1px","line-height":"1","lineHeight":"1","label":"","text-rotation":"none","textRotation":"none","text-margin-x":"0px","textMarginX":"0px","text-margin-y":"0px","textMarginY":"0px","source-label":"","sourceLabel":"","source-text-rotation":"none","sourceTextRotation":"none","source-text-margin-x":"0px","sourceTextMarginX":"0px","source-text-margin-y":"0px","sourceTextMarginY":"0px","source-text-offset":"0px","sourceTextOffset":"0px","target-label":"","targetLabel":"","target-text-rotation":"none","targetTextRotation":"none","target-text-margin-x":"0px","targetTextMarginX":"0px","target-text-margin-y":"0px","targetTextMarginY":"0px","target-text-offset":"0px","targetTextOffset":"0px","height":"30px","width":"1.5px","shape":"ellipse","shape-polygon-points":"-1 -1 1 -1 1 1 -1 1","shapePolygonPoints":"-1 -1 1 -1 1 1 -1 1","corner-radius":"auto","cornerRadius":"auto","background-color":"rgb(153,153,153)","backgroundColor":"rgb(153,153,153)","background-fill":"solid","backgroundFill":"solid","background-opacity":"1","backgroundOpacity":"1","background-blacken":"0","backgroundBlacken":"0","background-gradient-stop-colors":"rgb(153,153,153)","backgroundGradientStopColors":"rgb(153,153,153)","background-gradient-stop-positions":"0%","backgroundGradientStopPositions":"0%","background-gradient-direction":"to-bottom","backgroundGradientDirection":"to-bottom","padding":"0px","padding-relative-to":"width","paddingRelativeTo":"width","bounds-expansion":"0px","boundsExpansion":"0px","border-color":"rgb(0,0,0)","borderColor":"rgb(0,0,0)","border-opacity":"1","borderOpacity":"1","border-width":"0px","borderWidth":"0px","border-style":"solid","borderStyle":"solid","border-cap":"butt","borderCap":"butt","border-join":"miter","borderJoin":"miter","border-dash-pattern":"4 2","borderDashPattern":"4 2","border-dash-offset":"0","borderDashOffset":"0","border-position":"center","borderPosition":"center","outline-color":"rgb(153,153,153)","outlineColor":"rgb(153,153,153)","outline-opacity":"1","outlineOpacity":"1","outline-width":"0px","outlineWidth":"0px","outline-style":"solid","outlineStyle":"solid","outline-offset":"0px","outlineOffset":"0px","background-image":"url(none)","backgroundImage":"url(none)","background-image-crossorigin":"anonymous","backgroundImageCrossorigin":"anonymous","background-image-opacity":"1","backgroundImageOpacity":"1","background-image-containment":"inside","backgroundImageContainment":"inside","background-image-smoothing":"yes","backgroundImageSmoothing":"yes","background-position-x":"50%","backgroundPositionX":"50%","background-position-y":"50%","backgroundPositionY":"50%","background-width-relative-to":"include-padding","backgroundWidthRelativeTo":"include-padding","background-height-relative-to":"include-padding","backgroundHeightRelativeTo":"include-padding","background-repeat":"no-repeat","backgroundRepeat":"no-repeat","background-fit":"none","backgroundFit":"none","background-clip":"node","backgroundClip":"node","background-width":"auto","backgroundWidth":"auto","background-height":"auto","backgroundHeight":"auto","background-offset-x":"0px","backgroundOffsetX":"0px","background-offset-y":"0px","backgroundOffsetY":"0px","pie-size":"100%","pieSize":"100%","pie-1-background-color":"rgb(0,0,0)","pie1BackgroundColor":"rgb(0,0,0)","pie-1-background-size":"0%","pie1BackgroundSize":"0%","pie-1-background-opacity":"1","pie1BackgroundOpacity":"1","pie-2-background-color":"rgb(0,0,0)","pie2BackgroundColor":"rgb(0,0,0)","pie-2-background-size":"0%","pie2BackgroundSize":"0%","pie-2-background-opacity":"1","pie2BackgroundOpacity":"1","pie-3-background-color":"rgb(0,0,0)","pie3BackgroundColor":"rgb(0,0,0)","pie-3-background-size":"0%","pie3BackgroundSize":"0%","pie-3-background-opacity":"1","pie3BackgroundOpacity":"1","pie-4-background-color":"rgb(0,0,0)","pie4BackgroundColor":"rgb(0,0,0)","pie-4-background-size":"0%","pie4BackgroundSize":"0%","pie-4-background-opacity":"1","pie4BackgroundOpacity":"1","pie-5-background-color":"rgb(0,0,0)","pie5BackgroundColor":"rgb(0,0,0)","pie-5-background-size":"0%","pie5BackgroundSize":"0%","pie-5-background-opacity":"1","pie5BackgroundOpacity":"1","pie-6-background-color":"rgb(0,0,0)","pie6BackgroundColor":"rgb(0,0,0)","pie-6-background-size":"0%","pie6BackgroundSize":"0%","pie-6-background-opacity":"1","pie6BackgroundOpacity":"1","pie-7-background-color":"rgb(0,0,0)","pie7BackgroundColor":"rgb(0,0,0)","pie-7-background-size":"0%","pie7BackgroundSize":"0%","pie-7-background-opacity":"1","pie7BackgroundOpacity":"1","pie-8-background-color":"rgb(0,0,0)","pie8BackgroundColor":"rgb(0,0,0)","pie-8-background-size":"0%","pie8BackgroundSize":"0%","pie-8-background-opacity":"1","pie8BackgroundOpacity":"1","pie-9-background-color":"rgb(0,0,0)","pie9BackgroundColor":"rgb(0,0,0)","pie-9-background-size":"0%","pie9BackgroundSize":"0%","pie-9-background-opacity":"1","pie9BackgroundOpacity":"1","pie-10-background-color":"rgb(0,0,0)","pie10BackgroundColor":"rgb(0,0,0)","pie-10-background-size":"0%","pie10BackgroundSize":"0%","pie-10-background-opacity":"1","pie10BackgroundOpacity":"1","pie-11-background-color":"rgb(0,0,0)","pie11BackgroundColor":"rgb(0,0,0)","pie-11-background-size":"0%","pie11BackgroundSize":"0%","pie-11-background-opacity":"1","pie11BackgroundOpacity":"1","pie-12-background-color":"rgb(0,0,0)","pie12BackgroundColor":"rgb(0,0,0)","pie-12-background-size":"0%","pie12BackgroundSize":"0%","pie-12-background-opacity":"1","pie12BackgroundOpacity":"1","pie-13-background-color":"rgb(0,0,0)","pie13BackgroundColor":"rgb(0,0,0)","pie-13-background-size":"0%","pie13BackgroundSize":"0%","pie-13-background-opacity":"1","pie13BackgroundOpacity":"1","pie-14-background-color":"rgb(0,0,0)","pie14BackgroundColor":"rgb(0,0,0)","pie-14-background-size":"0%","pie14BackgroundSize":"0%","pie-14-background-opacity":"1","pie14BackgroundOpacity":"1","pie-15-background-color":"rgb(0,0,0)","pie15BackgroundColor":"rgb(0,0,0)","pie-15-background-size":"0%","pie15BackgroundSize":"0%","pie-15-background-opacity":"1","pie15BackgroundOpacity":"1","pie-16-background-color":"rgb(0,0,0)","pie16BackgroundColor":"rgb(0,0,0)","pie-16-background-size":"0%","pie16BackgroundSize":"0%","pie-16-background-opacity":"1","pie16BackgroundOpacity":"1","position":"origin","compound-sizing-wrt-labels":"include","compoundSizingWrtLabels":"include","min-width":"0px","minWidth":"0px","min-width-bias-left":"0px","minWidthBiasLeft":"0px","min-width-bias-right":"0px","minWidthBiasRight":"0px","min-height":"0px","minHeight":"0px","min-height-bias-top":"0px","minHeightBiasTop":"0px","min-height-bias-bottom":"0px","minHeightBiasBottom":"0px","line-style":"solid","lineStyle":"solid","line-color":"rgb(0,179,159)","lineColor":"rgb(0,179,159)","line-fill":"solid","lineFill":"solid","line-cap":"butt","lineCap":"butt","line-opacity":"1","lineOpacity":"1","line-dash-pattern":"6 3","lineDashPattern":"6 3","line-dash-offset":"0","lineDashOffset":"0","line-outline-width":"0px","lineOutlineWidth":"0px","line-outline-color":"rgb(0,0,0)","lineOutlineColor":"rgb(0,0,0)","line-gradient-stop-colors":"rgb(153,153,153)","lineGradientStopColors":"rgb(153,153,153)","line-gradient-stop-positions":"0%","lineGradientStopPositions":"0%","curve-style":"bezier","curveStyle":"bezier","haystack-radius":"0","haystackRadius":"0","source-endpoint":"outside-to-node","sourceEndpoint":"outside-to-node","target-endpoint":"outside-to-node","targetEndpoint":"outside-to-node","control-point-step-size":"40px","controlPointStepSize":"40px","control-point-weights":"0.5","controlPointWeights":"0.5","segment-distances":"20px","segmentDistances":"20px","segment-weights":"0.5","segmentWeights":"0.5","segment-radii":"15","segmentRadii":"15","radius-type":"arc-radius","radiusType":"arc-radius","taxi-turn":"50%","taxiTurn":"50%","taxi-turn-min-distance":"10px","taxiTurnMinDistance":"10px","taxi-direction":"auto","taxiDirection":"auto","taxi-radius":"15","taxiRadius":"15","edge-distances":"intersection","edgeDistances":"intersection","arrow-scale":"1","arrowScale":"1","loop-direction":"-45deg","loopDirection":"-45deg","loop-sweep":"-90deg","loopSweep":"-90deg","source-distance-from-node":"0px","sourceDistanceFromNode":"0px","target-distance-from-node":"0px","targetDistanceFromNode":"0px","source-arrow-shape":"none","sourceArrowShape":"none","mid-source-arrow-shape":"none","midSourceArrowShape":"none","target-arrow-shape":"vee","targetArrowShape":"vee","mid-target-arrow-shape":"none","midTargetArrowShape":"none","source-arrow-color":"rgb(147,152,176)","sourceArrowColor":"rgb(147,152,176)","mid-source-arrow-color":"rgb(153,153,153)","midSourceArrowColor":"rgb(153,153,153)","target-arrow-color":"rgb(0,179,159)","targetArrowColor":"rgb(0,179,159)","mid-target-arrow-color":"rgb(153,153,153)","midTargetArrowColor":"rgb(153,153,153)","source-arrow-fill":"filled","sourceArrowFill":"filled","mid-source-arrow-fill":"filled","midSourceArrowFill":"filled","target-arrow-fill":"filled","targetArrowFill":"filled","mid-target-arrow-fill":"filled","midTargetArrowFill":"filled","source-arrow-width":"1px","sourceArrowWidth":"1px","mid-source-arrow-width":"1px","midSourceArrowWidth":"1px","target-arrow-width":"1px","targetArrowWidth":"1px","mid-target-arrow-width":"1px","midTargetArrowWidth":"1px","selection-box-color":"rgb(221,221,221)","selectionBoxColor":"rgb(221,221,221)","selection-box-opacity":"0.65","selectionBoxOpacity":"0.65","selection-box-border-color":"rgb(170,170,170)","selectionBoxBorderColor":"rgb(170,170,170)","selection-box-border-width":"1px","selectionBoxBorderWidth":"1px","active-bg-color":"rgb(0,0,0)","activeBgColor":"rgb(0,0,0)","active-bg-opacity":"0.15","activeBgOpacity":"0.15","active-bg-size":"30px","activeBgSize":"30px","outside-texture-bg-color":"rgb(0,0,0)","outsideTextureBgColor":"rgb(0,0,0)","outside-texture-bg-opacity":"0.125","outsideTextureBgOpacity":"0.125","content":"","control-point-weight":"0.5","controlPointWeight":"0.5","segment-distance":"20px","segmentDistance":"20px","segment-weight":"0.5","segmentWeight":"0.5","segment-radius":"15","segmentRadius":"15","edge-text-rotation":"none","edgeTextRotation":"none","padding-left":"0px","paddingLeft":"0px","padding-right":"0px","paddingRight":"0px","padding-top":"0px","paddingTop":"0px","padding-bottom":"0px","paddingBottom":"0px"}}} ;
+
+ const addStyles = () => {
+ var css = `
+
+ .embed-design-container {
+ position: relative;
+ height: 100%;
+ width: 100%;
+ font-family: "Open Sans", sans-serif;
+ }
+
+ .embed-canvas-container p {
+ margin: 0;
+ padding: 0;
+ }
+
+ #embedded-design-daecd14f-6c65-45d9-b74a-4fc536a7868f .embed-canvas-container {
+ height: 100%;
+ width: 100%;
+ background-color: "inheirt";
+ }
+ #embedded-design-daecd14f-6c65-45d9-b74a-4fc536a7868f .water-mark{
+ background: "transparent";
+ padding: 0.5rem;
+ color : inherit !important;
+ font-size: 1.5rem !important;
+ border: none;
+ cursor: pointer;
+ display: flex !important;
+ align-items: center;
+ gap: 0.5rem;
+ font-family: "Open Sans", sans-serif !important;
+ text-decoration: none !important;
+ outline: none !important;
+ }
+
+ #embedded-design-daecd14f-6c65-45d9-b74a-4fc536a7868f .toolbar {
+
+ pointer-events: auto ;
+ padding: 0.5rem;
+ cursor: pointer;
+ color : inherit;
+ display: flex;
+ gap: 0.5rem;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 1.25rem;
+ }
+ `,
+ head = document.head || document.getElementsByTagName('head')[0],
+ style = document.createElement('style');
+
+ head.appendChild(style);
+
+ style.type = 'text/css';
+ if (style.styleSheet){
+ // This is required for IE8 and below.
+ style.styleSheet.cssText = css;
+ } else {
+ style.appendChild(document.createTextNode(css));
+ }
+ }
+
+ const CreateToolBar = () => {
+ const cyContainer = document.getElementById("embedded-design-daecd14f-6c65-45d9-b74a-4fc536a7868f");
+ const toolbar = document.createElement("div");
+ toolbar.innerHTML = `
+
+
+ `;
+ toolbar.style.cssText = "position: absolute;z-index: 99999;right: 0.5rem;bottom: 0.5rem;margin: 0.5rem";
+ cyContainer.appendChild(toolbar);
+ };
+
+ document.addEventListener("DOMContentLoaded", function () {
+ const embedContainer = document.getElementById("embedded-design-daecd14f-6c65-45d9-b74a-4fc536a7868f");
+ embedContainer.classList.add("embed-design-container");
+ const cyContainer = document.createElement("div");
+ cyContainer.id = "embedded-design-daecd14f-6c65-45d9-b74a-4fc536a7868f-cy";
+ cyContainer.classList.add("embed-canvas-container");
+ embedContainer.appendChild(cyContainer);
+ addStyles();
+
+ var cy = (window.cy = cytoscape({
+ container: document.getElementById("embedded-design-daecd14f-6c65-45d9-b74a-4fc536a7868f-cy"),
+
+ autounselectify: true,
+
+ boxSelectionEnabled: false,
+ minZoom: 0.5,
+ maxZoom: 6.6,
+ layout: {
+ name: "preset",
+ },
+ elements: data.elements,
+ style: data.style,
+ }));
+
+ Object.keys(data.elementStyles).forEach((id) => {
+ cy.getElementById(id).style(data.elementStyles[id]);
+ });
+
+ cy.style().update();
+ CreateToolBar();
+
+ });
+
+
\ No newline at end of file
diff --git a/meshery-kanvas-docs/designer/understanding-edges/images/embedded-design-untitled-design.js b/meshery-kanvas-docs/designer/understanding-edges/images/embedded-design-untitled-design.js
new file mode 100644
index 0000000..b9f408b
--- /dev/null
+++ b/meshery-kanvas-docs/designer/understanding-edges/images/embedded-design-untitled-design.js
@@ -0,0 +1,150 @@
+
+ import cytoscape from 'https://cdn.jsdelivr.net/npm/cytoscape@3.27.0/+esm'
+ const data = {"elements":{"nodes":[{"data":{"id":"7abddb49-01f6-434b-ab64-44374125f2a3","label":"default\n (Namespace)","schemaId":"components.meshery.io/v1beta1"},"position":{"x":1208.9366357279046,"y":569.6167283810951},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"cdnd-grabbed-node cdnd-drop-target"},{"data":{"id":"6fd4ade0-6690-4339-8339-39fe348da8e3","label":"ingress-xc\n (Ingress)","schemaId":"components.meshery.io/v1beta1","parent":"7abddb49-01f6-434b-ab64-44374125f2a3"},"position":{"x":1268.6703732630133,"y":605.5472570544666},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"cdnd-grabbed-node"},{"data":{"id":"8f6ff017-a982-42ba-9c7a-f95c1e826d08","label":"service-jr\n (Service)","schemaId":"components.meshery.io/v1beta1","parent":"7abddb49-01f6-434b-ab64-44374125f2a3"},"position":{"x":1149.7028981927956,"y":511.68619970772346},"group":"nodes","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":false,"classes":"cdnd-grabbed-node"}],"edges":[{"data":{"id":"8ce89327-179e-4a28-b70c-5fb108e7bc1b","source":"6fd4ade0-6690-4339-8339-39fe348da8e3","target":"8f6ff017-a982-42ba-9c7a-f95c1e826d08"},"position":{"x":-38.530245696626885,"y":2.7708835704377655},"group":"edges","removed":false,"selected":false,"selectable":true,"locked":false,"grabbable":true,"pannable":true,"classes":""}]},"elementStyles":{"7abddb49-01f6-434b-ab64-44374125f2a3":{"events":"yes","text-events":"no","textEvents":"no","transition-property":"none","transitionProperty":"none","transition-duration":"0ms","transitionDuration":"0ms","transition-delay":"0ms","transitionDelay":"0ms","transition-timing-function":"linear","transitionTimingFunction":"linear","display":"element","visibility":"visible","opacity":"1","text-opacity":"1","textOpacity":"1","min-zoomed-font-size":"6px","minZoomedFontSize":"6px","z-compound-depth":"orphan","zCompoundDepth":"orphan","z-index-compare":"auto","zIndexCompare":"auto","z-index":"7","zIndex":"7","overlay-padding":"10px","overlayPadding":"10px","overlay-color":"rgb(0,0,0)","overlayColor":"rgb(0,0,0)","overlay-opacity":"0","overlayOpacity":"0","overlay-shape":"round-rectangle","overlayShape":"round-rectangle","overlay-corner-radius":"auto","overlayCornerRadius":"auto","underlay-padding":"10px","underlayPadding":"10px","underlay-color":"rgb(0,0,0)","underlayColor":"rgb(0,0,0)","underlay-opacity":"0","underlayOpacity":"0","underlay-shape":"round-rectangle","underlayShape":"round-rectangle","underlay-corner-radius":"auto","underlayCornerRadius":"auto","ghost":"no","ghost-offset-x":"0px","ghostOffsetX":"0px","ghost-offset-y":"0px","ghostOffsetY":"0px","ghost-opacity":"0","ghostOpacity":"0","text-valign":"bottom","textValign":"bottom","text-halign":"center","textHalign":"center","color":"rgb(0,0,0)","text-outline-color":"rgb(0,0,0)","textOutlineColor":"rgb(0,0,0)","text-outline-opacity":"1","textOutlineOpacity":"1","text-background-color":"rgb(210,212,210)","textBackgroundColor":"rgb(210,212,210)","text-background-opacity":"0.7","textBackgroundOpacity":"0.7","text-background-padding":"2px","textBackgroundPadding":"2px","text-border-opacity":"0","textBorderOpacity":"0","text-border-color":"rgb(0,0,0)","textBorderColor":"rgb(0,0,0)","text-border-width":"0px","textBorderWidth":"0px","text-border-style":"solid","textBorderStyle":"solid","text-background-shape":"round-rectangle","textBackgroundShape":"round-rectangle","text-justification":"auto","textJustification":"auto","font-family":"Qanelas Soft, sans-serif","fontFamily":"Qanelas Soft, sans-serif","font-style":"normal","fontStyle":"normal","font-weight":"300","fontWeight":"300","font-size":"8px","fontSize":"8px","text-transform":"none","textTransform":"none","text-wrap":"wrap","textWrap":"wrap","text-overflow-wrap":"whitespace","textOverflowWrap":"whitespace","text-max-width":"80px","textMaxWidth":"80px","text-outline-width":"0px","textOutlineWidth":"0px","line-height":"1","lineHeight":"1","label":"default\n (Namespace)","text-rotation":"none","textRotation":"none","text-margin-x":"0px","textMarginX":"0px","text-margin-y":"7px","textMarginY":"7px","source-label":"","sourceLabel":"","source-text-rotation":"none","sourceTextRotation":"none","source-text-margin-x":"0px","sourceTextMarginX":"0px","source-text-margin-y":"0px","sourceTextMarginY":"0px","source-text-offset":"0px","sourceTextOffset":"0px","target-label":"","targetLabel":"","target-text-rotation":"none","targetTextRotation":"none","target-text-margin-x":"0px","targetTextMarginX":"0px","target-text-margin-y":"0px","targetTextMarginY":"0px","target-text-offset":"0px","targetTextOffset":"0px","height":"40px","width":"40px","shape":"rectangle","shape-polygon-points":"-1 -1 1 -1 1 1 -1 1","shapePolygonPoints":"-1 -1 1 -1 1 1 -1 1","corner-radius":"auto","cornerRadius":"auto","background-color":"rgb(50,108,229)","backgroundColor":"rgb(50,108,229)","background-fill":"solid","backgroundFill":"solid","background-opacity":"0.5","backgroundOpacity":"0.5","background-blacken":"0","backgroundBlacken":"0","background-gradient-stop-colors":"rgb(153,153,153)","backgroundGradientStopColors":"rgb(153,153,153)","background-gradient-stop-positions":"0%","backgroundGradientStopPositions":"0%","background-gradient-direction":"to-bottom","backgroundGradientDirection":"to-bottom","padding":"6px","padding-relative-to":"width","paddingRelativeTo":"width","bounds-expansion":"0px","boundsExpansion":"0px","border-color":"rgb(50,108,229)","borderColor":"rgb(50,108,229)","border-opacity":"1","borderOpacity":"1","border-width":"2px","borderWidth":"2px","border-style":"dashed","borderStyle":"dashed","border-cap":"butt","borderCap":"butt","border-join":"miter","borderJoin":"miter","border-dash-pattern":"4 2","borderDashPattern":"4 2","border-dash-offset":"0","borderDashOffset":"0","border-position":"center","borderPosition":"center","outline-color":"rgb(153,153,153)","outlineColor":"rgb(153,153,153)","outline-opacity":"1","outlineOpacity":"1","outline-width":"0px","outlineWidth":"0px","outline-style":"solid","outlineStyle":"solid","outline-offset":"0px","outlineOffset":"0px","background-image":"url(data:text/plain;base64,NDA0IHBhZ2Ugbm90IGZvdW5kCg==)","backgroundImage":"url(data:text/plain;base64,NDA0IHBhZ2Ugbm90IGZvdW5kCg==)","background-image-crossorigin":"anonymous","backgroundImageCrossorigin":"anonymous","background-image-opacity":"0.3","backgroundImageOpacity":"0.3","background-image-containment":"inside","backgroundImageContainment":"inside","background-image-smoothing":"yes","backgroundImageSmoothing":"yes","background-position-x":"50%","backgroundPositionX":"50%","background-position-y":"50%","backgroundPositionY":"50%","background-width-relative-to":"inner","backgroundWidthRelativeTo":"inner","background-height-relative-to":"inner","backgroundHeightRelativeTo":"inner","background-repeat":"no-repeat","backgroundRepeat":"no-repeat","background-fit":"contain","backgroundFit":"contain","background-clip":"none","backgroundClip":"none","background-width":"auto","backgroundWidth":"auto","background-height":"auto","backgroundHeight":"auto","background-offset-x":"0px","backgroundOffsetX":"0px","background-offset-y":"0px","backgroundOffsetY":"0px","pie-size":"100%","pieSize":"100%","pie-1-background-color":"rgb(0,0,0)","pie1BackgroundColor":"rgb(0,0,0)","pie-1-background-size":"0%","pie1BackgroundSize":"0%","pie-1-background-opacity":"1","pie1BackgroundOpacity":"1","pie-2-background-color":"rgb(0,0,0)","pie2BackgroundColor":"rgb(0,0,0)","pie-2-background-size":"0%","pie2BackgroundSize":"0%","pie-2-background-opacity":"1","pie2BackgroundOpacity":"1","pie-3-background-color":"rgb(0,0,0)","pie3BackgroundColor":"rgb(0,0,0)","pie-3-background-size":"0%","pie3BackgroundSize":"0%","pie-3-background-opacity":"1","pie3BackgroundOpacity":"1","pie-4-background-color":"rgb(0,0,0)","pie4BackgroundColor":"rgb(0,0,0)","pie-4-background-size":"0%","pie4BackgroundSize":"0%","pie-4-background-opacity":"1","pie4BackgroundOpacity":"1","pie-5-background-color":"rgb(0,0,0)","pie5BackgroundColor":"rgb(0,0,0)","pie-5-background-size":"0%","pie5BackgroundSize":"0%","pie-5-background-opacity":"1","pie5BackgroundOpacity":"1","pie-6-background-color":"rgb(0,0,0)","pie6BackgroundColor":"rgb(0,0,0)","pie-6-background-size":"0%","pie6BackgroundSize":"0%","pie-6-background-opacity":"1","pie6BackgroundOpacity":"1","pie-7-background-color":"rgb(0,0,0)","pie7BackgroundColor":"rgb(0,0,0)","pie-7-background-size":"0%","pie7BackgroundSize":"0%","pie-7-background-opacity":"1","pie7BackgroundOpacity":"1","pie-8-background-color":"rgb(0,0,0)","pie8BackgroundColor":"rgb(0,0,0)","pie-8-background-size":"0%","pie8BackgroundSize":"0%","pie-8-background-opacity":"1","pie8BackgroundOpacity":"1","pie-9-background-color":"rgb(0,0,0)","pie9BackgroundColor":"rgb(0,0,0)","pie-9-background-size":"0%","pie9BackgroundSize":"0%","pie-9-background-opacity":"1","pie9BackgroundOpacity":"1","pie-10-background-color":"rgb(0,0,0)","pie10BackgroundColor":"rgb(0,0,0)","pie-10-background-size":"0%","pie10BackgroundSize":"0%","pie-10-background-opacity":"1","pie10BackgroundOpacity":"1","pie-11-background-color":"rgb(0,0,0)","pie11BackgroundColor":"rgb(0,0,0)","pie-11-background-size":"0%","pie11BackgroundSize":"0%","pie-11-background-opacity":"1","pie11BackgroundOpacity":"1","pie-12-background-color":"rgb(0,0,0)","pie12BackgroundColor":"rgb(0,0,0)","pie-12-background-size":"0%","pie12BackgroundSize":"0%","pie-12-background-opacity":"1","pie12BackgroundOpacity":"1","pie-13-background-color":"rgb(0,0,0)","pie13BackgroundColor":"rgb(0,0,0)","pie-13-background-size":"0%","pie13BackgroundSize":"0%","pie-13-background-opacity":"1","pie13BackgroundOpacity":"1","pie-14-background-color":"rgb(0,0,0)","pie14BackgroundColor":"rgb(0,0,0)","pie-14-background-size":"0%","pie14BackgroundSize":"0%","pie-14-background-opacity":"1","pie14BackgroundOpacity":"1","pie-15-background-color":"rgb(0,0,0)","pie15BackgroundColor":"rgb(0,0,0)","pie-15-background-size":"0%","pie15BackgroundSize":"0%","pie-15-background-opacity":"1","pie15BackgroundOpacity":"1","pie-16-background-color":"rgb(0,0,0)","pie16BackgroundColor":"rgb(0,0,0)","pie-16-background-size":"0%","pie16BackgroundSize":"0%","pie-16-background-opacity":"1","pie16BackgroundOpacity":"1","position":"origin","compound-sizing-wrt-labels":"include","compoundSizingWrtLabels":"include","min-width":"0px","minWidth":"0px","min-width-bias-left":"0px","minWidthBiasLeft":"0px","min-width-bias-right":"0px","minWidthBiasRight":"0px","min-height":"0px","minHeight":"0px","min-height-bias-top":"0px","minHeightBiasTop":"0px","min-height-bias-bottom":"0px","minHeightBiasBottom":"0px","line-style":"solid","lineStyle":"solid","line-color":"rgb(153,153,153)","lineColor":"rgb(153,153,153)","line-fill":"solid","lineFill":"solid","line-cap":"butt","lineCap":"butt","line-opacity":"1","lineOpacity":"1","line-dash-pattern":"6 3","lineDashPattern":"6 3","line-dash-offset":"0","lineDashOffset":"0","line-outline-width":"0px","lineOutlineWidth":"0px","line-outline-color":"rgb(0,0,0)","lineOutlineColor":"rgb(0,0,0)","line-gradient-stop-colors":"rgb(153,153,153)","lineGradientStopColors":"rgb(153,153,153)","line-gradient-stop-positions":"0%","lineGradientStopPositions":"0%","curve-style":"haystack","curveStyle":"haystack","haystack-radius":"0","haystackRadius":"0","source-endpoint":"outside-to-node","sourceEndpoint":"outside-to-node","target-endpoint":"outside-to-node","targetEndpoint":"outside-to-node","control-point-step-size":"40px","controlPointStepSize":"40px","control-point-weights":"0.5","controlPointWeights":"0.5","segment-distances":"20px","segmentDistances":"20px","segment-weights":"0.5","segmentWeights":"0.5","segment-radii":"15","segmentRadii":"15","radius-type":"arc-radius","radiusType":"arc-radius","taxi-turn":"50%","taxiTurn":"50%","taxi-turn-min-distance":"10px","taxiTurnMinDistance":"10px","taxi-direction":"auto","taxiDirection":"auto","taxi-radius":"15","taxiRadius":"15","edge-distances":"intersection","edgeDistances":"intersection","arrow-scale":"1","arrowScale":"1","loop-direction":"-45deg","loopDirection":"-45deg","loop-sweep":"-90deg","loopSweep":"-90deg","source-distance-from-node":"0px","sourceDistanceFromNode":"0px","target-distance-from-node":"0px","targetDistanceFromNode":"0px","source-arrow-shape":"none","sourceArrowShape":"none","mid-source-arrow-shape":"none","midSourceArrowShape":"none","target-arrow-shape":"none","targetArrowShape":"none","mid-target-arrow-shape":"none","midTargetArrowShape":"none","source-arrow-color":"rgb(153,153,153)","sourceArrowColor":"rgb(153,153,153)","mid-source-arrow-color":"rgb(153,153,153)","midSourceArrowColor":"rgb(153,153,153)","target-arrow-color":"rgb(153,153,153)","targetArrowColor":"rgb(153,153,153)","mid-target-arrow-color":"rgb(153,153,153)","midTargetArrowColor":"rgb(153,153,153)","source-arrow-fill":"filled","sourceArrowFill":"filled","mid-source-arrow-fill":"filled","midSourceArrowFill":"filled","target-arrow-fill":"filled","targetArrowFill":"filled","mid-target-arrow-fill":"filled","midTargetArrowFill":"filled","source-arrow-width":"1px","sourceArrowWidth":"1px","mid-source-arrow-width":"1px","midSourceArrowWidth":"1px","target-arrow-width":"1px","targetArrowWidth":"1px","mid-target-arrow-width":"1px","midTargetArrowWidth":"1px","selection-box-color":"rgb(221,221,221)","selectionBoxColor":"rgb(221,221,221)","selection-box-opacity":"0.65","selectionBoxOpacity":"0.65","selection-box-border-color":"rgb(170,170,170)","selectionBoxBorderColor":"rgb(170,170,170)","selection-box-border-width":"1px","selectionBoxBorderWidth":"1px","active-bg-color":"rgb(0,0,0)","activeBgColor":"rgb(0,0,0)","active-bg-opacity":"0.15","activeBgOpacity":"0.15","active-bg-size":"30px","activeBgSize":"30px","outside-texture-bg-color":"rgb(0,0,0)","outsideTextureBgColor":"rgb(0,0,0)","outside-texture-bg-opacity":"0.125","outsideTextureBgOpacity":"0.125","content":"default\n (Namespace)","control-point-weight":"0.5","controlPointWeight":"0.5","segment-distance":"20px","segmentDistance":"20px","segment-weight":"0.5","segmentWeight":"0.5","segment-radius":"15","segmentRadius":"15","edge-text-rotation":"none","edgeTextRotation":"none","padding-left":"6px","paddingLeft":"6px","padding-right":"6px","paddingRight":"6px","padding-top":"6px","paddingTop":"6px","padding-bottom":"6px","paddingBottom":"6px"},"6fd4ade0-6690-4339-8339-39fe348da8e3":{"events":"yes","text-events":"no","textEvents":"no","transition-property":"none","transitionProperty":"none","transition-duration":"0ms","transitionDuration":"0ms","transition-delay":"0ms","transitionDelay":"0ms","transition-timing-function":"linear","transitionTimingFunction":"linear","display":"element","visibility":"visible","opacity":"1","text-opacity":"1","textOpacity":"1","min-zoomed-font-size":"6px","minZoomedFontSize":"6px","z-compound-depth":"orphan","zCompoundDepth":"orphan","z-index-compare":"auto","zIndexCompare":"auto","z-index":"45","zIndex":"45","overlay-padding":"10px","overlayPadding":"10px","overlay-color":"rgb(0,0,0)","overlayColor":"rgb(0,0,0)","overlay-opacity":"0","overlayOpacity":"0","overlay-shape":"round-rectangle","overlayShape":"round-rectangle","overlay-corner-radius":"auto","overlayCornerRadius":"auto","underlay-padding":"10px","underlayPadding":"10px","underlay-color":"rgb(0,0,0)","underlayColor":"rgb(0,0,0)","underlay-opacity":"0","underlayOpacity":"0","underlay-shape":"round-rectangle","underlayShape":"round-rectangle","underlay-corner-radius":"auto","underlayCornerRadius":"auto","ghost":"no","ghost-offset-x":"0px","ghostOffsetX":"0px","ghost-offset-y":"0px","ghostOffsetY":"0px","ghost-opacity":"0","ghostOpacity":"0","text-valign":"bottom","textValign":"bottom","text-halign":"center","textHalign":"center","color":"rgb(0,0,0)","text-outline-color":"rgb(0,0,0)","textOutlineColor":"rgb(0,0,0)","text-outline-opacity":"1","textOutlineOpacity":"1","text-background-color":"rgb(210,212,210)","textBackgroundColor":"rgb(210,212,210)","text-background-opacity":"0.7","textBackgroundOpacity":"0.7","text-background-padding":"2px","textBackgroundPadding":"2px","text-border-opacity":"0","textBorderOpacity":"0","text-border-color":"rgb(0,0,0)","textBorderColor":"rgb(0,0,0)","text-border-width":"0px","textBorderWidth":"0px","text-border-style":"solid","textBorderStyle":"solid","text-background-shape":"round-rectangle","textBackgroundShape":"round-rectangle","text-justification":"auto","textJustification":"auto","font-family":"Qanelas Soft, sans-serif","fontFamily":"Qanelas Soft, sans-serif","font-style":"normal","fontStyle":"normal","font-weight":"300","fontWeight":"300","font-size":"8px","fontSize":"8px","text-transform":"none","textTransform":"none","text-wrap":"wrap","textWrap":"wrap","text-overflow-wrap":"whitespace","textOverflowWrap":"whitespace","text-max-width":"80px","textMaxWidth":"80px","text-outline-width":"0px","textOutlineWidth":"0px","line-height":"1","lineHeight":"1","label":"ingress-xc\n (Ingress)","text-rotation":"none","textRotation":"none","text-margin-x":"0px","textMarginX":"0px","text-margin-y":"7px","textMarginY":"7px","source-label":"","sourceLabel":"","source-text-rotation":"none","sourceTextRotation":"none","source-text-margin-x":"0px","sourceTextMarginX":"0px","source-text-margin-y":"0px","sourceTextMarginY":"0px","source-text-offset":"0px","sourceTextOffset":"0px","target-label":"","targetLabel":"","target-text-rotation":"none","targetTextRotation":"none","target-text-margin-x":"0px","targetTextMarginX":"0px","target-text-margin-y":"0px","targetTextMarginY":"0px","target-text-offset":"0px","targetTextOffset":"0px","height":"24px","width":"24px","shape":"ellipse","shape-polygon-points":"-1 -1 1 -1 1 1 -1 1","shapePolygonPoints":"-1 -1 1 -1 1 1 -1 1","corner-radius":"auto","cornerRadius":"auto","background-color":"rgb(50,108,229)","backgroundColor":"rgb(50,108,229)","background-fill":"solid","backgroundFill":"solid","background-opacity":"1","backgroundOpacity":"1","background-blacken":"0","backgroundBlacken":"0","background-gradient-stop-colors":"rgb(153,153,153)","backgroundGradientStopColors":"rgb(153,153,153)","background-gradient-stop-positions":"0%","backgroundGradientStopPositions":"0%","background-gradient-direction":"to-bottom","backgroundGradientDirection":"to-bottom","padding":"6px","padding-relative-to":"width","paddingRelativeTo":"width","bounds-expansion":"0px","boundsExpansion":"0px","border-color":"rgb(0,211,169)","borderColor":"rgb(0,211,169)","border-opacity":"1","borderOpacity":"1","border-width":"0px","borderWidth":"0px","border-style":"solid","borderStyle":"solid","border-cap":"butt","borderCap":"butt","border-join":"miter","borderJoin":"miter","border-dash-pattern":"4 2","borderDashPattern":"4 2","border-dash-offset":"0","borderDashOffset":"0","border-position":"center","borderPosition":"center","outline-color":"rgb(153,153,153)","outlineColor":"rgb(153,153,153)","outline-opacity":"1","outlineOpacity":"1","outline-width":"0px","outlineWidth":"0px","outline-style":"solid","outlineStyle":"solid","outline-offset":"0px","outlineOffset":"0px","background-image":"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAiIGhlaWdodD0iOTAiIHZpZXdCb3g9IjAgMCA5MCA5MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjkzOTQ1IDUuMzEwMDZDNi44MzQ4OCA1LjMxMDA2IDUuOTM5NDUgNi4yMDU0OSA1LjkzOTQ1IDcuMzEwMDZWODIuNjkwMUM1LjkzOTQ1IDgzLjc5NDYgNi44MzQ4OCA4NC42OTAxIDcuOTM5NDUgODQuNjkwMUg4Mi4wNTk1QzgzLjE2NCA4NC42OTAxIDg0LjA1OTUgODMuNzk0NiA4NC4wNTk1IDgyLjY5MDFWNTIuNTg5NEM4My44NzY3IDUyLjY0NTYgODMuNjgyNiA1Mi42NzU4IDgzLjQ4MTQgNTIuNjc1OEg2NS43OTFWNTkuMzQ3MUM2NS43OTEgNjEuMTQ4NiA2My41Njk1IDYyLjAwMSA2Mi4zNjQ0IDYwLjY2Mkw0OS4yODQgNDYuMTI4M0M0OC42MTEzIDQ1LjM4MDggNDguNjExMyA0NC4yNDYgNDkuMjg0IDQzLjQ5ODVMNjIuMzY0NCAyOC45NjQ3QzYzLjU2OTUgMjcuNjI1NyA2NS43OTEgMjguNDc4MiA2NS43OTEgMzAuMjc5N1YzNi45NTFIODMuNDgxNEM4My42ODI2IDM2Ljk1MSA4My44NzY3IDM2Ljk4MTIgODQuMDU5NSAzNy4wMzc0VjcuMzEwMDZDODQuMDU5NSA2LjIwNTQ5IDgzLjE2NCA1LjMxMDA2IDgyLjA1OTUgNS4zMTAwNkg3LjkzOTQ1WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==)","backgroundImage":"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAiIGhlaWdodD0iOTAiIHZpZXdCb3g9IjAgMCA5MCA5MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjkzOTQ1IDUuMzEwMDZDNi44MzQ4OCA1LjMxMDA2IDUuOTM5NDUgNi4yMDU0OSA1LjkzOTQ1IDcuMzEwMDZWODIuNjkwMUM1LjkzOTQ1IDgzLjc5NDYgNi44MzQ4OCA4NC42OTAxIDcuOTM5NDUgODQuNjkwMUg4Mi4wNTk1QzgzLjE2NCA4NC42OTAxIDg0LjA1OTUgODMuNzk0NiA4NC4wNTk1IDgyLjY5MDFWNTIuNTg5NEM4My44NzY3IDUyLjY0NTYgODMuNjgyNiA1Mi42NzU4IDgzLjQ4MTQgNTIuNjc1OEg2NS43OTFWNTkuMzQ3MUM2NS43OTEgNjEuMTQ4NiA2My41Njk1IDYyLjAwMSA2Mi4zNjQ0IDYwLjY2Mkw0OS4yODQgNDYuMTI4M0M0OC42MTEzIDQ1LjM4MDggNDguNjExMyA0NC4yNDYgNDkuMjg0IDQzLjQ5ODVMNjIuMzY0NCAyOC45NjQ3QzYzLjU2OTUgMjcuNjI1NyA2NS43OTEgMjguNDc4MiA2NS43OTEgMzAuMjc5N1YzNi45NTFIODMuNDgxNEM4My42ODI2IDM2Ljk1MSA4My44NzY3IDM2Ljk4MTIgODQuMDU5NSAzNy4wMzc0VjcuMzEwMDZDODQuMDU5NSA2LjIwNTQ5IDgzLjE2NCA1LjMxMDA2IDgyLjA1OTUgNS4zMTAwNkg3LjkzOTQ1WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==)","background-image-crossorigin":"anonymous","backgroundImageCrossorigin":"anonymous","background-image-opacity":"1","backgroundImageOpacity":"1","background-image-containment":"inside","backgroundImageContainment":"inside","background-image-smoothing":"yes","backgroundImageSmoothing":"yes","background-position-x":"50%","backgroundPositionX":"50%","background-position-y":"50%","backgroundPositionY":"50%","background-width-relative-to":"inner","backgroundWidthRelativeTo":"inner","background-height-relative-to":"inner","backgroundHeightRelativeTo":"inner","background-repeat":"no-repeat","backgroundRepeat":"no-repeat","background-fit":"contain","backgroundFit":"contain","background-clip":"none","backgroundClip":"none","background-width":"auto","backgroundWidth":"auto","background-height":"auto","backgroundHeight":"auto","background-offset-x":"0px","backgroundOffsetX":"0px","background-offset-y":"0px","backgroundOffsetY":"0px","pie-size":"100%","pieSize":"100%","pie-1-background-color":"rgb(0,0,0)","pie1BackgroundColor":"rgb(0,0,0)","pie-1-background-size":"0%","pie1BackgroundSize":"0%","pie-1-background-opacity":"1","pie1BackgroundOpacity":"1","pie-2-background-color":"rgb(0,0,0)","pie2BackgroundColor":"rgb(0,0,0)","pie-2-background-size":"0%","pie2BackgroundSize":"0%","pie-2-background-opacity":"1","pie2BackgroundOpacity":"1","pie-3-background-color":"rgb(0,0,0)","pie3BackgroundColor":"rgb(0,0,0)","pie-3-background-size":"0%","pie3BackgroundSize":"0%","pie-3-background-opacity":"1","pie3BackgroundOpacity":"1","pie-4-background-color":"rgb(0,0,0)","pie4BackgroundColor":"rgb(0,0,0)","pie-4-background-size":"0%","pie4BackgroundSize":"0%","pie-4-background-opacity":"1","pie4BackgroundOpacity":"1","pie-5-background-color":"rgb(0,0,0)","pie5BackgroundColor":"rgb(0,0,0)","pie-5-background-size":"0%","pie5BackgroundSize":"0%","pie-5-background-opacity":"1","pie5BackgroundOpacity":"1","pie-6-background-color":"rgb(0,0,0)","pie6BackgroundColor":"rgb(0,0,0)","pie-6-background-size":"0%","pie6BackgroundSize":"0%","pie-6-background-opacity":"1","pie6BackgroundOpacity":"1","pie-7-background-color":"rgb(0,0,0)","pie7BackgroundColor":"rgb(0,0,0)","pie-7-background-size":"0%","pie7BackgroundSize":"0%","pie-7-background-opacity":"1","pie7BackgroundOpacity":"1","pie-8-background-color":"rgb(0,0,0)","pie8BackgroundColor":"rgb(0,0,0)","pie-8-background-size":"0%","pie8BackgroundSize":"0%","pie-8-background-opacity":"1","pie8BackgroundOpacity":"1","pie-9-background-color":"rgb(0,0,0)","pie9BackgroundColor":"rgb(0,0,0)","pie-9-background-size":"0%","pie9BackgroundSize":"0%","pie-9-background-opacity":"1","pie9BackgroundOpacity":"1","pie-10-background-color":"rgb(0,0,0)","pie10BackgroundColor":"rgb(0,0,0)","pie-10-background-size":"0%","pie10BackgroundSize":"0%","pie-10-background-opacity":"1","pie10BackgroundOpacity":"1","pie-11-background-color":"rgb(0,0,0)","pie11BackgroundColor":"rgb(0,0,0)","pie-11-background-size":"0%","pie11BackgroundSize":"0%","pie-11-background-opacity":"1","pie11BackgroundOpacity":"1","pie-12-background-color":"rgb(0,0,0)","pie12BackgroundColor":"rgb(0,0,0)","pie-12-background-size":"0%","pie12BackgroundSize":"0%","pie-12-background-opacity":"1","pie12BackgroundOpacity":"1","pie-13-background-color":"rgb(0,0,0)","pie13BackgroundColor":"rgb(0,0,0)","pie-13-background-size":"0%","pie13BackgroundSize":"0%","pie-13-background-opacity":"1","pie13BackgroundOpacity":"1","pie-14-background-color":"rgb(0,0,0)","pie14BackgroundColor":"rgb(0,0,0)","pie-14-background-size":"0%","pie14BackgroundSize":"0%","pie-14-background-opacity":"1","pie14BackgroundOpacity":"1","pie-15-background-color":"rgb(0,0,0)","pie15BackgroundColor":"rgb(0,0,0)","pie-15-background-size":"0%","pie15BackgroundSize":"0%","pie-15-background-opacity":"1","pie15BackgroundOpacity":"1","pie-16-background-color":"rgb(0,0,0)","pie16BackgroundColor":"rgb(0,0,0)","pie-16-background-size":"0%","pie16BackgroundSize":"0%","pie-16-background-opacity":"1","pie16BackgroundOpacity":"1","position":"origin","compound-sizing-wrt-labels":"include","compoundSizingWrtLabels":"include","min-width":"0px","minWidth":"0px","min-width-bias-left":"0px","minWidthBiasLeft":"0px","min-width-bias-right":"0px","minWidthBiasRight":"0px","min-height":"0px","minHeight":"0px","min-height-bias-top":"0px","minHeightBiasTop":"0px","min-height-bias-bottom":"0px","minHeightBiasBottom":"0px","line-style":"solid","lineStyle":"solid","line-color":"rgb(153,153,153)","lineColor":"rgb(153,153,153)","line-fill":"solid","lineFill":"solid","line-cap":"butt","lineCap":"butt","line-opacity":"1","lineOpacity":"1","line-dash-pattern":"6 3","lineDashPattern":"6 3","line-dash-offset":"0","lineDashOffset":"0","line-outline-width":"0px","lineOutlineWidth":"0px","line-outline-color":"rgb(0,0,0)","lineOutlineColor":"rgb(0,0,0)","line-gradient-stop-colors":"rgb(153,153,153)","lineGradientStopColors":"rgb(153,153,153)","line-gradient-stop-positions":"0%","lineGradientStopPositions":"0%","curve-style":"haystack","curveStyle":"haystack","haystack-radius":"0","haystackRadius":"0","source-endpoint":"outside-to-node","sourceEndpoint":"outside-to-node","target-endpoint":"outside-to-node","targetEndpoint":"outside-to-node","control-point-step-size":"40px","controlPointStepSize":"40px","control-point-weights":"0.5","controlPointWeights":"0.5","segment-distances":"20px","segmentDistances":"20px","segment-weights":"0.5","segmentWeights":"0.5","segment-radii":"15","segmentRadii":"15","radius-type":"arc-radius","radiusType":"arc-radius","taxi-turn":"50%","taxiTurn":"50%","taxi-turn-min-distance":"10px","taxiTurnMinDistance":"10px","taxi-direction":"auto","taxiDirection":"auto","taxi-radius":"15","taxiRadius":"15","edge-distances":"intersection","edgeDistances":"intersection","arrow-scale":"1","arrowScale":"1","loop-direction":"-45deg","loopDirection":"-45deg","loop-sweep":"-90deg","loopSweep":"-90deg","source-distance-from-node":"0px","sourceDistanceFromNode":"0px","target-distance-from-node":"0px","targetDistanceFromNode":"0px","source-arrow-shape":"none","sourceArrowShape":"none","mid-source-arrow-shape":"none","midSourceArrowShape":"none","target-arrow-shape":"none","targetArrowShape":"none","mid-target-arrow-shape":"none","midTargetArrowShape":"none","source-arrow-color":"rgb(153,153,153)","sourceArrowColor":"rgb(153,153,153)","mid-source-arrow-color":"rgb(153,153,153)","midSourceArrowColor":"rgb(153,153,153)","target-arrow-color":"rgb(153,153,153)","targetArrowColor":"rgb(153,153,153)","mid-target-arrow-color":"rgb(153,153,153)","midTargetArrowColor":"rgb(153,153,153)","source-arrow-fill":"filled","sourceArrowFill":"filled","mid-source-arrow-fill":"filled","midSourceArrowFill":"filled","target-arrow-fill":"filled","targetArrowFill":"filled","mid-target-arrow-fill":"filled","midTargetArrowFill":"filled","source-arrow-width":"1px","sourceArrowWidth":"1px","mid-source-arrow-width":"1px","midSourceArrowWidth":"1px","target-arrow-width":"1px","targetArrowWidth":"1px","mid-target-arrow-width":"1px","midTargetArrowWidth":"1px","selection-box-color":"rgb(221,221,221)","selectionBoxColor":"rgb(221,221,221)","selection-box-opacity":"0.65","selectionBoxOpacity":"0.65","selection-box-border-color":"rgb(170,170,170)","selectionBoxBorderColor":"rgb(170,170,170)","selection-box-border-width":"1px","selectionBoxBorderWidth":"1px","active-bg-color":"rgb(0,0,0)","activeBgColor":"rgb(0,0,0)","active-bg-opacity":"0.15","activeBgOpacity":"0.15","active-bg-size":"30px","activeBgSize":"30px","outside-texture-bg-color":"rgb(0,0,0)","outsideTextureBgColor":"rgb(0,0,0)","outside-texture-bg-opacity":"0.125","outsideTextureBgOpacity":"0.125","content":"ingress-xc\n (Ingress)","control-point-weight":"0.5","controlPointWeight":"0.5","segment-distance":"20px","segmentDistance":"20px","segment-weight":"0.5","segmentWeight":"0.5","segment-radius":"15","segmentRadius":"15","edge-text-rotation":"none","edgeTextRotation":"none","padding-left":"6px","paddingLeft":"6px","padding-right":"6px","paddingRight":"6px","padding-top":"6px","paddingTop":"6px","padding-bottom":"6px","paddingBottom":"6px"},"8f6ff017-a982-42ba-9c7a-f95c1e826d08":{"events":"yes","text-events":"no","textEvents":"no","transition-property":"none","transitionProperty":"none","transition-duration":"0ms","transitionDuration":"0ms","transition-delay":"0ms","transitionDelay":"0ms","transition-timing-function":"linear","transitionTimingFunction":"linear","display":"element","visibility":"visible","opacity":"1","text-opacity":"1","textOpacity":"1","min-zoomed-font-size":"6px","minZoomedFontSize":"6px","z-compound-depth":"orphan","zCompoundDepth":"orphan","z-index-compare":"auto","zIndexCompare":"auto","z-index":"98","zIndex":"98","overlay-padding":"10px","overlayPadding":"10px","overlay-color":"rgb(0,0,0)","overlayColor":"rgb(0,0,0)","overlay-opacity":"0","overlayOpacity":"0","overlay-shape":"round-rectangle","overlayShape":"round-rectangle","overlay-corner-radius":"auto","overlayCornerRadius":"auto","underlay-padding":"10px","underlayPadding":"10px","underlay-color":"rgb(0,0,0)","underlayColor":"rgb(0,0,0)","underlay-opacity":"0","underlayOpacity":"0","underlay-shape":"round-rectangle","underlayShape":"round-rectangle","underlay-corner-radius":"auto","underlayCornerRadius":"auto","ghost":"no","ghost-offset-x":"0px","ghostOffsetX":"0px","ghost-offset-y":"0px","ghostOffsetY":"0px","ghost-opacity":"0","ghostOpacity":"0","text-valign":"bottom","textValign":"bottom","text-halign":"center","textHalign":"center","color":"rgb(0,0,0)","text-outline-color":"rgb(0,0,0)","textOutlineColor":"rgb(0,0,0)","text-outline-opacity":"1","textOutlineOpacity":"1","text-background-color":"rgb(210,212,210)","textBackgroundColor":"rgb(210,212,210)","text-background-opacity":"0.7","textBackgroundOpacity":"0.7","text-background-padding":"2px","textBackgroundPadding":"2px","text-border-opacity":"0","textBorderOpacity":"0","text-border-color":"rgb(0,0,0)","textBorderColor":"rgb(0,0,0)","text-border-width":"0px","textBorderWidth":"0px","text-border-style":"solid","textBorderStyle":"solid","text-background-shape":"round-rectangle","textBackgroundShape":"round-rectangle","text-justification":"auto","textJustification":"auto","font-family":"Qanelas Soft, sans-serif","fontFamily":"Qanelas Soft, sans-serif","font-style":"normal","fontStyle":"normal","font-weight":"300","fontWeight":"300","font-size":"8px","fontSize":"8px","text-transform":"none","textTransform":"none","text-wrap":"wrap","textWrap":"wrap","text-overflow-wrap":"whitespace","textOverflowWrap":"whitespace","text-max-width":"80px","textMaxWidth":"80px","text-outline-width":"0px","textOutlineWidth":"0px","line-height":"1","lineHeight":"1","label":"service-jr\n (Service)","text-rotation":"none","textRotation":"none","text-margin-x":"0px","textMarginX":"0px","text-margin-y":"7px","textMarginY":"7px","source-label":"","sourceLabel":"","source-text-rotation":"none","sourceTextRotation":"none","source-text-margin-x":"0px","sourceTextMarginX":"0px","source-text-margin-y":"0px","sourceTextMarginY":"0px","source-text-offset":"0px","sourceTextOffset":"0px","target-label":"","targetLabel":"","target-text-rotation":"none","targetTextRotation":"none","target-text-margin-x":"0px","targetTextMarginX":"0px","target-text-margin-y":"0px","targetTextMarginY":"0px","target-text-offset":"0px","targetTextOffset":"0px","height":"20px","width":"20px","shape":"round-triangle","shape-polygon-points":"-1 -1 1 -1 1 1 -1 1","shapePolygonPoints":"-1 -1 1 -1 1 1 -1 1","corner-radius":"auto","cornerRadius":"auto","background-color":"rgb(50,108,229)","backgroundColor":"rgb(50,108,229)","background-fill":"solid","backgroundFill":"solid","background-opacity":"1","backgroundOpacity":"1","background-blacken":"0","backgroundBlacken":"0","background-gradient-stop-colors":"rgb(153,153,153)","backgroundGradientStopColors":"rgb(153,153,153)","background-gradient-stop-positions":"0%","backgroundGradientStopPositions":"0%","background-gradient-direction":"to-bottom","backgroundGradientDirection":"to-bottom","padding":"12px","padding-relative-to":"width","paddingRelativeTo":"width","bounds-expansion":"0px","boundsExpansion":"0px","border-color":"rgb(0,211,169)","borderColor":"rgb(0,211,169)","border-opacity":"1","borderOpacity":"1","border-width":"0px","borderWidth":"0px","border-style":"solid","borderStyle":"solid","border-cap":"butt","borderCap":"butt","border-join":"miter","borderJoin":"miter","border-dash-pattern":"4 2","borderDashPattern":"4 2","border-dash-offset":"0","borderDashOffset":"0","border-position":"center","borderPosition":"center","outline-color":"rgb(153,153,153)","outlineColor":"rgb(153,153,153)","outline-opacity":"1","outlineOpacity":"1","outline-width":"0px","outlineWidth":"0px","outline-style":"solid","outlineStyle":"solid","outline-offset":"0px","outlineOffset":"0px","background-image":"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODQiIGhlaWdodD0iNzciIHZpZXdCb3g9IjAgMCA4NCA3NyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMC4xOSAwQzI5LjY1OTYgMCAyOS4xNTA5IDAuMjEwNzE0IDI4Ljc3NTggMC41ODU3ODZDMjguNDAwNyAwLjk2MDg1OSAyOC4xOSAxLjQ2OTU3IDI4LjE5IDJWMjQuNDVDMjguMTkgMjQuOTgwNCAyOC40MDA3IDI1LjQ4OTEgMjguNzc1OCAyNS44NjQyQzI5LjE1MDkgMjYuMjM5MyAyOS42NTk2IDI2LjQ1IDMwLjE5IDI2LjQ1SDM4Ljc4VjM4LjIySDExLjE3VjUwLjU1SDJDMS40Njk1NyA1MC41NSAwLjk2MDg1OSA1MC43NjA3IDAuNTg1Nzg2IDUxLjEzNThDMC4yMTA3MTQgNTEuNTEwOSAwIDUyLjAxOTYgMCA1Mi41NUwwIDc1QzAgNzUuNTMwNCAwLjIxMDcxNCA3Ni4wMzkxIDAuNTg1Nzg2IDc2LjQxNDJDMC45NjA4NTkgNzYuNzg5MyAxLjQ2OTU3IDc3IDIgNzdIMjQuNDNDMjQuOTYwNCA3NyAyNS40NjkxIDc2Ljc4OTMgMjUuODQ0MiA3Ni40MTQyQzI2LjIxOTMgNzYuMDM5MSAyNi40MyA3NS41MzA0IDI2LjQzIDc1VjUyLjU1QzI2LjQzIDUyLjAxOTYgMjYuMjE5MyA1MS41MTA5IDI1Ljg0NDIgNTEuMTM1OEMyNS40NjkxIDUwLjc2MDcgMjQuOTYwNCA1MC41NSAyNC40MyA1MC41NUgxNS44NVY0Mi45SDY4LjQ1VjUwLjU1SDU5LjU3QzU5LjAzOTYgNTAuNTUgNTguNTMwOSA1MC43NjA3IDU4LjE1NTggNTEuMTM1OEM1Ny43ODA3IDUxLjUxMDkgNTcuNTcgNTIuMDE5NiA1Ny41NyA1Mi41NVY3NUM1Ny41NyA3NS41MzA0IDU3Ljc4MDcgNzYuMDM5MSA1OC4xNTU4IDc2LjQxNDJDNTguNTMwOSA3Ni43ODkzIDU5LjAzOTYgNzcgNTkuNTcgNzdIODJDODIuNTMwNCA3NyA4My4wMzkxIDc2Ljc4OTMgODMuNDE0MiA3Ni40MTQyQzgzLjc4OTMgNzYuMDM5MSA4NCA3NS41MzA0IDg0IDc1VjUyLjU1Qzg0IDUyLjAxOTYgODMuNzg5MyA1MS41MTA5IDgzLjQxNDIgNTEuMTM1OEM4My4wMzkxIDUwLjc2MDcgODIuNTMwNCA1MC41NSA4MiA1MC41NUg3My4xMlYzOC4yMkg0My40NlYyNi40NUg1Mi42M0M1My4xNjA0IDI2LjQ1IDUzLjY2OTEgMjYuMjM5MyA1NC4wNDQyIDI1Ljg2NDJDNTQuNDE5MyAyNS40ODkxIDU0LjYzIDI0Ljk4MDQgNTQuNjMgMjQuNDVWMkM1NC42MyAxLjQ2OTU3IDU0LjQxOTMgMC45NjA4NTkgNTQuMDQ0MiAwLjU4NTc4NkM1My42NjkxIDAuMjEwNzE0IDUzLjE2MDQgMCA1Mi42MyAwTDMwLjE5IDBaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=)","backgroundImage":"url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODQiIGhlaWdodD0iNzciIHZpZXdCb3g9IjAgMCA4NCA3NyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMC4xOSAwQzI5LjY1OTYgMCAyOS4xNTA5IDAuMjEwNzE0IDI4Ljc3NTggMC41ODU3ODZDMjguNDAwNyAwLjk2MDg1OSAyOC4xOSAxLjQ2OTU3IDI4LjE5IDJWMjQuNDVDMjguMTkgMjQuOTgwNCAyOC40MDA3IDI1LjQ4OTEgMjguNzc1OCAyNS44NjQyQzI5LjE1MDkgMjYuMjM5MyAyOS42NTk2IDI2LjQ1IDMwLjE5IDI2LjQ1SDM4Ljc4VjM4LjIySDExLjE3VjUwLjU1SDJDMS40Njk1NyA1MC41NSAwLjk2MDg1OSA1MC43NjA3IDAuNTg1Nzg2IDUxLjEzNThDMC4yMTA3MTQgNTEuNTEwOSAwIDUyLjAxOTYgMCA1Mi41NUwwIDc1QzAgNzUuNTMwNCAwLjIxMDcxNCA3Ni4wMzkxIDAuNTg1Nzg2IDc2LjQxNDJDMC45NjA4NTkgNzYuNzg5MyAxLjQ2OTU3IDc3IDIgNzdIMjQuNDNDMjQuOTYwNCA3NyAyNS40NjkxIDc2Ljc4OTMgMjUuODQ0MiA3Ni40MTQyQzI2LjIxOTMgNzYuMDM5MSAyNi40MyA3NS41MzA0IDI2LjQzIDc1VjUyLjU1QzI2LjQzIDUyLjAxOTYgMjYuMjE5MyA1MS41MTA5IDI1Ljg0NDIgNTEuMTM1OEMyNS40NjkxIDUwLjc2MDcgMjQuOTYwNCA1MC41NSAyNC40MyA1MC41NUgxNS44NVY0Mi45SDY4LjQ1VjUwLjU1SDU5LjU3QzU5LjAzOTYgNTAuNTUgNTguNTMwOSA1MC43NjA3IDU4LjE1NTggNTEuMTM1OEM1Ny43ODA3IDUxLjUxMDkgNTcuNTcgNTIuMDE5NiA1Ny41NyA1Mi41NVY3NUM1Ny41NyA3NS41MzA0IDU3Ljc4MDcgNzYuMDM5MSA1OC4xNTU4IDc2LjQxNDJDNTguNTMwOSA3Ni43ODkzIDU5LjAzOTYgNzcgNTkuNTcgNzdIODJDODIuNTMwNCA3NyA4My4wMzkxIDc2Ljc4OTMgODMuNDE0MiA3Ni40MTQyQzgzLjc4OTMgNzYuMDM5MSA4NCA3NS41MzA0IDg0IDc1VjUyLjU1Qzg0IDUyLjAxOTYgODMuNzg5MyA1MS41MTA5IDgzLjQxNDIgNTEuMTM1OEM4My4wMzkxIDUwLjc2MDcgODIuNTMwNCA1MC41NSA4MiA1MC41NUg3My4xMlYzOC4yMkg0My40NlYyNi40NUg1Mi42M0M1My4xNjA0IDI2LjQ1IDUzLjY2OTEgMjYuMjM5MyA1NC4wNDQyIDI1Ljg2NDJDNTQuNDE5MyAyNS40ODkxIDU0LjYzIDI0Ljk4MDQgNTQuNjMgMjQuNDVWMkM1NC42MyAxLjQ2OTU3IDU0LjQxOTMgMC45NjA4NTkgNTQuMDQ0MiAwLjU4NTc4NkM1My42NjkxIDAuMjEwNzE0IDUzLjE2MDQgMCA1Mi42MyAwTDMwLjE5IDBaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=)","background-image-crossorigin":"anonymous","backgroundImageCrossorigin":"anonymous","background-image-opacity":"1","backgroundImageOpacity":"1","background-image-containment":"inside","backgroundImageContainment":"inside","background-image-smoothing":"yes","backgroundImageSmoothing":"yes","background-position-x":"50%","backgroundPositionX":"50%","background-position-y":"4.5px","backgroundPositionY":"4.5px","background-width-relative-to":"inner","backgroundWidthRelativeTo":"inner","background-height-relative-to":"inner","backgroundHeightRelativeTo":"inner","background-repeat":"no-repeat","backgroundRepeat":"no-repeat","background-fit":"contain","backgroundFit":"contain","background-clip":"none","backgroundClip":"none","background-width":"auto","backgroundWidth":"auto","background-height":"auto","backgroundHeight":"auto","background-offset-x":"0px","backgroundOffsetX":"0px","background-offset-y":"0px","backgroundOffsetY":"0px","pie-size":"100%","pieSize":"100%","pie-1-background-color":"rgb(0,0,0)","pie1BackgroundColor":"rgb(0,0,0)","pie-1-background-size":"0%","pie1BackgroundSize":"0%","pie-1-background-opacity":"1","pie1BackgroundOpacity":"1","pie-2-background-color":"rgb(0,0,0)","pie2BackgroundColor":"rgb(0,0,0)","pie-2-background-size":"0%","pie2BackgroundSize":"0%","pie-2-background-opacity":"1","pie2BackgroundOpacity":"1","pie-3-background-color":"rgb(0,0,0)","pie3BackgroundColor":"rgb(0,0,0)","pie-3-background-size":"0%","pie3BackgroundSize":"0%","pie-3-background-opacity":"1","pie3BackgroundOpacity":"1","pie-4-background-color":"rgb(0,0,0)","pie4BackgroundColor":"rgb(0,0,0)","pie-4-background-size":"0%","pie4BackgroundSize":"0%","pie-4-background-opacity":"1","pie4BackgroundOpacity":"1","pie-5-background-color":"rgb(0,0,0)","pie5BackgroundColor":"rgb(0,0,0)","pie-5-background-size":"0%","pie5BackgroundSize":"0%","pie-5-background-opacity":"1","pie5BackgroundOpacity":"1","pie-6-background-color":"rgb(0,0,0)","pie6BackgroundColor":"rgb(0,0,0)","pie-6-background-size":"0%","pie6BackgroundSize":"0%","pie-6-background-opacity":"1","pie6BackgroundOpacity":"1","pie-7-background-color":"rgb(0,0,0)","pie7BackgroundColor":"rgb(0,0,0)","pie-7-background-size":"0%","pie7BackgroundSize":"0%","pie-7-background-opacity":"1","pie7BackgroundOpacity":"1","pie-8-background-color":"rgb(0,0,0)","pie8BackgroundColor":"rgb(0,0,0)","pie-8-background-size":"0%","pie8BackgroundSize":"0%","pie-8-background-opacity":"1","pie8BackgroundOpacity":"1","pie-9-background-color":"rgb(0,0,0)","pie9BackgroundColor":"rgb(0,0,0)","pie-9-background-size":"0%","pie9BackgroundSize":"0%","pie-9-background-opacity":"1","pie9BackgroundOpacity":"1","pie-10-background-color":"rgb(0,0,0)","pie10BackgroundColor":"rgb(0,0,0)","pie-10-background-size":"0%","pie10BackgroundSize":"0%","pie-10-background-opacity":"1","pie10BackgroundOpacity":"1","pie-11-background-color":"rgb(0,0,0)","pie11BackgroundColor":"rgb(0,0,0)","pie-11-background-size":"0%","pie11BackgroundSize":"0%","pie-11-background-opacity":"1","pie11BackgroundOpacity":"1","pie-12-background-color":"rgb(0,0,0)","pie12BackgroundColor":"rgb(0,0,0)","pie-12-background-size":"0%","pie12BackgroundSize":"0%","pie-12-background-opacity":"1","pie12BackgroundOpacity":"1","pie-13-background-color":"rgb(0,0,0)","pie13BackgroundColor":"rgb(0,0,0)","pie-13-background-size":"0%","pie13BackgroundSize":"0%","pie-13-background-opacity":"1","pie13BackgroundOpacity":"1","pie-14-background-color":"rgb(0,0,0)","pie14BackgroundColor":"rgb(0,0,0)","pie-14-background-size":"0%","pie14BackgroundSize":"0%","pie-14-background-opacity":"1","pie14BackgroundOpacity":"1","pie-15-background-color":"rgb(0,0,0)","pie15BackgroundColor":"rgb(0,0,0)","pie-15-background-size":"0%","pie15BackgroundSize":"0%","pie-15-background-opacity":"1","pie15BackgroundOpacity":"1","pie-16-background-color":"rgb(0,0,0)","pie16BackgroundColor":"rgb(0,0,0)","pie-16-background-size":"0%","pie16BackgroundSize":"0%","pie-16-background-opacity":"1","pie16BackgroundOpacity":"1","position":"origin","compound-sizing-wrt-labels":"include","compoundSizingWrtLabels":"include","min-width":"0px","minWidth":"0px","min-width-bias-left":"0px","minWidthBiasLeft":"0px","min-width-bias-right":"0px","minWidthBiasRight":"0px","min-height":"0px","minHeight":"0px","min-height-bias-top":"0px","minHeightBiasTop":"0px","min-height-bias-bottom":"0px","minHeightBiasBottom":"0px","line-style":"solid","lineStyle":"solid","line-color":"rgb(153,153,153)","lineColor":"rgb(153,153,153)","line-fill":"solid","lineFill":"solid","line-cap":"butt","lineCap":"butt","line-opacity":"1","lineOpacity":"1","line-dash-pattern":"6 3","lineDashPattern":"6 3","line-dash-offset":"0","lineDashOffset":"0","line-outline-width":"0px","lineOutlineWidth":"0px","line-outline-color":"rgb(0,0,0)","lineOutlineColor":"rgb(0,0,0)","line-gradient-stop-colors":"rgb(153,153,153)","lineGradientStopColors":"rgb(153,153,153)","line-gradient-stop-positions":"0%","lineGradientStopPositions":"0%","curve-style":"haystack","curveStyle":"haystack","haystack-radius":"0","haystackRadius":"0","source-endpoint":"outside-to-node","sourceEndpoint":"outside-to-node","target-endpoint":"outside-to-node","targetEndpoint":"outside-to-node","control-point-step-size":"40px","controlPointStepSize":"40px","control-point-weights":"0.5","controlPointWeights":"0.5","segment-distances":"20px","segmentDistances":"20px","segment-weights":"0.5","segmentWeights":"0.5","segment-radii":"15","segmentRadii":"15","radius-type":"arc-radius","radiusType":"arc-radius","taxi-turn":"50%","taxiTurn":"50%","taxi-turn-min-distance":"10px","taxiTurnMinDistance":"10px","taxi-direction":"auto","taxiDirection":"auto","taxi-radius":"15","taxiRadius":"15","edge-distances":"intersection","edgeDistances":"intersection","arrow-scale":"1","arrowScale":"1","loop-direction":"-45deg","loopDirection":"-45deg","loop-sweep":"-90deg","loopSweep":"-90deg","source-distance-from-node":"0px","sourceDistanceFromNode":"0px","target-distance-from-node":"0px","targetDistanceFromNode":"0px","source-arrow-shape":"none","sourceArrowShape":"none","mid-source-arrow-shape":"none","midSourceArrowShape":"none","target-arrow-shape":"none","targetArrowShape":"none","mid-target-arrow-shape":"none","midTargetArrowShape":"none","source-arrow-color":"rgb(153,153,153)","sourceArrowColor":"rgb(153,153,153)","mid-source-arrow-color":"rgb(153,153,153)","midSourceArrowColor":"rgb(153,153,153)","target-arrow-color":"rgb(153,153,153)","targetArrowColor":"rgb(153,153,153)","mid-target-arrow-color":"rgb(153,153,153)","midTargetArrowColor":"rgb(153,153,153)","source-arrow-fill":"filled","sourceArrowFill":"filled","mid-source-arrow-fill":"filled","midSourceArrowFill":"filled","target-arrow-fill":"filled","targetArrowFill":"filled","mid-target-arrow-fill":"filled","midTargetArrowFill":"filled","source-arrow-width":"1px","sourceArrowWidth":"1px","mid-source-arrow-width":"1px","midSourceArrowWidth":"1px","target-arrow-width":"1px","targetArrowWidth":"1px","mid-target-arrow-width":"1px","midTargetArrowWidth":"1px","selection-box-color":"rgb(221,221,221)","selectionBoxColor":"rgb(221,221,221)","selection-box-opacity":"0.65","selectionBoxOpacity":"0.65","selection-box-border-color":"rgb(170,170,170)","selectionBoxBorderColor":"rgb(170,170,170)","selection-box-border-width":"1px","selectionBoxBorderWidth":"1px","active-bg-color":"rgb(0,0,0)","activeBgColor":"rgb(0,0,0)","active-bg-opacity":"0.15","activeBgOpacity":"0.15","active-bg-size":"30px","activeBgSize":"30px","outside-texture-bg-color":"rgb(0,0,0)","outsideTextureBgColor":"rgb(0,0,0)","outside-texture-bg-opacity":"0.125","outsideTextureBgOpacity":"0.125","content":"service-jr\n (Service)","control-point-weight":"0.5","controlPointWeight":"0.5","segment-distance":"20px","segmentDistance":"20px","segment-weight":"0.5","segmentWeight":"0.5","segment-radius":"15","segmentRadius":"15","edge-text-rotation":"none","edgeTextRotation":"none","padding-left":"12px","paddingLeft":"12px","padding-right":"12px","paddingRight":"12px","padding-top":"12px","paddingTop":"12px","padding-bottom":"12px","paddingBottom":"12px"},"8ce89327-179e-4a28-b70c-5fb108e7bc1b":{"events":"yes","text-events":"yes","textEvents":"yes","transition-property":"none","transitionProperty":"none","transition-duration":"0ms","transitionDuration":"0ms","transition-delay":"0ms","transitionDelay":"0ms","transition-timing-function":"linear","transitionTimingFunction":"linear","display":"element","visibility":"visible","opacity":"1","text-opacity":"1","textOpacity":"1","min-zoomed-font-size":"0px","minZoomedFontSize":"0px","z-compound-depth":"auto","zCompoundDepth":"auto","z-index-compare":"manual","zIndexCompare":"manual","z-index":"999","zIndex":"999","overlay-padding":"10px","overlayPadding":"10px","overlay-color":"rgb(0,0,0)","overlayColor":"rgb(0,0,0)","overlay-opacity":"0","overlayOpacity":"0","overlay-shape":"round-rectangle","overlayShape":"round-rectangle","overlay-corner-radius":"auto","overlayCornerRadius":"auto","underlay-padding":"10px","underlayPadding":"10px","underlay-color":"rgb(0,0,0)","underlayColor":"rgb(0,0,0)","underlay-opacity":"0","underlayOpacity":"0","underlay-shape":"round-rectangle","underlayShape":"round-rectangle","underlay-corner-radius":"auto","underlayCornerRadius":"auto","ghost":"no","ghost-offset-x":"0px","ghostOffsetX":"0px","ghost-offset-y":"0px","ghostOffsetY":"0px","ghost-opacity":"0","ghostOpacity":"0","text-valign":"top","textValign":"top","text-halign":"center","textHalign":"center","color":"rgb(0,0,0)","text-outline-color":"rgb(242,242,242)","textOutlineColor":"rgb(242,242,242)","text-outline-opacity":"1","textOutlineOpacity":"1","text-background-color":"rgb(0,0,0)","textBackgroundColor":"rgb(0,0,0)","text-background-opacity":"0","textBackgroundOpacity":"0","text-background-padding":"0px","textBackgroundPadding":"0px","text-border-opacity":"0","textBorderOpacity":"0","text-border-color":"rgb(0,0,0)","textBorderColor":"rgb(0,0,0)","text-border-width":"0px","textBorderWidth":"0px","text-border-style":"solid","textBorderStyle":"solid","text-background-shape":"rectangle","textBackgroundShape":"rectangle","text-justification":"auto","textJustification":"auto","font-family":"Qanelas Soft, sans-serif","fontFamily":"Qanelas Soft, sans-serif","font-style":"normal","fontStyle":"normal","font-weight":"normal","fontWeight":"normal","font-size":"6px","fontSize":"6px","text-transform":"none","textTransform":"none","text-wrap":"wrap","textWrap":"wrap","text-overflow-wrap":"whitespace","textOverflowWrap":"whitespace","text-max-width":"9999px","textMaxWidth":"9999px","text-outline-width":"1px","textOutlineWidth":"1px","line-height":"1","lineHeight":"1","label":"network","text-rotation":"none","textRotation":"none","text-margin-x":"0px","textMarginX":"0px","text-margin-y":"0px","textMarginY":"0px","source-label":"","sourceLabel":"","source-text-rotation":"none","sourceTextRotation":"none","source-text-margin-x":"0px","sourceTextMarginX":"0px","source-text-margin-y":"0px","sourceTextMarginY":"0px","source-text-offset":"0px","sourceTextOffset":"0px","target-label":"service-jr","targetLabel":"service-jr","target-text-rotation":"none","targetTextRotation":"none","target-text-margin-x":"0px","targetTextMarginX":"0px","target-text-margin-y":"0px","targetTextMarginY":"0px","target-text-offset":"0px","targetTextOffset":"0px","height":"30px","width":"1.5px","shape":"ellipse","shape-polygon-points":"-1 -1 1 -1 1 1 -1 1","shapePolygonPoints":"-1 -1 1 -1 1 1 -1 1","corner-radius":"auto","cornerRadius":"auto","background-color":"rgb(153,153,153)","backgroundColor":"rgb(153,153,153)","background-fill":"solid","backgroundFill":"solid","background-opacity":"1","backgroundOpacity":"1","background-blacken":"0","backgroundBlacken":"0","background-gradient-stop-colors":"rgb(153,153,153)","backgroundGradientStopColors":"rgb(153,153,153)","background-gradient-stop-positions":"0%","backgroundGradientStopPositions":"0%","background-gradient-direction":"to-bottom","backgroundGradientDirection":"to-bottom","padding":"0px","padding-relative-to":"width","paddingRelativeTo":"width","bounds-expansion":"0px","boundsExpansion":"0px","border-color":"rgb(0,0,0)","borderColor":"rgb(0,0,0)","border-opacity":"1","borderOpacity":"1","border-width":"0px","borderWidth":"0px","border-style":"solid","borderStyle":"solid","border-cap":"butt","borderCap":"butt","border-join":"miter","borderJoin":"miter","border-dash-pattern":"4 2","borderDashPattern":"4 2","border-dash-offset":"0","borderDashOffset":"0","border-position":"center","borderPosition":"center","outline-color":"rgb(153,153,153)","outlineColor":"rgb(153,153,153)","outline-opacity":"1","outlineOpacity":"1","outline-width":"0px","outlineWidth":"0px","outline-style":"solid","outlineStyle":"solid","outline-offset":"0px","outlineOffset":"0px","background-image":"url(none)","backgroundImage":"url(none)","background-image-crossorigin":"anonymous","backgroundImageCrossorigin":"anonymous","background-image-opacity":"1","backgroundImageOpacity":"1","background-image-containment":"inside","backgroundImageContainment":"inside","background-image-smoothing":"yes","backgroundImageSmoothing":"yes","background-position-x":"50%","backgroundPositionX":"50%","background-position-y":"50%","backgroundPositionY":"50%","background-width-relative-to":"include-padding","backgroundWidthRelativeTo":"include-padding","background-height-relative-to":"include-padding","backgroundHeightRelativeTo":"include-padding","background-repeat":"no-repeat","backgroundRepeat":"no-repeat","background-fit":"none","backgroundFit":"none","background-clip":"node","backgroundClip":"node","background-width":"auto","backgroundWidth":"auto","background-height":"auto","backgroundHeight":"auto","background-offset-x":"0px","backgroundOffsetX":"0px","background-offset-y":"0px","backgroundOffsetY":"0px","pie-size":"100%","pieSize":"100%","pie-1-background-color":"rgb(0,0,0)","pie1BackgroundColor":"rgb(0,0,0)","pie-1-background-size":"0%","pie1BackgroundSize":"0%","pie-1-background-opacity":"1","pie1BackgroundOpacity":"1","pie-2-background-color":"rgb(0,0,0)","pie2BackgroundColor":"rgb(0,0,0)","pie-2-background-size":"0%","pie2BackgroundSize":"0%","pie-2-background-opacity":"1","pie2BackgroundOpacity":"1","pie-3-background-color":"rgb(0,0,0)","pie3BackgroundColor":"rgb(0,0,0)","pie-3-background-size":"0%","pie3BackgroundSize":"0%","pie-3-background-opacity":"1","pie3BackgroundOpacity":"1","pie-4-background-color":"rgb(0,0,0)","pie4BackgroundColor":"rgb(0,0,0)","pie-4-background-size":"0%","pie4BackgroundSize":"0%","pie-4-background-opacity":"1","pie4BackgroundOpacity":"1","pie-5-background-color":"rgb(0,0,0)","pie5BackgroundColor":"rgb(0,0,0)","pie-5-background-size":"0%","pie5BackgroundSize":"0%","pie-5-background-opacity":"1","pie5BackgroundOpacity":"1","pie-6-background-color":"rgb(0,0,0)","pie6BackgroundColor":"rgb(0,0,0)","pie-6-background-size":"0%","pie6BackgroundSize":"0%","pie-6-background-opacity":"1","pie6BackgroundOpacity":"1","pie-7-background-color":"rgb(0,0,0)","pie7BackgroundColor":"rgb(0,0,0)","pie-7-background-size":"0%","pie7BackgroundSize":"0%","pie-7-background-opacity":"1","pie7BackgroundOpacity":"1","pie-8-background-color":"rgb(0,0,0)","pie8BackgroundColor":"rgb(0,0,0)","pie-8-background-size":"0%","pie8BackgroundSize":"0%","pie-8-background-opacity":"1","pie8BackgroundOpacity":"1","pie-9-background-color":"rgb(0,0,0)","pie9BackgroundColor":"rgb(0,0,0)","pie-9-background-size":"0%","pie9BackgroundSize":"0%","pie-9-background-opacity":"1","pie9BackgroundOpacity":"1","pie-10-background-color":"rgb(0,0,0)","pie10BackgroundColor":"rgb(0,0,0)","pie-10-background-size":"0%","pie10BackgroundSize":"0%","pie-10-background-opacity":"1","pie10BackgroundOpacity":"1","pie-11-background-color":"rgb(0,0,0)","pie11BackgroundColor":"rgb(0,0,0)","pie-11-background-size":"0%","pie11BackgroundSize":"0%","pie-11-background-opacity":"1","pie11BackgroundOpacity":"1","pie-12-background-color":"rgb(0,0,0)","pie12BackgroundColor":"rgb(0,0,0)","pie-12-background-size":"0%","pie12BackgroundSize":"0%","pie-12-background-opacity":"1","pie12BackgroundOpacity":"1","pie-13-background-color":"rgb(0,0,0)","pie13BackgroundColor":"rgb(0,0,0)","pie-13-background-size":"0%","pie13BackgroundSize":"0%","pie-13-background-opacity":"1","pie13BackgroundOpacity":"1","pie-14-background-color":"rgb(0,0,0)","pie14BackgroundColor":"rgb(0,0,0)","pie-14-background-size":"0%","pie14BackgroundSize":"0%","pie-14-background-opacity":"1","pie14BackgroundOpacity":"1","pie-15-background-color":"rgb(0,0,0)","pie15BackgroundColor":"rgb(0,0,0)","pie-15-background-size":"0%","pie15BackgroundSize":"0%","pie-15-background-opacity":"1","pie15BackgroundOpacity":"1","pie-16-background-color":"rgb(0,0,0)","pie16BackgroundColor":"rgb(0,0,0)","pie-16-background-size":"0%","pie16BackgroundSize":"0%","pie-16-background-opacity":"1","pie16BackgroundOpacity":"1","position":"origin","compound-sizing-wrt-labels":"include","compoundSizingWrtLabels":"include","min-width":"0px","minWidth":"0px","min-width-bias-left":"0px","minWidthBiasLeft":"0px","min-width-bias-right":"0px","minWidthBiasRight":"0px","min-height":"0px","minHeight":"0px","min-height-bias-top":"0px","minHeightBiasTop":"0px","min-height-bias-bottom":"0px","minHeightBiasBottom":"0px","line-style":"dotted","lineStyle":"dotted","line-color":"rgb(147,152,176)","lineColor":"rgb(147,152,176)","line-fill":"solid","lineFill":"solid","line-cap":"butt","lineCap":"butt","line-opacity":"1","lineOpacity":"1","line-dash-pattern":"6 3","lineDashPattern":"6 3","line-dash-offset":"0","lineDashOffset":"0","line-outline-width":"0px","lineOutlineWidth":"0px","line-outline-color":"rgb(0,0,0)","lineOutlineColor":"rgb(0,0,0)","line-gradient-stop-colors":"rgb(153,153,153)","lineGradientStopColors":"rgb(153,153,153)","line-gradient-stop-positions":"0%","lineGradientStopPositions":"0%","curve-style":"bezier","curveStyle":"bezier","haystack-radius":"0","haystackRadius":"0","source-endpoint":"outside-to-node","sourceEndpoint":"outside-to-node","target-endpoint":"outside-to-node","targetEndpoint":"outside-to-node","control-point-step-size":"40px","controlPointStepSize":"40px","control-point-weights":"0.5","controlPointWeights":"0.5","segment-distances":"20px","segmentDistances":"20px","segment-weights":"0.5","segmentWeights":"0.5","segment-radii":"15","segmentRadii":"15","radius-type":"arc-radius","radiusType":"arc-radius","taxi-turn":"50%","taxiTurn":"50%","taxi-turn-min-distance":"10px","taxiTurnMinDistance":"10px","taxi-direction":"auto","taxiDirection":"auto","taxi-radius":"15","taxiRadius":"15","edge-distances":"intersection","edgeDistances":"intersection","arrow-scale":"1","arrowScale":"1","loop-direction":"-45deg","loopDirection":"-45deg","loop-sweep":"-90deg","loopSweep":"-90deg","source-distance-from-node":"0px","sourceDistanceFromNode":"0px","target-distance-from-node":"0px","targetDistanceFromNode":"0px","source-arrow-shape":"none","sourceArrowShape":"none","mid-source-arrow-shape":"none","midSourceArrowShape":"none","target-arrow-shape":"vee","targetArrowShape":"vee","mid-target-arrow-shape":"none","midTargetArrowShape":"none","source-arrow-color":"rgb(147,152,176)","sourceArrowColor":"rgb(147,152,176)","mid-source-arrow-color":"rgb(153,153,153)","midSourceArrowColor":"rgb(153,153,153)","target-arrow-color":"rgb(147,152,176)","targetArrowColor":"rgb(147,152,176)","mid-target-arrow-color":"rgb(153,153,153)","midTargetArrowColor":"rgb(153,153,153)","source-arrow-fill":"filled","sourceArrowFill":"filled","mid-source-arrow-fill":"filled","midSourceArrowFill":"filled","target-arrow-fill":"filled","targetArrowFill":"filled","mid-target-arrow-fill":"filled","midTargetArrowFill":"filled","source-arrow-width":"1px","sourceArrowWidth":"1px","mid-source-arrow-width":"1px","midSourceArrowWidth":"1px","target-arrow-width":"1px","targetArrowWidth":"1px","mid-target-arrow-width":"1px","midTargetArrowWidth":"1px","selection-box-color":"rgb(221,221,221)","selectionBoxColor":"rgb(221,221,221)","selection-box-opacity":"0.65","selectionBoxOpacity":"0.65","selection-box-border-color":"rgb(170,170,170)","selectionBoxBorderColor":"rgb(170,170,170)","selection-box-border-width":"1px","selectionBoxBorderWidth":"1px","active-bg-color":"rgb(0,0,0)","activeBgColor":"rgb(0,0,0)","active-bg-opacity":"0.15","activeBgOpacity":"0.15","active-bg-size":"30px","activeBgSize":"30px","outside-texture-bg-color":"rgb(0,0,0)","outsideTextureBgColor":"rgb(0,0,0)","outside-texture-bg-opacity":"0.125","outsideTextureBgOpacity":"0.125","content":"network","control-point-weight":"0.5","controlPointWeight":"0.5","segment-distance":"20px","segmentDistance":"20px","segment-weight":"0.5","segmentWeight":"0.5","segment-radius":"15","segmentRadius":"15","edge-text-rotation":"none","edgeTextRotation":"none","padding-left":"0px","paddingLeft":"0px","padding-right":"0px","paddingRight":"0px","padding-top":"0px","paddingTop":"0px","padding-bottom":"0px","paddingBottom":"0px"}}} ;
+
+ const addStyles = () => {
+ var css = `
+
+ .embed-design-container {
+ position: relative;
+ height: 100%;
+ width: 100%;
+ font-family: "Open Sans", sans-serif;
+ }
+
+ .embed-canvas-container p {
+ margin: 0;
+ padding: 0;
+ }
+
+ #embedded-design-d0a031d0-b4d7-4d60-be17-c4b5d2480ee6 .embed-canvas-container {
+ height: 100%;
+ width: 100%;
+ background-color: "inheirt";
+ }
+ #embedded-design-d0a031d0-b4d7-4d60-be17-c4b5d2480ee6 .water-mark{
+ background: "transparent";
+ padding: 0.5rem;
+ color : inherit !important;
+ font-size: 1.5rem !important;
+ border: none;
+ cursor: pointer;
+ display: flex !important;
+ align-items: center;
+ gap: 0.5rem;
+ font-family: "Open Sans", sans-serif !important;
+ text-decoration: none !important;
+ outline: none !important;
+ }
+
+ #embedded-design-d0a031d0-b4d7-4d60-be17-c4b5d2480ee6 .toolbar {
+
+ pointer-events: auto ;
+ padding: 0.5rem;
+ cursor: pointer;
+ color : inherit;
+ display: flex;
+ gap: 0.5rem;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 1.25rem;
+ }
+ `,
+ head = document.head || document.getElementsByTagName('head')[0],
+ style = document.createElement('style');
+
+ head.appendChild(style);
+
+ style.type = 'text/css';
+ if (style.styleSheet){
+ // This is required for IE8 and below.
+ style.styleSheet.cssText = css;
+ } else {
+ style.appendChild(document.createTextNode(css));
+ }
+ }
+
+ const CreateToolBar = () => {
+ const cyContainer = document.getElementById("embedded-design-d0a031d0-b4d7-4d60-be17-c4b5d2480ee6");
+ const toolbar = document.createElement("div");
+ toolbar.innerHTML = `
+
+
+ `;
+ toolbar.style.cssText = "position: absolute;z-index: 99999;right: 0.5rem;bottom: 0.5rem;margin: 0.5rem";
+ cyContainer.appendChild(toolbar);
+ };
+
+ document.addEventListener("DOMContentLoaded", function () {
+ const embedContainer = document.getElementById("embedded-design-d0a031d0-b4d7-4d60-be17-c4b5d2480ee6");
+ embedContainer.classList.add("embed-design-container");
+ const cyContainer = document.createElement("div");
+ cyContainer.id = "embedded-design-d0a031d0-b4d7-4d60-be17-c4b5d2480ee6-cy";
+ cyContainer.classList.add("embed-canvas-container");
+ embedContainer.appendChild(cyContainer);
+ addStyles();
+
+ var cy = (window.cy = cytoscape({
+ container: document.getElementById("embedded-design-d0a031d0-b4d7-4d60-be17-c4b5d2480ee6-cy"),
+
+ autounselectify: true,
+
+ boxSelectionEnabled: false,
+ minZoom: 0.5,
+ maxZoom: 6.6,
+ layout: {
+ name: "preset",
+ },
+ elements: data.elements,
+ style: data.style,
+ }));
+
+ Object.keys(data.elementStyles).forEach((id) => {
+ cy.getElementById(id).style(data.elementStyles[id]);
+ });
+
+ cy.style().update();
+ CreateToolBar();
+
+ });
+
+
\ No newline at end of file
diff --git a/meshery-kanvas-docs/designer/understanding-edges/images/style-edge.gif b/meshery-kanvas-docs/designer/understanding-edges/images/style-edge.gif
new file mode 100644
index 0000000..81f3979
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-edges/images/style-edge.gif differ
diff --git a/meshery-kanvas-docs/designer/understanding-edges/index.md b/meshery-kanvas-docs/designer/understanding-edges/index.md
new file mode 100644
index 0000000..5ea9a48
--- /dev/null
+++ b/meshery-kanvas-docs/designer/understanding-edges/index.md
@@ -0,0 +1,112 @@
+# Understanding Edge Styles
+
+Learn how to use and customize edge styles in Kanvas to create clear and meaningful designs.
+
+When you connect components in [Kanvas](https://kanvas.new/), the line you draw is called an **edge**. Each edge visually represents a [relationship](https://docs.layer5.io/kanvas/concepts/relationships/) between your components. This guide explains how to use different edge styles to create clear and effective infrastructure designs.
+
+
+
+## Understanding Edge Types
+
+In Kanvas, there are two main types of edges, each serving a different purpose:
+
+### Semantic Edges: Representing Real Infrastructure
+
+These edges represent real infrastructure relationships that Kanvas can understand and manage. For example:
+
+- Network connections between services
+- Volume mounts between containers
+- Dependencies between components
+
+What makes semantic edges special is their ability to automatically configure components in real-time as you design. When you draw a semantic edge, Kanvas immediately interprets the relationship and updates the components' configurations - for instance, a TCP connection edge automatically configures port bindings, while a volume mount edge updates container specifications. This real-time configuration makes semantic edges not just visual connectors, but active configuration tools that shape your infrastructure as you build it.
+
+> For detailed information about each relationship type and their configuration effects, visit [Relationships Documentation](https://docs.layer5.io/kanvas/concepts/relationships/)
+
+### Non-semantic Edges: Annotating Your Designs
+
+These are visual aids that help you document and explain your design. They are useful for:
+
+- Adding explanatory notes
+- Showing conceptual relationships
+- Highlighting important connections
+
+Kanvas ignores these edges during deployment as they are purely for documentation.
+
+## Working with Edge Styles
+
+### Default Styles
+
+To help you quickly understand your designs, Kanvas uses specific default styles for each type of edge:
+
+**For Semantic Edges**:
+
+- Style: Dotted line with an arrowhead
+- Color: Grey/Blue
+- Use: For all real infrastructure connections
+
+{{< meshery-design-embed src="../understanding-edges/images/embedded-design-untitled-design.js" id="embedded-design-d0a031d0-b4d7-4d60-be17-c4b5d2480ee6" size="half" >}}
+
+**For Non-semantic Edges**:
+
+- Style: Solid line with an arrowhead
+- Color: Green
+- Use: For all visual annotations and notes
+
+{{< meshery-design-embed src="../understanding-edges/images/embedded-design-edge-annotation-relationship-copy.js" id="embedded-design-daecd14f-6c65-45d9-b74a-4fc536a7868f" size="half" >}}
+
+### Customizing Edge Styles
+
+While the default styles are designed to be clear and consistent, Kanvas gives you the flexibility to customize any edge to better suit your needs. Simply click an edge to reveal the styling toolbar.
+
+#### Choosing a Line Type
+
+- Dashed Line: For proposed or optional connections
+- Wave Line: For asynchronous or non-continuous connections
+- Zigzag Line: For disrupted or unreliable connections
+- Tree Line: For hierarchical relationships (parent-child, system-subsystem)
+- Line with Circles: For weak or indirect associations
+- Bezier Curve: For non-linear or indirect connections
+
+#### Defining Connection Points
+
+- Arrow Head (Default): Shows general direction or flow
+- Filled Diamond: For "whole-part" relationships (aggregation)
+- Filled Square: For strong ownership relationships (composition)
+- Filled Triangle: For inheritance or "is-a" relationships
+- Filled Circle: For loose containment relationships
+
+> **Note**: While Kanvas supports these UML-style relationships, the most commonly used styles are straight lines, dotted lines, and arrow heads. Use other styles when you need to express specific types of relationships in your designs.
+
+#### Using Color for Visual Cues
+
+Colors help you create a visual language in your designs. While Kanvas has default colors, you can use any color to convey meaning:
+
+**Default Colors**
+
+- Green: For non-semantic annotations
+- Grey/Blue: For semantic relationships
+
+**Suggested Color Meanings**
+
+- Yellow: For connections that need review
+- Red: For issues or breaking changes
+
+#### Adding Labels
+
+You can add text directly to edges to provide more information. This is especially useful for:
+
+- Describing traffic flow (e.g., "User Traffic → API Gateway")
+- Adding process steps (e.g., "Requires Manual Review")
+- Noting important details (e.g., "Backup Route (Low Priority)")
+- Specifying protocols (e.g., "gRPC / 50051")
+
+#### Applying Visual Effects
+
+The "Marching-ants" animation effect can be added to any edge to:
+
+- Highlight specific connections in team reviews
+- Emphasize critical paths
+
+{{< alert title="Learn More About Interpreting Designs" type="info" >}}
+To learn how to interpret and understand designs in practice, including how components work together in a design, visit our comprehensive guide in the [Layer5 Academy](https://cloud.layer5.io/academy/learning-paths/mastering-meshery/introduction-to-meshery?chapter=interpreting-meshery-designs).
+{{< /alert >}}
diff --git a/meshery-kanvas-docs/designer/understanding-tool-modes/click.png b/meshery-kanvas-docs/designer/understanding-tool-modes/click.png
new file mode 100644
index 0000000..37c02cd
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-tool-modes/click.png differ
diff --git a/meshery-kanvas-docs/designer/understanding-tool-modes/click_and_drag.gif b/meshery-kanvas-docs/designer/understanding-tool-modes/click_and_drag.gif
new file mode 100644
index 0000000..c61efb4
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-tool-modes/click_and_drag.gif differ
diff --git a/meshery-kanvas-docs/designer/understanding-tool-modes/click_move_ptm.gif b/meshery-kanvas-docs/designer/understanding-tool-modes/click_move_ptm.gif
new file mode 100644
index 0000000..5d86d6f
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-tool-modes/click_move_ptm.gif differ
diff --git a/meshery-kanvas-docs/designer/understanding-tool-modes/click_release_ptm.gif b/meshery-kanvas-docs/designer/understanding-tool-modes/click_release_ptm.gif
new file mode 100644
index 0000000..474280e
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-tool-modes/click_release_ptm.gif differ
diff --git a/meshery-kanvas-docs/designer/understanding-tool-modes/click_while_connecting_ptm.gif b/meshery-kanvas-docs/designer/understanding-tool-modes/click_while_connecting_ptm.gif
new file mode 100644
index 0000000..f0e7731
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-tool-modes/click_while_connecting_ptm.gif differ
diff --git a/meshery-kanvas-docs/designer/understanding-tool-modes/customize_end.gif b/meshery-kanvas-docs/designer/understanding-tool-modes/customize_end.gif
new file mode 100644
index 0000000..66f0dc5
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-tool-modes/customize_end.gif differ
diff --git a/meshery-kanvas-docs/designer/understanding-tool-modes/default.gif b/meshery-kanvas-docs/designer/understanding-tool-modes/default.gif
new file mode 100644
index 0000000..b013b03
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-tool-modes/default.gif differ
diff --git a/meshery-kanvas-docs/designer/understanding-tool-modes/double_click.png b/meshery-kanvas-docs/designer/understanding-tool-modes/double_click.png
new file mode 100644
index 0000000..e47f11e
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-tool-modes/double_click.png differ
diff --git a/meshery-kanvas-docs/designer/understanding-tool-modes/draw_line.gif b/meshery-kanvas-docs/designer/understanding-tool-modes/draw_line.gif
new file mode 100644
index 0000000..af38373
Binary files /dev/null and b/meshery-kanvas-docs/designer/understanding-tool-modes/draw_line.gif differ
diff --git a/meshery-kanvas-docs/designer/understanding-tool-modes/index.md b/meshery-kanvas-docs/designer/understanding-tool-modes/index.md
new file mode 100644
index 0000000..7e27336
--- /dev/null
+++ b/meshery-kanvas-docs/designer/understanding-tool-modes/index.md
@@ -0,0 +1,99 @@
+# Understanding Tool Modes
+
+Kanvas Designer offers three modes: Default, Pencil, and Connector, which behave differently based on the context in which they are used. Learn how to interact with components and the canvas in each mode.
+
+
+
+Kanvas Designer offers three modes: Default, Pencil, and Connector, which behave differently based on the context in which they are used. Understanding these modes is essential for effectively interacting with components and the canvas.
+
+You can switch between mouse modes using hotkeys or tool selection. Here are hotkeys that control your mode:
+
+| Hotkeys | Description |
+|------------------------------------------------------------------|-----------------------------------------------------------------------------|
+| | Temporarily enables the alternative mouse mode (default mode vs pan mode) |
+| | Switches to pan mode (hand icon) |
+| | Switches to default mode irrespective of which mode you are currently using.|
+
+## Interacting with Components
+
+{{< tabpane text=true >}}
+
+{{% tab header="Select Tool" lang="en" active="true" %}}
+
+| Action | Cursor Style | Behavior | Example |
+|--------------------------------|---------------------|------------------------------------------------------------------------------|-------------------------------------------------------------------------|
+| **Hover** | `default (arrow)` | Nothing |  |
+| **Click-and-drag** | `move` | Moves component in the direction of the mouse |  |
+| **Click** | `default (arrow)` | Displays component toolbar, resize box, and connection handles |  |
+| **Double-click (component)** | `pointer` | Opens the component configurator |  |
+| **Double-click (textbox)** | `text` | Enables text editing inside the component |  |
+| **Right-click** | `default (arrow)` | Opens the circular component context menu |  |
+| **Click-and-hold** | `crosshair` | Initiates box selection for selecting multiple components |  |
+| **Scroll wheel** | `default (arrow)` | Pan up or down |  |
+| **Scroll wheel + CMD/CTRL** | `default (arrow)` | Zoom in/out |  |
+| **Horizontal scroll wheel** | `default (arrow)` | Pan left or right |  |
+
+{{< /tab >}}
+
+{{% tab header="Pencil Tool" lang="en" action="true" %}}
+
+Pencil lines do not connect individual components, but offer annotating capability, allowing you to take notes and draw annotations to enhance your designs.
+
+| Action | Cursor Style | Behavior | Example |
+|-----------------------------|---------------------|--------------------------------------------------------|----------------------------------------------------------------|
+| **Hover** | `custom(pencil)` | Nothing |  |
+| **Mouse down + drag** | `custom(pencil)` | Start drawing a freeform line |  |
+| **Mouse down + SHIFT** | `custom(pencil)` | Start drawing a straight vertical or horizontal line |  |
+| **Mouse up** | `custom(pencil)` | Complete the line and render into a styled component |  |
+| **Click** | `custom(pencil)` | Draws ink from the pencil |  |
+| **Scroll wheel** | `custom(pencil)` | Nothing |  |
+| **Scroll wheel + CMD/CTRL** | `custom(pencil)` | Nothing |  |
+
+
+
+{{< /tab >}}
+
+{{% tab header="Pen Tool" lang="en" action="true" %}}
+
+The Pen tool operates as a creator of annotation edges. Note that the pen tool has two behaviors depending upon the context in which you initiate the connection.
+
+**To Activate:** `(CMD/CTRL)+E`
+
+++ +>Meshery's command line interface,++$ curl -L https://meshery.io/install | PLATFORM=kubernetes bash -+
mesheryctl, can be installed in various ways. In addition to Bash, you can also use Brew or Scoop to install mesheryctl. Alternatively, mesheryctl is also available via direct download.
+
+## 2. Access Meshery
+
+Your default browser will be opened and directed to Meshery's web-based user interface typically found at `http://localhost:9081`.
+
+#### Accessing Meshery Server with Meshery UI
+
+Meshery's web-based user interface is embedded in Meshery Server and is available as soon as Meshery starts. The location and port that Meshery UI is exposed varies depending upon your mode of deployment. See accessing Meshery UI for deployment-specific details.
+
+#### Accessing Meshery Server with Meshery CLI
+Meshery's command line interface is a client of Meshery Server's REST API (just as Meshery UI is). Choose to use mesheryctl as an alternative client as it suits your needs.
+
+### 3. Select a Provider
+
+Select from the list of [Providers](https://docs.meshery.io/extensibility/providers) in order to login to Meshery. Authenticate with your chosen Provider.
+
+
+
+
+
+## 4. Configure Connections to your Kubernetes Clusters
+
+**Out-of-Cluster Deployments**
+If you have deployed Meshery out-of-cluster, Meshery Server will automatically attempt to connect to any available Kubernetes clusters found in your kubeconfig (under `$HOME/.kube/config`) and in kubeconfigs uploaded through Meshery UI. Meshery Server deploys [Meshery Operator](/concepts/architecture/operator), [MeshSync](/concepts/architecture/meshsync), and Broker into the `meshery` namespace (by default).
+
+**In-Cluster Deployments**
+If you have deployed Meshery in-cluster, Meshery Server will automatically connect to the Kubernetes API Server available in the control plane.
+
+Visit Settings:
+
+
+
+
+
+If your config has not been autodetected, you can manually upload your kubeconfig file (or any number of kubeconfig files). By default, Meshery will attempt to connect to and deploy Meshery Operator to each reachable context contained in the imported kubeconfig files. See Managing Kubernetes Clusters for more information.
+
+## 5. Verify Deployment
+
+Run connectivity tests and verify the health of your Meshery system. Verify Meshery's connection to your Kubernetes clusters by clicking on the connection chip. A quick connectivity test will run and inform you of Meshery's ability to reach and authenticate to your Kubernetes control plane(s). You will be notified of your connection status. You can also verify any other connection between Meshery and either its components (like [Meshery Adapters]({{ site.baseurl }}/concepts/architecture/adapters)) or other managed infrastructure by clicking on any of the connection chips. When clicked, a chip will perform an ad hoc connectivity test.
+
+
+
+
+
+## 5. Design and operate Kubernetes clusters and their workloads
+
+You may now proceed to managed any cloud native infrastructure supported by Meshery. See all integrations for a complete list of supported infrastructure.
+
+
+
+
+
+# Quick Start with
+
+- [AKS](https://docs.meshery.io/installation/kubernetes/aks) - Manage your AKS clusters with Meshery. Deploy Meshery in AKS in-cluster or out-of-cluster.
+- [Bash](https://docs.meshery.io/installation/linux-mac/bash) - Install Meshery CLI on Linux or MacOS with Bash
+- [Brew](https://docs.meshery.io/installation/linux-mac/brew)- Install Meshery CLI on Linux or MacOS with Brew
+- [Codespaces](https://docs.meshery.io/installation/codespaces) - Build and contribute to Meshery using GitHub Codespaces
+- [Compatibility Matrix](https://docs.meshery.io/installation/compatibility-matrix) - An installation compatibility matrix and project test status dashboard.
+- [Docker Extension](https://docs.meshery.io/installation/docker/docker-extension) - Install Docker Extension for Meshery
+- [Docker](https://docs.meshery.io/installation/docker) - Install Meshery on Docker
+- [EKS](https://docs.meshery.io/installation/kubernetes/eks) - Install Meshery on Elastic Kubernetes Service. Deploy Meshery in EKS in-cluster or outside of EKS out-of-cluster.
+- [GKE](https://docs.meshery.io/installation/kubernetes/gke) - Install Meshery on Google Kubernetes Engine. Deploy Meshery in GKE in-cluster or outside of GKE out-of-cluster.
+- [Helm](https://docs.meshery.io/installation/kubernetes/helm) - Install Meshery on Kubernetes using Helm. Deploy Meshery in Kubernetes in-cluster.
+- [KinD](https://docs.meshery.io/installation/kubernetes/kind) - Install Meshery on KinD. Deploy Meshery in KinD in-cluster or outside of KinD out-of-cluster.
+- [Kubernetes](https://docs.meshery.io/installation/kubernetes) - Install Meshery on Kubernetes. Deploy Meshery in Kubernetes in-cluster or outside of Kubernetes out-of-cluster.
+- [KubeSphere](https://docs.meshery.io/installation/kubernetes/kubesphere) - Install Meshery on KubeSphere
+- [Install Meshery CLI on Linux or Mac](https://docs.meshery.io/installation/linux-mac) - Install Meshery CLI on Linux or Mac
+- [Minikube](https://docs.meshery.io/installation/kubernetes/minikube)- Install Meshery on Minikube. Deploy Meshery in Minikube in-cluster or outside of Minikube out-of-cluster.
+- [Meshery Playground](https://docs.meshery.io/installation/playground)- Details of the cloud native playground
+- [Scoop](https://docs.meshery.io/installation/windows/scoop) - Install Meshery CLI on Windows with Scoop
+- [Install Meshery CLI on Windows](https://docs.meshery.io/installation/windows) - Install Meshery CLI on Windows
diff --git a/meshery-kanvas-labs/aws-controllers/aws-connection.png b/meshery-kanvas-labs/aws-controllers/aws-connection.png
new file mode 100644
index 0000000..5168f5e
Binary files /dev/null and b/meshery-kanvas-labs/aws-controllers/aws-connection.png differ
diff --git a/meshery-kanvas-labs/aws-controllers/configure-secret.png b/meshery-kanvas-labs/aws-controllers/configure-secret.png
new file mode 100644
index 0000000..c7ee3c9
Binary files /dev/null and b/meshery-kanvas-labs/aws-controllers/configure-secret.png differ
diff --git a/meshery-kanvas-labs/aws-controllers/configure.png b/meshery-kanvas-labs/aws-controllers/configure.png
new file mode 100644
index 0000000..7532dc3
Binary files /dev/null and b/meshery-kanvas-labs/aws-controllers/configure.png differ
diff --git a/meshery-kanvas-labs/aws-controllers/controller-chart.png b/meshery-kanvas-labs/aws-controllers/controller-chart.png
new file mode 100644
index 0000000..77a8b09
Binary files /dev/null and b/meshery-kanvas-labs/aws-controllers/controller-chart.png differ
diff --git a/meshery-kanvas-labs/aws-controllers/controller-operator-mode.png b/meshery-kanvas-labs/aws-controllers/controller-operator-mode.png
new file mode 100644
index 0000000..dcfe6d5
Binary files /dev/null and b/meshery-kanvas-labs/aws-controllers/controller-operator-mode.png differ
diff --git a/meshery-kanvas-labs/embedding-design-in-wordpress/add-custom-html.png b/meshery-kanvas-labs/embedding-design-in-wordpress/add-custom-html.png
new file mode 100644
index 0000000..6fc987f
Binary files /dev/null and b/meshery-kanvas-labs/embedding-design-in-wordpress/add-custom-html.png differ
diff --git a/meshery-kanvas-labs/embedding-design-in-wordpress/copy-url.png b/meshery-kanvas-labs/embedding-design-in-wordpress/copy-url.png
new file mode 100644
index 0000000..4465fb6
Binary files /dev/null and b/meshery-kanvas-labs/embedding-design-in-wordpress/copy-url.png differ
diff --git a/meshery-kanvas-labs/embedding-design-in-wordpress/embedded-design-preview.png b/meshery-kanvas-labs/embedding-design-in-wordpress/embedded-design-preview.png
new file mode 100644
index 0000000..57ea904
Binary files /dev/null and b/meshery-kanvas-labs/embedding-design-in-wordpress/embedded-design-preview.png differ
diff --git a/meshery-kanvas-labs/embedding-design-in-wordpress/embeddesign-HTML.png b/meshery-kanvas-labs/embedding-design-in-wordpress/embeddesign-HTML.png
new file mode 100644
index 0000000..93ec48f
Binary files /dev/null and b/meshery-kanvas-labs/embedding-design-in-wordpress/embeddesign-HTML.png differ
diff --git a/meshery-kanvas-labs/embedding-design-in-wordpress/embeddesign.png b/meshery-kanvas-labs/embedding-design-in-wordpress/embeddesign.png
new file mode 100644
index 0000000..2d23daa
Binary files /dev/null and b/meshery-kanvas-labs/embedding-design-in-wordpress/embeddesign.png differ
diff --git a/meshery-kanvas-labs/embedding-design-in-wordpress/expand-designs-kanvas.png b/meshery-kanvas-labs/embedding-design-in-wordpress/expand-designs-kanvas.png
new file mode 100644
index 0000000..63053f5
Binary files /dev/null and b/meshery-kanvas-labs/embedding-design-in-wordpress/expand-designs-kanvas.png differ
diff --git a/meshery-kanvas-labs/embedding-design-in-wordpress/meshery-design-custom-html.png b/meshery-kanvas-labs/embedding-design-in-wordpress/meshery-design-custom-html.png
new file mode 100644
index 0000000..674b422
Binary files /dev/null and b/meshery-kanvas-labs/embedding-design-in-wordpress/meshery-design-custom-html.png differ
diff --git a/meshery-kanvas-labs/embedding-design-in-wordpress/quickaction-exportdesign.png b/meshery-kanvas-labs/embedding-design-in-wordpress/quickaction-exportdesign.png
new file mode 100644
index 0000000..367f335
Binary files /dev/null and b/meshery-kanvas-labs/embedding-design-in-wordpress/quickaction-exportdesign.png differ
diff --git a/meshery-kanvas-labs/embedding-design-in-wordpress/upload-js-wordpress.png b/meshery-kanvas-labs/embedding-design-in-wordpress/upload-js-wordpress.png
new file mode 100644
index 0000000..f45d312
Binary files /dev/null and b/meshery-kanvas-labs/embedding-design-in-wordpress/upload-js-wordpress.png differ
diff --git a/meshery-kanvas-labs/kanvas-deploy-cassandra-with-statefulset.md b/meshery-kanvas-labs/kanvas-deploy-cassandra-with-statefulset.md
new file mode 100644
index 0000000..cc9a43f
--- /dev/null
+++ b/meshery-kanvas-labs/kanvas-deploy-cassandra-with-statefulset.md
@@ -0,0 +1,119 @@
+# LAB: Deploying Apache Cassandra with a StatefulSet in Meshery Playground
+
+Learn how to deploy Apache Cassandra with a StatefulSet using Meshery. Deploy Apache Cassandra with a StatefulSet using Meshery Playground in an interactive live cluster environment.
+
+## Introduction
+
+In this lab, we will learn how to deploy a **Apache Cassandra with a StatefulSet** using Meshery Playground. Meshery Playground is an interactive and collaborative live cluster environment that simplifies the deployment process and enhances user experience by providing visual tools for managing Kubernetes resources.
+
+> **NOTE:** If this is your first time working with Meshery Playground, consider starting with the [Exploring Kubernetes Pods with Meshery Playground](https://docs.meshery.io/guides/tutorials/kubernetes-pods) lab first.
+
+## Prerequisites
+
+- Basic understanding of Kubernetes concepts.
+- Access to the _Meshery Playground_. If you don't have an account, sign up at [Meshery Playground](https://play.meshery.io/).
+
+## Lab Scenario
+
+- Import the Apache Service and Apache StatefulSet manifest files into Meshery Playground.
+
+- Create a Cassandra ring using the visual tools provided by Meshery.
+
+- Deploy these resources on the playground.
+
+In this lab, you will import the Service and StatefulSet manifest files into Meshery Playground. You will visualize these Kubernetes resources and Cassandra Ring using the visual tools provided by Meshery. Finally, you will deploy these resources on the Playground.
+
+## Objective
+
+Learn how to import manifest files, visualize Kubernetes resources, create new resource components, and deploy the application using Meshery Playground.
+
+## Steps
+
+### Download the Kubernetes Configuration Files
+
+Go ahead and download these yaml files [cassandra-service.yaml](https://kubernetes.io/examples/application/cassandra/cassandra-service.yaml) and [cassandra-statefulset.yaml](https://kubernetes.io/examples/application/cassandra/cassandra-statefulset.yaml)
+
+These YAML files contain the Cassandra Service and Cassandra StatefulSet manifests
+
+### Access Meshery Playground
+
+1. Log in to the [Meshery Playground](https://play.meshery.io/) using your credentials. On successful login, you should be at the dashboard. Press the **X** on the _Where do you want to start?_ popup to close it (if required).
+
+2. Click **Explore** in the Cloud Native Playground tile to navigate to _MeshMap_
+
+### Import the Files to Meshery Playground
+
+1. In the left sidebar, click on the upward arrow symbol(import icon) to import the designs into Meshery.
+
+2. In the modal that appears:
+ - Enter a name for your design in the "Design File Name" field (e.g.`cassandra-service`).
+
+ - Select `Kubernetes Manifest` from the "Design Type" dropdown menu.
+
+ 
+
+ - Choose `File Upload` for the upload method, and select the file you just downloaded.
+
+ - Then, click on `Import`
+
+ 
+
+3. Under the "Designs" tab, you will see that we have successfully imported the `cassandra-service` design.
+
+ When you click on the names of the designs on the `Designs` tab, you can see the visual representations of the various Kubernetes resources and their relationships on the canvas.
+
+ 
+
+4. Now, follow the same steps to import the `cassandra-statefulset` file.
+
+ 
+
+### Merging the Designs
+
+Next, we will combine the Service and StatefulSet designs into a single design file. By merging these designs, we can manage and deploy both resources together.
+
+To merge the Service deployment design with the StatefulSet deployment design:
+
+1. Click and drag the `cassandra-service` design from the left panel and drop it onto the design canvas of the `cassandra-statefulset`.
+
+ 
+
+2. This action will open a merge modal asking if you want to merge the design, Click on `Merge`.
+
+ 
+
+3. Click on `Save As` and enter `cassandra-service-statefulset` as the new file name.
+
+ 
+
+### Visualizing the Deployed Resources
+
+To view the resources deployed we will use the Visualize section of the _MeshMap_. In this section, you can apply filters to display the specific resources you want to see.
+
+1. Move to the Visualize tab.
+2. Click the filter icon and choose the appropriate filters
+
+ - For "Kinds" select `StatefulSet`, `Service` and `StorageClass`
+ - For the "label" select `dev=tutorial`
+
+3. You can also use the icons on the right sidebar to filter the resources.
+
+ After selecting your filters, you should see a view displaying only your relevant resources, as shown in the image below.
+
+ 
+
+### Resource Details
+
+You can click on any resource to view more details about it in the "Details" section on the right sidebar.
+
+**Deployment**
+
+
+
+### Deleting Resources
+
+To delete the resources, use the `Undeploy` option from the Action dropdown in the _Design_ tab.
+
+### Conclusion
+
+Congratulations! You’ve successfully completed the lab on deploying Apache Cassandra on Kubernetes using StatefulSets in Meshery Playground. This hands-on experience should have given you valuable insights into managing Cassandra instances with persistent storage, automatic discovery, and seamless scalability. You also explored how Kubernetes' StatefulSet feature ensures robust application state management and high availability in Meshery Playground.
diff --git a/meshery-kanvas-labs/kanvas-deploy-php-redis.md b/meshery-kanvas-labs/kanvas-deploy-php-redis.md
new file mode 100644
index 0000000..2e94ea0
--- /dev/null
+++ b/meshery-kanvas-labs/kanvas-deploy-php-redis.md
@@ -0,0 +1,123 @@
+# LAB: Deploying PHP Guestbook application with Redis in Meshery
+
+Learn how to deploy a PHP Guestbook application with Redis on Kubernetes using Meshery.
+In this lab, we will deploy guest book built with PHP and Redis in Kubernetes. We will make use of Meshery Playground in an interactive live cluster environment."
+
+## Introduction
+
+In this lab, we will learn how to deploy a **PHP Guestbook application with Redis** using Meshery Playground. Meshery Playground is an interactive and collaborative live cluster environment that simplifies the deployment process and enhances user experience by providing visual tools for managing Kubernetes resources.
+
+> **NOTE:** If this is your first time working with Meshery Playground, consider starting with the [Exploring Kubernetes Pods with Meshery Playground](https://docs.meshery.io/guides/tutorials/kubernetes-pods) tutorial first.
+
+## Prerequisites
+
+- Basic understanding of Kubernetes concepts.
+- Meshery Playground access. If you don't have an account, sign up at [Meshery Playground](https://play.meshery.io).
+
+## Lab Scenario
+
+- Import the PHP and Redis manifest files into Meshery Playground.
+- Deploy these resources on the playground.
+ - Start up a Redis leader.
+ - Start up two Redis followers.
+ - Start up the guestbook frontend.
+- Expose and view the Frontend Service.
+
+## Objective
+
+Learn how to import manifest files, visualize Kubernetes resources, create new resource components, and deploy the application using Meshery Playground.
+
+## Steps
+
+### Download the Kubernetes Configuration Files
+
+To get started we will need some yaml files that will contain the configurations for the pods and services that will run on Meshery. You can download them to see what the look like.
+
+1. [redis-leader-deployment.yaml](https://k8s.io/examples/application/guestbook/redis-leader-deployment.yaml)
+2. [redis-leader-service.yaml](https://k8s.io/examples/application/guestbook/redis-leader-service.yaml)
+3. [redis-follower-deployment.yaml](https://k8s.io/examples/application/guestbook/redis-follower-deployment.yaml)
+4. [redis-follower-service.yaml](https://k8s.io/examples/application/guestbook/redis-follower-service.yaml)
+5. [frontend-deployment.yaml](https://k8s.io/examples/application/guestbook/frontend-deployment.yaml)
+6. [frontend-service.yaml](https://k8s.io/examples/application/guestbook/frontend-service.yaml)
+
+These YAML files contain the Service definitions and Deployment configurations for the PHP app with Redis.
+
+### Accessing Meshery Playground
+
+1. Log in to the [Meshery Playground](https://play.meshery.io) using your credentials. On successful login, you should be at the dashboard. Press the **X** on the _Where do you want to start?_ popup to close it (if required).
+
+2. Click **Explore** in the Cloud Native Playground tile to navigate to _MeshMap_
+
+### Import the Files to Meshery Playground
+
+1. In the left sidebar, click on the upward arrow symbol(import icon) to import the designs into Meshery.
+
+2. On doing so, a modal appears.In the modal that appears, enter a name for your design in the "Design File Name" field (e.g.`redis-leader-deployment`).
+
+3. Now select `Kubernetes Manifest` from the "Design Type" dropdown menu.
+
+4. Then choose `URL Import` for the upload method.
+
+5. Now input the URL.
+
+6. Then, click on `Import`
+
+
+
+Now, follow the same steps (1-6) to import the rest of the files.
+
+Under the “Designs” tab, you will see that we have successfully imported the manifest as designs, then you can drag and drop them in the canvas. This will "Merge" all the designs since it's all just one application
+
+
+
+### 4. **Deploy the files:**
+
+1. Click Actions in the top right corner and click on Deploy.
+
+
+1. The design will be validated to make sure there are no errors.
+
+1. Choose the Kubernetes cluster you want to deploy to.
+
+1. A Dry-Run will be triggered.
+
+1. Finally your deployment and click Deploy to deploy the application to the cluster.
+
+1. On successful deployment you will see the following modal asking yout o open you deployment in visualizer
+
+
+### 5. **Updating the Deployments:**
+
+```bash
+kubectl set image deployment/+ +This command outputs the following credentials: + +* `appId`: Application ID (Client ID) +* `displayName`: Service Principal Name +* `name`: Azure Service Principal URL +* `password`: Client Secret +* `tenant`: Tenant ID + +To export them, manually enter: + ++az ad sp create-for-rbac -n azure-service-operator --role contributor --scopes /subscriptions/<AZURE_SUBSCRIPTION_ID> ++
+ +### 2. Connect Meshery to Your Cluster + +If you haven’t already connected your cluster to Meshery, run: + ++export AZURE_CLIENT_ID=<appId> +export AZURE_CLIENT_SECRET=<password> +export AZURE_TENANT_ID=<tenant> +export AZURE_SUBSCRIPTION_ID=<subscriptionId> ++
+ +Then open the Meshery UI (default: [`http://localhost:9081`](http://localhost:9081)) and ensure your cluster appears under **Lifecycle → Connections**. + +### 3. Install Azure Service Operator (Operator Only) + +#### Prerequisite + +Create a cert-manager that is necessary for deployment of Azure Service operator + ++mesheryctl system start ++
+ +#### 3.1 Deploy ASO Operator + +Apply the official ASO operator manifest (Meshery will manage CRDs): + ++kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.14.1/cert-manager.yaml ++
+ +#### 3.2 Create Azure Credentials Secret + +Azure Service Operator requires a Kubernetes secret with your Azure identity: + ++kubectl apply -f https://github.com/Azure/azure-service-operator/releases/download/v2.13.0/azureserviceoperator_v2.13.0.yaml ++
+ +### 4. Deploy Azure Service Operator using Kanvas + +1. In the Meshery UI, navigate to **Kanvas**. +2. Click **Catalog**, filter by **Azure**, and select the **Azure Operator** design. +3. Click **Clone** to add it to your canvas. +4. Update the secret **aso-controller-settings** in the design template. The details are also mentioned in the catalog +5. Click **Actions → Deploy**. + +### 5. Start deployment of Azure resources using Kanvas + +* Go to Kanvas and start by picking up Azure components and putting it to design area. +* Click **Actions → Deploy**. +* **Azure Portal**: Confirm the new Storage Account appears in your specified resource group. + +### 6. Conclusion + +You have successfully: + +* Created an Azure Service Principal for Meshery +* Connected your Kubernetes cluster to Meshery +* Installed the Azure Service Operator (Meshery managed CRDs) +* Created a Kubernetes secret for Azure credentials +* Designed and deployed Azure resources using Meshery’s Kanvas + +--- + +If you want to learn more about Azure Service Operator, visit the [official ASO documentation](https://azure.github.io/azure-service-operator/). diff --git a/meshery-kanvas-labs/meshery-deploy-aws-ec2-instances-with-meshery.md b/meshery-kanvas-labs/meshery-deploy-aws-ec2-instances-with-meshery.md new file mode 100644 index 0000000..e851a8c --- /dev/null +++ b/meshery-kanvas-labs/meshery-deploy-aws-ec2-instances-with-meshery.md @@ -0,0 +1,152 @@ +# LAB: Deploy AWS EC2 Instances with Meshery + +Learn how to deploy and manage AWS EC2 instances through Kubernetes with Meshery, utilizing AWS Controllers for Kubernetes (ACK) to enhance cloud resource management + +### Introduction + +Meshery is a powerful multi-cloud management platform that enables you to configure, deploy, and manage AWS resources, such as EC2 instances. In order to manage AWS resources, Meshery uses [AWS Controllers for Kubernetes (ACK)](https://aws.amazon.com/blogs/containers/aws-controllers-for-kubernetes-ack/). ACK facilitates the bridge between Kubernetes and AWS services, enabling Meshery to manage AWS resources and Meshery enabling you to benefit from the enhanced experience that Meshery and its extensions offer. + +Meshery has a number of extensions, adapters, and plugins. In this lab, we will use the [Kanvas](https://docs.meshery.io//extensions/kanvas) extension to provide an intuitive, visual experience for configuring and deploying an AWS EC2 instance. Among other aspects, Kanvas provides an alternative to command-line tools like `kubectl` by offering infrastructure as design. Once you connect your Kubernetes cluster to Meshery, you can configure, deploy, and manage AWS resources directly from the Kanvas interface, making deployments more intuitive and collaborative + +In this guide, you’ll explore how to deploy AWS resources, including setup and architecture details. This guide also covers how to access pre-configured designs from [Meshery Catalog](https://meshery.io/catalog) and demonstrates how to visualize deployed resources using Kanvas' operator mode, offering a comprehensive understanding of AWS resource management. + +### Prerequisites + +1. [Self Hosted Meshery Installation](https://docs.meshery.io/installation). +1. **AWS Account**: An active AWS account is required for accessing AWS resources. +1. **Kubernetes Cluster**: A running Kubernetes cluster, such as Minikube or EKS. + +### Table of Contents + +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Table of Contents](#table-of-contents) +- [Overview of Deployment Steps](#overview-of-deployment-steps) +- [1. Connect your Kubernetes Cluster to Meshery](#1-connect-your-kubernetes-cluster-to-meshery) +- [2. Configure and Deploy the EC2 Controller](#2-configure-and-deploy-the-ec2-controller) + - [Configure the AWS Secret](#configure-the-aws-secret) + - [Configure the EC2 Controller Pod to Use the Secret](#configure-the-ec2-controller-pod-to-use-the-secret) + - [Deploy EC2 Controller Design](#deploy-ec2-controller-design) +- [3. Deploy the VPC Workflow](#3-deploy-the-vpc-workflow) +- [4. Deploy EC2 Instance](#4-deploy-ec2-instance) +- [Conclusion](#conclusion) + +### Overview of Deployment Steps + +**1. Integrate Your Kubernetes Cluster with Meshery** + +Begin by connecting your Kubernetes cluster to Meshery, establishing the foundation for interaction with AWS resources via ACK. + +**2. Set Up Essential AWS Resources** + +Use Meshery to deploy foundational resources such as VPCs, subnets, and other networking components necessary for your EC2 instance within AWS. + +**3. Verify and Monitor Deployment** + +Once deployment is complete, verify the EC2 instances via the AWS Management Console or Meshery’s visualization mode, where you’ll gain an interactive view of your deployed resources. + +### 1. Connect your Kubernetes Cluster to Meshery + +To begin, connect your Kubernetes cluster to Meshery. This guide uses `minikube`, which supports two deployment options for Meshery: + +- **In-Cluster Deployment**: Deploys Meshery within the Kubernetes cluster using Helm inside the meshery namespace. + +- **Out-of-Cluster Deployment**: Runs Meshery in Docker containers, allowing external connectivity to the Minikube cluster. + +For this guide, the `in-cluster deployment` method is used. Follow this [setup guide for Meshery on Minikube](/installation/kubernetes/minikube) to deploy Meshery in-cluster. After the deployment, open the Meshery UI at `localhost:9081` to verify that the cluster is listed. Click on the cluster name to ping and confirm connectivity. + + + +### 2. Configure and Deploy the EC2 Controller + +In this section, you will set up the EC2 controller and configure it to connect to your AWS account. This process involves creating a Kubernetes secret that contains your AWS access keys and configuring the controller pod to consume this secret. While these configurations are already included in our designs, the steps will be demonstrated for clarity. + +1. **Clone the EC2 Controller Design**: Start by [cloning the EC2 controller design](https://meshery.io/catalog/deployment/ec2-controller-design-8f7e1431-3885-4ebf-9ef7-d2ec64bd4eb5.html) from the catalog. To do this, click on **Clone** on the catalog page. Once cloned, open the design in the playground, and you will see it displayed on the Kanvas. + +  + +2. **Set the Deployment Namespace**: This design has been configured to be deployed in the `ack-system` namespace. + +This EC2 controller design includes: + +- **The EC2 Controller Pod**: This runs the main EC2 controller. This pod is responsible for managing the lifecycle of EC2 instances and their associated resources. +- **Custom Resource Definitions (CRDs)**: These CRDs define the desired state of various AWS resources, such as VPCs, subnets, NAT gateways, and other networking components.By utilizing these CRDs, the EC2 controller can interact with the AWS API to create, update, and manage these resources. +- **Service Account**: The service account associated with the controller pod has the necessary IAM permissions. These permissions allow the controller to perform essential functions, such as creating and managing AWS resources. +- **AWS Credentials secret**: The AWS credentials secret stores your AWS access keys and secret access keys securely. This secret is essential for authenticating the AWS controller with your AWS account. + +#### Configure the AWS Secret + +To connect the EC2 controller to AWS, create a Kubernetes secret containing your AWS credentials. + +1. Double-click the Secret component to open its configuration. + +1. Under **Data**, add the base 64 encoded values of your AWS keys. + - **AWS_ACCESS_KEY_ID**: `+kubectl create secret generic azure-credentials --namespace azureserviceoperator-system --from-literal=AZURE_CLIENT_ID=$AZURE_CLIENT_ID --from-literal=AZURE_CLIENT_SECRET=$AZURE_CLIENT_SECRET --from-literal=AZURE_TENANT_ID=$AZURE_TENANT_ID --from-literal=AZURE_SUBSCRIPTION_ID=$AZURE_SUBSCRIPTION_ID ++
+ +This command outputs the following credentials: + +* `appId`: Application ID (Client ID) +* `displayName`: Service Principal Name +* `name`: Azure Service Principal URL +* `password`: Client Secret +* `tenant`: Tenant ID + +To export them, manually enter: + ++az ad sp create-for-rbac -n azure-service-operator --role contributor --scopes /subscriptions/<AZURE_SUBSCRIPTION_ID> ++
+ +### 2. Connect Meshery to Your Cluster + +If you haven’t already connected your cluster to Meshery, run: + ++export AZURE_CLIENT_ID=<appId> +export AZURE_CLIENT_SECRET=<password> +export AZURE_TENANT_ID=<tenant> +export AZURE_SUBSCRIPTION_ID=<subscriptionId> ++
+ +Then open the Meshery UI (default: [`http://localhost:9081`](http://localhost:9081)) and ensure your cluster appears under **Lifecycle → Connections**. + +### 3. Install Azure Service Operator (Operator Only) + +#### 3.1 Deploy ASO Operator + +Apply the official ASO operator manifest (Meshery will manage CRDs): + ++mesheryctl system start ++
+ +#### 3.2 Create Azure Credentials Secret + +Azure Service Operator requires a Kubernetes secret with your Azure identity: + ++kubectl apply -f https://github.com/Azure/azure-service-operator/releases/download/v2.13.0/azureserviceoperator_v2.13.0.yaml ++
+ +### 4. Design and Deploy an Azure Storage Account + +1. In the Meshery UI, navigate to **Kanvas**. +2. Click **Catalog**, filter by **Azure**, and select the **StorageAccount** design. +3. Click **Clone** to add it to your canvas. +4. Configure the following properties: + + * `resourceGroupName` + * `location` (e.g., `eastus`) + * `accountName` + * `accessTier` (`Hot` or `Cool`) +5. Click **Actions → Deploy**. + +### 5. Verify Deployment + +* **Azure Portal**: Confirm the new Storage Account appears in your specified resource group. + +### 6. Conclusion + +You have successfully: + +* Created an Azure Service Principal for Meshery +* Connected your Kubernetes cluster to Meshery +* Installed the Azure Service Operator (Meshery managed CRDs) +* Created a Kubernetes secret for Azure credentials +* Designed and deployed an Azure Storage Account using Meshery’s Kanvas + +--- + +If you want to learn more about Azure Service Operator, visit the [official ASO documentation](https://azure.github.io/azure-service-operator/). diff --git a/meshery-kanvas-labs/publish-to-artifacthub/2024-07-30_1.png b/meshery-kanvas-labs/publish-to-artifacthub/2024-07-30_1.png new file mode 100644 index 0000000..accd8fa Binary files /dev/null and b/meshery-kanvas-labs/publish-to-artifacthub/2024-07-30_1.png differ diff --git a/meshery-kanvas-labs/publish-to-artifacthub/2024-07-30_2.png b/meshery-kanvas-labs/publish-to-artifacthub/2024-07-30_2.png new file mode 100644 index 0000000..274df67 Binary files /dev/null and b/meshery-kanvas-labs/publish-to-artifacthub/2024-07-30_2.png differ diff --git a/meshery-kanvas-labs/publish-to-artifacthub/2024-07-30_3.png b/meshery-kanvas-labs/publish-to-artifacthub/2024-07-30_3.png new file mode 100644 index 0000000..aaa1660 Binary files /dev/null and b/meshery-kanvas-labs/publish-to-artifacthub/2024-07-30_3.png differ diff --git a/meshery-kanvas-labs/publish-to-artifacthub/2024-07-30_4.png b/meshery-kanvas-labs/publish-to-artifacthub/2024-07-30_4.png new file mode 100644 index 0000000..579a7f9 Binary files /dev/null and b/meshery-kanvas-labs/publish-to-artifacthub/2024-07-30_4.png differ diff --git a/meshery-kanvas-labs/publish-to-artifacthub/add_repo.png b/meshery-kanvas-labs/publish-to-artifacthub/add_repo.png new file mode 100644 index 0000000..c95c385 Binary files /dev/null and b/meshery-kanvas-labs/publish-to-artifacthub/add_repo.png differ diff --git a/meshery-kanvas-labs/publish-to-artifacthub/artifacthub_control_panel.png b/meshery-kanvas-labs/publish-to-artifacthub/artifacthub_control_panel.png new file mode 100644 index 0000000..2b00a2b Binary files /dev/null and b/meshery-kanvas-labs/publish-to-artifacthub/artifacthub_control_panel.png differ diff --git a/meshery-kanvas-labs/publish-to-artifacthub/kind_design_repo.png b/meshery-kanvas-labs/publish-to-artifacthub/kind_design_repo.png new file mode 100644 index 0000000..45e2d72 Binary files /dev/null and b/meshery-kanvas-labs/publish-to-artifacthub/kind_design_repo.png differ diff --git a/meshery-kanvas-labs/screenshots/app-canvas.png b/meshery-kanvas-labs/screenshots/app-canvas.png new file mode 100644 index 0000000..058d588 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/app-canvas.png differ diff --git a/meshery-kanvas-labs/screenshots/cassandra-1.png b/meshery-kanvas-labs/screenshots/cassandra-1.png new file mode 100644 index 0000000..29d63f0 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/cassandra-1.png differ diff --git a/meshery-kanvas-labs/screenshots/cassandra-2.png b/meshery-kanvas-labs/screenshots/cassandra-2.png new file mode 100644 index 0000000..d24be44 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/cassandra-2.png differ diff --git a/meshery-kanvas-labs/screenshots/cassandra-3.png b/meshery-kanvas-labs/screenshots/cassandra-3.png new file mode 100644 index 0000000..d7c354f Binary files /dev/null and b/meshery-kanvas-labs/screenshots/cassandra-3.png differ diff --git a/meshery-kanvas-labs/screenshots/cassandra-4.png b/meshery-kanvas-labs/screenshots/cassandra-4.png new file mode 100644 index 0000000..f890346 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/cassandra-4.png differ diff --git a/meshery-kanvas-labs/screenshots/cassandra-5.png b/meshery-kanvas-labs/screenshots/cassandra-5.png new file mode 100644 index 0000000..2ccd077 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/cassandra-5.png differ diff --git a/meshery-kanvas-labs/screenshots/cassandra-6.png b/meshery-kanvas-labs/screenshots/cassandra-6.png new file mode 100644 index 0000000..d8cdbc2 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/cassandra-6.png differ diff --git a/meshery-kanvas-labs/screenshots/cassandra-7.png b/meshery-kanvas-labs/screenshots/cassandra-7.png new file mode 100644 index 0000000..5801338 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/cassandra-7.png differ diff --git a/meshery-kanvas-labs/screenshots/cassandra-8.png b/meshery-kanvas-labs/screenshots/cassandra-8.png new file mode 100644 index 0000000..1e3d289 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/cassandra-8.png differ diff --git a/meshery-kanvas-labs/screenshots/cassandra-9.png b/meshery-kanvas-labs/screenshots/cassandra-9.png new file mode 100644 index 0000000..50e420d Binary files /dev/null and b/meshery-kanvas-labs/screenshots/cassandra-9.png differ diff --git a/meshery-kanvas-labs/screenshots/operate-layers-expand.png b/meshery-kanvas-labs/screenshots/operate-layers-expand.png new file mode 100644 index 0000000..03d3b6c Binary files /dev/null and b/meshery-kanvas-labs/screenshots/operate-layers-expand.png differ diff --git a/meshery-kanvas-labs/screenshots/operate-layers.png b/meshery-kanvas-labs/screenshots/operate-layers.png new file mode 100644 index 0000000..6845066 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/operate-layers.png differ diff --git a/meshery-kanvas-labs/screenshots/operate-logs-menu.png b/meshery-kanvas-labs/screenshots/operate-logs-menu.png new file mode 100644 index 0000000..b3830a0 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/operate-logs-menu.png differ diff --git a/meshery-kanvas-labs/screenshots/operate-logs.png b/meshery-kanvas-labs/screenshots/operate-logs.png new file mode 100644 index 0000000..09a31fa Binary files /dev/null and b/meshery-kanvas-labs/screenshots/operate-logs.png differ diff --git a/meshery-kanvas-labs/screenshots/operate.png b/meshery-kanvas-labs/screenshots/operate.png new file mode 100644 index 0000000..057215e Binary files /dev/null and b/meshery-kanvas-labs/screenshots/operate.png differ diff --git a/meshery-kanvas-labs/screenshots/redis-leader-deployment.png b/meshery-kanvas-labs/screenshots/redis-leader-deployment.png new file mode 100644 index 0000000..29f23ef Binary files /dev/null and b/meshery-kanvas-labs/screenshots/redis-leader-deployment.png differ diff --git a/meshery-kanvas-labs/screenshots/redis-php-guestbook-deploy.png b/meshery-kanvas-labs/screenshots/redis-php-guestbook-deploy.png new file mode 100644 index 0000000..4d1cbba Binary files /dev/null and b/meshery-kanvas-labs/screenshots/redis-php-guestbook-deploy.png differ diff --git a/meshery-kanvas-labs/screenshots/redis-php-guestbook-deployment.png b/meshery-kanvas-labs/screenshots/redis-php-guestbook-deployment.png new file mode 100644 index 0000000..be41f15 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/redis-php-guestbook-deployment.png differ diff --git a/meshery-kanvas-labs/screenshots/redis-php-guestbook-dryrun.png b/meshery-kanvas-labs/screenshots/redis-php-guestbook-dryrun.png new file mode 100644 index 0000000..5a3e579 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/redis-php-guestbook-dryrun.png differ diff --git a/meshery-kanvas-labs/screenshots/redis-php-guestbook-finalize.png b/meshery-kanvas-labs/screenshots/redis-php-guestbook-finalize.png new file mode 100644 index 0000000..bd0da6f Binary files /dev/null and b/meshery-kanvas-labs/screenshots/redis-php-guestbook-finalize.png differ diff --git a/meshery-kanvas-labs/screenshots/redis-php-guestbook-identify.png b/meshery-kanvas-labs/screenshots/redis-php-guestbook-identify.png new file mode 100644 index 0000000..cb8f0a4 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/redis-php-guestbook-identify.png differ diff --git a/meshery-kanvas-labs/screenshots/redis-php-guestbook-validate.png b/meshery-kanvas-labs/screenshots/redis-php-guestbook-validate.png new file mode 100644 index 0000000..5491d92 Binary files /dev/null and b/meshery-kanvas-labs/screenshots/redis-php-guestbook-validate.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp1.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp1.png new file mode 100644 index 0000000..5c7e72a Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp1.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp10.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp10.png new file mode 100644 index 0000000..014e970 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp10.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp11.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp11.png new file mode 100644 index 0000000..6f95af0 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp11.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp12.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp12.png new file mode 100644 index 0000000..818b604 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp12.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp13.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp13.png new file mode 100644 index 0000000..196f096 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp13.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp14.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp14.png new file mode 100644 index 0000000..e5e0b3a Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp14.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp15.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp15.png new file mode 100644 index 0000000..e7c84c1 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp15.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp16.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp16.png new file mode 100644 index 0000000..ab52709 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp16.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp17.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp17.png new file mode 100644 index 0000000..d458e0b Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp17.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp18.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp18.png new file mode 100644 index 0000000..884730b Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp18.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp19.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp19.png new file mode 100644 index 0000000..b524a68 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp19.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp2.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp2.png new file mode 100644 index 0000000..00b4d95 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp2.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp20.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp20.png new file mode 100644 index 0000000..b21b9f0 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp20.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp21.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp21.png new file mode 100644 index 0000000..29baf88 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp21.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp22.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp22.png new file mode 100644 index 0000000..4fd801c Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp22.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp23.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp23.png new file mode 100644 index 0000000..3d5ab1c Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp23.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp3.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp3.png new file mode 100644 index 0000000..fe5b1b2 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp3.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp4.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp4.png new file mode 100644 index 0000000..4cffd34 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp4.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp5.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp5.png new file mode 100644 index 0000000..ac84840 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp5.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp6.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp6.png new file mode 100644 index 0000000..df785b8 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp6.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp7.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp7.png new file mode 100644 index 0000000..f2585d3 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp7.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp8.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp8.png new file mode 100644 index 0000000..9ccca20 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp8.png differ diff --git a/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp9.png b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp9.png new file mode 100644 index 0000000..e9db705 Binary files /dev/null and b/meshery-kanvas-labs/wordpress-mysql-persistentvolume/wp9.png differ+kubectl create secret generic azure-credentials --namespace azureserviceoperator-system --from-literal=AZURE_CLIENT_ID=$AZURE_CLIENT_ID --from-literal=AZURE_CLIENT_SECRET=$AZURE_CLIENT_SECRET --from-literal=AZURE_TENANT_ID=$AZURE_TENANT_ID --from-literal=AZURE_SUBSCRIPTION_ID=$AZURE_SUBSCRIPTION_ID ++