[{"content":"🎯 Problem Statement Organizations moving to Kubernetes often struggle with:\nManual cluster provisioning leading to configuration drift Lack of security hardening and compliance controls No standardized approach to cluster lifecycle management Difficulty reproducing environments consistently 💡 Solution Overview I designed and implemented a fully automated AKS deployment pipeline using Terraform that provisions production-grade Kubernetes clusters with built-in security, monitoring, and networking configurations.\n🏗️ Architecture ┌ │ ├ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ┌ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┌ │ │ │ │ │ │ │ │ │ └ ┌ │ │ │ └ ┌ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ A I C ─ ─ A + ─ ─ ─ ─ ─ ─ ─ ┌ │ │ └ ┌ │ │ └ ─ ─ p n o ─ ─ z ─ ─ ─ ─ ─ ─ ─ A ─ ─ ─ ─ ─ ─ p g n ─ ─ u L ─ ─ ─ ─ ─ ─ ─ z ─ S ( ─ ─ S ( ─ ─ ─ r t ─ ─ r o ─ ─ ─ ─ ─ ─ ─ u ─ u A ─ ─ u A ─ ─ ─ G e r ─ ─ e g ─ ─ ─ ─ ─ ─ ─ r ─ b K ─ ─ b p ─ ─ ─ a s o ─ ─ ─ ─ ─ ─ ─ ─ ─ e ─ n S ─ ─ n p ─ ─ ─ t s l ─ ─ M A ─ ─ ─ ─ ─ ─ ─ ─ e ) ─ ─ e G ─ ─ ─ e l ─ ─ o n ─ ─ ─ ─ ─ ─ ─ V ─ t ─ ─ t W ─ ─ ─ w e ─ ─ n a ─ ─ ─ ─ ─ ─ ─ N ─ ─ ─ ) ─ ─ ─ a r ─ ─ i l ─ ─ ─ ─ ─ ─ ─ e ─ 1 ─ ─ 2 ─ ─ ─ y ─ ─ t y ─ ─ ─ ─ ─ ─ ─ t ─ ─ ─ ─ ─ ─ ─ ─ o t ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ r i ─ ─ ─ ─ ─ ─ ─ ┐ │ │ ┘ ┐ │ │ ┘ ─ ─ ─ ─ c ─ ─ ─ ─ ─ ─ ─ ◄ ─ ─ ─ ─ s ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ R ┐ │ │ ┼ │ │ │ │ │ │ ┘ ┐ │ │ │ ┘ ┐ │ │ ┘ ─ ─ ─ A ─ ─ e ─ ◄ ─ ─ ─ z ─ ─ s ─ ─ ─ ─ ─ u ─ ─ o ┌ │ │ ┼ │ │ │ │ │ │ │ │ │ │ ┼ │ │ └ ┌ │ │ └ ─ ─ ─ r ─ ─ u ─ ─ ─ ─ ─ ─ ─ ─ ─ e ─ ─ r ─ ► ► ─ ─ ─ ─ ─ ─ ─ ─ c ─ ┌ │ │ └ ┌ │ │ └ ┌ │ └ ┌ │ │ └ ─ ─ ─ ─ ─ ─ S ─ ─ e ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ C ( ─ ─ ─ ─ u ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ o A ─ ─ ─ ─ b ─ ─ G ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ n C ─ ─ ─ ─ s ─ ─ r ─ ─ S ( ─ ─ U ( ─ ─ A ─ ─ A ( ─ ─ ─ t R ─ ─ ─ ─ c ─ ─ o ─ ─ y 3 ─ ─ s s ─ ─ z ─ ─ z s ─ ─ ─ a ) ─ ─ ─ ─ r ─ ─ u ─ A ─ s ─ ─ e p ─ ─ u ─ ─ u e ─ ─ ─ i ─ ─ ─ ─ i ─ ─ p ─ K ─ t n ─ ─ r o ─ ─ r ─ ─ r c ─ ─ ─ n ─ ─ ─ ─ p ─ ─ ─ S ─ e o ─ ─ t ─ ─ e ─ ─ e r ─ ─ ─ e ─ ─ ─ ─ t ─ ─ ─ ─ m d ─ ─ N ─ ─ ─ ─ e ─ ─ ─ r ─ ─ ─ ─ i ─ ─ ─ C ─ e ─ ─ o i ─ ─ C ─ ─ K t ─ ─ ─ ─ ─ ─ ─ o ─ ─ ─ l ─ N s ─ ─ d n ─ ─ N ─ ─ e s ─ ─ ─ R ─ ─ ─ ─ n ─ ─ ─ u ─ o , ─ ─ e s ─ ─ I ─ ─ y ─ ─ ─ e ─ ─ ─ ─ ─ ─ ─ s ─ d ─ ─ t ─ ─ ─ ─ m ─ ─ ─ g ─ ─ ─ ─ ─ ─ ─ t ─ e a ─ ─ P a ─ ─ + ─ ─ V g ─ ─ ─ i ─ ─ ─ ─ ─ ─ ─ e ─ u ─ ─ o n ─ ─ ─ ─ a m ─ ─ ─ s ─ ─ ─ ─ ─ ─ ─ r ─ P t ─ ─ o c ─ ─ C ─ ─ u t ─ ─ ─ t ─ ─ ─ ─ ─ ─ ─ ─ o o ─ ─ l e ─ ─ a ─ ─ l ) ─ ─ ─ r ─ ─ ─ ─ ─ ─ ─ ─ o s ─ ─ s ─ ─ l ─ ─ t ─ ─ ─ y ─ ─ ─ ─ ─ ─ ─ ─ l c ─ ─ ) ─ ─ i ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ a ─ ─ ─ ─ c ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ l ─ ─ ─ ─ o ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ e ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ) ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ ─ ─ │ │ ─ ─ ─ ─ │ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ ┘ ┐ ┘ ┐ │ ┘ ┐ ┘ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ ─ ─ │ │ ─ ─ ─ ─ ─ ─ ┐ │ │ │ │ │ │ │ │ │ │ ┘ ┐ ┘ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ │ │ ─ ─ ─ ─ ┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┘ ─ ─ ─ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ │ │ ─ ┐ ┤ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┘ │ │ 🛠️ Technologies Used Category Technology IaC Terraform 1.5+ Cloud Provider Microsoft Azure Container Orchestration Azure Kubernetes Service (AKS) Networking Azure CNI, Calico Network Policies Ingress Application Gateway Ingress Controller Secrets Management Azure Key Vault + CSI Driver Monitoring Azure Monitor, Prometheus, Grafana CI/CD GitHub Actions State Management Azure Storage Backend 📁 Project Structure a ├ │ │ │ │ │ │ │ │ ├ │ │ │ ├ ├ ├ └ k ─ ─ ─ ─ ─ ─ s ─ ─ ─ ─ ─ ─ - t m ├ │ │ │ │ ├ ├ └ e ├ ├ └ m v o t e o ─ ─ ─ ─ n ─ ─ ─ a a u e r d ─ ─ ─ ─ v ─ ─ ─ i r t r r u i n i p r a l a ├ ├ ├ └ n m s r d s p . a u a f e k ─ ─ ─ ─ e o e o e t r t b t f o s s ─ ─ ─ ─ t n c n v a o f l s o r / / w i u m / g d e . r m m v o v o t r e i / s t m / a a u e r o i n n . f . i r t r k r t t g t t n i p s i i y s / f f . a u i n n / / v t b t o g g a f l s n / / r e . s s s t . . . f t e t f x f a m p l e 🔐 Security Features Azure AD Integration - RBAC with Azure Active Directory Pod Security Standards - Enforced baseline policies Network Policies - Calico for micro-segmentation Private Cluster - API server with private endpoint Key Vault Integration - Secrets injected via CSI driver Defender for Containers - Runtime threat protection 📊 Key Metrics Achieved Metric Result Deployment Time \u0026lt; 20 minutes Configuration Drift 0% (enforced via GitOps) Security Compliance 100% CIS Benchmark Cost Optimization 35% savings with spot nodes 🔑 Key Learnings Module Reusability - Designing Terraform modules for reuse across environments saves significant time State Management - Remote state with locking is critical for team collaboration Security First - Building security into the infrastructure from day one prevents costly retrofits Documentation - Self-documenting code with clear variable descriptions improves maintainability 🔗 Resources GitHub Repository: github.com/yourusername/aks-terraform Related Blog Post: Best Practices for Production AKS Clusters Want to discuss this project? Get in touch!\n","permalink":"https://elmiabdullahi.com/projects/aks-terraform-cluster/","summary":"\u003ch2 id=\"-problem-statement\"\u003e🎯 Problem Statement\u003c/h2\u003e\n\u003cp\u003eOrganizations moving to Kubernetes often struggle with:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eManual cluster provisioning leading to configuration drift\u003c/li\u003e\n\u003cli\u003eLack of security hardening and compliance controls\u003c/li\u003e\n\u003cli\u003eNo standardized approach to cluster lifecycle management\u003c/li\u003e\n\u003cli\u003eDifficulty reproducing environments consistently\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"-solution-overview\"\u003e💡 Solution Overview\u003c/h2\u003e\n\u003cp\u003eI designed and implemented a \u003cstrong\u003efully automated AKS deployment pipeline\u003c/strong\u003e using Terraform that provisions production-grade Kubernetes clusters with built-in security, monitoring, and networking configurations.\u003c/p\u003e\n\u003ch2 id=\"-architecture\"\u003e🏗️ Architecture\u003c/h2\u003e\n\n\n\n\u003cdiv class=\"goat svg-container \"\u003e\n  \n    \u003csvg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      font-family=\"Menlo,Lucida Console,monospace\"\n      \n        viewBox=\"0 0 552 473\"\n      \u003e\n      \u003cg transform='translate(8,16)'\u003e\n\u003ctext text-anchor='middle' x='0' y='4' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='20' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='36' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='52' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='68' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='84' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='164' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='180' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='276' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='292' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='308' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='324' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='340' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='356' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='372' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='388' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='404' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='436' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='452' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='52' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='68' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='84' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='164' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='180' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='276' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='292' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='308' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='324' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='340' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='356' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='372' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='388' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='404' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='436' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='84' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='164' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='180' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='244' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='276' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='292' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='308' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='324' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='340' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='372' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='388' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='404' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='420' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='292' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='308' fill='currentColor' style='font-size:1em'\u003eI\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='324' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='388' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='404' fill='currentColor' style='font-size:1em'\u003e+\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='116' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='164' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='180' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='228' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='292' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='308' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='324' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='388' fill='currentColor' style='font-size:1em'\u003ez\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='100' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='292' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='308' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='324' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='388' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='404' fill='currentColor' style='font-size:1em'\u003eL\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='100' fill='currentColor' style='font-size:1em'\u003ez\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='132' fill='currentColor' style='font-size:1em'\u003eS\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='148' fill='currentColor' style='font-size:1em'\u003e(\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='196' fill='currentColor' style='font-size:1em'\u003eS\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='212' fill='currentColor' style='font-size:1em'\u003e(\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='308' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='324' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='388' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='404' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='100' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='132' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='148' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='196' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='212' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='292' fill='currentColor' style='font-size:1em'\u003eG\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='308' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='324' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='388' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='404' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='100' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='132' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='148' fill='currentColor' style='font-size:1em'\u003eK\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='196' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='212' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='292' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='308' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='324' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='100' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='132' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='148' fill='currentColor' style='font-size:1em'\u003eS\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='196' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='212' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='292' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='308' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='324' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='388' fill='currentColor' style='font-size:1em'\u003eM\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='404' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='132' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='148' fill='currentColor' style='font-size:1em'\u003e)\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='196' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='212' fill='currentColor' style='font-size:1em'\u003eG\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='292' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='324' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='388' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='404' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='100' fill='currentColor' style='font-size:1em'\u003eV\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='132' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='196' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='212' fill='currentColor' style='font-size:1em'\u003eW\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='292' fill='currentColor' style='font-size:1em'\u003ew\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='324' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='388' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='404' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='100' fill='currentColor' style='font-size:1em'\u003eN\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='212' fill='currentColor' style='font-size:1em'\u003e)\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='292' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='324' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='388' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='404' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='100' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='132' fill='currentColor' style='font-size:1em'\u003e1\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='196' fill='currentColor' style='font-size:1em'\u003e2\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='292' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='388' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='404' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='100' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='388' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='404' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='388' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='404' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='116' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='164' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='180' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='228' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='404' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='132' fill='currentColor' style='font-size:1em'\u003e◄\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='404' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='132' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='68' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='84' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='132' fill='currentColor' style='font-size:1em'\u003e┼\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='164' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='180' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='244' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='276' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='292' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='308' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='324' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='340' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='372' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='388' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='404' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='420' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='20' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='68' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='132' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='308' fill='currentColor' style='font-size:1em'\u003e◄\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='20' fill='currentColor' style='font-size:1em'\u003ez\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='68' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='132' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='20' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='68' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='84' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='132' fill='currentColor' style='font-size:1em'\u003e┼\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='164' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='180' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='276' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='292' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='308' fill='currentColor' style='font-size:1em'\u003e┼\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='324' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='340' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='356' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='372' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='388' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='404' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='420' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='20' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='68' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='132' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='20' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='68' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='132' fill='currentColor' style='font-size:1em'\u003e►\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='308' fill='currentColor' style='font-size:1em'\u003e►\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='68' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='116' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='164' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='180' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='228' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='244' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='276' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='292' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='308' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='324' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='340' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='20' fill='currentColor' style='font-size:1em'\u003eS\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='68' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='388' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='404' fill='currentColor' style='font-size:1em'\u003e(\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='20' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='388' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='404' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='20' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='68' fill='currentColor' style='font-size:1em'\u003eG\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='388' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='404' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='20' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='68' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='132' fill='currentColor' style='font-size:1em'\u003eS\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='148' fill='currentColor' style='font-size:1em'\u003e(\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='196' fill='currentColor' style='font-size:1em'\u003eU\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='212' fill='currentColor' style='font-size:1em'\u003e(\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='260' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='308' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='324' fill='currentColor' style='font-size:1em'\u003e(\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='388' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='404' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='20' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='68' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='132' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='148' fill='currentColor' style='font-size:1em'\u003e3\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='196' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='212' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='260' fill='currentColor' style='font-size:1em'\u003ez\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='308' fill='currentColor' style='font-size:1em'\u003ez\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='324' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='388' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='404' fill='currentColor' style='font-size:1em'\u003e)\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='20' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='68' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='100' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='132' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='196' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='212' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='260' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='308' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='324' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='388' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='20' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='68' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='100' fill='currentColor' style='font-size:1em'\u003eK\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='132' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='148' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='196' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='212' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='260' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='308' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='324' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='388' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='20' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='100' fill='currentColor' style='font-size:1em'\u003eS\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='132' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='148' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='212' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='260' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='308' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='324' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='388' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='20' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='132' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='148' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='196' fill='currentColor' style='font-size:1em'\u003eN\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='324' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='388' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='20' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='100' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='148' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='196' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='212' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='260' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='308' fill='currentColor' style='font-size:1em'\u003eK\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='324' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='20' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='100' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='132' fill='currentColor' style='font-size:1em'\u003eN\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='148' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='196' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='212' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='260' fill='currentColor' style='font-size:1em'\u003eN\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='308' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='324' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='388' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='20' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='100' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='132' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='148' fill='currentColor' style='font-size:1em'\u003e,\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='196' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='212' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='260' fill='currentColor' style='font-size:1em'\u003eI\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='308' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='388' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='100' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='132' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='212' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='324' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='388' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='100' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='132' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='148' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='196' fill='currentColor' style='font-size:1em'\u003eP\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='212' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='260' fill='currentColor' style='font-size:1em'\u003e+\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='308' fill='currentColor' style='font-size:1em'\u003eV\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='324' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='388' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='100' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='148' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='196' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='212' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='308' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='324' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='388' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='100' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='132' fill='currentColor' style='font-size:1em'\u003eP\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='148' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='196' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='212' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='260' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='308' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='324' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='388' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='132' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='148' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='196' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='212' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='260' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='308' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='324' fill='currentColor' style='font-size:1em'\u003e)\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='388' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='132' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='148' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='212' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='260' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='308' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='388' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='132' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='148' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='212' fill='currentColor' style='font-size:1em'\u003e)\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='260' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='148' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='260' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='148' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='260' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='148' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='148' fill='currentColor' style='font-size:1em'\u003e)\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='308' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='324' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='116' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='164' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='180' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='228' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='244' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='276' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='292' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='340' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='308' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='324' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='388' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='404' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='84' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='164' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='180' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='276' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='292' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='340' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='356' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='372' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='420' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='308' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='324' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='388' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='404' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='52' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='84' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='164' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='180' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='276' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='292' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='340' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='356' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='372' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='436' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='496' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='496' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='496' y='68' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='496' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='504' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='504' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='504' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='512' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='512' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='512' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='308' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='324' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='388' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='404' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='4' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='36' fill='currentColor' style='font-size:1em'\u003e┤\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='52' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='84' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='164' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='180' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='276' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='292' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='340' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='356' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='372' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='436' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='452' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='536' y='20' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='536' y='68' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003c/g\u003e\n\n    \u003c/svg\u003e\n  \n\u003c/div\u003e\n\u003ch2 id=\"-technologies-used\"\u003e🛠️ Technologies Used\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003eCategory\u003c/th\u003e\n          \u003cth\u003eTechnology\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eIaC\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eTerraform 1.5+\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eCloud Provider\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eMicrosoft Azure\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eContainer Orchestration\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eAzure Kubernetes Service (AKS)\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eNetworking\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eAzure CNI, Calico Network Policies\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eIngress\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eApplication Gateway Ingress Controller\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eSecrets Management\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eAzure Key Vault + CSI Driver\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eMonitoring\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eAzure Monitor, Prometheus, Grafana\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eCI/CD\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eGitHub Actions\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eState Management\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eAzure Storage Backend\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"-project-structure\"\u003e📁 Project Structure\u003c/h2\u003e\n\n\n\n\u003cdiv class=\"goat svg-container \"\u003e\n  \n    \u003csvg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      font-family=\"Menlo,Lucida Console,monospace\"\n      \n        viewBox=\"0 0 232 297\"\n      \u003e\n      \u003cg transform='translate(8,16)'\u003e\n\u003ctext text-anchor='middle' x='0' y='4' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='20' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='36' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='52' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='68' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='84' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='148' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='164' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='180' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='228' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='244' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='260' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='276' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='4' fill='currentColor' style='font-size:1em'\u003ek\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='20' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='260' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='20' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='260' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='20' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='36' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='52' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='68' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='84' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='116' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='132' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='148' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='164' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='180' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='196' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='212' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='228' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='244' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='260' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='276' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='20' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='132' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='164' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='196' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='228' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='244' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='260' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='276' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='20' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='132' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='164' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='196' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='228' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='244' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='260' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='276' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='20' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='164' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='228' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='244' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='260' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='276' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='20' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='36' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='52' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='68' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='84' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='100' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='116' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='132' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='148' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='164' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='180' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='196' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='212' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='228' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='244' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='260' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='276' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='20' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='36' fill='currentColor' style='font-size:1em'\u003ek\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='68' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='100' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='116' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='132' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='148' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='164' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='180' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='196' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='212' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='228' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='244' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='260' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='276' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='4' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='20' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='36' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='68' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='100' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='116' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='132' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='148' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='164' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='180' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='196' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='212' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='228' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='244' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='260' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='276' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='4' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='20' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='36' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='116' fill='currentColor' style='font-size:1em'\u003ew\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='132' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='148' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='164' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='180' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='196' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='212' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='244' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='260' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='276' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='4' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='52' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='68' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='84' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='100' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='116' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='132' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='148' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='164' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='196' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='212' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='244' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='260' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='276' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='4' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='52' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='68' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='84' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='100' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='116' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='132' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='148' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='164' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='196' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='244' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='260' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='276' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='52' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='68' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='84' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='100' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='116' fill='currentColor' style='font-size:1em'\u003ek\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='132' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='148' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='164' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='196' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='244' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='276' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='52' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='68' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='84' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='100' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='116' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='132' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='148' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='164' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='196' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='244' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='276' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='52' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='68' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='84' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='100' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='116' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='132' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='148' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='164' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='276' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='52' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='68' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='84' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='100' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='116' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='132' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='276' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='52' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='68' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='84' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='100' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='116' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='132' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='276' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='68' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='84' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='100' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='276' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='68' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='84' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='100' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='276' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='68' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='84' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='100' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='276' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='68' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='100' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='276' fill='currentColor' style='font-size:1em'\u003ex\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='68' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='276' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='276' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='276' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='276' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='276' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003c/g\u003e\n\n    \u003c/svg\u003e\n  \n\u003c/div\u003e\n\u003ch2 id=\"-security-features\"\u003e🔐 Security Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAzure AD Integration\u003c/strong\u003e - RBAC with Azure Active Directory\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePod Security Standards\u003c/strong\u003e - Enforced baseline policies\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNetwork Policies\u003c/strong\u003e - Calico for micro-segmentation\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePrivate Cluster\u003c/strong\u003e - API server with private endpoint\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eKey Vault Integration\u003c/strong\u003e - Secrets injected via CSI driver\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDefender for Containers\u003c/strong\u003e - Runtime threat protection\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"-key-metrics-achieved\"\u003e📊 Key Metrics Achieved\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003eMetric\u003c/th\u003e\n          \u003cth\u003eResult\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eDeployment Time\u003c/td\u003e\n          \u003ctd\u003e\u0026lt; 20 minutes\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eConfiguration Drift\u003c/td\u003e\n          \u003ctd\u003e0% (enforced via GitOps)\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eSecurity Compliance\u003c/td\u003e\n          \u003ctd\u003e100% CIS Benchmark\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eCost Optimization\u003c/td\u003e\n          \u003ctd\u003e35% savings with spot nodes\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"-key-learnings\"\u003e🔑 Key Learnings\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eModule Reusability\u003c/strong\u003e - Designing Terraform modules for reuse across environments saves significant time\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eState Management\u003c/strong\u003e - Remote state with locking is critical for team collaboration\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSecurity First\u003c/strong\u003e - Building security into the infrastructure from day one prevents costly retrofits\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e - Self-documenting code with clear variable descriptions improves maintainability\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"-resources\"\u003e🔗 Resources\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eGitHub Repository\u003c/strong\u003e: \u003ca href=\"https://github.com/yourusername/aks-terraform\"\u003egithub.com/yourusername/aks-terraform\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelated Blog Post\u003c/strong\u003e: \u003ca href=\"/blog/aks-best-practices/\"\u003eBest Practices for Production AKS Clusters\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cem\u003eWant to discuss this project? \u003ca href=\"/contact/\"\u003eGet in touch\u003c/a\u003e!\u003c/em\u003e\u003c/p\u003e","title":"Production-Grade AKS Cluster with Terraform"},{"content":"🎯 Problem Statement Traditional deployment approaches often suffer from:\nManual deployments leading to human errors Configuration drift between environments Lack of audit trail for changes Slow rollback processes during incidents No single source of truth for cluster state 💡 Solution Overview I implemented a GitOps-based continuous deployment pipeline using ArgoCD that treats Git as the single source of truth for declarative infrastructure and application definitions.\n🏗️ Architecture ┌ │ └ ┌ │ │ │ └ ┌ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ G ( - - - ─ ─ ─ ─ A S R ─ ─ i C ─ ─ ─ ─ p o e ─ ─ t I B T P ─ ─ ─ ─ p u p ─ ─ H u e u ─ ─ ─ ─ l r o ─ ─ u P i s s ─ ─ ─ ─ i c s ─ ─ b i l t h ─ ─ ─ │ ▼ ─ c e i ─ │ │ ▼ ─ p d ─ ┌ │ │ │ │ │ └ ─ ─ ─ a t ─ ─ A e I ─ ─ ─ ─ ─ ─ t C o ─ ─ c l m ─ ─ ─ ─ ─ ─ i o r ─ ─ t i a ─ ─ ┌ │ │ └ ─ ─ ─ ─ o d y ─ ─ i n g ─ ─ ─ N ─ ─ ─ ─ ─ n e ─ ─ o e e ─ ─ ─ a ─ ─ ─ ─ ─ ─ ─ n ) ─ ─ ─ m ─ ─ ─ ─ ─ ─ ─ s ─ ─ ─ D e ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ e s ─ ─ ─ ─ ┐ │ │ │ ┘ ┐ │ │ │ │ │ ┘ ─ ─ v p ─ ─ ─ ─ ─ ─ ─ ─ ─ a ─ ─ ─ ─ ─ ─ ─ ─ ─ c ─ ─ ─ ─ ─ ─ ─ ─ K ─ e ─ ─ ─ ─ ─ ─ ─ ─ u ┐ │ │ ┘ ─ ─ ─ ► ► ─ ─ b ─ ─ D ─ ┌ │ │ │ └ ┌ │ │ │ │ ┼ │ └ ─ e ┌ │ │ └ ─ ─ e ─ ─ ─ ─ ─ ─ ─ r ─ N ─ ─ ─ v ─ ─ ─ ─ ─ ─ ─ n ─ S a ─ ─ ─ e ─ ─ ─ ─ ( - - ─ - ─ ─ e ─ t m ─ ─ ─ l ─ ─ C ( ─ ─ C ─ ─ ─ t ─ a e ─ ─ ─ o ─ ─ o K ─ ─ D S H ─ R ─ ─ e ─ g s ─ ─ ─ p ─ ─ n 8 ─ ─ A y e ─ o ─ ─ s ─ i p ─ ─ ─ e ─ ─ f s ─ ─ r P n a ─ l ─ ─ ─ n a ─ ─ ─ r ─ ─ i ─ ─ g l c l ─ l ─ ─ C ─ g c ─ ─ ─ ─ ─ g Y ─ │ │ ▼ ─ o a t ─ b ─ │ ▼ ─ l ─ e ─ ─ ─ W ─ ─ A ─ ─ C t h ─ a ─ ─ u ┐ │ │ ┘ ─ ─ o ─ ─ R M ─ ─ D f ─ c ─ ─ s ─ ─ r ─ ─ e L ─ ─ o C ─ k ─ ─ t ┌ │ │ └ ─ ─ k ─ ─ p ) ─ ─ r h ─ ─ ─ e ─ N ─ ─ ─ f ─ ─ o ─ ─ m e ─ ─ ─ r ─ a ─ ─ ─ l ─ ─ ─ ─ ) c ─ ─ ─ ─ P m ─ ─ ─ o ─ ─ ─ ─ k ─ ─ ─ ─ r e ─ ─ ─ w ─ ─ ─ ─ ─ ─ ─ ─ o s ─ ─ ─ ─ ┐ │ │ │ ┘ ┐ │ │ │ │ ┼ │ ┘ ─ ─ d p ─ ─ ─ ─ ─ ─ ─ a ─ ─ ─ ─ ─ ─ ─ c ─ ─ ─ ─ ─ ─ ─ e ─ ─ ─ ─ ─ ─ ┐ │ │ ┘ ─ ─ ─ ─ ─ ─ ─ ─ ┌ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ C R ( ─ ─ ─ │ │ │ │ ─ ─ ─ ─ o e A ─ ─ ┐ │ ┘ ─ ─ ─ n g C ─ ─ ─ ─ ─ t i R ─ ─ ─ ─ ─ a s / ─ │ │ │ │ │ ┘ ─ ─ ─ i t G ─ ▲ │ │ ─ ─ ─ n r C ─ ─ ─ ─ e y R ─ ─ ─ ─ r ) ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ ┘ ┐ │ │ │ ┘ │ 🛠️ Technologies Used Category Technology GitOps Platform ArgoCD 2.8+ CI Platform GitHub Actions Container Registry Azure Container Registry Kubernetes AKS / GKE Secrets Management Sealed Secrets / External Secrets Notifications Slack, Microsoft Teams Metrics Prometheus + ArgoCD Metrics 📁 Repository Structure # a ├ ├ ├ │ │ └ # g ├ │ │ │ │ │ │ │ │ │ ├ │ │ │ │ │ │ └ p ─ ─ ─ ─ i ─ ─ ─ A p ─ ─ ─ ─ G t ─ ─ ─ p - i o p r s D . └ R t p a ├ │ │ │ │ └ a ├ │ │ │ └ i ├ ├ └ l e r o g ─ E O s p ─ ─ r ─ ─ n ─ ─ ─ i p c c i ─ A p - p ─ ─ g ─ ─ f ─ ─ ─ c o k t D s r s o r a e h w └ M e / b ├ ├ ├ └ ├ ├ └ c a ├ ├ └ p └ a c i m t r u o ─ E C p a ─ ─ ─ ─ v ─ ─ ─ d p ─ ─ ─ r ─ s e n o i f b r ─ . o o s ─ ─ ─ ─ e ─ ─ ─ / p ─ ─ ─ o ─ t r g n o i / k m n / e r l j r t r i n l f c d f / d s i k l d s p i a a a e m u - e t e l i i e e n u a e t r c p p p c y c m s o R o . g p r g s y v a o a p p p t - t a s r e w y u l v r t s g d t - - - s p u n - i p s a r o i e o i / i d s p / r r a n n o / m a y c s m n o e t r o e g g g s l t m e s i g n v a o j / e i / i i e . . z / s . g d e r n t o n y y a y i . c / x o n t a a t a n y t / r . m m i m g a . y R y l l o l . m y e a n y l a p m . a m o l y m l s a l i m t l o r y 🔄 GitOps Workflow CI Pipeline (GitHub Actions) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 name: CI Pipeline on: push: branches: [main] pull_request: branches: [main] jobs: build-and-push: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - name: Build and test run: | docker build -t app:${{ github.sha }} . docker run app:${{ github.sha }} npm test - name: Push to ACR uses: azure/docker-login@v1 with: login-server: ${{ secrets.ACR_LOGIN_SERVER }} username: ${{ secrets.ACR_USERNAME }} password: ${{ secrets.ACR_PASSWORD }} - run: | docker tag app:${{ github.sha }} ${{ secrets.ACR_LOGIN_SERVER }}/app:${{ github.sha }} docker push ${{ secrets.ACR_LOGIN_SERVER }}/app:${{ github.sha }} update-manifests: needs: build-and-push runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 with: repository: org/gitops-repo token: ${{ secrets.GH_PAT }} - name: Update image tag run: | cd apps/overlays/dev kustomize edit set image app=${{ secrets.ACR_LOGIN_SERVER }}/app:${{ github.sha }} - name: Commit and push run: | git config user.name \u0026#34;github-actions\u0026#34; git config user.email \u0026#34;github-actions@github.com\u0026#34; git add . git commit -m \u0026#34;Update dev image to ${{ github.sha }}\u0026#34; git push ArgoCD Application Definition 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: my-app-dev namespace: argocd finalizers: - resources-finalizer.argocd.argoproj.io spec: project: default source: repoURL: https://github.com/org/gitops-repo.git targetRevision: HEAD path: apps/overlays/dev destination: server: https://kubernetes.default.svc namespace: dev syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true retry: limit: 5 backoff: duration: 5s maxDuration: 3m0s factor: 2 🔐 Security Implementation RBAC - Role-based access control for ArgoCD users SSO Integration - Azure AD / GitHub OAuth Sealed Secrets - Encrypted secrets in Git Network Policies - ArgoCD namespace isolation Audit Logging - Complete audit trail of all changes 📊 Results \u0026amp; Metrics Metric Before After Deployment Frequency Weekly Multiple per day Lead Time for Changes 2-3 days \u0026lt; 1 hour Mean Time to Recovery 4 hours \u0026lt; 15 minutes Change Failure Rate 15% \u0026lt; 2% 🔑 Key Learnings Separation of Concerns - Keeping app code and configuration in separate repos provides clear boundaries Progressive Delivery - Promoting changes through environments (dev → staging → prod) catches issues early Self-Healing - ArgoCD\u0026rsquo;s self-heal feature ensures the cluster always matches the desired state Observability - ArgoCD\u0026rsquo;s built-in dashboard provides excellent visibility into deployment status 🔗 Resources GitHub Repository: github.com/yourusername/gitops-argocd Related Blog Post: Getting Started with GitOps Interested in implementing GitOps? Let\u0026rsquo;s discuss!\n","permalink":"https://elmiabdullahi.com/projects/gitops-argocd/","summary":"\u003ch2 id=\"-problem-statement\"\u003e🎯 Problem Statement\u003c/h2\u003e\n\u003cp\u003eTraditional deployment approaches often suffer from:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eManual deployments leading to human errors\u003c/li\u003e\n\u003cli\u003eConfiguration drift between environments\u003c/li\u003e\n\u003cli\u003eLack of audit trail for changes\u003c/li\u003e\n\u003cli\u003eSlow rollback processes during incidents\u003c/li\u003e\n\u003cli\u003eNo single source of truth for cluster state\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"-solution-overview\"\u003e💡 Solution Overview\u003c/h2\u003e\n\u003cp\u003eI implemented a \u003cstrong\u003eGitOps-based continuous deployment pipeline\u003c/strong\u003e using ArgoCD that treats Git as the single source of truth for declarative infrastructure and application definitions.\u003c/p\u003e\n\u003ch2 id=\"-architecture\"\u003e🏗️ Architecture\u003c/h2\u003e\n\n\n\n\u003cdiv class=\"goat svg-container \"\u003e\n  \n    \u003csvg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      font-family=\"Menlo,Lucida Console,monospace\"\n      \n        viewBox=\"0 0 552 489\"\n      \u003e\n      \u003cg transform='translate(8,16)'\u003e\n\u003ctext text-anchor='middle' x='0' y='4' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='20' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='36' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='84' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='148' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='212' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='276' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='292' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='308' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='228' fill='currentColor' style='font-size:1em'\u003eG\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='244' fill='currentColor' style='font-size:1em'\u003e(\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='260' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='276' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='292' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='100' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='116' fill='currentColor' style='font-size:1em'\u003eS\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='132' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='228' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='244' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='100' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='116' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='132' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='228' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='244' fill='currentColor' style='font-size:1em'\u003eI\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='260' fill='currentColor' style='font-size:1em'\u003eB\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='276' fill='currentColor' style='font-size:1em'\u003eT\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='292' fill='currentColor' style='font-size:1em'\u003eP\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='100' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='116' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='132' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='228' fill='currentColor' style='font-size:1em'\u003eH\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='260' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='276' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='292' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='100' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='116' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='132' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='228' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='244' fill='currentColor' style='font-size:1em'\u003eP\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='260' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='276' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='292' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='100' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='116' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='132' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='228' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='244' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='260' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='276' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='292' fill='currentColor' style='font-size:1em'\u003eh\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='52' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='68' fill='currentColor' style='font-size:1em'\u003e▼\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='100' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='116' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='132' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='164' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='180' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='196' fill='currentColor' style='font-size:1em'\u003e▼\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='244' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='260' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='372' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='388' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='404' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='436' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='452' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='468' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='100' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='132' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='228' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='244' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='292' fill='currentColor' style='font-size:1em'\u003eI\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='100' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='116' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='132' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='228' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='244' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='292' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='100' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='116' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='132' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='228' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='244' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='292' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='404' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='436' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='452' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='100' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='116' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='132' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='228' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='244' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='292' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='436' fill='currentColor' style='font-size:1em'\u003eN\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='100' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='116' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='228' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='244' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='292' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='436' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='228' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='244' fill='currentColor' style='font-size:1em'\u003e)\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='436' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='228' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='420' fill='currentColor' style='font-size:1em'\u003eD\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='436' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='420' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='436' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='84' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='148' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='212' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='276' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='292' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='308' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='420' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='436' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='436' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='436' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='388' fill='currentColor' style='font-size:1em'\u003eK\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='436' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='388' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='404' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='436' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='452' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='116' fill='currentColor' style='font-size:1em'\u003e►\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='244' fill='currentColor' style='font-size:1em'\u003e►\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='388' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='20' fill='currentColor' style='font-size:1em'\u003eD\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='84' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='148' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='212' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='276' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='292' fill='currentColor' style='font-size:1em'\u003e┼\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='308' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='324' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='388' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='404' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='436' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='452' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='20' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='388' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='436' fill='currentColor' style='font-size:1em'\u003eN\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='20' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='388' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='420' fill='currentColor' style='font-size:1em'\u003eS\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='436' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='20' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='244' fill='currentColor' style='font-size:1em'\u003e(\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='260' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='276' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='308' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='388' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='420' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='436' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='20' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='100' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='116' fill='currentColor' style='font-size:1em'\u003e(\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='244' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='388' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='420' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='436' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='20' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='100' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='116' fill='currentColor' style='font-size:1em'\u003eK\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='244' fill='currentColor' style='font-size:1em'\u003eD\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='260' fill='currentColor' style='font-size:1em'\u003eS\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='276' fill='currentColor' style='font-size:1em'\u003eH\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='308' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='388' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='420' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='436' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='20' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='100' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='116' fill='currentColor' style='font-size:1em'\u003e8\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='228' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='260' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='276' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='308' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='388' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='420' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='436' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='20' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='100' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='116' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='228' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='244' fill='currentColor' style='font-size:1em'\u003eP\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='260' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='276' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='308' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='420' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='436' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='20' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='100' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='228' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='244' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='260' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='276' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='308' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='388' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='420' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='436' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='100' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='116' fill='currentColor' style='font-size:1em'\u003eY\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='164' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='180' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='196' fill='currentColor' style='font-size:1em'\u003e▼\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='228' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='244' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='276' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='308' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='340' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='356' fill='currentColor' style='font-size:1em'\u003e▼\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='388' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='436' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='264' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='20' fill='currentColor' style='font-size:1em'\u003eW\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='116' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='228' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='244' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='276' fill='currentColor' style='font-size:1em'\u003eh\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='308' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='388' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='404' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='436' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='452' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='20' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='100' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='116' fill='currentColor' style='font-size:1em'\u003eM\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='228' fill='currentColor' style='font-size:1em'\u003eD\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='244' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='308' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='388' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='20' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='100' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='116' fill='currentColor' style='font-size:1em'\u003eL\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='244' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='276' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='308' fill='currentColor' style='font-size:1em'\u003ek\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='388' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='404' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='436' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='452' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='20' fill='currentColor' style='font-size:1em'\u003ek\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='100' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='116' fill='currentColor' style='font-size:1em'\u003e)\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='244' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='276' fill='currentColor' style='font-size:1em'\u003eh\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='388' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='436' fill='currentColor' style='font-size:1em'\u003eN\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='20' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='100' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='244' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='276' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='388' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='436' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='20' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='244' fill='currentColor' style='font-size:1em'\u003e)\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='276' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='420' fill='currentColor' style='font-size:1em'\u003eP\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='436' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='20' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='276' fill='currentColor' style='font-size:1em'\u003ek\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='420' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='436' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='20' fill='currentColor' style='font-size:1em'\u003ew\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='420' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='436' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='84' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='148' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='212' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='276' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='292' fill='currentColor' style='font-size:1em'\u003e┼\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='308' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='324' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='420' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='436' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='436' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='436' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='436' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='404' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='436' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='452' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='84' fill='currentColor' style='font-size:1em'\u003e┌\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='148' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='100' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='116' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='132' fill='currentColor' style='font-size:1em'\u003e(\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='404' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='436' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='452' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='100' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='116' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='132' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='372' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='388' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='468' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='100' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='116' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='132' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='100' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='116' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='132' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='100' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='116' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='132' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='276' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='292' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='100' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='116' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='132' fill='currentColor' style='font-size:1em'\u003eG\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='164' fill='currentColor' style='font-size:1em'\u003e▲\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='180' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='100' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='116' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='132' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='100' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='116' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='132' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='100' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='132' fill='currentColor' style='font-size:1em'\u003e)\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='496' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='496' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='496' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='496' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='504' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='504' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='504' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='504' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='512' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='512' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='512' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='512' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='4' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='4' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='36' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='84' fill='currentColor' style='font-size:1em'\u003e┐\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='148' fill='currentColor' style='font-size:1em'\u003e┘\u003c/text\u003e\n\u003ctext text-anchor='middle' x='536' y='20' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003c/g\u003e\n\n    \u003c/svg\u003e\n  \n\u003c/div\u003e\n\u003ch2 id=\"-technologies-used\"\u003e🛠️ Technologies Used\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003eCategory\u003c/th\u003e\n          \u003cth\u003eTechnology\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eGitOps Platform\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eArgoCD 2.8+\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eCI Platform\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eGitHub Actions\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eContainer Registry\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eAzure Container Registry\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eKubernetes\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eAKS / GKE\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eSecrets Management\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eSealed Secrets / External Secrets\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eNotifications\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eSlack, Microsoft Teams\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eMetrics\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003ePrometheus + ArgoCD Metrics\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"-repository-structure\"\u003e📁 Repository Structure\u003c/h2\u003e\n\n\n\n\u003cdiv class=\"goat svg-container \"\u003e\n  \n    \u003csvg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      font-family=\"Menlo,Lucida Console,monospace\"\n      \n        viewBox=\"0 0 272 521\"\n      \u003e\n      \u003cg transform='translate(8,16)'\u003e\n\u003cpath d='M 56,32 L 64,16' fill='none' stroke='currentColor'\u003e\u003c/path\u003e\n\u003cpath d='M 120,288 L 128,272' fill='none' stroke='currentColor'\u003e\u003c/path\u003e\n\u003cpath d='M 156,360 L 164,344' fill='none' stroke='currentColor'\u003e\u003c/path\u003e\n\u003ccircle cx='64' cy='272' r='6' stroke='currentColor' fill='#fff'\u003e\u003c/circle\u003e\n\u003ctext text-anchor='middle' x='0' y='4' fill='currentColor' style='font-size:1em'\u003e#\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='20' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='36' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='52' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='68' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='84' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='116' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='148' fill='currentColor' style='font-size:1em'\u003e#\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='164' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='180' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='196' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='276' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='292' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='308' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='324' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='340' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='356' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='372' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='388' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='404' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='420' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='436' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='452' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='20' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='68' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='164' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='20' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='68' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='148' fill='currentColor' style='font-size:1em'\u003eG\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='164' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='180' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='340' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='452' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='20' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='148' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='164' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='20' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='36' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='52' fill='currentColor' style='font-size:1em'\u003eD\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='68' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='84' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='116' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='148' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='164' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='180' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='196' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='212' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='228' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='244' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='260' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='276' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='340' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='356' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='372' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='388' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='404' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='420' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='452' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='468' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='484' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='500' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='20' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='36' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='52' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='68' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='116' fill='currentColor' style='font-size:1em'\u003eE\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='148' fill='currentColor' style='font-size:1em'\u003eO\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='164' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='180' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='196' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='340' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='452' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='484' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='500' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='20' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='36' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='52' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='68' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='116' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='148' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='164' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='180' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='196' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='276' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='340' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='356' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='420' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='452' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='468' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='484' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='500' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='20' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='52' fill='currentColor' style='font-size:1em'\u003ek\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='68' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='116' fill='currentColor' style='font-size:1em'\u003eD\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='148' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='164' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='180' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='340' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='452' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='52' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='68' fill='currentColor' style='font-size:1em'\u003eh\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='84' fill='currentColor' style='font-size:1em'\u003ew\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='100' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='116' fill='currentColor' style='font-size:1em'\u003eM\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='164' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='180' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='196' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='212' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='228' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='244' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='260' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='292' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='308' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='324' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='340' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='356' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='372' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='388' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='404' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='420' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='436' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='452' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='468' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='484' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='500' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='52' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='68' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='84' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='100' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='116' fill='currentColor' style='font-size:1em'\u003eE\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='148' fill='currentColor' style='font-size:1em'\u003eC\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='164' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='196' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='260' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='276' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='340' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='356' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='388' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='420' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='452' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='468' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='484' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='500' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='4' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='52' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='68' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='84' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='100' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='116' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='148' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='164' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='196' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='212' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='228' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='244' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='260' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='276' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='292' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='308' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='324' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='340' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='356' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='372' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='388' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='404' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='420' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='436' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='452' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='468' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='484' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='500' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='4' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='52' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='68' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='84' fill='currentColor' style='font-size:1em'\u003ek\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='116' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='148' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='164' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='196' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='276' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='356' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='420' fill='currentColor' style='font-size:1em'\u003ej\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='452' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='468' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='484' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='500' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='4' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='52' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='84' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='100' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='116' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='148' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='196' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='212' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='228' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='244' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='260' fill='currentColor' style='font-size:1em'\u003ek\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='276' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='292' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='308' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='324' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='356' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='372' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='388' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='404' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='420' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='436' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='452' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='468' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='484' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='500' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='52' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='84' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='100' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='148' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='212' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='228' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='244' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='260' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='276' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='292' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='308' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='324' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='356' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='372' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='388' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='404' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='420' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='436' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='452' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='468' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='484' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='500' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='4' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='84' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='100' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='148' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='212' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='228' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='244' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='260' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='276' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='292' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='308' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='324' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='356' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='372' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='388' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='404' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='420' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='436' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='452' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='468' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='484' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='500' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='4' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='84' fill='currentColor' style='font-size:1em'\u003ew\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='100' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='148' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='212' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='228' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='244' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='260' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='276' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='308' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='324' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='356' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='372' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='388' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='404' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='420' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='436' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='452' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='468' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='484' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='500' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='4' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='84' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='100' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='148' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='212' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='228' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='244' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='260' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='308' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='324' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='356' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='372' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='388' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='404' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='420' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='436' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='452' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='468' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='484' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='500' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='4' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='84' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='100' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='148' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='212' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='228' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='244' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='260' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='308' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='356' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='372' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='388' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='404' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='436' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='452' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='468' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='484' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='500' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='4' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='100' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='148' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='212' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='228' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='244' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='260' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='308' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='356' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='372' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='388' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='404' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='436' fill='currentColor' style='font-size:1em'\u003ej\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='452' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='468' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='484' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='500' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='4' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='148' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='212' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='228' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='244' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='260' fill='currentColor' style='font-size:1em'\u003ez\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='308' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='356' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='372' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='388' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='404' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='436' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='468' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='484' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='4' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='148' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='212' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='228' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='244' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='260' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='372' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='388' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='404' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='436' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='468' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='484' fill='currentColor' style='font-size:1em'\u003ex\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='4' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='148' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='212' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='228' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='244' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='260' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='372' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='388' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='404' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='436' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='484' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='4' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='212' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='228' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='244' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='260' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='372' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='388' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='404' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='176' y='436' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='4' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='148' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='212' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='228' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='244' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='260' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='372' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='388' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='404' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='436' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='148' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='212' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='260' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='388' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='404' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='192' y='436' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='148' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='212' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='260' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='388' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='436' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='148' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='212' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='260' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='388' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='436' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='148' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='260' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='388' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='148' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='260' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='148' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='260' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='148' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='148' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='148' fill='currentColor' style='font-size:1em'\u003ey\u003c/text\u003e\n\u003c/g\u003e\n\n    \u003c/svg\u003e\n  \n\u003c/div\u003e\n\u003ch2 id=\"-gitops-workflow\"\u003e🔄 GitOps Workflow\u003c/h2\u003e\n\u003ch3 id=\"ci-pipeline-github-actions\"\u003eCI Pipeline (GitHub Actions)\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cdiv class=\"chroma\"\u003e\n\u003ctable class=\"lntable\"\u003e\u003ctr\u003e\u003ctd class=\"lntd\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"lnt\" id=\"hl-2-1\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-1\"\u003e 1\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-2\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-2\"\u003e 2\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-3\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-3\"\u003e 3\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-4\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-4\"\u003e 4\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-5\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-5\"\u003e 5\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-6\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-6\"\u003e 6\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-7\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-7\"\u003e 7\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-8\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-8\"\u003e 8\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-9\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-9\"\u003e 9\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-10\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-10\"\u003e10\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-11\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-11\"\u003e11\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-12\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-12\"\u003e12\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-13\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-13\"\u003e13\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-14\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-14\"\u003e14\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-15\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-15\"\u003e15\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-16\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-16\"\u003e16\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-17\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-17\"\u003e17\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-18\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-18\"\u003e18\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-19\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-19\"\u003e19\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-20\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-20\"\u003e20\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-21\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-21\"\u003e21\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-22\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-22\"\u003e22\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-23\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-23\"\u003e23\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-24\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-24\"\u003e24\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-25\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-25\"\u003e25\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-26\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-26\"\u003e26\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-27\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-27\"\u003e27\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-28\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-28\"\u003e28\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-29\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-29\"\u003e29\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-30\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-30\"\u003e30\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-31\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-31\"\u003e31\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-32\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-32\"\u003e32\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-33\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-33\"\u003e33\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-34\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-34\"\u003e34\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-35\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-35\"\u003e35\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-36\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-36\"\u003e36\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-37\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-37\"\u003e37\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-38\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-38\"\u003e38\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-39\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-39\"\u003e39\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-40\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-40\"\u003e40\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-41\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-41\"\u003e41\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-42\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-42\"\u003e42\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-43\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-43\"\u003e43\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-44\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-44\"\u003e44\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-45\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-45\"\u003e45\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-46\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-46\"\u003e46\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-47\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-47\"\u003e47\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-48\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-48\"\u003e48\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-49\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-49\"\u003e49\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-50\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-50\"\u003e50\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-51\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-51\"\u003e51\u003c/a\u003e\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/td\u003e\n\u003ctd class=\"lntd\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eCI Pipeline\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003cspan class=\"nt\"\u003eon\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003epush\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003ebranches\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"l\"\u003emain]\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003epull_request\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003ebranches\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"l\"\u003emain]\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003cspan class=\"nt\"\u003ejobs\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003ebuild-and-push\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eruns-on\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eubuntu-latest\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003esteps\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"nt\"\u003euses\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eactions/checkout@v7\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eBuild and test\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e        \u003c/span\u003e\u003cspan class=\"nt\"\u003erun\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"p\"\u003e|\u003c/span\u003e\u003cspan class=\"sd\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e          docker build -t app:${{ github.sha }} .\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e          docker run app:${{ github.sha }} npm test\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003ePush to ACR\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e        \u003c/span\u003e\u003cspan class=\"nt\"\u003euses\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eazure/docker-login@v1\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e        \u003c/span\u003e\u003cspan class=\"nt\"\u003ewith\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e          \u003c/span\u003e\u003cspan class=\"nt\"\u003elogin-server\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003e${{ secrets.ACR_LOGIN_SERVER }}\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e          \u003c/span\u003e\u003cspan class=\"nt\"\u003eusername\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003e${{ secrets.ACR_USERNAME }}\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e          \u003c/span\u003e\u003cspan class=\"nt\"\u003epassword\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003e${{ secrets.ACR_PASSWORD }}\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"nt\"\u003erun\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"p\"\u003e|\u003c/span\u003e\u003cspan class=\"sd\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e          docker tag app:${{ github.sha }} ${{ secrets.ACR_LOGIN_SERVER }}/app:${{ github.sha }}\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e          docker push ${{ secrets.ACR_LOGIN_SERVER }}/app:${{ github.sha }}\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003eupdate-manifests\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eneeds\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003ebuild-and-push\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eruns-on\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eubuntu-latest\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003esteps\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"nt\"\u003euses\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eactions/checkout@v7\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e        \u003c/span\u003e\u003cspan class=\"nt\"\u003ewith\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e          \u003c/span\u003e\u003cspan class=\"nt\"\u003erepository\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eorg/gitops-repo\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e          \u003c/span\u003e\u003cspan class=\"nt\"\u003etoken\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003e${{ secrets.GH_PAT }}\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eUpdate image tag\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e        \u003c/span\u003e\u003cspan class=\"nt\"\u003erun\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"p\"\u003e|\u003c/span\u003e\u003cspan class=\"sd\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e          cd apps/overlays/dev\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e          kustomize edit set image app=${{ secrets.ACR_LOGIN_SERVER }}/app:${{ github.sha }}\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eCommit and push\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e        \u003c/span\u003e\u003cspan class=\"nt\"\u003erun\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"p\"\u003e|\u003c/span\u003e\u003cspan class=\"sd\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e          git config user.name \u0026#34;github-actions\u0026#34;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e          git config user.email \u0026#34;github-actions@github.com\u0026#34;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e          git add .\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e          git commit -m \u0026#34;Update dev image to ${{ github.sha }}\u0026#34;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e          git push\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\u003c/div\u003e\n\u003c/div\u003e\u003ch3 id=\"argocd-application-definition\"\u003eArgoCD Application Definition\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cdiv class=\"chroma\"\u003e\n\u003ctable class=\"lntable\"\u003e\u003ctr\u003e\u003ctd class=\"lntd\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"lnt\" id=\"hl-3-1\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-1\"\u003e 1\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-2\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-2\"\u003e 2\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-3\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-3\"\u003e 3\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-4\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-4\"\u003e 4\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-5\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-5\"\u003e 5\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-6\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-6\"\u003e 6\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-7\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-7\"\u003e 7\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-8\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-8\"\u003e 8\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-9\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-9\"\u003e 9\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-10\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-10\"\u003e10\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-11\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-11\"\u003e11\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-12\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-12\"\u003e12\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-13\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-13\"\u003e13\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-14\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-14\"\u003e14\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-15\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-15\"\u003e15\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-16\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-16\"\u003e16\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-17\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-17\"\u003e17\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-18\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-18\"\u003e18\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-19\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-19\"\u003e19\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-20\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-20\"\u003e20\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-21\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-21\"\u003e21\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-22\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-22\"\u003e22\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-23\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-23\"\u003e23\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-24\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-24\"\u003e24\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-25\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-25\"\u003e25\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-26\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-26\"\u003e26\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-27\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-27\"\u003e27\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-3-28\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-3-28\"\u003e28\u003c/a\u003e\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/td\u003e\n\u003ctd class=\"lntd\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003eapiVersion\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eargoproj.io/v1alpha1\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003cspan class=\"nt\"\u003ekind\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eApplication\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003cspan class=\"nt\"\u003emetadata\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003emy-app-dev\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003enamespace\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eargocd\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003efinalizers\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e- \u003cspan class=\"l\"\u003eresources-finalizer.argocd.argoproj.io\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003cspan class=\"nt\"\u003espec\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003eproject\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003edefault\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003esource\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003erepoURL\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003ehttps://github.com/org/gitops-repo.git\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003etargetRevision\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eHEAD\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003epath\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eapps/overlays/dev\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003edestination\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eserver\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003ehttps://kubernetes.default.svc\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003enamespace\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003edev\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003esyncPolicy\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eautomated\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"nt\"\u003eprune\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"nt\"\u003eselfHeal\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003esyncOptions\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eCreateNamespace=true\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eretry\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"nt\"\u003elimit\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"m\"\u003e5\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"nt\"\u003ebackoff\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e        \u003c/span\u003e\u003cspan class=\"nt\"\u003eduration\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003e5s\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e        \u003c/span\u003e\u003cspan class=\"nt\"\u003emaxDuration\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003e3m0s\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e        \u003c/span\u003e\u003cspan class=\"nt\"\u003efactor\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\u003c/div\u003e\n\u003c/div\u003e\u003ch2 id=\"-security-implementation\"\u003e🔐 Security Implementation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRBAC\u003c/strong\u003e - Role-based access control for ArgoCD users\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSSO Integration\u003c/strong\u003e - Azure AD / GitHub OAuth\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSealed Secrets\u003c/strong\u003e - Encrypted secrets in Git\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNetwork Policies\u003c/strong\u003e - ArgoCD namespace isolation\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAudit Logging\u003c/strong\u003e - Complete audit trail of all changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"-results--metrics\"\u003e📊 Results \u0026amp; Metrics\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003eMetric\u003c/th\u003e\n          \u003cth\u003eBefore\u003c/th\u003e\n          \u003cth\u003eAfter\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eDeployment Frequency\u003c/td\u003e\n          \u003ctd\u003eWeekly\u003c/td\u003e\n          \u003ctd\u003eMultiple per day\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eLead Time for Changes\u003c/td\u003e\n          \u003ctd\u003e2-3 days\u003c/td\u003e\n          \u003ctd\u003e\u0026lt; 1 hour\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eMean Time to Recovery\u003c/td\u003e\n          \u003ctd\u003e4 hours\u003c/td\u003e\n          \u003ctd\u003e\u0026lt; 15 minutes\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eChange Failure Rate\u003c/td\u003e\n          \u003ctd\u003e15%\u003c/td\u003e\n          \u003ctd\u003e\u0026lt; 2%\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"-key-learnings\"\u003e🔑 Key Learnings\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eSeparation of Concerns\u003c/strong\u003e - Keeping app code and configuration in separate repos provides clear boundaries\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProgressive Delivery\u003c/strong\u003e - Promoting changes through environments (dev → staging → prod) catches issues early\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSelf-Healing\u003c/strong\u003e - ArgoCD\u0026rsquo;s self-heal feature ensures the cluster always matches the desired state\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eObservability\u003c/strong\u003e - ArgoCD\u0026rsquo;s built-in dashboard provides excellent visibility into deployment status\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"-resources\"\u003e🔗 Resources\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eGitHub Repository\u003c/strong\u003e: \u003ca href=\"https://github.com/yourusername/gitops-argocd\"\u003egithub.com/yourusername/gitops-argocd\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRelated Blog Post\u003c/strong\u003e: \u003ca href=\"/blog/gitops-introduction/\"\u003eGetting Started with GitOps\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cem\u003eInterested in implementing GitOps? \u003ca href=\"/contact/\"\u003eLet\u0026rsquo;s discuss\u003c/a\u003e!\u003c/em\u003e\u003c/p\u003e","title":"GitOps with ArgoCD and Kubernetes"},{"content":"🎯 Problem Statement Enterprise organizations face several challenges with cloud infrastructure:\nVendor Lock-in - Over-reliance on a single cloud provider Disaster Recovery - Need for geographic and provider redundancy Compliance - Data residency requirements across regions Cost Optimization - Leveraging best pricing across providers Complexity - Managing infrastructure across multiple platforms 💡 Solution Overview I architected and implemented a multi-cloud infrastructure spanning Azure and GCP using Terraform, providing high availability, disaster recovery, and cost optimization while maintaining a unified Infrastructure as Code approach.\n🏗️ Architecture ┌ │ │ └ ┌ │ │ ├ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┌ │ │ └ ─ ─ ─ ─ ─ ┌ │ └ ┌ │ ▼ ─ ─ ┌ │ │ └ ┌ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ W ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ e ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ A s ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ K t ─ │ └ ─ ( ─ ─ A ( ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ S ─ ─ ─ G ─ ─ z R ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ E ─ ─ ─ A e ─ ─ u A ─ ─ ─ ─ ─ ( ─ ─ A ─ ─ ─ U ─ ─ ─ z o ─ ─ r - ─ ─ ─ ─ ─ P ─ ─ z ─ ─ ─ ─ ─ ─ u - ─ ─ e G ─ ─ ─ ─ ─ A r ─ ─ u ─ ─ ┐ │ │ ┘ ─ ─ r R ─ ─ R ─ ─ ─ ─ ─ Z i ─ ─ r ─ ─ ─ ─ e e ─ ─ B S ─ ─ ─ ─ ─ U m ─ ─ e ─ ─ ─ ─ p ─ ─ l ) ─ ─ ─ ─ ─ R a ─ ─ ─ │ ┴ ─ ─ D l ─ ─ o ─ ─ ─ ─ ─ E r ─ ─ F ─ ─ ─ ─ a i ─ ─ b ─ ─ ─ ─ ─ y ─ ─ r ─ ─ ┬ │ ┴ t c ─ ─ ─ ─ ─ ─ ─ ) ─ ─ o ─ ─ ─ ─ a a ─ ─ S ─ ─ ─ ─ ─ ─ ─ n ─ ─ ─ ─ b t ─ ─ t ─ ─ ─ ─ │ ▼ ─ ─ ─ t ─ ─ ─ ─ a e ─ ─ o ─ ─ │ └ ┌ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ s d ─ ─ r ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ D ─ ─ ┌ │ │ └ ─ ─ e ) ─ ─ a ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ o ─ ─ ─ ─ ─ ─ ─ ─ g ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ o ─ ─ ─ E ─ ─ ─ ─ ─ e ─ ─ ─ ─ ( ─ ─ ( ─ ─ ─ ─ r ─ ─ ─ a ─ ─ ─ ─ ─ ─ ─ ─ ─ P ─ ─ A ─ ─ ─ ─ ─ ─ ─ A s ─ ─ ─ ─ ─ ─ ─ ─ ─ C r ─ ─ G z ─ ─ ─ ─ ─ ┐ │ ▼ ─ K t ─ │ ┘ ─ ─ ─ ─ ─ ─ ─ e o ─ ─ l u ─ ─ ─ ─ ─ ─ S ─ ─ ─ ─ ─ ─ ─ ─ n m ─ ─ o r ─ ─ ─ ─ ─ ─ U ─ ─ ─ ─ ─ ─ ─ ─ t e ─ ─ b e ─ ─ ─ ─ ─ ─ S ─ ─ ─ ─ ─ ─ ─ ─ r t ─ ─ a ─ ─ ─ ─ ─ ─ ─ ┐ │ │ ┘ ┐ │ │ ┘ ─ ─ ─ a h ─ ─ l T ─ ─ ─ ┐ │ ┘ ┐ │ │ ┘ ◄ ◄ ─ ─ ─ l e ─ ─ r ─ ─ ─ ─ ─ ─ ─ ─ i u ─ ─ T a ─ ┐ ┤ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┼ │ │ ┼ │ │ ┘ ─ ─ z s ─ ─ r f ─ │ │ │ ─ │ ─ ─ ─ e ─ ─ a f ─ ─ ─ ┬ ▼ ─ d + ─ ─ f i ─ ─ ─ ─ ─ ─ ─ f c ─ ┌ ├ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┼ │ │ ┼ │ │ └ ─ ─ M G ─ ─ i ─ ─ │ │ ─ │ ─ │ ─ ─ ─ ─ o r ─ ─ c M ─ ─ ─ ┌ │ │ └ ─ ─ ─ ─ ─ n a ─ ─ a ─ ─ ─ ┌ │ └ ┌ │ ▼ ─ ─ ┌ │ │ └ ┌ │ │ └ ─ ─ ─ i f ─ ─ M n ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ t a ─ ─ a a ─ ─ ─ ─ ─ ─ ─ E ─ ─ ─ ─ ─ ─ ─ ─ o n ─ ─ n g ─ ─ ─ ─ ─ ─ ─ G U ─ ─ ─ ─ ─ ─ ─ ─ r a ─ ─ a e ─ ─ ─ ─ ─ ─ ─ K ─ │ └ ─ ( ─ ─ C ( ─ ─ ─ ─ i ─ ─ g r ─ ─ ─ ─ C ─ ─ ─ E ─ ─ ─ C ─ ─ l M ─ ─ ─ ─ n + ─ ─ e ─ ─ ─ ─ l ─ ─ ─ ─ ─ ─ r ─ ─ o u ─ ─ ─ ─ g ─ ─ r / ─ ─ ─ ─ o ─ ─ ─ ─ ─ ─ C o ─ ─ u l ─ ─ ─ ─ P ─ ─ ─ ─ ( ─ ─ u ─ ─ ─ ─ ─ ─ l s ─ ─ d t ─ ─ ─ ─ a ─ ─ C ─ ─ S ─ ─ d ─ ─ ┐ │ │ ┘ ─ ─ o s ─ ─ i ─ ─ ─ ─ g ─ ─ l ─ ─ e ─ ─ ─ ─ ─ ─ u - ─ ─ S - ─ ─ ─ ─ e ─ ─ o ─ ─ G c ─ ─ L ─ ─ ─ ─ d R ─ ─ t R ─ ─ ─ ─ r ─ ─ u ─ ─ C o ─ ─ o ─ ┴ ─ ─ e ─ ─ o e ─ ─ ─ ─ D ─ ─ d ─ ─ P n ─ ─ a ─ │ ─ ─ ─ S g ─ ─ r g ─ ─ ─ ─ u ─ ─ ─ ─ d ─ ─ d ─ ─ ┬ │ ┴ Q i ─ ─ a i ─ ─ ─ ─ t ─ ─ D ─ │ ▼ ─ a ─ ─ ─ ─ ─ ─ L o ─ ─ g o ─ ─ │ ┘ ┐ │ y ┘ ─ N ─ ─ r ─ ─ B ─ ─ ─ ─ n ─ ─ e n ─ ─ ) ─ S ─ ─ y ─ ─ a ─ ─ ─ ─ ) ─ ─ a ─ ─ │ ─ ) ─ ─ ) ─ ─ l ─ ─ ─ ─ ─ ─ l ─ ─ ─ ─ ─ ─ ─ a ─ ─ ┌ │ │ └ ─ ─ ─ ─ ) ─ ─ ─ ─ ─ ─ ─ n ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ c ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ e ─ ─ ─ U ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ r ─ ─ ─ G S ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ │ ▼ ─ K ─ │ ┘ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ E ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ ─ ─ ─ ┐ │ │ ┘ ┐ │ │ ┘ ─ ─ ─ ─ ─ ┐ ┘ ┐ │ │ ┘ ─ ─ ─ ─ ─ │ ─ ─ ─ ┐ ┤ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┘ ─ ─ ─ ─ │ │ │ │ ─ ─ ─ ─ ─ ─ ┐ ┘ │ │ 🛠️ Technologies Used Category Azure GCP Compute AKS GKE Load Balancing Azure Front Door Cloud Load Balancer Database Azure PostgreSQL Cloud SQL Storage Blob Storage (RA-GRS) Cloud Storage DNS Traffic Manager Cloud DNS Secrets Key Vault Secret Manager Monitoring Azure Monitor Cloud Monitoring Common Tools:\nTerraform 1.5+ with workspaces Terragrunt for DRY configurations GitHub Actions for CI/CD Prometheus + Grafana (multi-cloud) 📁 Project Structure m ├ │ │ │ ├ │ │ │ ├ └ u ─ ─ ─ ─ l ─ ─ ─ ─ t i m ├ ├ └ e ├ ├ └ t R c o ─ ─ ─ n ─ ─ ─ e E l d ─ ─ ─ v ─ ─ ─ r A o u i r D u l a g s r d s p a M d e z c h o e t r g E - s u p a n v a o r . t / r / r m / g d u m e e e e i / n d r / d n n t r / t g . a s / h f / c o l r m / # # # # # # A G D D S P K K N e t r S E S v a o , , , g d c i u n n m o n c e e o n g t t t n f i w w i i c o o o t g o n r r o s n k k r f c i i i ( i o n n n a g n g g g z s f , , u i r g d d e s a a / t t , a a b b g a a c s s p e e / , , ) s s t t o o r r a a g g e e 🔧 Implementation Highlights Unified Terraform Module Pattern 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 # modules/kubernetes/main.tf # Abstract module that works across cloud providers variable \u0026#34;cloud_provider\u0026#34; { type = string description = \u0026#34;Cloud provider: azure or gcp\u0026#34; validation { condition = contains([\u0026#34;azure\u0026#34;, \u0026#34;gcp\u0026#34;], var.cloud_provider) error_message = \u0026#34;Must be azure or gcp.\u0026#34; } } variable \u0026#34;cluster_config\u0026#34; { type = object({ name = string node_count = number node_size = string k8s_version = string }) } module \u0026#34;aks\u0026#34; { source = \u0026#34;../azure/aks\u0026#34; count = var.cloud_provider == \u0026#34;azure\u0026#34; ? 1 : 0 cluster_name = var.cluster_config.name node_count = var.cluster_config.node_count vm_size = var.cluster_config.node_size k8s_version = var.cluster_config.k8s_version } module \u0026#34;gke\u0026#34; { source = \u0026#34;../gcp/gke\u0026#34; count = var.cloud_provider == \u0026#34;gcp\u0026#34; ? 1 : 0 cluster_name = var.cluster_config.name node_count = var.cluster_config.node_count machine_type = var.cluster_config.node_size gke_version = var.cluster_config.k8s_version } Cross-Cloud Data Replication 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # Database replication setup resource \u0026#34;azurerm_postgresql_flexible_server\u0026#34; \u0026#34;primary\u0026#34; { name = \u0026#34;db-primary\u0026#34; resource_group_name = azurerm_resource_group.main.name location = \u0026#34;westeurope\u0026#34; sku_name = \u0026#34;GP_Standard_D4s_v3\u0026#34; storage_mb = 32768 version = \u0026#34;14\u0026#34; high_availability { mode = \u0026#34;ZoneRedundant\u0026#34; } # Cross-cloud replication via logical replication # Configured through application-level sync } Terragrunt DRY Configuration 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # environments/prod/azure/terragrunt.hcl include \u0026#34;root\u0026#34; { path = find_in_parent_folders() } terraform { source = \u0026#34;../../../modules/azure/aks\u0026#34; } inputs = { environment = \u0026#34;prod\u0026#34; cluster_name = \u0026#34;aks-prod-westeu\u0026#34; node_count = 5 node_pool_min = 3 node_pool_max = 10 vm_size = \u0026#34;Standard_D4s_v5\u0026#34; tags = { Environment = \u0026#34;Production\u0026#34; ManagedBy = \u0026#34;Terraform\u0026#34; CostCenter = \u0026#34;Platform\u0026#34; } } 🔐 Security Implementation Network Isolation - VNet/VPC peering with strict firewall rules Zero Trust - Service mesh with mTLS (Istio) Identity Federation - Azure AD ↔ Google Workspace Encryption - Data encrypted at rest and in transit Compliance - SOC2, GDPR-ready architecture Secret Management - HashiCorp Vault for cross-cloud secrets 📊 Results \u0026amp; Benefits Metric Achievement Availability 99.99% uptime RTO \u0026lt; 5 minutes RPO \u0026lt; 1 minute Cost Savings 25% via spot/preemptible instances Deployment Consistency 100% across clouds 🔑 Key Learnings Abstraction is Key - Creating provider-agnostic modules reduces complexity State Management - Separate state files per cloud prevent blast radius issues Testing - Terratest for automated infrastructure testing across clouds Documentation - Comprehensive runbooks for cross-cloud failover scenarios Cost Monitoring - Unified cost dashboards essential for multi-cloud optimization ⚠️ Challenges Overcome Service Parity - Not all services have direct equivalents; designed for lowest common denominator Networking - VPN tunnels between clouds for private connectivity Monitoring - Unified observability stack (Prometheus) vs native tools Team Skills - Cross-training team on both cloud platforms 🔗 Resources GitHub Repository: github.com/yourusername/multicloud-terraform Related Blog Post: Multi-Cloud Strategy with Terraform Building multi-cloud? Let\u0026rsquo;s connect!\n","permalink":"https://elmiabdullahi.com/projects/multicloud-terraform/","summary":"\u003ch2 id=\"-problem-statement\"\u003e🎯 Problem Statement\u003c/h2\u003e\n\u003cp\u003eEnterprise organizations face several challenges with cloud infrastructure:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eVendor Lock-in\u003c/strong\u003e - Over-reliance on a single cloud provider\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDisaster Recovery\u003c/strong\u003e - Need for geographic and provider redundancy\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCompliance\u003c/strong\u003e - Data residency requirements across regions\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCost Optimization\u003c/strong\u003e - Leveraging best pricing across providers\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eComplexity\u003c/strong\u003e - Managing infrastructure across multiple platforms\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"-solution-overview\"\u003e💡 Solution Overview\u003c/h2\u003e\n\u003cp\u003eI architected and implemented a \u003cstrong\u003emulti-cloud infrastructure\u003c/strong\u003e spanning Azure and GCP using Terraform, providing high availability, disaster recovery, and cost optimization while maintaining a unified Infrastructure as Code approach.\u003c/p\u003e","title":"Multi-Cloud Infrastructure with Terraform"},{"content":"🎯 Problem Statement Modern Kubernetes environments face observability challenges:\nVisibility Gap - No centralized view of cluster and application health Troubleshooting - Difficulty correlating metrics, logs, and traces Alert Fatigue - Too many false positives or missing critical alerts Cost - Expensive commercial APM solutions Scalability - Monitoring solution must scale with the cluster 💡 Solution Overview I designed and deployed a comprehensive open-source observability stack using Prometheus, Grafana, Loki, and Tempo, providing metrics, logs, traces, and alerting in a unified platform.\n🏗️ Architecture ┌ │ ├ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ┌ │ │ │ │ │ └ ┌ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┌ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ A / ─ ─ ─ ─ ─ ─ ─ ─ ─ p m ─ ─ ─ ┌ │ │ │ │ └ ┌ │ │ │ └ ┌ │ │ │ │ │ │ │ └ ┌ │ │ │ └ ┌ │ │ └ ─ ─ ─ ─ ─ ─ p e ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ t ┬ ┼ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ A r ─ ─ ─ ─ ─ - - - ─ ─ - - ─ ─ ┌ │ │ │ │ └ ─ ─ ( ─ ─ ─ ─ ─ ─ ─ ─ ─ i ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ L ─ ─ - ─ ─ ─ ─ ─ ─ ─ c ─ ─ ─ ─ ─ S R A ─ ─ R S ─ ─ ─ D - - - ─ ─ ─ o ─ ─ ─ ─ ─ ─ ─ ─ ─ s ─ ─ ─ ─ ─ e e l ─ ─ o l ─ ─ ─ a ─ ─ ─ g ─ ─ C ─ ─ ─ ─ ─ ─ ┐ │ │ ┘ ─ ─ ─ ─ r c e ─ ─ u a ─ ─ ─ t P L T ─ ─ ─ ─ ─ o ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ v o r ─ ─ t c ─ ─ ─ a r o e ─ ─ ─ L A ─ ─ l ─ ─ ─ ─ ─ ─ ┌ │ │ └ ─ ─ ─ O ─ i r t ─ ─ i k ─ ─ ─ o k m ─ ─ ─ o g ─ ─ l ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ b ─ c d ─ ─ n / ─ ─ ─ S m i p ─ ─ ─ k g ─ ─ e ─ ─ ─ ─ ─ ─ ─ A / ─ ─ ─ ─ s ─ e i R ─ ─ g P ─ ─ ─ o e o ─ ─ ─ i r ─ ─ P c ─ ─ ─ ─ K ─ ─ ─ p m ─ ─ ─ ─ e ─ P M n u ─ ─ A a ─ ─ ─ u t ( ─ ─ ─ e ─ ─ r t ─ ─ ─ ─ u ─ ─ ─ p e ─ ─ ─ ─ r ─ r o g l ─ ─ l g ─ ─ ─ r h L ( ─ ─ ─ g ─ ─ o s ─ ─ ─ ─ b ─ ─ ─ t ┬ ┼ │ ┴ ─ v ─ o n e ─ ─ e e ─ ─ ─ c e o T ─ ─ ─ a ─ ─ m ─ ─ ─ ─ e ─ ─ A ─ B r ─ ─ ─ ─ a ─ m i R s ─ ─ r r ─ ─ G ─ e u g r ─ ─ ─ t ─ ─ t l ─ ─ ─ ─ r ─ ─ p ─ i ─ ─ ─ ─ b ─ e t u ─ ─ t D ─ ─ r ─ s s s a ─ ─ ─ i ─ ─ a o ─ ─ ─ ─ n ─ ─ p ─ c ─ ─ ─ ─ i ─ t o l ─ ─ m u ─ ─ a ─ : ) c ─ ─ ─ o ─ ─ i g ─ ─ ─ ─ e ─ ─ l ─ s ─ ─ ─ ─ l ─ h r e ─ ─ a t ─ ─ f ─ ( e ─ ─ ─ n ─ ─ l s ─ ─ ─ ─ t ─ ─ i ┐ │ │ ┘ ─ ─ ─ i ─ e s ─ ─ n y ─ ─ a ─ M s ─ ─ ─ ) ─ ─ ─ ─ ─ ─ e ─ ─ c ─ ┬ │ ┼ t │ ▼ u C ┬ │ ▼ a ─ ─ n ─ e ) ─ ─ ┐ │ │ │ ┘ ─ ( f ─ ─ ─ ─ s ─ ─ a ┌ │ │ └ ─ ─ ─ y ─ s R ─ ─ g ─ ─ a ─ t ─ ─ ─ D r ─ ─ ─ ─ ─ ─ t ─ ─ ─ ─ ─ ─ D ─ ─ e ─ ─ ─ r ─ ─ ─ a o ─ ─ ─ ─ C ─ ─ i ─ A / ─ ─ ─ ─ N ─ s ─ ─ r ─ ─ ─ i ─ ─ ┌ │ │ │ └ ─ e m ─ ─ ─ ─ l ─ ─ o ─ p m ─ ─ ─ ─ a ─ ─ ─ ─ ─ ─ c ─ ─ ─ ─ ─ m ─ ─ ─ ─ u ─ ─ n ─ p e ─ ─ ─ ─ m ─ ─ ─ ─ ─ ─ s ─ ─ ─ ( ─ ─ o a ─ ─ ─ ─ s ─ ─ ─ t ┬ ┼ │ ┴ ─ e ─ ─ ─ ─ ─ ─ ) ─ ─ ─ D T ─ ─ n l ─ ─ ─ ─ t ─ ─ P ─ C r ─ ─ ─ ─ s ─ ─ ─ ─ ─ ─ ─ ─ ─ i r ─ ─ S l ─ ─ ─ ─ e ─ ─ o ─ i ─ ─ ─ ─ p ─ ─ ─ ─ ─ ─ ─ ─ ─ s a ─ ─ e ─ ─ ─ ─ r ─ ─ d ─ c ─ ─ ─ ─ a ─ ─ ─ ─ ─ ─ ─ ─ ─ t c ─ ─ t p ─ ─ ─ ─ ─ ─ s ─ s ─ ─ ─ ─ c ─ ─ ─ ─ ─ ─ ─ ─ ─ T r i ─ ─ ) o ─ ─ ─ ─ ─ ─ ┐ │ │ ┘ ─ ─ ─ e ─ ─ ─ ─ ─ ─ ─ ─ ─ e i n ─ ─ d ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ m b g ─ ─ s ─ ─ ─ ─ ─ ─ ┌ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ p u ) ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ o t ─ ─ ─ ─ ─ ─ ─ ─ ─ A / ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ e ─ ─ ─ ─ ─ ─ ─ ─ ─ p m ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ d ─ ─ ─ ─ ─ ─ ─ ─ ─ p e ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ t ┬ ┼ │ ┘ ─ ─ ─ ─ ─ ─ ┐ │ │ │ ┘ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ D r ─ ─ ─ ┐ │ ┘ ┐ │ │ ┘ ┐ │ │ │ │ │ │ ┘ ─ ─ ┐ │ │ ┘ ─ ─ ─ ─ ─ ─ i ─ ─ ─ │ │ │ │ │ │ ─ ─ ─ ─ ─ ─ ─ ─ c ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ s ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ │ │ ┘ ─ ─ ┐ │ │ │ ┘ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ ─ ─ ─ ─ ─ ─ ┐ ┘ ─ ─ ─ ─ ─ │ ┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ─ ─ ─ ─ │ │ │ │ │ │ │ │ │ │ │ │ ┘ ─ ─ ─ │ │ │ │ ─ ┐ ┤ │ │ ┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 🛠️ Technologies Used Component Technology Purpose Metrics Prometheus Time-series metrics collection Visualization Grafana Dashboards and alerting UI Logs Loki + Promtail Log aggregation Traces Tempo Distributed tracing Alerting Alertmanager Alert routing and notifications Deployment Helm + ArgoCD GitOps-based deployment Storage Thanos Long-term metrics storage 📁 Project Structure k ├ │ │ │ │ │ ├ │ │ │ │ ├ │ │ │ │ ├ │ └ 8 ─ ─ ─ ─ ─ s ─ ─ ─ ─ ─ - o h └ d ├ ├ ├ └ a ├ ├ ├ └ s └ k b e ─ a ─ ─ ─ ─ l ─ ─ ─ ─ e ─ u s l ─ s ─ ─ ─ ─ e ─ ─ ─ ─ r ─ s e m h r v t r / v ├ ├ ├ └ b c p n a t n p a s i a o a ─ ─ ─ ─ o l o o p s o p l c p m a l ─ ─ ─ ─ a u d d p d d p o e p i b u r s - e l e - l - m l z i e p g l t d t m - i - a i a o i a l s r r o e s e e e c a l c l n c t i / o a k m / r t x a l e a e i a i t m f i p - r p t e r t r t t o y e a - o o i o i r t i t o i n / t n v - v c r o t s o s r o . h a a v e s t n s . n . s n y e - l a r . e - . y - y / - a u v u l v j r m y a a a m m s a e u i s . e a m l m o l - l s e e o j t m l e l n v u . s w n s r l r i a e y . . o i t t l s a y j n c s o u . m a s s . r e y l m o . y s s a l n j a . . m s m y y l o l a a n m m l l 🔧 Implementation Highlights Prometheus ServiceMonitor 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: app-metrics namespace: observability labels: release: prometheus spec: selector: matchLabels: app: my-application namespaceSelector: matchNames: - production - staging endpoints: - port: metrics interval: 30s path: /metrics scrapeTimeout: 10s Alert Rules for SLOs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: slo-alerts namespace: observability spec: groups: - name: slo.rules rules: - alert: HighErrorRate expr: | ( sum(rate(http_requests_total{status=~\u0026#34;5..\u0026#34;}[5m])) / sum(rate(http_requests_total[5m])) ) \u0026gt; 0.01 for: 5m labels: severity: critical annotations: summary: \u0026#34;High error rate detected\u0026#34; description: \u0026#34;Error rate is {{ $value | humanizePercentage }} (\u0026gt;1% threshold)\u0026#34; runbook_url: \u0026#34;https://runbooks.example.com/high-error-rate\u0026#34; - alert: HighLatencyP99 expr: | histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service) ) \u0026gt; 0.5 for: 10m labels: severity: warning annotations: summary: \u0026#34;P99 latency is high\u0026#34; description: \u0026#34;P99 latency for {{ $labels.service }} is {{ $value }}s\u0026#34; Grafana Dashboard as Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 apiVersion: v1 kind: ConfigMap metadata: name: grafana-dashboards namespace: observability labels: grafana_dashboard: \u0026#34;1\u0026#34; data: cluster-overview.json: | { \u0026#34;dashboard\u0026#34;: { \u0026#34;title\u0026#34;: \u0026#34;Cluster Overview\u0026#34;, \u0026#34;panels\u0026#34;: [ { \u0026#34;title\u0026#34;: \u0026#34;CPU Usage\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;graph\u0026#34;, \u0026#34;targets\u0026#34;: [ { \u0026#34;expr\u0026#34;: \u0026#34;sum(rate(container_cpu_usage_seconds_total[5m])) by (namespace)\u0026#34;, \u0026#34;legendFormat\u0026#34;: \u0026#34;{{namespace}}\u0026#34; } ] }, { \u0026#34;title\u0026#34;: \u0026#34;Memory Usage\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;graph\u0026#34;, \u0026#34;targets\u0026#34;: [ { \u0026#34;expr\u0026#34;: \u0026#34;sum(container_memory_usage_bytes) by (namespace) / 1024 / 1024 / 1024\u0026#34;, \u0026#34;legendFormat\u0026#34;: \u0026#34;{{namespace}} (GB)\u0026#34; } ] } ] } } Loki Log Queries 1 2 3 4 5 6 7 8 # Error logs from production namespace {namespace=\u0026#34;production\u0026#34;} |= \u0026#34;error\u0026#34; | json | line_format \u0026#34;{{.message}}\u0026#34; # Slow requests (\u0026gt;1s response time) {app=\u0026#34;api-gateway\u0026#34;} | json | response_time \u0026gt; 1000 # Failed Kubernetes events {job=\u0026#34;kubernetes-events\u0026#34;} | json | type=\u0026#34;Warning\u0026#34; 📊 Dashboards Created Dashboard Purpose Cluster Overview Node health, resource utilization, pod status Namespace Metrics Per-namespace resource consumption Application SLOs Error rates, latency percentiles, throughput Node Exporter Detailed node-level metrics Kubernetes Events Cluster events and warnings Cost Analysis Resource costs by namespace/team 🔔 Alerting Strategy Alert Severity Levels Severity Response Time Notification Channel Critical Immediate PagerDuty + Slack Warning 1 hour Slack Info Next business day Email SLO-Based Alerting Availability SLO: 99.9% uptime Latency SLO: P99 \u0026lt; 500ms Error Budget: Alert when 50% consumed in 24h 📈 Results \u0026amp; Metrics Metric Achievement MTTR Reduced from 2 hours to 15 minutes Alert Noise Reduced false positives by 80% Cost Savings $50k/year vs commercial APM Log Retention 30 days with 99.9% query performance Dashboard Load \u0026lt; 3 seconds for complex queries 🔑 Key Learnings Start with SLOs - Define SLOs first, then build alerts around them Reduce Cardinality - High cardinality labels kill Prometheus performance Retention Tiers - Different retention for different metric types Runbooks - Every alert should link to a runbook On-Call Experience - Invest in alert routing and escalation 🔗 Resources GitHub Repository: github.com/yourusername/k8s-observability Related Blog Post: Building a Production Observability Stack Need help with observability? Contact me!\n","permalink":"https://elmiabdullahi.com/projects/kubernetes-observability/","summary":"\u003ch2 id=\"-problem-statement\"\u003e🎯 Problem Statement\u003c/h2\u003e\n\u003cp\u003eModern Kubernetes environments face observability challenges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eVisibility Gap\u003c/strong\u003e - No centralized view of cluster and application health\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTroubleshooting\u003c/strong\u003e - Difficulty correlating metrics, logs, and traces\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAlert Fatigue\u003c/strong\u003e - Too many false positives or missing critical alerts\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCost\u003c/strong\u003e - Expensive commercial APM solutions\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eScalability\u003c/strong\u003e - Monitoring solution must scale with the cluster\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"-solution-overview\"\u003e💡 Solution Overview\u003c/h2\u003e\n\u003cp\u003eI designed and deployed a \u003cstrong\u003ecomprehensive open-source observability stack\u003c/strong\u003e using Prometheus, Grafana, Loki, and Tempo, providing metrics, logs, traces, and alerting in a unified platform.\u003c/p\u003e","title":"Kubernetes Observability Stack"},{"content":"What is GitOps? GitOps is a modern approach to continuous deployment that uses Git as the single source of truth for declarative infrastructure and applications. Coined by Weaveworks in 2017, GitOps extends the principles of Infrastructure as Code (IaC) to the entire deployment lifecycle.\nCore Principles Declarative Configuration - The entire system is described declaratively Version Controlled - The desired state is stored in Git Automated Delivery - Approved changes are automatically applied Continuous Reconciliation - Agents ensure actual state matches desired state Why GitOps? Traditional deployment approaches often suffer from several challenges:\nChallenge Traditional Approach GitOps Approach Audit Trail Manual tracking Git history Rollback Complex scripts git revert Configuration Drift Common Auto-healed Access Control Multiple systems Git permissions Collaboration Varies Pull requests GitOps Architecture ┌ │ └ ┌ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ C ( ─ ─ ─ ─ o m ─ ─ ─ ─ d a ─ ─ ─ ─ e n ─ ─ ─ ─ i ─ ─ ─ ─ C f ─ ─ ─ ─ h e ─ ─ ─ ─ a s ─ ─ ─ ─ n t ─ ─ ─ ─ g ) ─ ─ ─ ─ e ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ │ │ ┘ ─ ─ ─ ─ ─ ─ ┌ │ │ │ └ ┌ │ │ └ ┌ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ D ─ ─ ─ ─ ─ ─ ─ ─ ─ e ─ ► ─ ─ ─ ─ ─ ─ ─ v ─ ┌ │ │ └ ─ G ( ─ ─ G ( ─ ─ K C ─ ─ e ─ ─ ─ ─ i s t ─ ─ i A ─ ─ u l ─ ─ l ─ ─ ─ ─ t o r ─ ─ t r ─ ─ b u ─ ─ o ─ ─ ─ ─ u u ─ ─ O g ─ ─ e s ─ ─ p ─ ─ P ( ─ ─ R r t ─ ─ p o ─ ─ r t ─ ─ e ─ ─ u r ─ ─ e c h ─ ─ s C ─ ─ n e ─ ─ r ─ │ ▼ ─ l e ─ │ ▼ ─ p e ) ─ │ ▼ ─ D ─ │ ▼ ─ e r ─ ─ ─ ─ l v ─ ─ o ─ ─ A ) ─ ─ t ─ ─ W ─ ─ i ─ ( ─ s o ─ ( ─ g ─ ( ─ e ─ ─ o ─ ─ R e ─ m ─ i f ─ w ─ e ─ s ─ s ─ ─ r ─ ─ e w ─ e ─ t ─ a ─ n ─ y ─ ─ ─ k ─ ─ q ) ─ r ─ o ─ t ─ t ─ n ─ ─ ─ f ─ ─ u ─ g ─ r ─ c ─ ─ c ─ ─ ─ l ─ ─ e ─ e ─ y ─ h ─ ─ ) ─ ─ ─ o ─ ─ s ─ ) ┐ │ │ ┘ ) ┐ │ ┘ ┐ │ │ ┘ ─ w ─ ─ t ─ │ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ │ │ ┘ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ ┘ │ Setting Up ArgoCD Step 1: Install ArgoCD 1 2 3 4 5 6 7 8 # Create namespace kubectl create namespace argocd # Install ArgoCD kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml # Wait for pods to be ready kubectl wait --for=condition=Ready pods --all -n argocd --timeout=300s Step 2: Access the UI 1 2 3 4 5 6 # Port forward the ArgoCD server kubectl port-forward svc/argocd-server -n argocd 8080:443 # Get the initial admin password kubectl -n argocd get secret argocd-initial-admin-secret \\ -o jsonpath=\u0026#34;{.data.password}\u0026#34; | base64 -d Step 3: Connect Your Repository 1 2 3 4 5 6 7 # Login to ArgoCD CLI argocd login localhost:8080 # Add your Git repository argocd repo add https://github.com/your-org/your-gitops-repo.git \\ --username your-username \\ --password your-token Step 4: Create an Application 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: my-application namespace: argocd spec: project: default source: repoURL: https://github.com/your-org/your-gitops-repo.git targetRevision: HEAD path: apps/my-application destination: server: https://kubernetes.default.svc namespace: production syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true Best Practices 1. Repository Structure Use a clear, organized repository structure:\ng ├ │ │ │ │ │ │ │ │ │ │ ├ │ │ │ └ i ─ ─ ─ t ─ ─ ─ o p a ├ │ │ │ │ │ │ │ │ └ i ├ ├ └ a └ s p ─ ─ n ─ ─ ─ r ─ - p ─ ─ f ─ ─ ─ g ─ r s r o e / a ├ │ │ │ └ a a c i m c a p p ─ ─ p s e n o d p o p ─ ─ p t r g n / p / - - r t r i l a b ├ ├ └ ├ ├ └ b u - e t i / a ─ ─ ─ v ─ ─ ─ / c m s o c s ─ ─ ─ e ─ ─ ─ t a s r a e r u n - i t / d s k l d s p r a n n i e e u a e t r e g g g o p r s y v a o / e i / n l v t s g d r n s o i o i / / x / y c m n / m e i g e . z / n y a t a t . m i y l o a n m . l y a m l 2. Environment Promotion Promote changes through environments using automated or manual approval:\n1 2 3 4 5 6 7 8 9 10 11 12 # Using Kustomize overlays for environment-specific config apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: production resources: - ../../base patchesStrategicMerge: - replica-count.yaml - resource-limits.yaml images: - name: my-app newTag: v1.2.3 3. Secrets Management Never store secrets in Git! Use one of these approaches:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 # Option 1: Sealed Secrets apiVersion: bitnami.com/v1alpha1 kind: SealedSecret metadata: name: my-secret spec: encryptedData: password: AgBy8hCi... # Option 2: External Secrets Operator apiVersion: external-secrets.io/v1beta1 kind: ExternalSecret metadata: name: my-secret spec: secretStoreRef: name: azure-keyvault kind: ClusterSecretStore target: name: my-secret data: - secretKey: password remoteRef: key: my-app-password Common Pitfalls to Avoid Storing secrets in Git - Use Sealed Secrets or External Secrets Not using Kustomize/Helm - Avoid duplicating manifests across environments Too many repositories - Balance between mono-repo and poly-repo Ignoring drift detection - Monitor for manual changes No rollback strategy - Document and test rollback procedures Conclusion GitOps transforms how we deploy and manage applications by leveraging Git\u0026rsquo;s power for change management, collaboration, and audit trails. Start small with a single application and gradually expand your GitOps practice.\nNext Steps Part 2: Advanced ArgoCD Features Part 3: Multi-Cluster GitOps Have questions about GitOps? Contact me or leave a comment below!\n","permalink":"https://elmiabdullahi.com/blog/gitops-introduction/","summary":"\u003ch2 id=\"what-is-gitops\"\u003eWhat is GitOps?\u003c/h2\u003e\n\u003cp\u003eGitOps is a modern approach to continuous deployment that uses Git as the single source of truth for declarative infrastructure and applications. Coined by Weaveworks in 2017, GitOps extends the principles of Infrastructure as Code (IaC) to the entire deployment lifecycle.\u003c/p\u003e\n\u003ch3 id=\"core-principles\"\u003eCore Principles\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eDeclarative Configuration\u003c/strong\u003e - The entire system is described declaratively\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVersion Controlled\u003c/strong\u003e - The desired state is stored in Git\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAutomated Delivery\u003c/strong\u003e - Approved changes are automatically applied\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContinuous Reconciliation\u003c/strong\u003e - Agents ensure actual state matches desired state\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"why-gitops\"\u003eWhy GitOps?\u003c/h2\u003e\n\u003cp\u003eTraditional deployment approaches often suffer from several challenges:\u003c/p\u003e","title":"Getting Started with GitOps: A Practical Guide"},{"content":"Introduction Troubleshooting Kubernetes can be challenging due to its distributed nature. This guide covers practical techniques I\u0026rsquo;ve used to debug production issues across dozens of clusters.\nThe Troubleshooting Mindset When debugging Kubernetes, follow this systematic approach:\nDefine the problem - What\u0026rsquo;s the expected vs actual behavior? Gather information - Collect logs, events, and metrics Form hypotheses - What could cause this behavior? Test hypotheses - Verify or eliminate causes Implement fix - Apply and validate the solution Essential kubectl Commands Pod Status and Events 1 2 3 4 5 6 7 8 9 10 11 # Get pod status with more details kubectl get pods -o wide # Describe pod for events and conditions kubectl describe pod \u0026lt;pod-name\u0026gt; # Get pods with specific status kubectl get pods --field-selector=status.phase=Pending # Watch pod status changes kubectl get pods -w Container Logs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # Get logs from a pod kubectl logs \u0026lt;pod-name\u0026gt; # Get logs from a specific container in multi-container pod kubectl logs \u0026lt;pod-name\u0026gt; -c \u0026lt;container-name\u0026gt; # Follow logs in real-time kubectl logs -f \u0026lt;pod-name\u0026gt; # Get logs from previous container instance (after restart) kubectl logs \u0026lt;pod-name\u0026gt; --previous # Get last N lines kubectl logs --tail=100 \u0026lt;pod-name\u0026gt; # Get logs with timestamps kubectl logs --timestamps \u0026lt;pod-name\u0026gt; Executing Commands in Containers 1 2 3 4 5 6 7 8 # Open a shell in a running container kubectl exec -it \u0026lt;pod-name\u0026gt; -- /bin/bash # Run a specific command kubectl exec \u0026lt;pod-name\u0026gt; -- cat /etc/config/app.yaml # Exec into a specific container kubectl exec -it \u0026lt;pod-name\u0026gt; -c \u0026lt;container-name\u0026gt; -- /bin/sh Common Issues and Solutions 1. Pod Stuck in Pending Symptoms: Pod stays in Pending state indefinitely\nDiagnosis:\n1 2 3 4 5 6 kubectl describe pod \u0026lt;pod-name\u0026gt; # Check for events like: # - \u0026#34;0/3 nodes are available: insufficient cpu\u0026#34; # - \u0026#34;no nodes available to schedule pods\u0026#34; # - \u0026#34;0/3 nodes are available: pod has unbound immediate PersistentVolumeClaims\u0026#34; Common Causes:\nIssue Solution Insufficient resources Scale cluster or reduce requests Node selector mismatch Verify node labels Taints and tolerations Add appropriate tolerations PVC not bound Check PV availability and storage class Example Fix - Resource Issue:\n1 2 3 4 5 6 7 8 # Reduce resource requests resources: requests: cpu: \u0026#34;100m\u0026#34; # Reduced from 500m memory: \u0026#34;128Mi\u0026#34; # Reduced from 512Mi limits: cpu: \u0026#34;500m\u0026#34; memory: \u0026#34;512Mi\u0026#34; 2. Pod Stuck in CrashLoopBackOff Symptoms: Pod repeatedly crashes and restarts\nDiagnosis:\n1 2 3 4 5 # Check logs from the crashed container kubectl logs \u0026lt;pod-name\u0026gt; --previous # Check container exit code kubectl get pod \u0026lt;pod-name\u0026gt; -o jsonpath=\u0026#39;{.status.containerStatuses[0].lastState.terminated.exitCode}\u0026#39; Common Exit Codes:\nExit Code Meaning Common Cause 0 Success App completed (wrong for long-running) 1 Application error Check application logs 137 SIGKILL (OOMKilled) Increase memory limits 143 SIGTERM Graceful shutdown 255 Exit status out of range Application bug Example Fix - OOMKilled:\n1 2 3 4 # Increase memory limits resources: limits: memory: \u0026#34;1Gi\u0026#34; # Increased from 512Mi 3. ImagePullBackOff Symptoms: Pod can\u0026rsquo;t pull the container image\nDiagnosis:\n1 2 3 4 5 6 kubectl describe pod \u0026lt;pod-name\u0026gt; | grep -A5 \u0026#34;Events:\u0026#34; # Common error messages: # - \u0026#34;unauthorized: authentication required\u0026#34; # - \u0026#34;manifest unknown\u0026#34; # - \u0026#34;ImagePullBackOff\u0026#34; Solutions:\n1 2 3 4 5 6 7 8 9 10 11 12 # Verify image exists and tag is correct docker pull \u0026lt;image-name\u0026gt;:\u0026lt;tag\u0026gt; # Check imagePullSecrets kubectl get secrets kubectl get pod \u0026lt;pod-name\u0026gt; -o jsonpath=\u0026#39;{.spec.imagePullSecrets}\u0026#39; # Create docker registry secret kubectl create secret docker-registry regcred \\ --docker-server=\u0026lt;registry\u0026gt; \\ --docker-username=\u0026lt;user\u0026gt; \\ --docker-password=\u0026lt;password\u0026gt; 4. Service Not Accessible Symptoms: Cannot reach application via Service\nDiagnosis:\n1 2 3 4 5 6 7 8 9 # Check service endpoints kubectl get endpoints \u0026lt;service-name\u0026gt; # If endpoints are empty, check selector matching kubectl get svc \u0026lt;service-name\u0026gt; -o wide kubectl get pods --show-labels # Test from within the cluster kubectl run test-pod --rm -it --image=busybox -- wget -qO- http://\u0026lt;service-name\u0026gt;:\u0026lt;port\u0026gt; Checklist:\n1 2 3 4 5 6 7 8 9 10 11 # 1. Verify pod labels match service selector kubectl get pods --show-labels | grep \u0026lt;app-label\u0026gt; # 2. Check if pods are Ready kubectl get pods | grep \u0026lt;app-name\u0026gt; # 3. Verify service port configuration kubectl get svc \u0026lt;service-name\u0026gt; -o yaml # 4. Test connectivity from within pod kubectl exec -it \u0026lt;pod-name\u0026gt; -- curl localhost:\u0026lt;container-port\u0026gt; 5. DNS Resolution Issues Symptoms: Services can\u0026rsquo;t resolve other service names\nDiagnosis:\n1 2 3 4 5 6 7 8 # Check CoreDNS pods kubectl get pods -n kube-system -l k8s-app=kube-dns # Test DNS resolution kubectl run test-dns --rm -it --image=busybox -- nslookup kubernetes.default # Check CoreDNS logs kubectl logs -n kube-system -l k8s-app=kube-dns Common Fixes:\n1 2 3 4 5 # Restart CoreDNS kubectl rollout restart deployment/coredns -n kube-system # Check DNS config in pod kubectl exec -it \u0026lt;pod-name\u0026gt; -- cat /etc/resolv.conf Advanced Debugging Techniques Debug Containers (Ephemeral Containers) 1 2 3 4 5 # Add debug container to running pod (K8s 1.23+) kubectl debug -it \u0026lt;pod-name\u0026gt; --image=busybox --target=\u0026lt;container-name\u0026gt; # Create a debug copy of the pod kubectl debug \u0026lt;pod-name\u0026gt; -it --copy-to=debug-pod --container=debug Network Debugging 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # Deploy network debug pod kubectl run netshoot --rm -it --image=nicolaka/netshoot -- /bin/bash # Inside the pod: # Test TCP connectivity nc -zv \u0026lt;service-name\u0026gt; \u0026lt;port\u0026gt; # DNS lookup dig \u0026lt;service-name\u0026gt;.\u0026lt;namespace\u0026gt;.svc.cluster.local # Trace route traceroute \u0026lt;pod-ip\u0026gt; # Check network policies curl -v http://\u0026lt;service-name\u0026gt;:\u0026lt;port\u0026gt; Resource Analysis 1 2 3 4 5 6 7 8 9 # Get resource usage kubectl top pods kubectl top nodes # Check resource quotas kubectl describe resourcequota -n \u0026lt;namespace\u0026gt; # Check limit ranges kubectl describe limitrange -n \u0026lt;namespace\u0026gt; Creating a Debugging Toolkit Pod 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 apiVersion: v1 kind: Pod metadata: name: debug-toolkit namespace: default spec: containers: - name: debug image: nicolaka/netshoot command: [\u0026#34;sleep\u0026#34;, \u0026#34;infinity\u0026#34;] securityContext: capabilities: add: [\u0026#34;NET_ADMIN\u0026#34;, \u0026#34;SYS_TIME\u0026#34;] hostNetwork: false dnsPolicy: ClusterFirst Quick Reference Card 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # Pod debugging kubectl describe pod \u0026lt;name\u0026gt; # Events and conditions kubectl logs \u0026lt;name\u0026gt; --previous # Previous container logs kubectl exec -it \u0026lt;name\u0026gt; -- sh # Shell access # Service debugging kubectl get endpoints \u0026lt;svc\u0026gt; # Check endpoints kubectl port-forward svc/\u0026lt;name\u0026gt; 8080:80 # Local access # Cluster debugging kubectl get events --sort-by=\u0026#39;.lastTimestamp\u0026#39; # Recent events kubectl get nodes -o wide # Node status kubectl cluster-info dump # Full cluster dump # Resource debugging kubectl top pods --containers # Container resource usage kubectl describe node \u0026lt;name\u0026gt; | grep -A5 \u0026#34;Allocated resources\u0026#34; Conclusion Effective Kubernetes troubleshooting requires a systematic approach and familiarity with the right tools. Practice these techniques in a development environment so you\u0026rsquo;re ready when production issues arise.\nRelated Posts Kubernetes Best Practices Building an Observability Stack Have a tricky Kubernetes issue? Reach out - I love solving puzzles!\n","permalink":"https://elmiabdullahi.com/blog/kubernetes-troubleshooting/","summary":"\u003ch2 id=\"introduction\"\u003eIntroduction\u003c/h2\u003e\n\u003cp\u003eTroubleshooting Kubernetes can be challenging due to its distributed nature. This guide covers practical techniques I\u0026rsquo;ve used to debug production issues across dozens of clusters.\u003c/p\u003e\n\u003ch2 id=\"the-troubleshooting-mindset\"\u003eThe Troubleshooting Mindset\u003c/h2\u003e\n\u003cp\u003eWhen debugging Kubernetes, follow this systematic approach:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eDefine the problem\u003c/strong\u003e - What\u0026rsquo;s the expected vs actual behavior?\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGather information\u003c/strong\u003e - Collect logs, events, and metrics\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eForm hypotheses\u003c/strong\u003e - What could cause this behavior?\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTest hypotheses\u003c/strong\u003e - Verify or eliminate causes\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImplement fix\u003c/strong\u003e - Apply and validate the solution\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"essential-kubectl-commands\"\u003eEssential kubectl Commands\u003c/h2\u003e\n\u003ch3 id=\"pod-status-and-events\"\u003ePod Status and Events\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cdiv class=\"chroma\"\u003e\n\u003ctable class=\"lntable\"\u003e\u003ctr\u003e\u003ctd class=\"lntd\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"lnt\" id=\"hl-0-1\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-0-1\"\u003e 1\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-0-2\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-0-2\"\u003e 2\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-0-3\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-0-3\"\u003e 3\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-0-4\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-0-4\"\u003e 4\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-0-5\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-0-5\"\u003e 5\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-0-6\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-0-6\"\u003e 6\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-0-7\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-0-7\"\u003e 7\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-0-8\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-0-8\"\u003e 8\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-0-9\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-0-9\"\u003e 9\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-0-10\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-0-10\"\u003e10\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-0-11\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-0-11\"\u003e11\u003c/a\u003e\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/td\u003e\n\u003ctd class=\"lntd\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Get pod status with more details\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl get pods -o wide\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Describe pod for events and conditions\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl describe pod \u0026lt;pod-name\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Get pods with specific status\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl get pods --field-selector\u003cspan class=\"o\"\u003e=\u003c/span\u003estatus.phase\u003cspan class=\"o\"\u003e=\u003c/span\u003ePending\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Watch pod status changes\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl get pods -w\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\u003c/div\u003e\n\u003c/div\u003e\u003ch3 id=\"container-logs\"\u003eContainer Logs\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cdiv class=\"chroma\"\u003e\n\u003ctable class=\"lntable\"\u003e\u003ctr\u003e\u003ctd class=\"lntd\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"lnt\" id=\"hl-1-1\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-1\"\u003e 1\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-2\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-2\"\u003e 2\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-3\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-3\"\u003e 3\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-4\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-4\"\u003e 4\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-5\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-5\"\u003e 5\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-6\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-6\"\u003e 6\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-7\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-7\"\u003e 7\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-8\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-8\"\u003e 8\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-9\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-9\"\u003e 9\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-10\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-10\"\u003e10\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-11\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-11\"\u003e11\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-12\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-12\"\u003e12\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-13\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-13\"\u003e13\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-14\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-14\"\u003e14\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-15\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-15\"\u003e15\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-16\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-16\"\u003e16\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-1-17\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-1-17\"\u003e17\u003c/a\u003e\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/td\u003e\n\u003ctd class=\"lntd\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Get logs from a pod\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl logs \u0026lt;pod-name\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Get logs from a specific container in multi-container pod\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl logs \u0026lt;pod-name\u0026gt; -c \u0026lt;container-name\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Follow logs in real-time\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl logs -f \u0026lt;pod-name\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Get logs from previous container instance (after restart)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl logs \u0026lt;pod-name\u0026gt; --previous\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Get last N lines\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl logs --tail\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"m\"\u003e100\u003c/span\u003e \u0026lt;pod-name\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Get logs with timestamps\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl logs --timestamps \u0026lt;pod-name\u0026gt;\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\u003c/div\u003e\n\u003c/div\u003e\u003ch3 id=\"executing-commands-in-containers\"\u003eExecuting Commands in Containers\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cdiv class=\"chroma\"\u003e\n\u003ctable class=\"lntable\"\u003e\u003ctr\u003e\u003ctd class=\"lntd\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"lnt\" id=\"hl-2-1\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-1\"\u003e1\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-2\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-2\"\u003e2\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-3\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-3\"\u003e3\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-4\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-4\"\u003e4\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-5\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-5\"\u003e5\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-6\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-6\"\u003e6\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-7\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-7\"\u003e7\u003c/a\u003e\n\u003c/span\u003e\u003cspan class=\"lnt\" id=\"hl-2-8\"\u003e\u003ca class=\"lnlinks\" href=\"#hl-2-8\"\u003e8\u003c/a\u003e\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/td\u003e\n\u003ctd class=\"lntd\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Open a shell in a running container\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl \u003cspan class=\"nb\"\u003eexec\u003c/span\u003e -it \u0026lt;pod-name\u0026gt; -- /bin/bash\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Run a specific command\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl \u003cspan class=\"nb\"\u003eexec\u003c/span\u003e \u0026lt;pod-name\u0026gt; -- cat /etc/config/app.yaml\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Exec into a specific container\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ekubectl \u003cspan class=\"nb\"\u003eexec\u003c/span\u003e -it \u0026lt;pod-name\u0026gt; -c \u0026lt;container-name\u0026gt; -- /bin/sh\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\u003c/div\u003e\n\u003c/div\u003e\u003ch2 id=\"common-issues-and-solutions\"\u003eCommon Issues and Solutions\u003c/h2\u003e\n\u003ch3 id=\"1-pod-stuck-in-pending\"\u003e1. Pod Stuck in Pending\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eSymptoms:\u003c/strong\u003e Pod stays in \u003ccode\u003ePending\u003c/code\u003e state indefinitely\u003c/p\u003e","title":"Kubernetes Troubleshooting: A Practical Guide"},{"content":"Introduction After managing Terraform codebases across multiple organizations and cloud providers, I\u0026rsquo;ve compiled these battle-tested best practices. Whether you\u0026rsquo;re starting fresh or refactoring existing infrastructure, these patterns will help you build maintainable, scalable IaC.\nProject Structure Standard Module Layout t ├ │ │ │ ├ │ │ │ ├ └ e ─ ─ ─ ─ r ─ ─ ─ ─ r a m ├ ├ └ e ├ ├ └ . R f o ─ ─ ─ n ─ ─ ─ t E o d ─ ─ ─ v ─ ─ ─ e A r u i r D m l n c d r d s p r M - e e o a o e t r a E p s t m t n v a o f . r w p a m / g d m o u b e i r d j r t a n n m e k e s t g - c i / e s / v t n / / e / g r / s i o n # # m m a a i i n n . . t t f f , , v t a e r r i r a a b f l o e r s m . . t t f f , v a o r u s t , p u b t a s c . k t e f n , d . v t e f r s i o n s . t f File Naming Conventions File Purpose main.tf Primary resources and module calls variables.tf Input variable declarations outputs.tf Output value declarations versions.tf Provider and Terraform version constraints locals.tf Local value definitions data.tf Data source declarations backend.tf Backend configuration Module Design Patterns 1. Single Responsibility Each module should do one thing well:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 # Good: Focused module module \u0026#34;vpc\u0026#34; { source = \u0026#34;./modules/networking/vpc\u0026#34; cidr_block = var.vpc_cidr az_count = 3 enable_nat = true } # Avoid: Kitchen sink module module \u0026#34;everything\u0026#34; { source = \u0026#34;./modules/full-stack\u0026#34; # Too much in one module # ... 50 variables ... } 2. Sensible Defaults with Override Capability 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # modules/eks/variables.tf variable \u0026#34;node_instance_type\u0026#34; { description = \u0026#34;EC2 instance type for worker nodes\u0026#34; type = string default = \u0026#34;t3.medium\u0026#34; # Sensible default } variable \u0026#34;node_disk_size\u0026#34; { description = \u0026#34;Disk size in GB for worker nodes\u0026#34; type = number default = 50 validation { condition = var.node_disk_size \u0026gt;= 20 \u0026amp;\u0026amp; var.node_disk_size \u0026lt;= 1000 error_message = \u0026#34;Disk size must be between 20 and 1000 GB.\u0026#34; } } 3. Consistent Output Patterns 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # modules/vpc/outputs.tf output \u0026#34;vpc_id\u0026#34; { description = \u0026#34;The ID of the VPC\u0026#34; value = aws_vpc.main.id } output \u0026#34;private_subnet_ids\u0026#34; { description = \u0026#34;List of private subnet IDs\u0026#34; value = aws_subnet.private[*].id } output \u0026#34;public_subnet_ids\u0026#34; { description = \u0026#34;List of public subnet IDs\u0026#34; value = aws_subnet.public[*].id } # Always output enough for dependent modules output \u0026#34;vpc_cidr_block\u0026#34; { description = \u0026#34;The CIDR block of the VPC\u0026#34; value = aws_vpc.main.cidr_block } State Management Remote Backend Configuration 1 2 3 4 5 6 7 8 9 10 11 12 # backend.tf terraform { backend \u0026#34;azurerm\u0026#34; { resource_group_name = \u0026#34;terraform-state-rg\u0026#34; storage_account_name = \u0026#34;tfstate${var.environment}\u0026#34; container_name = \u0026#34;tfstate\u0026#34; key = \u0026#34;infrastructure.tfstate\u0026#34; # Enable state locking use_oidc = true } } State Locking and Encryption 1 2 3 4 5 6 7 8 9 10 11 12 13 # AWS S3 backend with DynamoDB locking terraform { backend \u0026#34;s3\u0026#34; { bucket = \u0026#34;company-terraform-state\u0026#34; key = \u0026#34;prod/infrastructure.tfstate\u0026#34; region = \u0026#34;us-east-1\u0026#34; encrypt = true dynamodb_table = \u0026#34;terraform-state-lock\u0026#34; # Use IAM role for access role_arn = \u0026#34;arn:aws:iam::123456789:role/TerraformStateAccess\u0026#34; } } State Isolation Strategy # s ├ │ │ │ ├ │ │ └ t ─ ─ ─ S a ─ ─ ─ e t p e n ├ ├ └ k ├ └ d └ a s e ─ ─ ─ u ─ ─ a ─ r / t ─ ─ ─ b ─ ─ t ─ a w e a t o d s p r d p b p e r e t r n e r a r k v a o e v o s o s i . g d t . d e d t n t i . e t . s . a g f n t s f t t t / s g f / s f f e t . s t s s a t t a t t p t f a t a a e e s t e t t r t e e e a e t n e v i r o n m e n t a n d c o m p o n e n t Variable Management Use Variable Validation 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 variable \u0026#34;environment\u0026#34; { description = \u0026#34;Deployment environment\u0026#34; type = string validation { condition = contains([\u0026#34;dev\u0026#34;, \u0026#34;staging\u0026#34;, \u0026#34;prod\u0026#34;], var.environment) error_message = \u0026#34;Environment must be dev, staging, or prod.\u0026#34; } } variable \u0026#34;instance_count\u0026#34; { description = \u0026#34;Number of instances to create\u0026#34; type = number validation { condition = var.instance_count \u0026gt; 0 \u0026amp;\u0026amp; var.instance_count \u0026lt;= 100 error_message = \u0026#34;Instance count must be between 1 and 100.\u0026#34; } } Complex Variable Types 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 variable \u0026#34;node_pools\u0026#34; { description = \u0026#34;Configuration for Kubernetes node pools\u0026#34; type = list(object({ name = string node_count = number vm_size = string os_disk_size = optional(number, 100) labels = optional(map(string), {}) taints = optional(list(string), []) })) default = [ { name = \u0026#34;default\u0026#34; node_count = 3 vm_size = \u0026#34;Standard_D4s_v5\u0026#34; } ] } Locals for Derived Values 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 locals { # Naming convention resource_prefix = \u0026#34;${var.project}-${var.environment}\u0026#34; # Common tags common_tags = { Environment = var.environment Project = var.project ManagedBy = \u0026#34;Terraform\u0026#34; Owner = var.team } # Derived configurations is_production = var.environment == \u0026#34;prod\u0026#34; replica_count = local.is_production ? 3 : 1 } Security Best Practices 1. Never Hardcode Secrets 1 2 3 4 5 6 7 8 9 10 11 12 13 # Bad: Hardcoded secret resource \u0026#34;aws_db_instance\u0026#34; \u0026#34;bad\u0026#34; { password = \u0026#34;supersecretpassword\u0026#34; # NEVER do this } # Good: Use data sources or variables data \u0026#34;aws_secretsmanager_secret_version\u0026#34; \u0026#34;db_password\u0026#34; { secret_id = \u0026#34;prod/database/password\u0026#34; } resource \u0026#34;aws_db_instance\u0026#34; \u0026#34;good\u0026#34; { password = data.aws_secretsmanager_secret_version.db_password.secret_string } 2. Sensitive Output Handling 1 2 3 4 5 output \u0026#34;database_password\u0026#34; { description = \u0026#34;The database password\u0026#34; value = random_password.db.result sensitive = true # Prevents display in logs } 3. Provider Authentication 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # Use environment variables or managed identities provider \u0026#34;azurerm\u0026#34; { features {} # Uses AZURE_* environment variables # Or Azure Managed Identity when running in Azure } provider \u0026#34;aws\u0026#34; { region = var.aws_region # Uses AWS_* environment variables # Or IAM role when running in AWS } CI/CD Integration GitHub Actions Workflow 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 name: Terraform CI/CD on: pull_request: branches: [main] push: branches: [main] permissions: id-token: write contents: read pull-requests: write jobs: terraform: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - name: Setup Terraform uses: hashicorp/setup-terraform@v3 with: terraform_version: 1.6.0 - name: Terraform Format Check run: terraform fmt -check -recursive - name: Terraform Init run: terraform init working-directory: environments/prod - name: Terraform Validate run: terraform validate working-directory: environments/prod - name: Terraform Plan id: plan run: terraform plan -no-color -out=tfplan working-directory: environments/prod continue-on-error: true - name: Comment Plan on PR uses: actions/github-script@v7 if: github.event_name == \u0026#39;pull_request\u0026#39; with: script: | const output = `#### Terraform Plan 📖 \\`\\`\\` ${{ steps.plan.outputs.stdout }} \\`\\`\\``; github.rest.issues.createComment({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, body: output }) - name: Terraform Apply if: github.ref == \u0026#39;refs/heads/main\u0026#39; \u0026amp;\u0026amp; github.event_name == \u0026#39;push\u0026#39; run: terraform apply -auto-approve tfplan working-directory: environments/prod Pre-commit Hooks 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # .pre-commit-config.yaml repos: - repo: https://github.com/antonbabenko/pre-commit-terraform rev: v1.83.5 hooks: - id: terraform_fmt - id: terraform_validate - id: terraform_docs args: - --hook-config=--path-to-file=README.md - id: terraform_tflint args: - --args=--config=__GIT_WORKING_DIR__/.tflint.hcl - id: terraform_trivy Testing Infrastructure Terratest Example 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 // test/vpc_test.go package test import ( \u0026#34;testing\u0026#34; \u0026#34;github.com/gruntwork-io/terratest/modules/terraform\u0026#34; \u0026#34;github.com/stretchr/testify/assert\u0026#34; ) func TestVPCModule(t *testing.T) { t.Parallel() terraformOptions := terraform.WithDefaultRetryableErrors(t, \u0026amp;terraform.Options{ TerraformDir: \u0026#34;../modules/vpc\u0026#34;, Vars: map[string]interface{}{ \u0026#34;cidr_block\u0026#34;: \u0026#34;10.0.0.0/16\u0026#34;, \u0026#34;az_count\u0026#34;: 2, }, }) defer terraform.Destroy(t, terraformOptions) terraform.InitAndApply(t, terraformOptions) vpcId := terraform.Output(t, terraformOptions, \u0026#34;vpc_id\u0026#34;) assert.NotEmpty(t, vpcId) subnetIds := terraform.OutputList(t, terraformOptions, \u0026#34;private_subnet_ids\u0026#34;) assert.Equal(t, 2, len(subnetIds)) } Quick Reference Essential Commands 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 # Format code terraform fmt -recursive # Validate configuration terraform validate # Plan with variable file terraform plan -var-file=prod.tfvars -out=plan.tfplan # Apply saved plan terraform apply plan.tfplan # Import existing resource terraform import aws_vpc.main vpc-12345 # Show state terraform state list terraform state show aws_vpc.main # Move state terraform state mv aws_vpc.old aws_vpc.new # Taint for recreation terraform taint aws_instance.web # Output in JSON terraform output -json Conclusion Following these best practices will help you build maintainable, secure, and scalable infrastructure. Start with a solid foundation, and iterate as your needs evolve.\nRelated Resources Multi-Cloud Infrastructure Project Official Terraform Best Practices Questions about Terraform? Let\u0026rsquo;s discuss!\n","permalink":"https://elmiabdullahi.com/blog/terraform-best-practices/","summary":"\u003ch2 id=\"introduction\"\u003eIntroduction\u003c/h2\u003e\n\u003cp\u003eAfter managing Terraform codebases across multiple organizations and cloud providers, I\u0026rsquo;ve compiled these battle-tested best practices. Whether you\u0026rsquo;re starting fresh or refactoring existing infrastructure, these patterns will help you build maintainable, scalable IaC.\u003c/p\u003e\n\u003ch2 id=\"project-structure\"\u003eProject Structure\u003c/h2\u003e\n\u003ch3 id=\"standard-module-layout\"\u003eStandard Module Layout\u003c/h3\u003e\n\n\n\n\u003cdiv class=\"goat svg-container \"\u003e\n  \n    \u003csvg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      font-family=\"Menlo,Lucida Console,monospace\"\n      \n        viewBox=\"0 0 576 185\"\n      \u003e\n      \u003cg transform='translate(8,16)'\u003e\n\u003cpath d='M 88,16 L 96,0' fill='none' stroke='currentColor'\u003e\u003c/path\u003e\n\u003cpath d='M 88,144 L 96,128' fill='none' stroke='currentColor'\u003e\u003c/path\u003e\n\u003ccircle cx='88' cy='144' r='6' stroke='currentColor' fill='#fff'\u003e\u003c/circle\u003e\n\u003ccircle cx='96' cy='0' r='6' stroke='currentColor' fill='#fff'\u003e\u003c/circle\u003e\n\u003ctext text-anchor='middle' x='0' y='4' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='20' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='36' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='52' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='68' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='84' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='100' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='116' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='132' fill='currentColor' style='font-size:1em'\u003e│\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='148' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='0' y='164' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='4' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='20' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='8' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='4' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='20' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='84' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='148' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='16' y='164' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='24' y='4' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='4' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='20' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='36' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='52' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='68' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='84' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='100' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='116' fill='currentColor' style='font-size:1em'\u003e├\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='132' fill='currentColor' style='font-size:1em'\u003e└\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='148' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='32' y='164' fill='currentColor' style='font-size:1em'\u003eR\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='4' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='20' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='68' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='84' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='100' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='132' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='148' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='40' y='164' fill='currentColor' style='font-size:1em'\u003eE\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='4' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='20' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='36' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='52' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='68' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='84' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='100' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='116' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='132' fill='currentColor' style='font-size:1em'\u003e─\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='148' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='48' y='164' fill='currentColor' style='font-size:1em'\u003eA\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='4' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='20' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='84' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='148' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='56' y='164' fill='currentColor' style='font-size:1em'\u003eD\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='4' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='20' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='36' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='52' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='68' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='84' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='100' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='116' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='132' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='148' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='64' y='164' fill='currentColor' style='font-size:1em'\u003eM\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='4' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='20' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='36' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='52' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='68' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='84' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='100' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='116' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='132' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='148' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='72' y='164' fill='currentColor' style='font-size:1em'\u003eE\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='4' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='20' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='36' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='52' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='68' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='84' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='100' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='116' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='132' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='148' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='80' y='164' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='4' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='36' fill='currentColor' style='font-size:1em'\u003ew\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='52' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='68' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='84' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='100' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='116' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='132' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='88' y='164' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='36' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='52' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='68' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='84' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='116' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='148' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='96' y='164' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='4' fill='currentColor' style='font-size:1em'\u003ej\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='36' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='52' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='68' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='84' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='116' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='104' y='148' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='4' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='36' fill='currentColor' style='font-size:1em'\u003ek\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='52' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='68' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='84' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='116' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='112' y='148' fill='currentColor' style='font-size:1em'\u003e-\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='4' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='36' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='52' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='68' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='84' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='116' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='120' y='148' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='4' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='36' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='68' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='84' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='128' y='148' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='4' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='36' fill='currentColor' style='font-size:1em'\u003eg\u003c/text\u003e\n\u003ctext text-anchor='middle' x='136' y='148' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='36' fill='currentColor' style='font-size:1em'\u003e/\u003c/text\u003e\n\u003ctext text-anchor='middle' x='144' y='148' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='152' y='148' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='160' y='148' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='168' y='148' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='36' fill='currentColor' style='font-size:1em'\u003e#\u003c/text\u003e\n\u003ctext text-anchor='middle' x='184' y='100' fill='currentColor' style='font-size:1em'\u003e#\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='36' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='200' y='100' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='36' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='208' y='100' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='36' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='216' y='100' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='36' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='224' y='100' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='36' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='232' y='100' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='36' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='240' y='100' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='36' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='248' y='100' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='36' fill='currentColor' style='font-size:1em'\u003e,\u003c/text\u003e\n\u003ctext text-anchor='middle' x='256' y='100' fill='currentColor' style='font-size:1em'\u003e,\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='36' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='272' y='100' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='36' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='280' y='100' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='36' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='288' y='100' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='36' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='296' y='100' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='36' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='304' y='100' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='36' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='312' y='100' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='36' fill='currentColor' style='font-size:1em'\u003el\u003c/text\u003e\n\u003ctext text-anchor='middle' x='320' y='100' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='36' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='328' y='100' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='36' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='336' y='100' fill='currentColor' style='font-size:1em'\u003em\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='36' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='344' y='100' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='36' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='352' y='100' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='36' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='360' y='100' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='36' fill='currentColor' style='font-size:1em'\u003e,\u003c/text\u003e\n\u003ctext text-anchor='middle' x='368' y='100' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='376' y='100' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='36' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='384' y='100' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='36' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='392' y='100' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='36' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='400' y='100' fill='currentColor' style='font-size:1em'\u003e,\u003c/text\u003e\n\u003ctext text-anchor='middle' x='408' y='36' fill='currentColor' style='font-size:1em'\u003ep\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='36' fill='currentColor' style='font-size:1em'\u003eu\u003c/text\u003e\n\u003ctext text-anchor='middle' x='416' y='100' fill='currentColor' style='font-size:1em'\u003eb\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='36' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='424' y='100' fill='currentColor' style='font-size:1em'\u003ea\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='36' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='432' y='100' fill='currentColor' style='font-size:1em'\u003ec\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='36' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='440' y='100' fill='currentColor' style='font-size:1em'\u003ek\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='36' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='448' y='100' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='36' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='456' y='100' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='36' fill='currentColor' style='font-size:1em'\u003e,\u003c/text\u003e\n\u003ctext text-anchor='middle' x='464' y='100' fill='currentColor' style='font-size:1em'\u003ed\u003c/text\u003e\n\u003ctext text-anchor='middle' x='472' y='100' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='36' fill='currentColor' style='font-size:1em'\u003ev\u003c/text\u003e\n\u003ctext text-anchor='middle' x='480' y='100' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='36' fill='currentColor' style='font-size:1em'\u003ee\u003c/text\u003e\n\u003ctext text-anchor='middle' x='488' y='100' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003ctext text-anchor='middle' x='496' y='36' fill='currentColor' style='font-size:1em'\u003er\u003c/text\u003e\n\u003ctext text-anchor='middle' x='504' y='36' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='512' y='36' fill='currentColor' style='font-size:1em'\u003ei\u003c/text\u003e\n\u003ctext text-anchor='middle' x='520' y='36' fill='currentColor' style='font-size:1em'\u003eo\u003c/text\u003e\n\u003ctext text-anchor='middle' x='528' y='36' fill='currentColor' style='font-size:1em'\u003en\u003c/text\u003e\n\u003ctext text-anchor='middle' x='536' y='36' fill='currentColor' style='font-size:1em'\u003es\u003c/text\u003e\n\u003ctext text-anchor='middle' x='544' y='36' fill='currentColor' style='font-size:1em'\u003e.\u003c/text\u003e\n\u003ctext text-anchor='middle' x='552' y='36' fill='currentColor' style='font-size:1em'\u003et\u003c/text\u003e\n\u003ctext text-anchor='middle' x='560' y='36' fill='currentColor' style='font-size:1em'\u003ef\u003c/text\u003e\n\u003c/g\u003e\n\n    \u003c/svg\u003e\n  \n\u003c/div\u003e\n\u003ch3 id=\"file-naming-conventions\"\u003eFile Naming Conventions\u003c/h3\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003eFile\u003c/th\u003e\n          \u003cth\u003ePurpose\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003emain.tf\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003ePrimary resources and module calls\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003evariables.tf\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003eInput variable declarations\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003eoutputs.tf\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003eOutput value declarations\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003eversions.tf\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003eProvider and Terraform version constraints\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003elocals.tf\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003eLocal value definitions\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003edata.tf\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003eData source declarations\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003ebackend.tf\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003eBackend configuration\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"module-design-patterns\"\u003eModule Design Patterns\u003c/h2\u003e\n\u003ch3 id=\"1-single-responsibility\"\u003e1. Single Responsibility\u003c/h3\u003e\n\u003cp\u003eEach module should do one thing well:\u003c/p\u003e","title":"Terraform Best Practices for Production Infrastructure"},{"content":" 404 Oops! This page doesn't exist The page you're looking for might have been moved, deleted, or never existed.\n🏠 Go Home 📁 View Projects 📝 Read Blog Or try searching:\n🔍 Search ","permalink":"https://elmiabdullahi.com/404/","summary":"\u003cdiv class=\"not-found\"\u003e\n  \u003ch1\u003e404\u003c/h1\u003e\n  \u003ch2\u003eOops! This page doesn't exist\u003c/h2\u003e\n  \u003cp\u003eThe page you're looking for might have been moved, deleted, or never existed.\u003c/p\u003e\n  \u003cdiv class=\"not-found-links\"\u003e\n    \u003ca href=\"/\" class=\"btn\"\u003e🏠 Go Home\u003c/a\u003e\n    \u003ca href=\"/projects/\" class=\"btn\"\u003e📁 View Projects\u003c/a\u003e\n    \u003ca href=\"/blog/\" class=\"btn\"\u003e📝 Read Blog\u003c/a\u003e\n  \u003c/div\u003e\n  \u003cdiv class=\"not-found-search\"\u003e\n    \u003cp\u003eOr try searching:\u003c/p\u003e\n    \u003ca href=\"/search/\" class=\"btn-outline\"\u003e🔍 Search\u003c/a\u003e\n  \u003c/div\u003e\n\u003c/div\u003e\n\u003cstyle\u003e\n.not-found {\n  text-align: center;\n  padding: 4rem 2rem;\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.not-found h1 {\n  font-size: 8rem;\n  font-weight: 800;\n  background: linear-gradient(135deg, #3b82f6, #8b5cf6, #ec4899);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n  margin: 0;\n  line-height: 1;\n}\n\n.not-found h2 {\n  font-size: 1.8rem;\n  margin: 1rem 0;\n  color: var(--primary);\n}\n\n.not-found p {\n  color: var(--secondary);\n  font-size: 1.1rem;\n  margin-bottom: 2rem;\n}\n\n.not-found-links {\n  display: flex;\n  gap: 1rem;\n  justify-content: center;\n  flex-wrap: wrap;\n  margin-bottom: 2rem;\n}\n\n.not-found .btn {\n  display: inline-block;\n  padding: 0.75rem 1.5rem;\n  background: var(--code-bg);\n  color: var(--primary);\n  border-radius: 8px;\n  text-decoration: none;\n  font-weight: 500;\n  transition: all 0.2s ease;\n  border: 1px solid var(--border);\n}\n\n.not-found .btn:hover {\n  background: var(--accent-primary, #3b82f6);\n  color: white;\n  transform: translateY(-2px);\n}\n\n.not-found-search {\n  margin-top: 2rem;\n  padding-top: 2rem;\n  border-top: 1px solid var(--border);\n}\n\n.not-found .btn-outline {\n  display: inline-block;\n  padding: 0.75rem 2rem;\n  background: transparent;\n  color: var(--primary);\n  border: 2px solid var(--border);\n  border-radius: 8px;\n  text-decoration: none;\n  font-weight: 500;\n  transition: all 0.2s ease;\n}\n\n.not-found .btn-outline:hover {\n  border-color: var(--accent-primary, #3b82f6);\n  color: var(--accent-primary, #3b82f6);\n}\n\u003c/style\u003e","title":"404 - Page Not Found"},{"content":"👋 Hello, I\u0026rsquo;m Elmi Abdullahi I\u0026rsquo;m a results-driven DevOps Engineer with extensive experience in designing, implementing, and managing cloud-native infrastructure and automation pipelines. My passion lies in bridging the gap between development and operations, enabling teams to deliver high-quality software faster and more reliably.\n🎯 Professional Summary With a strong foundation in both software development and systems administration, I bring a holistic approach to DevOps:\n5+ years of experience in cloud infrastructure and automation Deep expertise in Kubernetes orchestration and container technologies Proven track record of implementing CI/CD pipelines that reduce deployment times by 80%+ Strong advocate for Infrastructure as Code and GitOps methodologies Passionate about security and implementing DevSecOps best practices 🛠️ Tech Stack 🌟 What Drives Me I\u0026rsquo;m passionate about:\nAutomation - Eliminating toil and enabling teams to focus on high-value work Reliability - Building systems that are resilient and self-healing Security - Integrating security practices throughout the development lifecycle Knowledge Sharing - Helping others learn and grow in their DevOps journey 📫 Let\u0026rsquo;s Connect I\u0026rsquo;m always interested in discussing DevOps challenges, new technologies, or potential collaborations.\n📧 Email 💼 LinkedIn 🐙 GitHub \u0026ldquo;Infrastructure as Code isn\u0026rsquo;t just about automation—it\u0026rsquo;s about treating infrastructure with the same care, version control, and review processes we give to application code.\u0026rdquo;\n","permalink":"https://elmiabdullahi.com/about/","summary":"\u003ch2 id=\"-hello-im-elmi-abdullahi\"\u003e👋 Hello, I\u0026rsquo;m Elmi Abdullahi\u003c/h2\u003e\n\u003cp\u003eI\u0026rsquo;m a results-driven \u003cstrong\u003eDevOps Engineer\u003c/strong\u003e with extensive experience in designing, implementing, and managing cloud-native infrastructure and automation pipelines. My passion lies in bridging the gap between development and operations, enabling teams to deliver high-quality software faster and more reliably.\u003c/p\u003e\n\u003ch2 id=\"-professional-summary\"\u003e🎯 Professional Summary\u003c/h2\u003e\n\u003cp\u003eWith a strong foundation in both software development and systems administration, I bring a holistic approach to DevOps:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e5+ years\u003c/strong\u003e of experience in cloud infrastructure and automation\u003c/li\u003e\n\u003cli\u003eDeep expertise in \u003cstrong\u003eKubernetes\u003c/strong\u003e orchestration and container technologies\u003c/li\u003e\n\u003cli\u003eProven track record of implementing \u003cstrong\u003eCI/CD pipelines\u003c/strong\u003e that reduce deployment times by 80%+\u003c/li\u003e\n\u003cli\u003eStrong advocate for \u003cstrong\u003eInfrastructure as Code\u003c/strong\u003e and GitOps methodologies\u003c/li\u003e\n\u003cli\u003ePassionate about \u003cstrong\u003esecurity\u003c/strong\u003e and implementing DevSecOps best practices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"-tech-stack\"\u003e🛠️ Tech Stack\u003c/h2\u003e\n\u003cdiv class=\"tech-stack\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/azure/azure-original.svg\" height=\"45\" alt=\"Azure\" title=\"Azure\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/googlecloud/googlecloud-original.svg\" height=\"45\" alt=\"GCP\" title=\"Google Cloud\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/amazonwebservices/amazonwebservices-plain-wordmark.svg\" height=\"45\" alt=\"AWS\" title=\"AWS\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/kubernetes/kubernetes-plain.svg\" height=\"45\" alt=\"Kubernetes\" title=\"Kubernetes\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/docker/docker-plain-wordmark.svg\" height=\"45\" alt=\"Docker\" title=\"Docker\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/podman/podman-original.svg\" height=\"45\" alt=\"Podman\" title=\"Podman\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/helm/helm-original.svg\" height=\"45\" alt=\"Helm\" title=\"Helm\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/argocd/argocd-original.svg\" height=\"45\" alt=\"ArgoCD\" title=\"ArgoCD\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/terraform/terraform-original.svg\" height=\"45\" alt=\"Terraform\" title=\"Terraform\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/ansible/ansible-original.svg\" height=\"45\" alt=\"Ansible\" title=\"Ansible\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/packer/packer-original.svg\" height=\"45\" alt=\"Packer\" title=\"Packer\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/githubactions/githubactions-plain.svg\" height=\"45\" alt=\"GitHub Actions\" title=\"GitHub Actions\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/azuredevops/azuredevops-plain.svg\" height=\"45\" alt=\"Azure DevOps\" title=\"Azure DevOps\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/gitlab/gitlab-original.svg\" height=\"45\" alt=\"GitLab\" title=\"GitLab CI\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/prometheus/prometheus-original.svg\" height=\"45\" alt=\"Prometheus\" title=\"Prometheus\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/grafana/grafana-original.svg\" height=\"45\" alt=\"Grafana\" title=\"Grafana\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/python/python-original.svg\" height=\"45\" alt=\"Python\" title=\"Python\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/bash/bash-original.svg\" height=\"45\" alt=\"Bash\" title=\"Bash\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/powershell/powershell-original.svg\" height=\"45\" alt=\"PowerShell\" title=\"PowerShell\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/go/go-original.svg\" height=\"45\" alt=\"Go\" title=\"Go\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/linux/linux-original.svg\" height=\"45\" alt=\"Linux\" title=\"Linux\" /\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/git/git-original.svg\" height=\"45\" alt=\"Git\" title=\"Git\" /\u003e\n\u003c/div\u003e\n\u003ch2 id=\"-what-drives-me\"\u003e🌟 What Drives Me\u003c/h2\u003e\n\u003cp\u003eI\u0026rsquo;m passionate about:\u003c/p\u003e","title":"About Me"},{"content":"🏆 Professional Certifications I believe in continuous learning and validating my skills through industry-recognized certifications. Below are my current certifications in cloud and DevOps technologies.\nKubernetes Certifications Certified Kubernetes Administrator (CKA) Issuing Organization: Cloud Native Computing Foundation (CNCF)\nCredential ID: CKA-2100-XXXXXX-XXXX\nIssue Date: January 2024\nExpiry Date: January 2027\nThe CKA certification demonstrates expertise in:\nCluster architecture, installation \u0026amp; configuration Workloads \u0026amp; scheduling Services \u0026amp; networking Storage management Troubleshooting Kubernetes clusters 🔗 Verify Credential\nCertified Kubernetes Application Developer (CKAD) Issuing Organization: Cloud Native Computing Foundation (CNCF)\nCredential ID: CKAD-2100-XXXXXX-XXXX\nIssue Date: March 2024\nExpiry Date: March 2027\nThe CKAD certification validates skills in:\nApplication design and build Application deployment Application observability and maintenance Application environment, configuration and security 🔗 Verify Credential\nCloud Platform Certifications Microsoft Certified: Azure Administrator Associate Issuing Organization: Microsoft\nCredential ID: XXXXXXXX\nIssue Date: June 2023\nExpiry Date: June 2025\nThis certification covers:\nManaging Azure identities and governance Implementing and managing storage Deploying and managing Azure compute resources Configuring and managing virtual networking Monitoring and backing up Azure resources 🔗 Verify Credential\nMicrosoft Certified: DevOps Engineer Expert Issuing Organization: Microsoft\nCredential ID: XXXXXXXX\nIssue Date: September 2023\nExpiry Date: September 2025\nThis certification demonstrates expertise in:\nDesigning and implementing processes and communications Designing and implementing source control strategies Designing and implementing build and release pipelines Developing security and compliance plans Implementing an instrumentation strategy 🔗 Verify Credential\nInfrastructure as Code Certifications HashiCorp Certified: Terraform Associate Issuing Organization: HashiCorp\nCredential ID: XXXXXXXX\nIssue Date: February 2024\nExpiry Date: February 2026\nThis certification validates knowledge of:\nUnderstanding Infrastructure as Code concepts Terraform CLI features and workflows Terraform state management Terraform modules and workspaces Working with Terraform Cloud 🔗 Verify Credential\nSecurity Certifications Certified Kubernetes Security Specialist (CKS) Issuing Organization: Cloud Native Computing Foundation (CNCF)\nCredential ID: CKS-2100-XXXXXX-XXXX\nIssue Date: November 2024\nExpiry Date: November 2026\nThe CKS certification covers:\nCluster setup and hardening System hardening Minimizing microservice vulnerabilities Supply chain security Monitoring, logging and runtime security 🔗 Verify Credential\n📚 Currently Studying I\u0026rsquo;m continuously expanding my knowledge and working toward additional certifications:\nCertification Target Date Progress AWS Solutions Architect Associate Q2 2025 🔄 In Progress Google Cloud Professional Cloud Architect Q3 2025 📅 Planned HashiCorp Vault Associate Q4 2025 📅 Planned 🎯 Certification Philosophy I approach certifications strategically:\nPractical First - I gain hands-on experience before pursuing certification Validation - Certifications validate and formalize existing knowledge Continuous Learning - Tech evolves rapidly; certifications ensure I stay current Community Credibility - Industry-recognized credentials build trust Interested in my certification journey? Let\u0026rsquo;s connect!\n","permalink":"https://elmiabdullahi.com/certifications/","summary":"\u003ch2 id=\"-professional-certifications\"\u003e🏆 Professional Certifications\u003c/h2\u003e\n\u003cp\u003eI believe in continuous learning and validating my skills through industry-recognized certifications. Below are my current certifications in cloud and DevOps technologies.\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"certifications-grid\"\u003e\n\u003ch3 id=\"kubernetes-certifications\"\u003eKubernetes Certifications\u003c/h3\u003e\n\u003cdiv class=\"cert-card\"\u003e\n\u003cimg src=\"/images/certifications/cka-badge.svg\" alt=\"CKA Badge\" class=\"cert-badge\"\u003e\n\u003ch4 id=\"certified-kubernetes-administrator-cka\"\u003eCertified Kubernetes Administrator (CKA)\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eIssuing Organization:\u003c/strong\u003e Cloud Native Computing Foundation (CNCF)\u003cbr\u003e\n\u003cstrong\u003eCredential ID:\u003c/strong\u003e \u003ccode\u003eCKA-2100-XXXXXX-XXXX\u003c/code\u003e\u003cbr\u003e\n\u003cstrong\u003eIssue Date:\u003c/strong\u003e January 2024\u003cbr\u003e\n\u003cstrong\u003eExpiry Date:\u003c/strong\u003e January 2027\u003c/p\u003e\n\u003cp\u003eThe CKA certification demonstrates expertise in:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCluster architecture, installation \u0026amp; configuration\u003c/li\u003e\n\u003cli\u003eWorkloads \u0026amp; scheduling\u003c/li\u003e\n\u003cli\u003eServices \u0026amp; networking\u003c/li\u003e\n\u003cli\u003eStorage management\u003c/li\u003e\n\u003cli\u003eTroubleshooting Kubernetes clusters\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://www.credly.com/badges/your-badge-id\"\u003eVerify Credential\u003c/a\u003e\u003c/p\u003e","title":"Certifications"},{"content":" Let's Connect! 🚀 I'm always open to discussing DevOps challenges, cloud architecture, or collaboration opportunities.\nEmail LinkedIn GitHub ","permalink":"https://elmiabdullahi.com/contact/","summary":"\u003cdiv class=\"contact-hero\"\u003e\n  \u003ch2\u003eLet's Connect! 🚀\u003c/h2\u003e\n  \u003cp\u003eI'm always open to discussing DevOps challenges, cloud architecture, or collaboration opportunities.\u003c/p\u003e\n  \u003cdiv class=\"social-banner\"\u003e\n    \u003ca href=\"mailto:elmi.abdullahi91@gmail.com\" class=\"social-btn email\" title=\"Send me an email\"\u003e\n      \u003csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z\"/\u003e\u003c/svg\u003e\n      \u003cspan\u003eEmail\u003c/span\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://linkedin.com/in/elmi-abdullahi\" target=\"_blank\" rel=\"noopener\" class=\"social-btn linkedin\" title=\"Connect on LinkedIn\"\u003e\n      \u003csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z\"/\u003e\u003c/svg\u003e\n      \u003cspan\u003eLinkedIn\u003c/span\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/elmi70\" target=\"_blank\" rel=\"noopener\" class=\"social-btn github\" title=\"Check out my GitHub\"\u003e\n      \u003csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2z\"/\u003e\u003c/svg\u003e\n      \u003cspan\u003eGitHub\u003c/span\u003e\n    \u003c/a\u003e\n  \u003c/div\u003e\n\u003c/div\u003e\n\u003cstyle\u003e\n.contact-hero {\n  text-align: center;\n  padding: 3rem 1rem;\n  max-width: 600px;\n  margin: 0 auto;\n}\n\n.contact-hero h2 {\n  font-size: 2.2rem;\n  margin-bottom: 1rem;\n  background: linear-gradient(135deg, #3b82f6, #8b5cf6);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n.contact-hero p {\n  font-size: 1.15rem;\n  color: var(--secondary);\n  margin-bottom: 2.5rem;\n  line-height: 1.6;\n}\n\n.social-banner {\n  display: flex;\n  justify-content: center;\n  gap: 1.5rem;\n  flex-wrap: wrap;\n}\n\n.social-btn {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 1.5rem 2rem;\n  border-radius: 16px;\n  text-decoration: none;\n  font-weight: 600;\n  font-size: 1rem;\n  transition: all 0.3s ease;\n  min-width: 120px;\n}\n\n.social-btn svg {\n  transition: transform 0.3s ease;\n}\n\n.social-btn:hover svg {\n  transform: scale(1.15);\n}\n\n.social-btn.email {\n  background: linear-gradient(135deg, #ef4444, #f97316);\n  color: white;\n}\n\n.social-btn.email:hover {\n  transform: translateY(-4px);\n  box-shadow: 0 12px 30px rgba(239, 68, 68, 0.4);\n}\n\n.social-btn.linkedin {\n  background: linear-gradient(135deg, #0077b5, #00a0dc);\n  color: white;\n}\n\n.social-btn.linkedin:hover {\n  transform: translateY(-4px);\n  box-shadow: 0 12px 30px rgba(0, 119, 181, 0.4);\n}\n\n.social-btn.github {\n  background: linear-gradient(135deg, #333, #555);\n  color: white;\n}\n\n.social-btn.github:hover {\n  transform: translateY(-4px);\n  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);\n}\n\n@media (max-width: 480px) {\n  .social-banner {\n    flex-direction: column;\n    align-items: center;\n  }\n  \n  .social-btn {\n    width: 100%;\n    max-width: 200px;\n  }\n}\n\u003c/style\u003e","title":"Contact"}]