/* 
  Garuda Infosys Redesign Stylesheet
  Theme: Premium Dark Tech + Corporate Enterprise
*/

:root {
  /* Colors */
  --bg-primary: #ffffff;      /* Pure White */
  --bg-secondary: #f8fafc;    /* Very light gray/blue (slate-50) */
  --bg-tertiary: #f1f5f9;     /* Light gray (slate-100) */
  --bg-card: #ffffff;
  --bg-glass: rgba(255, 255, 255, 0.8);
  
  --border-glass: rgba(15, 23, 42, 0.08);
  --border-glass-hover: rgba(0, 0, 51, 0.35);
  
  /* Text */
  --text-primary: #0f172a;    /* Slate 900 */
  --text-secondary: #334155;  /* Slate 700 */
  --text-muted: #64748b;      /* Slate 500 */
  
  /* Accents */
  --accent-blue: #3b82f6;     /* Cyber Blue */
  --accent-cyan: #06b6d4;     /* Tech Cyan */
  --accent-red: #000033;      /* Garuda Brand Red */
  --accent-red-glow: rgba(0, 0, 51, 0.25);
  --accent-green: #10b981;    /* Operation Online Green */
  
  /* Gradients */
  --grad-hero: radial-gradient(circle at 70% 30%, rgba(59, 130, 246, 0.07) 0%, rgba(6, 182, 212, 0.03) 40%, transparent 70%);
  --grad-card-hover: linear-gradient(135deg, rgba(0, 0, 51, 0.1) 0%, rgba(59, 130, 246, 0.05) 100%);
  --grad-text: linear-gradient(135deg, #0f172a 30%, #334155 100%);
  --grad-blue-text: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%);
  --grad-red-text: linear-gradient(135deg, #000066 0%, #000033 100%);

  /* Fonts */
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-display: 'Space Grotesk', sans-serif;
  --font-mono: 'Fira Code', monospace;
  
  /* Transitions */
  --trans-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --trans-fast: all 0.2s ease;
}

/* Reset & Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  font-family: var(--font-sans);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Scrollbar Customization */
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: var(--bg-primary);
}
::-webkit-scrollbar-thumb {
  background: var(--bg-tertiary);
  border: 2px solid var(--bg-primary);
  border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--border-glass-hover);
}

/* Layout Utilities */
.container {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 64px;
}

.section-padding {
  padding: 60px 0;
}

.text-center {
  text-align: center;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

p {
  color: var(--text-secondary);
}

.gradient-text {
  background: var(--grad-text);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gradient-blue-text {
  background: var(--grad-blue-text);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gradient-red-text {
  background: var(--grad-red-text);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.section-badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--accent-red);
  background: rgba(2, 55, 159, 0.08);
  border: 1px solid rgba(2, 55, 159, 0.15);
  padding: 6px 14px;
  border-radius: 50px;
  margin-bottom: 20px;
}

.section-title {
  font-size: 40px;
  font-weight: 800;
  margin-bottom: 20px;
  color: var(--text-primary);
}

.section-subtitle {
  font-size: 17px;
  color: var(--text-secondary);
  max-width: 680px;
  margin: 0 auto 60px auto;
  line-height: 1.7;
}

/* Header & Navigation */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: var(--trans-smooth);
}

.site-header.scrolled {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-glass);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

/* Utility Bar Hidden */
.utility-bar {
  display: none !important;
}

.utility-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.utility-left, .utility-right {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--text-secondary);
}

.utility-divider {
  color: var(--border-glass);
}

.utility-link {
  color: var(--text-secondary);
  text-decoration: none;
  transition: var(--trans-fast);
}

.utility-link:hover {
  color: var(--text-primary);
}

/* Header Container */
.header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 120px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.logo-wrapper {
  display: flex;
  align-items: center;
}

.logo-wrapper img {
  height: 120px;
  width: auto;
  transition: var(--trans-smooth);
}

/* Desktop Nav */
.desktop-nav {
  display: block;
}

.nav-links {
  display: flex;
  align-items: center;
  list-style: none;
  gap: 32px;
}

.nav-item {
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: var(--trans-fast);
  display: flex;
  align-items: center;
  gap: 6px;
}

.nav-item:hover, .nav-item.active {
  color: var(--text-primary);
}

.dropdown-chevron {
  transition: var(--trans-fast);
}

.nav-dropdown-trigger {
  position: relative;
  padding: 20px 0;
}

.nav-dropdown-trigger:hover .dropdown-chevron {
  transform: rotate(180deg);
}

.nav-dropdown-box {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  width: 280px;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-glass);
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  opacity: 0;
  pointer-events: none;
  transition: var(--trans-smooth);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(16px);
}

.nav-dropdown-trigger:hover .nav-dropdown-box {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.dropdown-link-item a {
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 13.5px;
  padding: 8px 12px;
  border-radius: 6px;
  display: block;
  transition: var(--trans-fast);
}

.dropdown-link-item a:hover {
  background: rgba(0, 0, 0, 0.04);
  color: var(--text-primary);
  padding-left: 16px;
}

.dropdown-link-item.explore-all a {
  color: var(--accent-blue);
  font-weight: 600;
  border-bottom: 1px solid var(--border-glass);
  border-radius: 0;
  padding-bottom: 12px;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dropdown-link-item.explore-all a:hover {
  background: transparent;
  color: var(--accent-cyan);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Button Styles */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 14px;
  padding: 12px 24px;
  border-radius: 50px;
  cursor: pointer;
  transition: var(--trans-smooth);
  text-decoration: none;
  border: none;
  white-space: nowrap;
}

.btn-primary {
  background: #1d58d1;
  color: #ffffff;
  border: 2px solid #1d58d1;
  box-shadow: 0 4px 20px rgba(2, 55, 159, 0.25);
}

.btn-primary:hover {
  background: #1d58d1;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(2, 55, 159, 0.45);
}

.btn-outline {
  background: transparent;
  color: var(--text-primary);
  border: 1px solid var(--border-glass);
}

.explore-link {
  background: transparent;
  border: none;
  color: var(--accent-cyan);
  font-family: var(--font-mono);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer !important;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  transition: var(--trans-smooth);
  white-space: nowrap;
}
.explore-link:hover {
  color: #1d58d1;
  transform: translateX(3px);
}

.btn-outline:hover {
  background: rgba(0, 0, 0, 0.04);
  border-color: var(--text-secondary);
  transform: translateY(-2px);
}

.btn-glass {
  background: rgba(255, 255, 255, 0.65);
  color: var(--text-primary);
  backdrop-filter: blur(8px);
  border: 1px solid var(--border-glass);
}

.btn-glass:hover {
  background: rgba(255, 255, 255, 0.9);
  border-color: var(--border-glass-hover);
  transform: translateY(-2px);
}

.btn-sm {
  padding: 8px 18px;
  font-size: 13px;
}

.btn-block {
  width: 100%;
}

/* Hamburger mobile menu button */
.menu-toggle {
  display: none;
  background: transparent;
  border: none;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  padding: 0;
  z-index: 1001;
}

.hamburger-bar {
  display: block;
  width: 22px;
  height: 2px;
  background-color: var(--text-primary);
  border-radius: 2px;
  transition: var(--trans-smooth);
}

/* Mobile Nav Overlay */
.mobile-nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(3, 7, 18, 0.98);
  backdrop-filter: blur(20px);
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: var(--trans-smooth);
}

.mobile-nav-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.mobile-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.mobile-item {
  color: var(--text-secondary);
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 600;
  text-decoration: none;
  transition: var(--trans-fast);
}

.mobile-item:hover {
  color: #ffffff;
  transform: scale(1.05);
}

.mobile-cta {
  margin-top: 16px;
  font-size: 16px;
  padding: 14px 32px;
}

/* Hero Section */
.hero-section {
  position: relative;
  padding: 140px 0 45px 0;
  overflow: hidden;
  background: var(--bg-secondary);
}

.hero-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--grad-hero);
  pointer-events: none;
  z-index: 1;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 60px;
  align-items: center;
  position: relative;
  z-index: 2;
}

.hero-content {
  max-width: 680px;
}

.hero-title {
  font-size: 48px;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 16px;
  background: none;
  -webkit-text-fill-color: initial;
}

/* Futuristic Staggered Word Reveal Animation */
.hero-title .word-wrapper {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  margin-right: 0.18em;
  padding-bottom: 0.05em; /* Avoid cutting off letters like g/y/p */
}

.hero-title .animate-word {
  display: inline-block;
  transform: translateY(115%) rotate(4deg);
  opacity: 0;
  filter: blur(6px);
  animation: futuristicWordReveal 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  background: var(--grad-text);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  will-change: transform, opacity, filter;
}

/* Cybernetic Glowing Gradients for Key Concepts */
.hero-title .animate-word.highlight-blue {
  background: linear-gradient(90deg, #1e3a8a, #3b82f6, #60a5fa, #1e3a8a);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: futuristicWordReveal 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards,
             shimmerTextSweep 5s linear infinite;
  text-shadow: 0 0 30px rgba(59, 130, 246, 0.15);
}

.hero-title .animate-word.highlight-cyan {
  background: linear-gradient(90deg, #0f172a, #06b6d4, #22d3ee, #0f172a);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: futuristicWordReveal 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards,
             shimmerTextSweep 5s linear infinite;
  text-shadow: 0 0 30px rgba(6, 182, 212, 0.15);
}

@keyframes futuristicWordReveal {
  0% {
    transform: translateY(115%) rotate(4deg);
    filter: blur(6px);
    opacity: 0;
  }
  30% {
    filter: blur(2px);
  }
  100% {
    transform: translateY(0) rotate(0deg);
    filter: blur(0px);
    opacity: 1;
  }
}

@keyframes shimmerTextSweep {
  0% {
    background-position: 0% center;
  }
  100% {
    background-position: 200% center;
  }
}

.hero-subtitle {
  font-size: 18px;
  line-height: 1.7;
  color: var(--text-secondary);
  margin-bottom: 28px;
}

.hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

/* Hero Visual SVG */
.hero-visual-container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.hero-glow-back {
  position: absolute;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.25) 0%, transparent 70%);
  border-radius: 50%;
  filter: blur(30px);
  z-index: 1;
  pointer-events: none;
}

.hero-svg-graphic {
  width: 100%;
  max-width: 460px;
  height: auto;
  z-index: 2;
  filter: drop-shadow(0 15px 35px rgba(0, 0, 0, 0.6));
}

/* Floating Elements Animation */
@keyframes float {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-10px) rotate(1deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}

.float-animation {
  animation: float 6s ease-in-out infinite;
}

.float-animation-delay {
  animation: float 6s ease-in-out infinite;
  animation-delay: 3s;
}

/* Pillars Section */
.pillars-section {
  background: var(--bg-primary);
  border-top: 1px solid var(--border-glass);
  border-bottom: 1px solid var(--border-glass);
  padding: 60px 0;
  position: relative;
  z-index: 3;
}

.pillars-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.pillar-col {
  position: relative;
  padding-left: 20px;
}

.pillar-line {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.pillar-line::after {
  content: '';
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, transparent, var(--accent-red), transparent);
  animation: scan-line 4s infinite linear;
}

.pillar-col:nth-child(2) .pillar-line::after { animation-delay: 1s; }
.pillar-col:nth-child(3) .pillar-line::after { animation-delay: 2s; }
.pillar-col:nth-child(4) .pillar-line::after { animation-delay: 3s; }

@keyframes scan-line {
  0% { top: -100%; }
  100% { top: 100%; }
}

.pillar-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #ffffff;
}

.pillar-desc {
  font-size: 13.5px;
  color: var(--text-secondary);
  line-height: 1.5;
}

/* Solutions / Services Section */
.solutions-section {
  background: var(--bg-secondary);
  position: relative;
}

.solutions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.solutions-grid-2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  max-width: 900px;
  margin: 0 auto;
}

/* Service / Solution Card */
.solution-card {
  background-image: linear-gradient(135deg, #0f172a 0%, #1e3a8a 50%, #3b82f6 100%);
  color: #ffffff;
  border: 1px solid var(--border-glass);
  border-radius: 16px;
  overflow: hidden;
  transition: var(--trans-smooth);
  display: flex;
  flex-direction: column;
  height: 100%;
  cursor: pointer;
  position: relative;
}

.solution-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 16px;
  background: radial-gradient(circle at 50% 0%, rgba(59, 130, 246, 0.1) 0%, transparent 60%);
  opacity: 0;
  transition: var(--trans-smooth);
  pointer-events: none;
  z-index: 1;
}

.solution-card:hover {
  transform: translateY(-6px);
  border-color: var(--border-glass-hover);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.4), 0 0 30px rgba(59, 130, 246, 0.05);
}

.solution-card:hover::before {
  opacity: 1;
}

.pillars-grid-4col {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Premium Card Design (Matches User Reference Image) */
.new-premium-card {
  background: #ffffff;
  border-radius: 32px;
  padding: 12px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.new-premium-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.12);
}

.new-premium-card-img-wrapper {
  width: 100%;
  height: 220px;
  border-radius: 24px;
  overflow: hidden;
  margin-bottom: 16px;
}

.new-premium-card-img-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.new-premium-card-body {
  padding: 8px 16px 20px 16px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.new-premium-card-title {
  font-size: 26px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 6px;
  letter-spacing: -0.5px;
}

.new-premium-card-desc {
  font-size: 15px;
  color: #6b7280;
  margin-bottom: 20px;
  line-height: 1.5;
}

.new-premium-card-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
  flex-grow: 1;
}

.new-premium-card-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14.5px;
  color: #4b5563;
  margin-bottom: 10px;
  font-weight: 500;
}

.new-premium-card-list li svg {
  color: #9ca3af;
  flex-shrink: 0;
}

.new-premium-card-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.new-premium-btn {
  background: #111827;
  color: #ffffff;
  padding: 14px 28px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
  width: 100%;
}

.new-premium-btn:hover {
  background: #374151;
  color: #ffffff;
}

.card-image-container {
  height: 200px;
  position: relative;
  overflow: hidden;
  background: #020617;
}

.card-bg-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.65;
  transition: var(--trans-smooth);
}

.solution-card:hover .card-bg-image {
  transform: scale(1.05);
  opacity: 0.8;
}

.card-image-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(to top, var(--bg-tertiary), transparent);
}

.card-category-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  font-family: var(--font-mono);
  font-size: 9.5px;
  font-weight: 700;
  color: #ffffff;
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(6px);
  padding: 4px 10px;
  border-radius: 4px;
  letter-spacing: 1px;
}

.card-body {
  padding: 28px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  z-index: 2;
}

.card-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
  color: inherit;
}

.card-desc {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
  flex-grow: 1;
}

.btn-text-arrow {
  background: transparent;
  border: none;
  color: var(--accent-blue);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 13.5px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: var(--trans-fast);
  padding: 0;
  width: -moz-max-content;
  width: max-content;
}

.arrow-icon {
  transition: var(--trans-fast);
}

.solution-card:hover .btn-text-arrow {
  color: var(--accent-cyan);
}

.solution-card:hover .arrow-icon {
  transform: translateX(4px);
}

/* Service Details Modal */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(3, 7, 18, 0.85);
  backdrop-filter: blur(12px);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: var(--trans-smooth);
}

.modal-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.modal-box {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-glass);
  border-radius: 20px;
  width: 90%;
  max-width: 800px;
  max-height: 85vh;
  overflow-y: auto;
  position: relative;
  padding: 40px;
  transform: scale(0.9) translateY(20px);
  transition: var(--trans-smooth);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.15);
}

.modal-overlay.active .modal-box {
  transform: scale(1) translateY(0);
}

.modal-close {
  position: absolute;
  top: 24px;
  right: 24px;
  background: rgba(0, 0, 0, 0.03);
  border: 1px solid var(--border-glass);
  color: var(--text-secondary);
  font-size: 20px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--trans-fast);
}

.modal-close:hover {
  background: var(--accent-red);
  color: #ffffff;
  border-color: var(--accent-red);
}

/* Selangor HQ Map & Status */
.hq-widget {
  background: rgba(2, 6, 23, 0.4);
  border: 1px solid var(--border-glass);
  border-radius: 12px;
  padding: 24px;
  box-shadow: inset 0 2px 10px rgba(0,0,0,0.5);
}

.hq-widget-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  padding-bottom: 12px;
}

.widget-label {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-secondary);
  letter-spacing: 1px;
}

.clock-display {
  font-family: var(--font-mono);
  font-size: 14px;
  color: var(--accent-cyan);
  font-weight: 600;
}

.hq-widget-map {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 10px 0;
}

.malaysia-svg {
  width: 100%;
  max-width: 240px;
  height: auto;
}

.pulsating-dot {
  animation: pulse-dot 2s infinite;
  transform-origin: 85px 62px;
}

.expanding-circle {
  animation: expand-circle 2s infinite;
  transform-origin: 85px 62px;
}

@keyframes pulse-dot {
  0% { transform: scale(0.9); }
  50% { transform: scale(1.1); }
  100% { transform: scale(0.9); }
}

@keyframes expand-circle {
  0% { transform: scale(0.8); opacity: 0.8; }
  100% { transform: scale(2.2); opacity: 0; }
}

/* Contact Us Section */
.contact-section {
  background: var(--bg-primary);
  position: relative;
  overflow: hidden;
}

.connect-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 80px;
  align-items: center;
}

.connect-title {
  font-size: 42px;
  font-weight: 800;
  margin-bottom: 24px;
  line-height: 1.15;
}

.connect-text {
  font-size: 16px;
  line-height: 1.8;
  color: var(--text-secondary);
}

.connect-link-bold {
  color: #ffffff;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: var(--trans-fast);
}

.connect-link-bold:hover {
  color: var(--accent-blue);
}

.connect-cards {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.connect-card {
  background: var(--bg-card);
  border: 1px solid var(--border-glass);
  border-radius: 16px;
  padding: 32px;
  position: relative;
  transition: var(--trans-smooth);
}

.connect-card:hover {
  transform: translateX(6px);
  border-color: var(--border-glass-hover);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
}

.connect-card-tab {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--border-glass);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent-blue);
  transition: var(--trans-fast);
}

.connect-card:hover .connect-card-tab {
  background: var(--accent-blue);
  color: #ffffff;
  border-color: var(--accent-blue);
}

.connect-card.card-teal .connect-card-tab {
  color: var(--accent-cyan);
}
.connect-card.card-teal:hover .connect-card-tab {
  background: var(--accent-cyan);
  color: #000000;
  border-color: var(--accent-cyan);
}

.connect-card-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
}

.connect-card-desc {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
  max-width: 440px;
}

.connect-card-btn {
  background: transparent;
  border: 1px solid var(--border-glass);
  color: #ffffff;
  padding: 10px 20px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: var(--trans-fast);
}

.connect-card-btn:hover {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
}

/* Interactive Form & Console Styles */
.cyber-form-wrapper {
  background: var(--bg-secondary);
  border: 1px solid var(--border-glass);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}

.form-banner {
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid var(--border-glass);
  padding: 16px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.form-title {
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 700;
  color: var(--text-secondary);
  letter-spacing: 1.5px;
}

.cyber-form {
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-group label {
  font-family: var(--font-mono);
  font-size: 10.5px;
  text-transform: uppercase;
  color: var(--text-secondary);
  letter-spacing: 0.5px;
}

.form-group input, .form-group select, .form-group textarea {
  background: var(--bg-secondary);
  border: 1px solid var(--border-glass);
  border-radius: 8px;
  padding: 12px 16px;
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--text-primary);
  transition: var(--trans-fast);
}

.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  outline: none;
  border-color: var(--accent-blue);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
  background: var(--bg-primary);
}

.form-group select option {
  background: var(--bg-primary);
  color: var(--text-primary);
}

.form-validation-console {
  background: #0f172a;
  border: 1px solid var(--border-glass);
  border-radius: 8px;
  padding: 16px;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--accent-cyan);
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: inset 0 2px 8px rgba(0,0,0,0.4);
}

.console-title {
  color: var(--text-secondary);
  font-size: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  padding-bottom: 4px;
  margin-bottom: 4px;
}

.console-body {
  line-height: 1.5;
  white-space: pre-line;
  max-height: 120px;
  overflow-y: auto;
}

/* Track Record Section */
.track-record-section {
  background: var(--bg-secondary);
  position: relative;
  z-index: 2;
}

.marquee-wrapper {
  overflow: hidden;
  width: 100%;
  position: relative;
  padding: 20px 0;
}

.marquee-wrapper::before, .marquee-wrapper::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 150px;
  z-index: 2;
  pointer-events: none;
}

.marquee-wrapper::before {
  left: 0;
  background: linear-gradient(to right, var(--bg-secondary), transparent);
}

.marquee-wrapper::after {
  right: 0;
  background: linear-gradient(to left, var(--bg-secondary), transparent);
}

.marquee-track {
  display: flex;
  gap: 60px;
  width: -moz-max-content;
  width: max-content;
  animation: marquee-scroll 35s linear infinite;
}

.marquee-track:hover {
  animation-play-state: paused;
}

@keyframes marquee-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.marquee-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  filter: grayscale(1) brightness(0.65) contrast(1.2);
  transition: var(--trans-fast);
}

.marquee-item:hover {
  filter: grayscale(0) brightness(1) contrast(1);
}

.marquee-item img {
  height: 38px;
  width: auto;
  max-width: 160px;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Service Detail Modal Content styling */
.modal-body-content h3 {
  font-size: 28px;
  margin-bottom: 12px;
  color: #ffffff;
}

.modal-body-content .modal-tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--accent-cyan);
  background: rgba(6, 182, 212, 0.08);
  border: 1px solid rgba(6, 182, 212, 0.15);
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 20px;
  letter-spacing: 1px;
}

.modal-body-content p {
  line-height: 1.7;
  margin-bottom: 30px;
  font-size: 15.5px;
}

.modal-grid-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

/* Corporate Footer */
.site-footer {
  background: linear-gradient(180deg, #d4d6da 0%, #c0c2c6 100%);
  border-top: 2px solid rgba(10, 30, 61, 0.15);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
  padding: 40px 0 20px 0;
  position: relative;
  z-index: 2;
  color: #0a1e3d;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 30px;
  align-items: start;
}

.footer-brand-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.footer-logo-wrapper {
  display: inline-block;
  width: -moz-max-content;
  width: max-content;
  border-radius: 8px;
}

/* Why Choose GI Card Redesign */
.why-choose-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 45px;
}

.why-choose-card {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 24px;
  padding: 32px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.01);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.why-choose-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(59, 130, 246, 0.08);
  border-color: rgba(59, 130, 246, 0.2);
}

.why-card-icon-wrapper {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(59, 130, 246, 0.08);
  color: #2563eb;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  transition: all 0.3s ease;
}

.why-choose-card:hover .why-card-icon-wrapper {
  background: linear-gradient(135deg, #2563eb, #06b6d4);
  color: #ffffff;
  transform: scale(1.05);
  box-shadow: 0 8px 20px rgba(59, 130, 246, 0.2);
}

.why-icon {
  transition: transform 0.3s ease;
}

.why-choose-card:hover .why-icon {
  transform: rotate(5deg);
}

.why-card-title {
  font-size: 19px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 12px;
  letter-spacing: -0.3px;
}

.why-card-text {
  font-size: 14.5px;
  color: #4b5563;
  line-height: 1.6;
}

/* Industries We Serve Grid & Card Redesign */
.new-industries-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.new-industry-card {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.05);
  border-radius: 18px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.01);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: default;
}

.new-industry-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.06);
  border-color: rgba(2, 55, 159, 0.15);
}

.industry-icon-wrapper {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(2, 55, 159, 0.06);
  color: #02379f;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.new-industry-card:hover .industry-icon-wrapper {
  background: linear-gradient(135deg, #02379f, #3b82f6);
  color: #ffffff;
  transform: scale(1.05);
  box-shadow: 0 6px 15px rgba(2, 55, 159, 0.2);
}

.industry-icon {
  transition: transform 0.3s ease;
}

.new-industry-card:hover .industry-icon {
  transform: scale(1.08);
}

.industry-card-title {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  color: #1f2937;
}

.footer-logo-wrapper img {
  height: 72px;
  width: auto;
}

.footer-brand-desc {
  font-size: 13.5px;
  line-height: 1.6;
  max-width: 340px;
  color: #0a1e3d;
  margin: 0;
}

.compliance-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.compliance-badge {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  color: #0a1e3d;
  border: 1px solid rgba(10, 30, 61, 0.4);
  padding: 5px 10px;
  border-radius: 6px;
  background: rgba(10, 30, 61, 0.08);
  letter-spacing: 0.5px;
  transition: var(--trans-smooth);
}

.compliance-badge:hover {
  background: rgba(10, 30, 61, 0.15);
  border-color: #0a1e3d;
  transform: translateY(-1px);
}

.footer-column-title {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 24px;
  color: #0a1e3d;
}

.footer-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-links a {
  color: #0a1e3d;
  text-decoration: none;
  font-size: 14.5px;
  transition: var(--trans-smooth);
  display: inline-block;
  position: relative;
}

.footer-links a::before {
  content: '>';
  position: absolute;
  left: -10px;
  opacity: 0;
  color: #22d3ee;
  font-family: var(--font-mono);
  font-weight: 700;
  transition: var(--trans-smooth);
}

.footer-links a:hover {
  color: #22d3ee;
  padding-left: 12px;
  text-shadow: 0 0 8px rgba(34, 211, 238, 0.3);
}

.footer-links a:hover::before {
  opacity: 1;
  left: 0;
}

.footer-portal-column {
  background: linear-gradient(145deg, rgba(59, 130, 246, 0.03) 0%, rgba(255, 255, 255, 0.01) 100%);
  border: 1px solid rgba(59, 130, 246, 0.15);
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(10px);
  transition: var(--trans-smooth);
}

.footer-portal-column:hover {
  border-color: rgba(34, 211, 238, 0.4);
  box-shadow: 0 12px 40px rgba(34, 211, 238, 0.06);
  transform: translateY(-2px);
}

.footer-portal-text {
  font-size: 13.5px;
  margin-bottom: 20px;
  line-height: 1.5;
  color: #0a1e3d;
}

.btn-portal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.2);
  border-radius: 8px;
}

.btn-portal:hover {
  background: rgba(34, 211, 238, 0.1);
  border-color: #22d3ee;
  color: #22d3ee;
}

.portal-icon {
  transition: var(--trans-fast);
}

.btn-portal:hover .portal-icon {
  transform: translateX(4px);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(10, 30, 61, 0.2);
  padding-top: 16px;
  font-size: 13px;
  color: #0a1e3d;
}

.copyright-text {
  color: #0a1e3d;
  margin: 0;
}

.footer-legal-links {
  display: flex;
  align-items: center;
  gap: 16px;
}

.footer-legal-links a {
  color: #0a1e3d;
  text-decoration: none;
  transition: var(--trans-fast);
}

.footer-legal-links a:hover {
  color: #1d58d1;
}

.bullet-divider {
  color: rgba(10, 30, 61, 0.4);
}

/* Molex Detailed Tab Cards Grid (used in services.html) */
.service-detail-block {
  display: flex;
  flex-direction: column;
  padding: 80px 0;
  border-bottom: 1px solid var(--border-glass);
}

.service-detail-block:last-child {
  border-bottom: none;
}

.service-head-area {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 48px;
  margin-bottom: 24px;
  align-items: center;
}

.service-head-text {
  display: flex;
  flex-direction: column;
}

.service-head-area h3 {
  font-size: 34px;
  font-weight: 800;
  color: #ffffff;
  margin-top: 12px;
  margin-bottom: 20px;
}

.service-head-area .tag {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--accent-blue);
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.service-head-desc {
  font-size: 16px;
  line-height: 1.7;
  color: var(--text-secondary);
  margin-bottom: 12px;
}

.service-head-image-wrap {
  width: 100%;
  height: 260px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
  border: 1px solid var(--border-glass);
  position: relative;
  background: #020617;
}

.service-head-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.65;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-head-image-wrap:hover .service-head-image {
  transform: scale(1.05);
  opacity: 0.8;
}

.service-cards-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-top: 40px;
  width: 100%;
}

.molex-tab-card {
  position: relative;
  border-radius: 16px 0 16px 16px;
  padding: 44px 36px 36px 36px;
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 480px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.04);
  color: var(--text-primary);
  border: 1px solid var(--border-glass);
  transition: var(--trans-smooth);
}

.molex-tab-card:hover {
  transform: translateY(-8px);
  border-color: var(--border-glass-hover);
}

.molex-tab-card.card-teal {
  background: linear-gradient(145deg, #f0fdfa 0%, #e0f2fe 100%);
}
.molex-tab-card.card-teal:hover {
  box-shadow: 0 25px 50px -12px rgba(6, 182, 212, 0.1);
  border-color: rgba(6, 182, 212, 0.4);
}

.molex-tab-card.card-slate {
  background: linear-gradient(145deg, #f8fafc 0%, #f1f5f9 100%);
}
.molex-tab-card.card-slate:hover {
  box-shadow: 0 25px 50px -12px rgba(59, 130, 246, 0.08);
  border-color: rgba(59, 130, 246, 0.4);
}

.molex-card-tab {
  position: absolute;
  top: -32px;
  right: -1px;
  height: 32px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px 12px 0 0;
  border-top: 1px solid var(--border-glass);
  border-left: 1px solid var(--border-glass);
  border-right: 1px solid var(--border-glass);
}

.card-teal .molex-card-tab {
  background-color: #f0fdfa;
  border-top-color: rgba(6, 182, 212, 0.3);
  border-left-color: rgba(6, 182, 212, 0.3);
  border-right-color: rgba(6, 182, 212, 0.3);
}

.card-slate .molex-card-tab {
  background-color: #f8fafc;
  border-top-color: rgba(59, 130, 246, 0.3);
  border-left-color: rgba(59, 130, 246, 0.3);
  border-right-color: rgba(59, 130, 246, 0.3);
}

/* Tab Concave Curve using pseudo-element with radial-gradient */
.molex-card-tab::before {
  content: '';
  position: absolute;
  left: -20px;
  bottom: 0;
  width: 20px;
  height: 20px;
}

.card-teal .molex-card-tab::before {
  background: radial-gradient(circle at top left, transparent 20px, #f0fdfa 20px);
}

.card-slate .molex-card-tab::before {
  background: radial-gradient(circle at top left, transparent 20px, #f8fafc 20px);
}

.molex-tab-icon {
  width: 18px;
  height: 18px;
  stroke: var(--text-primary);
  fill: none;
  display: block;
}

.molex-card-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 24px;
  font-family: var(--font-display);
  text-decoration: underline;
  text-underline-offset: 8px;
  text-decoration-color: rgba(15, 23, 42, 0.15);
  transition: text-decoration-color 0.3s ease;
}

.molex-tab-card:hover .molex-card-title {
  text-decoration-color: var(--text-primary);
}

.molex-card-body-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 30px;
}

.molex-specs-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}

.molex-spec-row {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--border-glass);
  padding-bottom: 12px;
  font-size: 14px;
  line-height: 1.4;
  transition: background-color 0.2s ease;
}

.molex-spec-row:hover {
  background-color: rgba(0, 0, 0, 0.02);
}

.molex-spec-row span:first-child {
  font-weight: 600;
  color: var(--text-secondary);
}

.molex-spec-row span:last-child {
  font-weight: 500;
  color: var(--text-primary);
  text-align: right;
}

.molex-impl-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}

.molex-impl-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.5;
}

.molex-impl-bullet {
  width: 6px;
  height: 6px;
  background-color: var(--accent-red);
  border-radius: 50%;
  margin-top: 8px;
  flex-shrink: 0;
}

.molex-sla-box {
  margin-top: 10px;
  border-left: 3px solid var(--accent-red);
  background-color: rgba(2, 55, 159, 0.05);
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  transition: var(--trans-smooth);
}

.molex-sla-box:hover {
  background-color: rgba(2, 55, 159, 0.09);
  transform: translateX(4px);
}

.molex-sla-title {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  color: var(--accent-red);
  text-transform: uppercase;
  margin-bottom: 4px;
  letter-spacing: 1px;
}

.molex-sla-text {
  font-size: 12.5px;
  color: var(--text-secondary);
  line-height: 1.45;
}

.molex-card-btn {
  background: var(--accent-red);
  color: #ffffff;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 14px;
  text-align: center;
  border: none;
  padding: 14px 28px;
  border-radius: 50px;
  width: 100%;
  display: inline-block;
  text-transform: none;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 14px var(--accent-red-glow);
  transition: var(--trans-smooth);
  cursor: pointer;
  text-decoration: none;
}

.molex-card-btn:hover {
  background: #1d58d1;
  box-shadow: 0 6px 20px rgba(2, 55, 159, 0.45);
  transform: translateY(-2px);
  color: #ffffff;
}

.molex-tab-card.card-teal .molex-card-btn {
  background: rgba(6, 182, 212, 0.1);
  color: var(--accent-cyan);
  border: 1px solid rgba(6, 182, 212, 0.25);
  box-shadow: none;
}

.molex-tab-card.card-teal .molex-card-btn:hover {
  background: var(--accent-cyan);
  color: #000000;
  border-color: var(--accent-cyan);
  box-shadow: 0 6px 20px rgba(6, 182, 212, 0.2);
}

/* Services Hero (Services page header) */
.services-hero {
  margin-top: 120px;
  padding: 100px 0 100px 0;
  background: linear-gradient(135deg, rgba(241, 245, 249, 0.9) 0%, rgba(248, 250, 252, 0.95) 100%);
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-glass);
}

.services-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(circle at 80% 20%, rgba(59, 130, 246, 0.05) 0%, transparent 60%);
  pointer-events: none;
}

.services-hero-content {
  max-width: 800px;
  position: relative;
  z-index: 2;
}

.services-hero-card {
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 4px solid var(--accent-cyan);
  padding: 20px 30px;
  border-radius: 16px;
  max-width: 760px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
  position: relative;
  z-index: 2;
}

.services-hero .cyber-grid-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-image: 
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
  z-index: 1;
}

.services-hero-card .section-badge {
  color: var(--accent-cyan);
  background: rgba(6, 182, 212, 0.1);
  border: 1px solid rgba(6, 182, 212, 0.25);
  box-shadow: 0 0 15px rgba(6, 182, 212, 0.08);
  margin-bottom: 12px;
}

.services-hero-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 32px;
  color: #ffffff;
  margin-bottom: 10px;
  line-height: 1.25;
  letter-spacing: -0.5px;
}

.services-hero-desc {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.6;
}

/* About Us Section Specifics */
.about-hero {
  padding: 180px 0 100px 0;
  background: linear-gradient(135deg, rgba(241, 245, 249, 0.9) 0%, rgba(248, 250, 252, 0.95) 100%);
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-glass);
}

.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.about-visual-container {
  border: 1px solid var(--border-glass);
  border-radius: 20px;
  padding: 40px;
  background: var(--bg-card);
  position: relative;
  overflow: hidden;
}

.about-visual-container::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.05) 0%, transparent 70%);
  pointer-events: none;
}

.stats-card-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.stat-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border-glass);
  border-radius: 12px;
  padding: 24px;
  text-align: center;
  transition: var(--trans-smooth);
}

.stat-card:hover {
  border-color: var(--border-glass-hover);
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.04);
}

.stat-number {
  font-family: var(--font-display);
  font-size: 36px;
  font-weight: 800;
  color: var(--accent-cyan);
  margin-bottom: 8px;
}

.stat-label {
  font-size: 13px;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Responsive Breakpoints */
@media (max-width: 1024px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }
  .hero-content {
    max-width: 100%;
    margin: 0 auto;
  }
  .hero-actions {
    justify-content: center;
  }
  .pillars-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .solutions-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .connect-layout {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .service-head-area {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .service-cards-row {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .about-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .why-choose-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .new-industries-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .pillars-grid-4col {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}

@media (max-width: 768px) {
  .section-padding {
    padding: 80px 0;
  }
  .section-title {
    font-size: 32px;
  }
  .hero-title {
    font-size: 40px;
  }
  .desktop-nav,
  .header-cta {
    display: none;
  }
  .logo-wrapper img {
    height: 60px;
  }
  .menu-toggle {
    display: flex;
  }
  .pillars-grid {
    grid-template-columns: 1fr;
  }
  .solutions-grid {
    grid-template-columns: 1fr;
  }
  .form-row-2 {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }
  .modal-box {
    padding: 24px;
  }
  .modal-grid-cards {
    grid-template-columns: 1fr;
  }
  .why-choose-grid {
    grid-template-columns: 1fr;
  }
  .solutions-grid-2col {
    grid-template-columns: 1fr;
  }
  .pillars-grid-4col {
    grid-template-columns: 1fr;
  }
}

/* ==============================================================
   NEXUS CYBER-DECK LAYOUT
   ============================================================== */

.cyber-deck-section {
  position: relative;
  min-height: 100vh;
  padding-top: 100px;
  background-color: var(--bg-primary);
  align-items: flex-start;
  display: flex;
  flex-direction: row-reverse;
}

/* Fixed Background Matrix */
.cyber-sticky-bg {
  position: sticky;
  top: 100px;
  right: 0;
  margin-right: 64px;
  width: calc(50% - 64px);
  height: calc(100vh - 140px);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
}

.cyber-bg-layer {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  transition: opacity 1s ease-in-out;
}

.cyber-grid {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-image: 
    linear-gradient(rgba(6, 182, 212, 0.2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(6, 182, 212, 0.2) 1px, transparent 1px);
  background-size: 40px 40px;
  transform: perspective(500px) rotateX(60deg) scale(2);
  transform-origin: center top;
  opacity: 0.7;
}

/* Particles */
.cyber-particles {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  overflow: hidden;
}
.particle {
  position: absolute;
  width: 4px; height: 4px;
  background: #06b6d4;
  border-radius: 50%;
  box-shadow: 0 0 15px 2px #06b6d4;
  animation: float-particle linear infinite;
}
@keyframes float-particle {
  0% { transform: translateY(100vh) scale(0); opacity: 0; }
  50% { opacity: 1; scale: 1; }
  100% { transform: translateY(-100px) scale(0); opacity: 0; }
}

/* Cyber Core */
.cyber-core-container {
  position: relative;
  width: 300px;
  height: 300px;
  z-index: 2;
}
.cyber-core {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 200px; height: 200px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.5s ease;
}
.pulse-core {
  transform: translate(-50%, -50%) scale(1.1);
  filter: drop-shadow(0 0 30px rgba(2, 55, 159, 0.6));
}

.core-ring {
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(49, 162, 254, 0.6);
  border-top-color: #31a2fe;
  border-bottom-color: #02379f;
}
.core-ring-1 {
  width: 100%; height: 100%;
  animation: spin 8s linear infinite;
}
.core-ring-2 {
  width: 75%; height: 75%;
  border-left-color: #06b6d4;
  border-bottom-color: transparent;
  animation: spin-reverse 5s linear infinite;
}
.core-ring-3 {
  width: 50%; height: 50%;
  border-style: dashed;
  animation: spin 10s linear infinite;
}

@keyframes spin { 100% { transform: rotate(360deg); } }
@keyframes spin-reverse { 100% { transform: rotate(-360deg); } }

.core-center {
  width: 40px; height: 40px;
  z-index: 5;
  animation: pulse-glow 2s infinite alternate;
}
@keyframes pulse-glow {
  0% { filter: drop-shadow(0 0 10px #31a2fe); }
  100% { filter: drop-shadow(0 0 25px #02379f); }
}

.cyber-connections {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  pointer-events: none;
  z-index: 10;
}
.cyber-line-anim {
  animation: draw-line 0.5s ease forwards;
}
@keyframes draw-line {
  0% { stroke-dasharray: 0 1000; }
  100% { stroke-dasharray: 5 5; }
}

/* Scroll Content */
.cyber-scroll-container {
  position: relative;
  width: 100%;
  margin-left: 0;
  max-width: 50%;
  z-index: 5;
  padding: 0 64px 150px 64px;
}

.cyber-intro-panel {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 40px;
}
.cyber-badge {
  display: inline-block;
  background: rgba(6, 182, 212, 0.1);
  border: 1px solid rgba(6, 182, 212, 0.3);
  color: #06b6d4;
  font-family: var(--font-mono);
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 4px;
  margin-bottom: 20px;
  align-self: flex-start;
  position: relative;
  overflow: hidden;
}
.cyber-badge::after {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(6, 182, 212, 0.5), transparent);
  animation: scan 3s infinite;
}
@keyframes scan { 100% { left: 100%; } }

.cyber-title {
  font-size: 48px;
  color: var(--text-primary);
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.highlight-cyan { color: #31a2fe; }
.highlight-red { color: #02379f; }

.cyber-desc {
  font-size: 18px;
  color: var(--text-secondary);
  max-width: 500px;
  margin-bottom: 40px;
}
.scroll-indicator {
  display: flex;
  align-items: center;
  gap: 15px;
  font-family: var(--font-mono);
  font-size: 12px;
  color: #64748b;
}
.mouse-icon {
  width: 20px; height: 30px;
  border: 2px solid #64748b;
  border-radius: 10px;
  position: relative;
}
.mouse-icon::before {
  content: '';
  position: absolute;
  top: 5px; left: 50%;
  transform: translateX(-50%);
  width: 4px; height: 6px;
  background: #64748b;
  border-radius: 2px;
  animation: scroll-wheel 1.5s infinite;
}
@keyframes scroll-wheel {
  0% { transform: translate(-50%, 0); opacity: 1; }
  100% { transform: translate(-50%, 10px); opacity: 0; }
}

/* Modules */
.cyber-module {
  min-height: 50vh;
  display: flex;
  align-items: center;
  position: relative;
  opacity: 0.3;
  transform: translateX(50px);
  transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  margin-bottom: 20px;
}
.cyber-module.active-module {
  opacity: 1;
  transform: translateX(0);
}

.module-glass-panel {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(16px);
  border: 1px solid var(--border-glass);
  border-left: 3px solid #06b6d4;
  padding: 40px;
  border-radius: 8px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.06);
  position: relative;
  overflow: hidden;
  width: 100%;
}
.active-module .module-glass-panel {
  border-left-color: #02379f;
  box-shadow: 0 20px 40px rgba(2, 55, 159, 0.06);
}
.module-glass-panel::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 1px;
  background: linear-gradient(90deg, #31a2fe, transparent);
}

.module-header {
  margin-bottom: 20px;
}
.module-id {
  font-family: var(--font-mono);
  color: #02379f;
  font-size: 13px;
  display: block;
  margin-bottom: 10px;
}
.module-title {
  font-size: 28px;
  color: var(--text-primary);
}

.module-body p {
  font-size: 15px;
  color: var(--text-secondary);
  margin-bottom: 30px;
  line-height: 1.7;
}

.module-specs {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-glass);
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 30px;
}
.spec-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px dashed var(--border-glass);
  font-size: 13.5px;
}
.spec-row:last-child { border-bottom: none; }
.spec-label { color: #64748b; font-family: var(--font-mono); }
.spec-val { color: var(--text-primary); font-weight: 600; }

.cyber-btn {
  display: inline-block;
  background: transparent;
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 14px;
  padding: 12px 24px;
  border: 1px solid #06b6d4;
  border-radius: 4px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: all 0.3s;
}
.cyber-btn:hover {
  background: rgba(6, 182, 212, 0.15);
  box-shadow: 0 0 15px rgba(6, 182, 212, 0.4);
}
.btn-glitch-text.glitching {
  animation: text-glitch 0.2s 3;
}
@keyframes text-glitch {
  0% { transform: translate(0); }
  25% { transform: translate(-2px, 2px); color: #000033; }
  50% { transform: translate(2px, -2px); color: #06b6d4; }
  75% { transform: translate(-2px, -2px); color: #fff; }
  100% { transform: translate(0); }
}

/* Mobile Responsiveness */
@media (max-width: 992px) {
  .cyber-deck-section {
    flex-direction: column;
  }
  .cyber-sticky-bg {
    width: calc(100% - 40px);
    margin: 0 20px;
    height: 40vh;
    position: relative;
    top: 0;
    border-radius: 20px;
  }
  .cyber-scroll-container {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    padding: 20px;
    margin-top: 20px;
  }
  .cyber-connections { display: none; }
  .cyber-module {
    transform: none;
    opacity: 1;
    min-height: auto;
  }
}

@media (max-width: 576px) {
  .new-industries-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Cross-Page Navigation Button ── */
.page-switch-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(10px);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.35);
  padding: 9px 20px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.page-switch-btn:hover {
  background: #1d58d1;
  border-color: #1d58d1;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(29, 88, 209, 0.4);
}

.page-switch-btn svg {
  transition: transform 0.3s ease;
}

.page-switch-btn:hover svg {
  transform: translateX(4px);
}

.services-hero-top-bar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 16px;
}

@media (max-width: 768px) {
  .services-hero-top-bar {
    justify-content: flex-start;
  }
}

.page-switch-btn-solid {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #1d58d1;
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.2);
  padding: 12px 24px;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.page-switch-btn-solid:hover {
  background: #02379f;
  border-color: #02379f;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(29, 88, 209, 0.4);
}

.page-switch-btn-solid svg {
  transition: transform 0.3s ease;
}

.page-switch-btn-solid:hover svg {
  transform: translateX(4px);
}

.page-bottom-bar {
  display: flex;
  justify-content: flex-end;
  margin-top: 40px;
}


/* Ensure text in Explore Solutions blue modals is white */
.modal-box[style*="background-color: #29A4F8"] h3,
.modal-box[style*="background-color: #29A4F8"] h4,
.modal-box[style*="background-color: #29A4F8"] p,
.modal-box[style*="background-color: #29A4F8"] ul,
.modal-box[style*="background-color: #29A4F8"] li,
.modal-box[style*="background-color: #29A4F8"] strong,
.modal-box[style*="background-color: #29A4F8"] .modal-close {
    color: #ffffff !important;
}

/*# sourceMappingURL=data:application/json;base64,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QWM7RUFDZCx3Q0FBd0M7RUFDeEMsaUJBQWlCO0VBQ2pCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHFCQUFxQjtFQUNyQix5QkFBeUI7RUFDekIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQiwyQkFBMkI7RUFDM0IsNkNBQTZDO0FBQy9DOztBQUVBO0VBQ0UsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0UsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLHlCQUF5QjtFQUN6QixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRTtJQUNFLDJCQUEyQjtFQUM3QjtBQUNGOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixRQUFRO0VBQ1IsbUJBQW1CO0VBQ25CLGNBQWM7RUFDZCx1Q0FBdUM7RUFDdkMsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHFCQUFxQjtFQUNyQix5QkFBeUI7RUFDekIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQiwyQkFBMkI7RUFDM0IsNkNBQTZDO0FBQy9DOztBQUVBO0VBQ0UsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0UsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLHlCQUF5QjtFQUN6QixnQkFBZ0I7QUFDbEI7OztBQUdBLDBEQUEwRDtBQUMxRDs7Ozs7OztJQU9JLHlCQUF5QjtBQUM3QiIsImZpbGUiOiJzdHlsZV9wcmVmaXhlZC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBcclxuICBHYXJ1ZGEgSW5mb3N5cyBSZWRlc2lnbiBTdHlsZXNoZWV0XHJcbiAgVGhlbWU6IFByZW1pdW0gRGFyayBUZWNoICsgQ29ycG9yYXRlIEVudGVycHJpc2VcclxuKi9cclxuXHJcbjpyb290IHtcclxuICAvKiBDb2xvcnMgKi9cclxuICAtLWJnLXByaW1hcnk6ICNmZmZmZmY7ICAgICAgLyogUHVyZSBXaGl0ZSAqL1xyXG4gIC0tYmctc2Vjb25kYXJ5OiAjZjhmYWZjOyAgICAvKiBWZXJ5IGxpZ2h0IGdyYXkvYmx1ZSAoc2xhdGUtNTApICovXHJcbiAgLS1iZy10ZXJ0aWFyeTogI2YxZjVmOTsgICAgIC8qIExpZ2h0IGdyYXkgKHNsYXRlLTEwMCkgKi9cclxuICAtLWJnLWNhcmQ6ICNmZmZmZmY7XHJcbiAgLS1iZy1nbGFzczogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xyXG4gIFxyXG4gIC0tYm9yZGVyLWdsYXNzOiByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xyXG4gIC0tYm9yZGVyLWdsYXNzLWhvdmVyOiByZ2JhKDAsIDAsIDUxLCAwLjM1KTtcclxuICBcclxuICAvKiBUZXh0ICovXHJcbiAgLS10ZXh0LXByaW1hcnk6ICMwZjE3MmE7ICAgIC8qIFNsYXRlIDkwMCAqL1xyXG4gIC0tdGV4dC1zZWNvbmRhcnk6ICMzMzQxNTU7ICAvKiBTbGF0ZSA3MDAgKi9cclxuICAtLXRleHQtbXV0ZWQ6ICM2NDc0OGI7ICAgICAgLyogU2xhdGUgNTAwICovXHJcbiAgXHJcbiAgLyogQWNjZW50cyAqL1xyXG4gIC0tYWNjZW50LWJsdWU6ICMzYjgyZjY7ICAgICAvKiBDeWJlciBCbHVlICovXHJcbiAgLS1hY2NlbnQtY3lhbjogIzA2YjZkNDsgICAgIC8qIFRlY2ggQ3lhbiAqL1xyXG4gIC0tYWNjZW50LXJlZDogIzAwMDAzMzsgICAgICAvKiBHYXJ1ZGEgQnJhbmQgUmVkICovXHJcbiAgLS1hY2NlbnQtcmVkLWdsb3c6IHJnYmEoMCwgMCwgNTEsIDAuMjUpO1xyXG4gIC0tYWNjZW50LWdyZWVuOiAjMTBiOTgxOyAgICAvKiBPcGVyYXRpb24gT25saW5lIEdyZWVuICovXHJcbiAgXHJcbiAgLyogR3JhZGllbnRzICovXHJcbiAgLS1ncmFkLWhlcm86IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNzAlIDMwJSwgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMDcpIDAlLCByZ2JhKDYsIDE4MiwgMjEyLCAwLjAzKSA0MCUsIHRyYW5zcGFyZW50IDcwJSk7XHJcbiAgLS1ncmFkLWNhcmQtaG92ZXI6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMCwgMCwgNTEsIDAuMSkgMCUsIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjA1KSAxMDAlKTtcclxuICAtLWdyYWQtdGV4dDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzBmMTcyYSAzMCUsICMzMzQxNTUgMTAwJSk7XHJcbiAgLS1ncmFkLWJsdWUtdGV4dDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzYwYTVmYSAwJSwgIzI1NjNlYiAxMDAlKTtcclxuICAtLWdyYWQtcmVkLXRleHQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDAwNjYgMCUsICMwMDAwMzMgMTAwJSk7XHJcblxyXG4gIC8qIEZvbnRzICovXHJcbiAgLS1mb250LXNhbnM6ICdQbHVzIEpha2FydGEgU2FucycsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIHNhbnMtc2VyaWY7XHJcbiAgLS1mb250LWRpc3BsYXk6ICdTcGFjZSBHcm90ZXNrJywgc2Fucy1zZXJpZjtcclxuICAtLWZvbnQtbW9ubzogJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTtcclxuICBcclxuICAvKiBUcmFuc2l0aW9ucyAqL1xyXG4gIC0tdHJhbnMtc21vb3RoOiBhbGwgMC40cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcclxuICAtLXRyYW5zLWZhc3Q6IGFsbCAwLjJzIGVhc2U7XHJcbn1cclxuXHJcbi8qIFJlc2V0ICYgQmFzZSBTdHlsZXMgKi9cclxuKiB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuaHRtbCB7XHJcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XHJcbiAgc2Nyb2xsLXBhZGRpbmctdG9wOiAxMDBweDtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctcHJpbWFyeSk7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8qIFNjcm9sbGJhciBDdXN0b21pemF0aW9uICovXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gIHdpZHRoOiAxMHB4O1xyXG59XHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xyXG59XHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTtcclxuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1iZy1wcmltYXJ5KTtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyLWdsYXNzLWhvdmVyKTtcclxufVxyXG5cclxuLyogTGF5b3V0IFV0aWxpdGllcyAqL1xyXG4uY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDEyNDBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBwYWRkaW5nOiAwIDY0cHg7XHJcbn1cclxuXHJcbi5zZWN0aW9uLXBhZGRpbmcge1xyXG4gIHBhZGRpbmc6IDYwcHggMDtcclxufVxyXG5cclxuLnRleHQtY2VudGVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIFR5cG9ncmFwaHkgKi9cclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcclxuICBsaW5lLWhlaWdodDogMS4yO1xyXG59XHJcblxyXG5wIHtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uZ3JhZGllbnQtdGV4dCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JhZC10ZXh0KTtcclxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5ncmFkaWVudC1ibHVlLXRleHQge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWdyYWQtYmx1ZS10ZXh0KTtcclxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5ncmFkaWVudC1yZWQtdGV4dCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JhZC1yZWQtdGV4dCk7XHJcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uc2VjdGlvbi1iYWRnZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICBjb2xvcjogdmFyKC0tYWNjZW50LXJlZCk7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyLCA1NSwgMTU5LCAwLjA4KTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIsIDU1LCAxNTksIDAuMTUpO1xyXG4gIHBhZGRpbmc6IDZweCAxNHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnNlY3Rpb24tdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogNDBweDtcclxuICBmb250LXdlaWdodDogODAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5zZWN0aW9uLXN1YnRpdGxlIHtcclxuICBmb250LXNpemU6IDE3cHg7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcclxuICBtYXgtd2lkdGg6IDY4MHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvIDYwcHggYXV0bztcclxuICBsaW5lLWhlaWdodDogMS43O1xyXG59XHJcblxyXG4vKiBIZWFkZXIgJiBOYXZpZ2F0aW9uICovXHJcbi5zaXRlLWhlYWRlciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtc21vb3RoKTtcclxufVxyXG5cclxuLnNpdGUtaGVhZGVyLnNjcm9sbGVkIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xyXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWdsYXNzKTtcclxuICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xyXG59XHJcblxyXG4vKiBVdGlsaXR5IEJhciBIaWRkZW4gKi9cclxuLnV0aWxpdHktYmFyIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi51dGlsaXR5LWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnV0aWxpdHktbGVmdCwgLnV0aWxpdHktcmlnaHQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDEycHg7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLnV0aWxpdHktZGl2aWRlciB7XHJcbiAgY29sb3I6IHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbn1cclxuXHJcbi51dGlsaXR5LWxpbmsge1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zLWZhc3QpO1xyXG59XHJcblxyXG4udXRpbGl0eS1saW5rOmhvdmVyIHtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcclxufVxyXG5cclxuLyogSGVhZGVyIENvbnRhaW5lciAqL1xyXG4uaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBoZWlnaHQ6IDEyMHB4O1xyXG4gIG1heC13aWR0aDogMTI0MHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIHBhZGRpbmc6IDAgMjRweDtcclxufVxyXG5cclxuLmxvZ28td3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubG9nby13cmFwcGVyIGltZyB7XHJcbiAgaGVpZ2h0OiAxMjBweDtcclxuICB3aWR0aDogYXV0bztcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1zbW9vdGgpO1xyXG59XHJcblxyXG4vKiBEZXNrdG9wIE5hdiAqL1xyXG4uZGVza3RvcC1uYXYge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ubmF2LWxpbmtzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBnYXA6IDMycHg7XHJcbn1cclxuXHJcbi5uYXYtaXRlbSB7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtZmFzdCk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogNnB4O1xyXG59XHJcblxyXG4ubmF2LWl0ZW06aG92ZXIsIC5uYXYtaXRlbS5hY3RpdmUge1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xyXG59XHJcblxyXG4uZHJvcGRvd24tY2hldnJvbiB7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtZmFzdCk7XHJcbn1cclxuXHJcbi5uYXYtZHJvcGRvd24tdHJpZ2dlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDIwcHggMDtcclxufVxyXG5cclxuLm5hdi1kcm9wZG93bi10cmlnZ2VyOmhvdmVyIC5kcm9wZG93bi1jaGV2cm9uIHtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG59XHJcblxyXG4ubmF2LWRyb3Bkb3duLWJveCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTAwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMTBweCk7XHJcbiAgd2lkdGg6IDI4MHB4O1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZ2xhc3MpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgcGFkZGluZzogMTZweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZ2FwOiAxMnB4O1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtc21vb3RoKTtcclxuICBib3gtc2hhZG93OiAwIDIwcHggNDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xyXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcclxufVxyXG5cclxuLm5hdi1kcm9wZG93bi10cmlnZ2VyOmhvdmVyIC5uYXYtZHJvcGRvd24tYm94IHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDApO1xyXG59XHJcblxyXG4uZHJvcGRvd24tbGluay1pdGVtIGEge1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMTMuNXB4O1xyXG4gIHBhZGRpbmc6IDhweCAxMnB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1mYXN0KTtcclxufVxyXG5cclxuLmRyb3Bkb3duLWxpbmstaXRlbSBhOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xyXG4gIHBhZGRpbmctbGVmdDogMTZweDtcclxufVxyXG5cclxuLmRyb3Bkb3duLWxpbmstaXRlbS5leHBsb3JlLWFsbCBhIHtcclxuICBjb2xvcjogdmFyKC0tYWNjZW50LWJsdWUpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcclxuICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLmRyb3Bkb3duLWxpbmstaXRlbS5leHBsb3JlLWFsbCBhOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBjb2xvcjogdmFyKC0tYWNjZW50LWN5YW4pO1xyXG59XHJcblxyXG4uaGVhZGVyLWFjdGlvbnMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDE2cHg7XHJcbn1cclxuXHJcbi8qIEJ1dHRvbiBTdHlsZXMgKi9cclxuLmJ0biB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBnYXA6IDhweDtcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBwYWRkaW5nOiAxMnB4IDI0cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtc21vb3RoKTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4uYnRuLXByaW1hcnkge1xyXG4gIGJhY2tncm91bmQ6ICMxZDU4ZDE7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzFkNThkMTtcclxuICBib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMiwgNTUsIDE1OSwgMC4yNSk7XHJcbn1cclxuXHJcbi5idG4tcHJpbWFyeTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogIzFkNThkMTtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgYm94LXNoYWRvdzogMCA2cHggMjRweCByZ2JhKDIsIDU1LCAxNTksIDAuNDUpO1xyXG59XHJcblxyXG4uYnRuLW91dGxpbmUge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbn1cclxuXHJcbi5leHBsb3JlLWxpbmsge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBjb2xvcjogdmFyKC0tYWNjZW50LWN5YW4pO1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiA2cHg7XHJcbiAgcGFkZGluZzogMDtcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1zbW9vdGgpO1xyXG59XHJcbi5leHBsb3JlLWxpbms6aG92ZXIge1xyXG4gIGNvbG9yOiAjMWQ1OGQxO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xyXG59XHJcblxyXG4uYnRuLW91dGxpbmU6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNCk7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG59XHJcblxyXG4uYnRuLWdsYXNzIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpO1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xyXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbn1cclxuXHJcbi5idG4tZ2xhc3M6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcclxuICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1nbGFzcy1ob3Zlcik7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG59XHJcblxyXG4uYnRuLXNtIHtcclxuICBwYWRkaW5nOiA4cHggMThweDtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbn1cclxuXHJcbi5idG4tYmxvY2sge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKiBIYW1idXJnZXIgbW9iaWxlIG1lbnUgYnV0dG9uICovXHJcbi5tZW51LXRvZ2dsZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDVweDtcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgcGFkZGluZzogMDtcclxuICB6LWluZGV4OiAxMDAxO1xyXG59XHJcblxyXG4uaGFtYnVyZ2VyLWJhciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDIycHg7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcclxuICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtc21vb3RoKTtcclxufVxyXG5cclxuLyogTW9iaWxlIE5hdiBPdmVybGF5ICovXHJcbi5tb2JpbGUtbmF2LW92ZXJsYXkge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgzLCA3LCAxOCwgMC45OCk7XHJcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xyXG4gIHotaW5kZXg6IDk5OTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgb3BhY2l0eTogMDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1zbW9vdGgpO1xyXG59XHJcblxyXG4ubW9iaWxlLW5hdi1vdmVybGF5LmFjdGl2ZSB7XHJcbiAgb3BhY2l0eTogMTtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG5cclxuLm1vYmlsZS1saW5rcyB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDI0cHg7XHJcbn1cclxuXHJcbi5tb2JpbGUtaXRlbSB7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcclxuICBmb250LXNpemU6IDI0cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtZmFzdCk7XHJcbn1cclxuXHJcbi5tb2JpbGUtaXRlbTpob3ZlciB7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxufVxyXG5cclxuLm1vYmlsZS1jdGEge1xyXG4gIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIHBhZGRpbmc6IDE0cHggMzJweDtcclxufVxyXG5cclxuLyogSGVybyBTZWN0aW9uICovXHJcbi5oZXJvLXNlY3Rpb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAxNDBweCAwIDQ1cHggMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5oZXJvLXNlY3Rpb246OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmFkLWhlcm8pO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5oZXJvLWdyaWQge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjJmciAwLjhmcjtcclxuICBnYXA6IDYwcHg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMjtcclxufVxyXG5cclxuLmhlcm8tY29udGVudCB7XHJcbiAgbWF4LXdpZHRoOiA2ODBweDtcclxufVxyXG5cclxuLmhlcm8tdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogNDhweDtcclxuICBmb250LXdlaWdodDogODAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiBpbml0aWFsO1xyXG59XHJcblxyXG4vKiBGdXR1cmlzdGljIFN0YWdnZXJlZCBXb3JkIFJldmVhbCBBbmltYXRpb24gKi9cclxuLmhlcm8tdGl0bGUgLndvcmQtd3JhcHBlciB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICBtYXJnaW4tcmlnaHQ6IDAuMThlbTtcclxuICBwYWRkaW5nLWJvdHRvbTogMC4wNWVtOyAvKiBBdm9pZCBjdXR0aW5nIG9mZiBsZXR0ZXJzIGxpa2UgZy95L3AgKi9cclxufVxyXG5cclxuLmhlcm8tdGl0bGUgLmFuaW1hdGUtd29yZCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMTUlKSByb3RhdGUoNGRlZyk7XHJcbiAgb3BhY2l0eTogMDtcclxuICBmaWx0ZXI6IGJsdXIoNnB4KTtcclxuICBhbmltYXRpb246IGZ1dHVyaXN0aWNXb3JkUmV2ZWFsIDEuMnMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSkgZm9yd2FyZHM7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JhZC10ZXh0KTtcclxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eSwgZmlsdGVyO1xyXG59XHJcblxyXG4vKiBDeWJlcm5ldGljIEdsb3dpbmcgR3JhZGllbnRzIGZvciBLZXkgQ29uY2VwdHMgKi9cclxuLmhlcm8tdGl0bGUgLmFuaW1hdGUtd29yZC5oaWdobGlnaHQtYmx1ZSB7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMWUzYThhLCAjM2I4MmY2LCAjNjBhNWZhLCAjMWUzYThhKTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgYXV0bztcclxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYW5pbWF0aW9uOiBmdXR1cmlzdGljV29yZFJldmVhbCAxLjJzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpIGZvcndhcmRzLFxyXG4gICAgICAgICAgICAgc2hpbW1lclRleHRTd2VlcCA1cyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgdGV4dC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KTtcclxufVxyXG5cclxuLmhlcm8tdGl0bGUgLmFuaW1hdGUtd29yZC5oaWdobGlnaHQtY3lhbiB7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMGYxNzJhLCAjMDZiNmQ0LCAjMjJkM2VlLCAjMGYxNzJhKTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgYXV0bztcclxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYW5pbWF0aW9uOiBmdXR1cmlzdGljV29yZFJldmVhbCAxLjJzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpIGZvcndhcmRzLFxyXG4gICAgICAgICAgICAgc2hpbW1lclRleHRTd2VlcCA1cyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgdGV4dC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoNiwgMTgyLCAyMTIsIDAuMTUpO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZ1dHVyaXN0aWNXb3JkUmV2ZWFsIHtcclxuICAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTE1JSkgcm90YXRlKDRkZWcpO1xyXG4gICAgZmlsdGVyOiBibHVyKDZweCk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICAzMCUge1xyXG4gICAgZmlsdGVyOiBibHVyKDJweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgwZGVnKTtcclxuICAgIGZpbHRlcjogYmx1cigwcHgpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2hpbW1lclRleHRTd2VlcCB7XHJcbiAgMCUge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgY2VudGVyO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLmhlcm8tc3VidGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBsaW5lLWhlaWdodDogMS43O1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjhweDtcclxufVxyXG5cclxuLmhlcm8tYWN0aW9ucyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6IDE2cHg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4vKiBIZXJvIFZpc3VhbCBTVkcgKi9cclxuLmhlcm8tdmlzdWFsLWNvbnRhaW5lciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmhlcm8tZ2xvdy1iYWNrIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDMyMHB4O1xyXG4gIGhlaWdodDogMzIwcHg7XHJcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMjUpIDAlLCB0cmFuc3BhcmVudCA3MCUpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBmaWx0ZXI6IGJsdXIoMzBweCk7XHJcbiAgei1pbmRleDogMTtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLmhlcm8tc3ZnLWdyYXBoaWMge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogNDYwcHg7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDE1cHggMzVweCByZ2JhKDAsIDAsIDAsIDAuNikpO1xyXG59XHJcblxyXG4vKiBGbG9hdGluZyBFbGVtZW50cyBBbmltYXRpb24gKi9cclxuQGtleWZyYW1lcyBmbG9hdCB7XHJcbiAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSByb3RhdGUoMGRlZyk7IH1cclxuICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHJvdGF0ZSgxZGVnKTsgfVxyXG4gIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSByb3RhdGUoMGRlZyk7IH1cclxufVxyXG5cclxuLmZsb2F0LWFuaW1hdGlvbiB7XHJcbiAgYW5pbWF0aW9uOiBmbG9hdCA2cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxufVxyXG5cclxuLmZsb2F0LWFuaW1hdGlvbi1kZWxheSB7XHJcbiAgYW5pbWF0aW9uOiBmbG9hdCA2cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuICBhbmltYXRpb24tZGVsYXk6IDNzO1xyXG59XHJcblxyXG4vKiBQaWxsYXJzIFNlY3Rpb24gKi9cclxuLnBpbGxhcnMtc2VjdGlvbiB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbiAgcGFkZGluZzogNjBweCAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAzO1xyXG59XHJcblxyXG4ucGlsbGFycy1ncmlkIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgZ2FwOiAzMHB4O1xyXG59XHJcblxyXG4ucGlsbGFyLWNvbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxufVxyXG5cclxuLnBpbGxhci1saW5lIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHdpZHRoOiAycHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5waWxsYXItbGluZTo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC0xMDAlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50LCB2YXIoLS1hY2NlbnQtcmVkKSwgdHJhbnNwYXJlbnQpO1xyXG4gIGFuaW1hdGlvbjogc2Nhbi1saW5lIDRzIGluZmluaXRlIGxpbmVhcjtcclxufVxyXG5cclxuLnBpbGxhci1jb2w6bnRoLWNoaWxkKDIpIC5waWxsYXItbGluZTo6YWZ0ZXIgeyBhbmltYXRpb24tZGVsYXk6IDFzOyB9XHJcbi5waWxsYXItY29sOm50aC1jaGlsZCgzKSAucGlsbGFyLWxpbmU6OmFmdGVyIHsgYW5pbWF0aW9uLWRlbGF5OiAyczsgfVxyXG4ucGlsbGFyLWNvbDpudGgtY2hpbGQoNCkgLnBpbGxhci1saW5lOjphZnRlciB7IGFuaW1hdGlvbi1kZWxheTogM3M7IH1cclxuXHJcbkBrZXlmcmFtZXMgc2Nhbi1saW5lIHtcclxuICAwJSB7IHRvcDogLTEwMCU7IH1cclxuICAxMDAlIHsgdG9wOiAxMDAlOyB9XHJcbn1cclxuXHJcbi5waWxsYXItdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDhweDtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuLnBpbGxhci1kZXNjIHtcclxuICBmb250LXNpemU6IDEzLjVweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi8qIFNvbHV0aW9ucyAvIFNlcnZpY2VzIFNlY3Rpb24gKi9cclxuLnNvbHV0aW9ucy1zZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnNvbHV0aW9ucy1ncmlkIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgZ2FwOiAzMHB4O1xyXG59XHJcblxyXG4uc29sdXRpb25zLWdyaWQtMmNvbCB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gIGdhcDogMzBweDtcclxuICBtYXgtd2lkdGg6IDkwMHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4vKiBTZXJ2aWNlIC8gU29sdXRpb24gQ2FyZCAqL1xyXG4uc29sdXRpb24tY2FyZCB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzBmMTcyYSAwJSwgIzFlM2E4YSA1MCUsICMzYjgyZjYgMTAwJSk7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWdsYXNzKTtcclxuICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtc21vb3RoKTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5zb2x1dGlvbi1jYXJkOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDUwJSAwJSwgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkgMCUsIHRyYW5zcGFyZW50IDYwJSk7XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1zbW9vdGgpO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5zb2x1dGlvbi1jYXJkOmhvdmVyIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZ2xhc3MtaG92ZXIpO1xyXG4gIGJveC1zaGFkb3c6IDAgMjBweCA0NXB4IHJnYmEoMCwgMCwgMCwgMC40KSwgMCAwIDMwcHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuMDUpO1xyXG59XHJcblxyXG4uc29sdXRpb24tY2FyZDpob3Zlcjo6YmVmb3JlIHtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4ucGlsbGFycy1ncmlkLTRjb2wge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcclxuICBnYXA6IDMwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi8qIFByZW1pdW0gQ2FyZCBEZXNpZ24gKE1hdGNoZXMgVXNlciBSZWZlcmVuY2UgSW1hZ2UpICovXHJcbi5uZXctcHJlbWl1bS1jYXJkIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDMycHg7XHJcbiAgcGFkZGluZzogMTJweDtcclxuICBib3gtc2hhZG93OiAwIDEycHggMzVweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBib3gtc2hhZG93IDAuM3MgZWFzZTtcclxufVxyXG5cclxuLm5ldy1wcmVtaXVtLWNhcmQ6aG92ZXIge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcclxuICBib3gtc2hhZG93OiAwIDIwcHggNDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG59XHJcblxyXG4ubmV3LXByZW1pdW0tY2FyZC1pbWctd3JhcHBlciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAyMjBweDtcclxuICBib3JkZXItcmFkaXVzOiAyNHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxufVxyXG5cclxuLm5ldy1wcmVtaXVtLWNhcmQtaW1nLXdyYXBwZXIgaW1nIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcbi5uZXctcHJlbWl1bS1jYXJkLWJvZHkge1xyXG4gIHBhZGRpbmc6IDhweCAxNnB4IDIwcHggMTZweDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4ubmV3LXByZW1pdW0tY2FyZC10aXRsZSB7XHJcbiAgZm9udC1zaXplOiAyNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgY29sb3I6ICMxMTE4Mjc7XHJcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XHJcbn1cclxuXHJcbi5uZXctcHJlbWl1bS1jYXJkLWRlc2Mge1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBjb2xvcjogIzZiNzI4MDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi5uZXctcHJlbWl1bS1jYXJkLWxpc3Qge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDAgMCAyNHB4IDA7XHJcbiAgZmxleC1ncm93OiAxO1xyXG59XHJcblxyXG4ubmV3LXByZW1pdW0tY2FyZC1saXN0IGxpIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiAxMHB4O1xyXG4gIGZvbnQtc2l6ZTogMTQuNXB4O1xyXG4gIGNvbG9yOiAjNGI1NTYzO1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLm5ldy1wcmVtaXVtLWNhcmQtbGlzdCBsaSBzdmcge1xyXG4gIGNvbG9yOiAjOWNhM2FmO1xyXG4gIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ubmV3LXByZW1pdW0tY2FyZC1hY3Rpb25zIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiAxMnB4O1xyXG59XHJcblxyXG4ubmV3LXByZW1pdW0tYnRuIHtcclxuICBiYWNrZ3JvdW5kOiAjMTExODI3O1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIHBhZGRpbmc6IDE0cHggMjhweDtcclxuICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZm9udC1zaXplOiAxNXB4O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubmV3LXByZW1pdW0tYnRuOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiAjMzc0MTUxO1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcblxyXG4uY2FyZC1pbWFnZS1jb250YWluZXIge1xyXG4gIGhlaWdodDogMjAwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYmFja2dyb3VuZDogIzAyMDYxNztcclxufVxyXG5cclxuLmNhcmQtYmctaW1hZ2Uge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICBvcGFjaXR5OiAwLjY1O1xyXG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zLXNtb290aCk7XHJcbn1cclxuXHJcbi5zb2x1dGlvbi1jYXJkOmhvdmVyIC5jYXJkLWJnLWltYWdlIHtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gIG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLmNhcmQtaW1hZ2Utb3ZlcmxheSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGhlaWdodDogODBweDtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB2YXIoLS1iZy10ZXJ0aWFyeSksIHRyYW5zcGFyZW50KTtcclxufVxyXG5cclxuLmNhcmQtY2F0ZWdvcnktdGFnIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAxNnB4O1xyXG4gIGxlZnQ6IDE2cHg7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XHJcbiAgZm9udC1zaXplOiA5LjVweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC43NSk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpO1xyXG4gIHBhZGRpbmc6IDRweCAxMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG59XHJcblxyXG4uY2FyZC1ib2R5IHtcclxuICBwYWRkaW5nOiAyOHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgei1pbmRleDogMjtcclxufVxyXG5cclxuLmNhcmQtdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5jYXJkLWRlc2Mge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbn1cclxuXHJcbi5idG4tdGV4dC1hcnJvdyB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtYmx1ZSk7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LXNpemU6IDEzLjVweDtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogNnB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1mYXN0KTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHdpZHRoOiBtYXgtY29udGVudDtcclxufVxyXG5cclxuLmFycm93LWljb24ge1xyXG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zLWZhc3QpO1xyXG59XHJcblxyXG4uc29sdXRpb24tY2FyZDpob3ZlciAuYnRuLXRleHQtYXJyb3cge1xyXG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtY3lhbik7XHJcbn1cclxuXHJcbi5zb2x1dGlvbi1jYXJkOmhvdmVyIC5hcnJvdy1pY29uIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcclxufVxyXG5cclxuLyogU2VydmljZSBEZXRhaWxzIE1vZGFsICovXHJcbi5tb2RhbC1vdmVybGF5IHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMywgNywgMTgsIDAuODUpO1xyXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcclxuICB6LWluZGV4OiAyMDAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zLXNtb290aCk7XHJcbn1cclxuXHJcbi5tb2RhbC1vdmVybGF5LmFjdGl2ZSB7XHJcbiAgb3BhY2l0eTogMTtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG5cclxuLm1vZGFsLWJveCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICB3aWR0aDogOTAlO1xyXG4gIG1heC13aWR0aDogODAwcHg7XHJcbiAgbWF4LWhlaWdodDogODV2aDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiA0MHB4O1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMC45KSB0cmFuc2xhdGVZKDIwcHgpO1xyXG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zLXNtb290aCk7XHJcbiAgYm94LXNoYWRvdzogMCAzMHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxufVxyXG5cclxuLm1vZGFsLW92ZXJsYXkuYWN0aXZlIC5tb2RhbC1ib3gge1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcclxufVxyXG5cclxuLm1vZGFsLWNsb3NlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAyNHB4O1xyXG4gIHJpZ2h0OiAyNHB4O1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWdsYXNzKTtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICB3aWR0aDogMzZweDtcclxuICBoZWlnaHQ6IDM2cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtZmFzdCk7XHJcbn1cclxuXHJcbi5tb2RhbC1jbG9zZTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXJlZCk7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtcmVkKTtcclxufVxyXG5cclxuLyogU2VsYW5nb3IgSFEgTWFwICYgU3RhdHVzICovXHJcbi5ocS13aWRnZXQge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMiwgNiwgMjMsIDAuNCk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWdsYXNzKTtcclxuICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gIHBhZGRpbmc6IDI0cHg7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggMTBweCByZ2JhKDAsMCwwLDAuNSk7XHJcbn1cclxuXHJcbi5ocS13aWRnZXQtaGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XHJcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XHJcbn1cclxuXHJcbi53aWRnZXQtbGFiZWwge1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbn1cclxuXHJcbi5jbG9jay1kaXNwbGF5IHtcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgY29sb3I6IHZhcigtLWFjY2VudC1jeWFuKTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uaHEtd2lkZ2V0LW1hcCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAxMHB4IDA7XHJcbn1cclxuXHJcbi5tYWxheXNpYS1zdmcge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogMjQwcHg7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4ucHVsc2F0aW5nLWRvdCB7XHJcbiAgYW5pbWF0aW9uOiBwdWxzZS1kb3QgMnMgaW5maW5pdGU7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogODVweCA2MnB4O1xyXG59XHJcblxyXG4uZXhwYW5kaW5nLWNpcmNsZSB7XHJcbiAgYW5pbWF0aW9uOiBleHBhbmQtY2lyY2xlIDJzIGluZmluaXRlO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDg1cHggNjJweDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBwdWxzZS1kb3Qge1xyXG4gIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjkpOyB9XHJcbiAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XHJcbiAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMC45KTsgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGV4cGFuZC1jaXJjbGUge1xyXG4gIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyBvcGFjaXR5OiAwLjg7IH1cclxuICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgyLjIpOyBvcGFjaXR5OiAwOyB9XHJcbn1cclxuXHJcbi8qIENvbnRhY3QgVXMgU2VjdGlvbiAqL1xyXG4uY29udGFjdC1zZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmNvbm5lY3QtbGF5b3V0IHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMC45ZnIgMS4xZnI7XHJcbiAgZ2FwOiA4MHB4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb25uZWN0LXRpdGxlIHtcclxuICBmb250LXNpemU6IDQycHg7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xyXG59XHJcblxyXG4uY29ubmVjdC10ZXh0IHtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuODtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4uY29ubmVjdC1saW5rLWJvbGQge1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA0cHg7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtZmFzdCk7XHJcbn1cclxuXHJcbi5jb25uZWN0LWxpbmstYm9sZDpob3ZlciB7XHJcbiAgY29sb3I6IHZhcigtLWFjY2VudC1ibHVlKTtcclxufVxyXG5cclxuLmNvbm5lY3QtY2FyZHMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBnYXA6IDI0cHg7XHJcbn1cclxuXHJcbi5jb25uZWN0LWNhcmQge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICBwYWRkaW5nOiAzMnB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1zbW9vdGgpO1xyXG59XHJcblxyXG4uY29ubmVjdC1jYXJkOmhvdmVyIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTtcclxuICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1nbGFzcy1ob3Zlcik7XHJcbiAgYm94LXNoYWRvdzogMCAxNXB4IDM1cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG59XHJcblxyXG4uY29ubmVjdC1jYXJkLXRhYiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMjRweDtcclxuICByaWdodDogMjRweDtcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZ2xhc3MpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgY29sb3I6IHZhcigtLWFjY2VudC1ibHVlKTtcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1mYXN0KTtcclxufVxyXG5cclxuLmNvbm5lY3QtY2FyZDpob3ZlciAuY29ubmVjdC1jYXJkLXRhYiB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWJsdWUpO1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LWJsdWUpO1xyXG59XHJcblxyXG4uY29ubmVjdC1jYXJkLmNhcmQtdGVhbCAuY29ubmVjdC1jYXJkLXRhYiB7XHJcbiAgY29sb3I6IHZhcigtLWFjY2VudC1jeWFuKTtcclxufVxyXG4uY29ubmVjdC1jYXJkLmNhcmQtdGVhbDpob3ZlciAuY29ubmVjdC1jYXJkLXRhYiB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWN5YW4pO1xyXG4gIGNvbG9yOiAjMDAwMDAwO1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LWN5YW4pO1xyXG59XHJcblxyXG4uY29ubmVjdC1jYXJkLXRpdGxlIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG59XHJcblxyXG4uY29ubmVjdC1jYXJkLWRlc2Mge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICBtYXgtd2lkdGg6IDQ0MHB4O1xyXG59XHJcblxyXG4uY29ubmVjdC1jYXJkLWJ0biB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWdsYXNzKTtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtZmFzdCk7XHJcbn1cclxuXHJcbi5jb25uZWN0LWNhcmQtYnRuOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gIGNvbG9yOiAjMDAwMDAwO1xyXG4gIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuLyogSW50ZXJhY3RpdmUgRm9ybSAmIENvbnNvbGUgU3R5bGVzICovXHJcbi5jeWJlci1mb3JtLXdyYXBwZXIge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWdsYXNzKTtcclxuICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYm94LXNoYWRvdzogMCAyMHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG59XHJcblxyXG4uZm9ybS1iYW5uZXIge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMik7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbiAgcGFkZGluZzogMTZweCAyNHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5mb3JtLXRpdGxlIHtcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuICBmb250LXNpemU6IDEwLjVweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG59XHJcblxyXG4uY3liZXItZm9ybSB7XHJcbiAgcGFkZGluZzogMzJweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZ2FwOiAyMHB4O1xyXG59XHJcblxyXG4uZm9ybS1yb3ctMiB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgZ2FwOiAyMHB4O1xyXG59XHJcblxyXG4uZm9ybS1ncm91cCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGdhcDogOHB4O1xyXG59XHJcblxyXG4uZm9ybS1ncm91cCBsYWJlbCB7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XHJcbiAgZm9udC1zaXplOiAxMC41cHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxufVxyXG5cclxuLmZvcm0tZ3JvdXAgaW5wdXQsIC5mb3JtLWdyb3VwIHNlbGVjdCwgLmZvcm0tZ3JvdXAgdGV4dGFyZWEge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWdsYXNzKTtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1mYXN0KTtcclxufVxyXG5cclxuLmZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMsIC5mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cywgLmZvcm0tZ3JvdXAgdGV4dGFyZWE6Zm9jdXMge1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtYmx1ZSk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMzcsIDk5LCAyMzUsIDAuMTUpO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xyXG59XHJcblxyXG4uZm9ybS1ncm91cCBzZWxlY3Qgb3B0aW9uIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcclxufVxyXG5cclxuLmZvcm0tdmFsaWRhdGlvbi1jb25zb2xlIHtcclxuICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIHBhZGRpbmc6IDE2cHg7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtY3lhbik7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGdhcDogNnB4O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDhweCByZ2JhKDAsMCwwLDAuNCk7XHJcbn1cclxuXHJcbi5jb25zb2xlLXRpdGxlIHtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcclxuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDRweDtcclxufVxyXG5cclxuLmNvbnNvbGUtYm9keSB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XHJcbiAgbWF4LWhlaWdodDogMTIwcHg7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLyogVHJhY2sgUmVjb3JkIFNlY3Rpb24gKi9cclxuLnRyYWNrLXJlY29yZC1zZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4ubWFycXVlZS13cmFwcGVyIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAyMHB4IDA7XHJcbn1cclxuXHJcbi5tYXJxdWVlLXdyYXBwZXI6OmJlZm9yZSwgLm1hcnF1ZWUtd3JhcHBlcjo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHdpZHRoOiAxNTBweDtcclxuICB6LWluZGV4OiAyO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ubWFycXVlZS13cmFwcGVyOjpiZWZvcmUge1xyXG4gIGxlZnQ6IDA7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1iZy1zZWNvbmRhcnkpLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuXHJcbi5tYXJxdWVlLXdyYXBwZXI6OmFmdGVyIHtcclxuICByaWdodDogMDtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgdmFyKC0tYmctc2Vjb25kYXJ5KSwgdHJhbnNwYXJlbnQpO1xyXG59XHJcblxyXG4ubWFycXVlZS10cmFjayB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6IDYwcHg7XHJcbiAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gIGFuaW1hdGlvbjogbWFycXVlZS1zY3JvbGwgMzVzIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG5cclxuLm1hcnF1ZWUtdHJhY2s6aG92ZXIge1xyXG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbWFycXVlZS1zY3JvbGwge1xyXG4gIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XHJcbiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxyXG59XHJcblxyXG4ubWFycXVlZS1pdGVtIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gIGZpbHRlcjogZ3JheXNjYWxlKDEpIGJyaWdodG5lc3MoMC42NSkgY29udHJhc3QoMS4yKTtcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1mYXN0KTtcclxufVxyXG5cclxuLm1hcnF1ZWUtaXRlbTpob3ZlciB7XHJcbiAgZmlsdGVyOiBncmF5c2NhbGUoMCkgYnJpZ2h0bmVzcygxKSBjb250cmFzdCgxKTtcclxufVxyXG5cclxuLm1hcnF1ZWUtaXRlbSBpbWcge1xyXG4gIGhlaWdodDogMzhweDtcclxuICB3aWR0aDogYXV0bztcclxuICBtYXgtd2lkdGg6IDE2MHB4O1xyXG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbn1cclxuXHJcbi8qIFNlcnZpY2UgRGV0YWlsIE1vZGFsIENvbnRlbnQgc3R5bGluZyAqL1xyXG4ubW9kYWwtYm9keS1jb250ZW50IGgzIHtcclxuICBmb250LXNpemU6IDI4cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuLm1vZGFsLWJvZHktY29udGVudCAubW9kYWwtdGFnIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtY3lhbik7XHJcbiAgYmFja2dyb3VuZDogcmdiYSg2LCAxODIsIDIxMiwgMC4wOCk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2LCAxODIsIDIxMiwgMC4xNSk7XHJcbiAgcGFkZGluZzogNHB4IDEwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxufVxyXG5cclxuLm1vZGFsLWJvZHktY29udGVudCBwIHtcclxuICBsaW5lLWhlaWdodDogMS43O1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgZm9udC1zaXplOiAxNS41cHg7XHJcbn1cclxuXHJcbi5tb2RhbC1ncmlkLWNhcmRzIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICBnYXA6IDMwcHg7XHJcbn1cclxuXHJcbi8qIENvcnBvcmF0ZSBGb290ZXIgKi9cclxuLnNpdGUtZm9vdGVyIHtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZDRkNmRhIDAlLCAjYzBjMmM2IDEwMCUpO1xyXG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDEwLCAzMCwgNjEsIDAuMTUpO1xyXG4gIGJveC1zaGFkb3c6IDAgLTRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XHJcbiAgcGFkZGluZzogNDBweCAwIDIwcHggMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMjtcclxuICBjb2xvcjogIzBhMWUzZDtcclxufVxyXG5cclxuLmZvb3Rlci1ncmlkIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmciAxZnI7XHJcbiAgZ2FwOiA0MHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xyXG59XHJcblxyXG4uZm9vdGVyLWJyYW5kLWNvbHVtbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGdhcDogMjBweDtcclxufVxyXG5cclxuLmZvb3Rlci1sb2dvLXdyYXBwZXIge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG59XHJcblxyXG4vKiBXaHkgQ2hvb3NlIEdJIENhcmQgUmVkZXNpZ24gKi9cclxuLndoeS1jaG9vc2UtZ3JpZCB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gIGdhcDogMzBweDtcclxuICBtYXJnaW4tdG9wOiA0NXB4O1xyXG59XHJcblxyXG4ud2h5LWNob29zZS1jYXJkIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTUsIDIzLCA0MiwgMC4wNik7XHJcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcclxuICBwYWRkaW5nOiAzMnB4O1xyXG4gIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjAxKTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbn1cclxuXHJcbi53aHktY2hvb3NlLWNhcmQ6aG92ZXIge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICBib3gtc2hhZG93OiAwIDIwcHggNDBweCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4wOCk7XHJcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKTtcclxufVxyXG5cclxuLndoeS1jYXJkLWljb24td3JhcHBlciB7XHJcbiAgd2lkdGg6IDUycHg7XHJcbiAgaGVpZ2h0OiA1MnB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMDgpO1xyXG4gIGNvbG9yOiAjMjU2M2ViO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbi53aHktY2hvb3NlLWNhcmQ6aG92ZXIgLndoeS1jYXJkLWljb24td3JhcHBlciB7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzI1NjNlYiwgIzA2YjZkNCk7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpO1xyXG59XHJcblxyXG4ud2h5LWljb24ge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbi53aHktY2hvb3NlLWNhcmQ6aG92ZXIgLndoeS1pY29uIHtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcclxufVxyXG5cclxuLndoeS1jYXJkLXRpdGxlIHtcclxuICBmb250LXNpemU6IDE5cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBjb2xvcjogIzBmMTcyYTtcclxuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7XHJcbn1cclxuXHJcbi53aHktY2FyZC10ZXh0IHtcclxuICBmb250LXNpemU6IDE0LjVweDtcclxuICBjb2xvcjogIzRiNTU2MztcclxuICBsaW5lLWhlaWdodDogMS42O1xyXG59XHJcblxyXG4vKiBJbmR1c3RyaWVzIFdlIFNlcnZlIEdyaWQgJiBDYXJkIFJlZGVzaWduICovXHJcbi5uZXctaW5kdXN0cmllcy1ncmlkIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgZ2FwOiAyMHB4O1xyXG59XHJcblxyXG4ubmV3LWluZHVzdHJ5LWNhcmQge1xyXG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNSwgMjMsIDQyLCAwLjA1KTtcclxuICBib3JkZXItcmFkaXVzOiAxOHB4O1xyXG4gIHBhZGRpbmc6IDIwcHggMjRweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiAxNnB4O1xyXG4gIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjAxKTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi5uZXctaW5kdXN0cnktY2FyZDpob3ZlciB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xyXG4gIGJveC1zaGFkb3c6IDAgMTVweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIsIDU1LCAxNTksIDAuMTUpO1xyXG59XHJcblxyXG4uaW5kdXN0cnktaWNvbi13cmFwcGVyIHtcclxuICB3aWR0aDogNDJweDtcclxuICBoZWlnaHQ6IDQycHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDIsIDU1LCAxNTksIDAuMDYpO1xyXG4gIGNvbG9yOiAjMDIzNzlmO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBmbGV4LXNocmluazogMDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG59XHJcblxyXG4ubmV3LWluZHVzdHJ5LWNhcmQ6aG92ZXIgLmluZHVzdHJ5LWljb24td3JhcHBlciB7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAyMzc5ZiwgIzNiODJmNik7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICBib3gtc2hhZG93OiAwIDZweCAxNXB4IHJnYmEoMiwgNTUsIDE1OSwgMC4yKTtcclxufVxyXG5cclxuLmluZHVzdHJ5LWljb24ge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbi5uZXctaW5kdXN0cnktY2FyZDpob3ZlciAuaW5kdXN0cnktaWNvbiB7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcclxufVxyXG5cclxuLmluZHVzdHJ5LWNhcmQtdGl0bGUge1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGNvbG9yOiAjMWYyOTM3O1xyXG59XHJcblxyXG4uZm9vdGVyLWxvZ28td3JhcHBlciBpbWcge1xyXG4gIGhlaWdodDogNzJweDtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG5cclxuLmZvb3Rlci1icmFuZC1kZXNjIHtcclxuICBmb250LXNpemU6IDEzLjVweDtcclxuICBsaW5lLWhlaWdodDogMS42O1xyXG4gIG1heC13aWR0aDogMzQwcHg7XHJcbiAgY29sb3I6ICMwYTFlM2Q7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uY29tcGxpYW5jZS1iYWRnZXMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZ2FwOiAxMHB4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLmNvbXBsaWFuY2UtYmFkZ2Uge1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGNvbG9yOiAjMGExZTNkO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDMwLCA2MSwgMC40KTtcclxuICBwYWRkaW5nOiA1cHggMTBweDtcclxuICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgxMCwgMzAsIDYxLCAwLjA4KTtcclxuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtc21vb3RoKTtcclxufVxyXG5cclxuLmNvbXBsaWFuY2UtYmFkZ2U6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMTAsIDMwLCA2MSwgMC4xNSk7XHJcbiAgYm9yZGVyLWNvbG9yOiAjMGExZTNkO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxufVxyXG5cclxuLmZvb3Rlci1jb2x1bW4tdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gIGNvbG9yOiAjMGExZTNkO1xyXG59XHJcblxyXG4uZm9vdGVyLWxpbmtzIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBnYXA6IDEycHg7XHJcbn1cclxuXHJcbi5mb290ZXItbGlua3MgYSB7XHJcbiAgY29sb3I6ICMwYTFlM2Q7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMTQuNXB4O1xyXG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zLXNtb290aCk7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmZvb3Rlci1saW5rcyBhOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICc+JztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogLTEwcHg7XHJcbiAgb3BhY2l0eTogMDtcclxuICBjb2xvcjogIzIyZDNlZTtcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zLXNtb290aCk7XHJcbn1cclxuXHJcbi5mb290ZXItbGlua3MgYTpob3ZlciB7XHJcbiAgY29sb3I6ICMyMmQzZWU7XHJcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xyXG4gIHRleHQtc2hhZG93OiAwIDAgOHB4IHJnYmEoMzQsIDIxMSwgMjM4LCAwLjMpO1xyXG59XHJcblxyXG4uZm9vdGVyLWxpbmtzIGE6aG92ZXI6OmJlZm9yZSB7XHJcbiAgb3BhY2l0eTogMTtcclxuICBsZWZ0OiAwO1xyXG59XHJcblxyXG4uZm9vdGVyLXBvcnRhbC1jb2x1bW4ge1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjAzKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSAxMDAlKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xNSk7XHJcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICBwYWRkaW5nOiAyOHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1zbW9vdGgpO1xyXG59XHJcblxyXG4uZm9vdGVyLXBvcnRhbC1jb2x1bW46aG92ZXIge1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMjExLCAyMzgsIDAuNCk7XHJcbiAgYm94LXNoYWRvdzogMCAxMnB4IDQwcHggcmdiYSgzNCwgMjExLCAyMzgsIDAuMDYpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxufVxyXG5cclxuLmZvb3Rlci1wb3J0YWwtdGV4dCB7XHJcbiAgZm9udC1zaXplOiAxMy41cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICBsaW5lLWhlaWdodDogMS41O1xyXG4gIGNvbG9yOiAjMGExZTNkO1xyXG59XHJcblxyXG4uYnRuLXBvcnRhbCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGdhcDogOHB4O1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLmJ0bi1wb3J0YWw6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDIxMSwgMjM4LCAwLjEpO1xyXG4gIGJvcmRlci1jb2xvcjogIzIyZDNlZTtcclxuICBjb2xvcjogIzIyZDNlZTtcclxufVxyXG5cclxuLnBvcnRhbC1pY29uIHtcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1mYXN0KTtcclxufVxyXG5cclxuLmJ0bi1wb3J0YWw6aG92ZXIgLnBvcnRhbC1pY29uIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcclxufVxyXG5cclxuLmZvb3Rlci1ib3R0b20ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTAsIDMwLCA2MSwgMC4yKTtcclxuICBwYWRkaW5nLXRvcDogMTZweDtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgY29sb3I6ICMwYTFlM2Q7XHJcbn1cclxuXHJcbi5jb3B5cmlnaHQtdGV4dCB7XHJcbiAgY29sb3I6ICMwYTFlM2Q7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uZm9vdGVyLWxlZ2FsLWxpbmtzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiAxNnB4O1xyXG59XHJcblxyXG4uZm9vdGVyLWxlZ2FsLWxpbmtzIGEge1xyXG4gIGNvbG9yOiAjMGExZTNkO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1mYXN0KTtcclxufVxyXG5cclxuLmZvb3Rlci1sZWdhbC1saW5rcyBhOmhvdmVyIHtcclxuICBjb2xvcjogIzFkNThkMTtcclxufVxyXG5cclxuLmJ1bGxldC1kaXZpZGVyIHtcclxuICBjb2xvcjogcmdiYSgxMCwgMzAsIDYxLCAwLjQpO1xyXG59XHJcblxyXG4vKiBNb2xleCBEZXRhaWxlZCBUYWIgQ2FyZHMgR3JpZCAodXNlZCBpbiBzZXJ2aWNlcy5odG1sKSAqL1xyXG4uc2VydmljZS1kZXRhaWwtYmxvY2sge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBwYWRkaW5nOiA4MHB4IDA7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbn1cclxuXHJcbi5zZXJ2aWNlLWRldGFpbC1ibG9jazpsYXN0LWNoaWxkIHtcclxuICBib3JkZXItYm90dG9tOiBub25lO1xyXG59XHJcblxyXG4uc2VydmljZS1oZWFkLWFyZWEge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjJmciAwLjhmcjtcclxuICBnYXA6IDQ4cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uc2VydmljZS1oZWFkLXRleHQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnNlcnZpY2UtaGVhZC1hcmVhIGgzIHtcclxuICBmb250LXNpemU6IDM0cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxuICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5zZXJ2aWNlLWhlYWQtYXJlYSAudGFnIHtcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuICBmb250LXNpemU6IDExcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogdmFyKC0tYWNjZW50LWJsdWUpO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG59XHJcblxyXG4uc2VydmljZS1oZWFkLWRlc2Mge1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBsaW5lLWhlaWdodDogMS43O1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxufVxyXG5cclxuLnNlcnZpY2UtaGVhZC1pbWFnZS13cmFwIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDI2MHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBib3gtc2hhZG93OiAwIDE1cHggMzVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWdsYXNzKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZDogIzAyMDYxNztcclxufVxyXG5cclxuLnNlcnZpY2UtaGVhZC1pbWFnZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIG9wYWNpdHk6IDAuNjU7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOHMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XHJcbn1cclxuXHJcbi5zZXJ2aWNlLWhlYWQtaW1hZ2Utd3JhcDpob3ZlciAuc2VydmljZS1oZWFkLWltYWdlIHtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gIG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLnNlcnZpY2UtY2FyZHMtcm93IHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICBnYXA6IDQwcHg7XHJcbiAgbWFyZ2luLXRvcDogNDBweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm1vbGV4LXRhYi1jYXJkIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm9yZGVyLXJhZGl1czogMTZweCAwIDE2cHggMTZweDtcclxuICBwYWRkaW5nOiA0NHB4IDM2cHggMzZweCAzNnB4O1xyXG4gIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBtaW4taGVpZ2h0OiA0ODBweDtcclxuICBib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtc21vb3RoKTtcclxufVxyXG5cclxuLm1vbGV4LXRhYi1jYXJkOmhvdmVyIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZ2xhc3MtaG92ZXIpO1xyXG59XHJcblxyXG4ubW9sZXgtdGFiLWNhcmQuY2FyZC10ZWFsIHtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCAjZjBmZGZhIDAlLCAjZTBmMmZlIDEwMCUpO1xyXG59XHJcbi5tb2xleC10YWItY2FyZC5jYXJkLXRlYWw6aG92ZXIge1xyXG4gIGJveC1zaGFkb3c6IDAgMjVweCA1MHB4IC0xMnB4IHJnYmEoNiwgMTgyLCAyMTIsIDAuMSk7XHJcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDYsIDE4MiwgMjEyLCAwLjQpO1xyXG59XHJcblxyXG4ubW9sZXgtdGFiLWNhcmQuY2FyZC1zbGF0ZSB7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgI2Y4ZmFmYyAwJSwgI2YxZjVmOSAxMDAlKTtcclxufVxyXG4ubW9sZXgtdGFiLWNhcmQuY2FyZC1zbGF0ZTpob3ZlciB7XHJcbiAgYm94LXNoYWRvdzogMCAyNXB4IDUwcHggLTEycHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuMDgpO1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSg1OSwgMTMwLCAyNDYsIDAuNCk7XHJcbn1cclxuXHJcbi5tb2xleC1jYXJkLXRhYiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTMycHg7XHJcbiAgcmlnaHQ6IC0xcHg7XHJcbiAgaGVpZ2h0OiAzMnB4O1xyXG4gIHBhZGRpbmc6IDAgMjRweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogMTJweCAxMnB4IDAgMDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWdsYXNzKTtcclxuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1nbGFzcyk7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWdsYXNzKTtcclxufVxyXG5cclxuLmNhcmQtdGVhbCAubW9sZXgtY2FyZC10YWIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGZkZmE7XHJcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSg2LCAxODIsIDIxMiwgMC4zKTtcclxuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSg2LCAxODIsIDIxMiwgMC4zKTtcclxuICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoNiwgMTgyLCAyMTIsIDAuMyk7XHJcbn1cclxuXHJcbi5jYXJkLXNsYXRlIC5tb2xleC1jYXJkLXRhYiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZmFmYztcclxuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKTtcclxuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMyk7XHJcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKTtcclxufVxyXG5cclxuLyogVGFiIENvbmNhdmUgQ3VydmUgdXNpbmcgcHNldWRvLWVsZW1lbnQgd2l0aCByYWRpYWwtZ3JhZGllbnQgKi9cclxuLm1vbGV4LWNhcmQtdGFiOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAtMjBweDtcclxuICBib3R0b206IDA7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbiAgaGVpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4uY2FyZC10ZWFsIC5tb2xleC1jYXJkLXRhYjo6YmVmb3JlIHtcclxuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IHRvcCBsZWZ0LCB0cmFuc3BhcmVudCAyMHB4LCAjZjBmZGZhIDIwcHgpO1xyXG59XHJcblxyXG4uY2FyZC1zbGF0ZSAubW9sZXgtY2FyZC10YWI6OmJlZm9yZSB7XHJcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCB0b3AgbGVmdCwgdHJhbnNwYXJlbnQgMjBweCwgI2Y4ZmFmYyAyMHB4KTtcclxufVxyXG5cclxuLm1vbGV4LXRhYi1pY29uIHtcclxuICB3aWR0aDogMThweDtcclxuICBoZWlnaHQ6IDE4cHg7XHJcbiAgc3Ryb2tlOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xyXG4gIGZpbGw6IG5vbmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5tb2xleC1jYXJkLXRpdGxlIHtcclxuICBmb250LXNpemU6IDIycHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcclxuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogOHB4O1xyXG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSgxNSwgMjMsIDQyLCAwLjE1KTtcclxuICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tY29sb3IgMC4zcyBlYXNlO1xyXG59XHJcblxyXG4ubW9sZXgtdGFiLWNhcmQ6aG92ZXIgLm1vbGV4LWNhcmQtdGl0bGUge1xyXG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcclxufVxyXG5cclxuLm1vbGV4LWNhcmQtYm9keS1jb250ZW50IHtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4ubW9sZXgtc3BlY3MtbGlzdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGdhcDogMTRweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm1vbGV4LXNwZWMtcm93IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWdsYXNzKTtcclxuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcclxufVxyXG5cclxuLm1vbGV4LXNwZWMtcm93OmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDIpO1xyXG59XHJcblxyXG4ubW9sZXgtc3BlYy1yb3cgc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4ubW9sZXgtc3BlYy1yb3cgc3BhbjpsYXN0LWNoaWxkIHtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4ubW9sZXgtaW1wbC1saXN0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZ2FwOiAxMnB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5tb2xleC1pbXBsLWl0ZW0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZ2FwOiAxMHB4O1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi5tb2xleC1pbXBsLWJ1bGxldCB7XHJcbiAgd2lkdGg6IDZweDtcclxuICBoZWlnaHQ6IDZweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtcmVkKTtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogOHB4O1xyXG4gIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ubW9sZXgtc2xhLWJveCB7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxuICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWFjY2VudC1yZWQpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMiwgNTUsIDE1OSwgMC4wNSk7XHJcbiAgcGFkZGluZzogMTRweCAxOHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDAgOHB4IDhweCAwO1xyXG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zLXNtb290aCk7XHJcbn1cclxuXHJcbi5tb2xleC1zbGEtYm94OmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIsIDU1LCAxNTksIDAuMDkpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xyXG59XHJcblxyXG4ubW9sZXgtc2xhLXRpdGxlIHtcclxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcclxuICBmb250LXNpemU6IDEwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBjb2xvcjogdmFyKC0tYWNjZW50LXJlZCk7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxufVxyXG5cclxuLm1vbGV4LXNsYS10ZXh0IHtcclxuICBmb250LXNpemU6IDEyLjVweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xyXG59XHJcblxyXG4ubW9sZXgtY2FyZC1idG4ge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1yZWQpO1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgcGFkZGluZzogMTRweCAyOHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxuICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHZhcigtLWFjY2VudC1yZWQtZ2xvdyk7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtc21vb3RoKTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4ubW9sZXgtY2FyZC1idG46aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICMxZDU4ZDE7XHJcbiAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDIsIDU1LCAxNTksIDAuNDUpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuLm1vbGV4LXRhYi1jYXJkLmNhcmQtdGVhbCAubW9sZXgtY2FyZC1idG4ge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoNiwgMTgyLCAyMTIsIDAuMSk7XHJcbiAgY29sb3I6IHZhcigtLWFjY2VudC1jeWFuKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDYsIDE4MiwgMjEyLCAwLjI1KTtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4ubW9sZXgtdGFiLWNhcmQuY2FyZC10ZWFsIC5tb2xleC1jYXJkLWJ0bjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWN5YW4pO1xyXG4gIGNvbG9yOiAjMDAwMDAwO1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LWN5YW4pO1xyXG4gIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSg2LCAxODIsIDIxMiwgMC4yKTtcclxufVxyXG5cclxuLyogU2VydmljZXMgSGVybyAoU2VydmljZXMgcGFnZSBoZWFkZXIpICovXHJcbi5zZXJ2aWNlcy1oZXJvIHtcclxuICBtYXJnaW4tdG9wOiAxMjBweDtcclxuICBwYWRkaW5nOiAxMDBweCAwIDEwMHB4IDA7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNDEsIDI0NSwgMjQ5LCAwLjkpIDAlLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTUpIDEwMCUpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZ2xhc3MpO1xyXG59XHJcblxyXG4uc2VydmljZXMtaGVybzo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODAlIDIwJSwgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMDUpIDAlLCB0cmFuc3BhcmVudCA2MCUpO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uc2VydmljZXMtaGVyby1jb250ZW50IHtcclxuICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4uc2VydmljZXMtaGVyby1jYXJkIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuNDUpO1xyXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcclxuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xyXG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tYWNjZW50LWN5YW4pO1xyXG4gIHBhZGRpbmc6IDIwcHggMzBweDtcclxuICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gIG1heC13aWR0aDogNzYwcHg7XHJcbiAgYm94LXNoYWRvdzogMCAzMHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4uc2VydmljZXMtaGVybyAuY3liZXItZ3JpZC1vdmVybGF5IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IFxyXG4gICAgbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMykgMXB4LCB0cmFuc3BhcmVudCAxcHgpLFxyXG4gICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDMwcHggMzBweDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uc2VydmljZXMtaGVyby1jYXJkIC5zZWN0aW9uLWJhZGdlIHtcclxuICBjb2xvcjogdmFyKC0tYWNjZW50LWN5YW4pO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoNiwgMTgyLCAyMTIsIDAuMSk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2LCAxODIsIDIxMiwgMC4yNSk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSg2LCAxODIsIDIxMiwgMC4wOCk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxufVxyXG5cclxuLnNlcnZpY2VzLWhlcm8tdGl0bGUge1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1zaXplOiAzMnB4O1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcclxufVxyXG5cclxuLnNlcnZpY2VzLWhlcm8tZGVzYyB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbn1cclxuXHJcbi8qIEFib3V0IFVzIFNlY3Rpb24gU3BlY2lmaWNzICovXHJcbi5hYm91dC1oZXJvIHtcclxuICBwYWRkaW5nOiAxODBweCAwIDEwMHB4IDA7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNDEsIDI0NSwgMjQ5LCAwLjkpIDAlLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTUpIDEwMCUpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZ2xhc3MpO1xyXG59XHJcblxyXG4uYWJvdXQtZ3JpZCB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgZ2FwOiA2MHB4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hYm91dC12aXN1YWwtY29udGFpbmVyIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZ2xhc3MpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgcGFkZGluZzogNDBweDtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmFib3V0LXZpc3VhbC1jb250YWluZXI6OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTUwJTtcclxuICBsZWZ0OiAtNTAlO1xyXG4gIHdpZHRoOiAyMDAlO1xyXG4gIGhlaWdodDogMjAwJTtcclxuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkgMCUsIHRyYW5zcGFyZW50IDcwJSk7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5zdGF0cy1jYXJkLWdyaWQge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gIGdhcDogMjBweDtcclxufVxyXG5cclxuLnN0YXQtY2FyZCB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZ2xhc3MpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgcGFkZGluZzogMjRweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnMtc21vb3RoKTtcclxufVxyXG5cclxuLnN0YXQtY2FyZDpob3ZlciB7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZ2xhc3MtaG92ZXIpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpO1xyXG59XHJcblxyXG4uc3RhdC1udW1iZXIge1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xyXG4gIGZvbnQtc2l6ZTogMzZweDtcclxuICBmb250LXdlaWdodDogODAwO1xyXG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtY3lhbik7XHJcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4uc3RhdC1sYWJlbCB7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG59XHJcblxyXG4vKiBSZXNwb25zaXZlIEJyZWFrcG9pbnRzICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAuaGVyby1ncmlkIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgZ2FwOiA0MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICAuaGVyby1jb250ZW50IHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH1cclxuICAuaGVyby1hY3Rpb25zIHtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuICAucGlsbGFycy1ncmlkIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICBnYXA6IDI0cHg7XHJcbiAgfVxyXG4gIC5zb2x1dGlvbnMtZ3JpZCB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gIH1cclxuICAuY29ubmVjdC1sYXlvdXQge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICBnYXA6IDUwcHg7XHJcbiAgfVxyXG4gIC5mb290ZXItZ3JpZCB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gIH1cclxuICAuc2VydmljZS1oZWFkLWFyZWEge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICBnYXA6IDI0cHg7XHJcbiAgfVxyXG4gIC5zZXJ2aWNlLWNhcmRzLXJvdyB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgIGdhcDogNDhweDtcclxuICB9XHJcbiAgLmFib3V0LWdyaWQge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICBnYXA6IDQwcHg7XHJcbiAgfVxyXG4gIC53aHktY2hvb3NlLWdyaWQge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICB9XHJcbiAgLm5ldy1pbmR1c3RyaWVzLWdyaWQge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICB9XHJcbiAgLnBpbGxhcnMtZ3JpZC00Y29sIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICBnYXA6IDI0cHg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAuc2VjdGlvbi1wYWRkaW5nIHtcclxuICAgIHBhZGRpbmc6IDgwcHggMDtcclxuICB9XHJcbiAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAzMnB4O1xyXG4gIH1cclxuICAuaGVyby10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgfVxyXG4gIC5kZXNrdG9wLW5hdixcclxuICAuaGVhZGVyLWN0YSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAubG9nby13cmFwcGVyIGltZyB7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgfVxyXG4gIC5tZW51LXRvZ2dsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuICAucGlsbGFycy1ncmlkIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gIH1cclxuICAuc29sdXRpb25zLWdyaWQge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgfVxyXG4gIC5mb3JtLXJvdy0yIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgZ2FwOiAyMHB4O1xyXG4gIH1cclxuICAuZm9vdGVyLWdyaWQge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgfVxyXG4gIC5mb290ZXItYm90dG9tIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIC5tb2RhbC1ib3gge1xyXG4gICAgcGFkZGluZzogMjRweDtcclxuICB9XHJcbiAgLm1vZGFsLWdyaWQtY2FyZHMge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgfVxyXG4gIC53aHktY2hvb3NlLWdyaWQge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgfVxyXG4gIC5zb2x1dGlvbnMtZ3JpZC0yY29sIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gIH1cclxuICAucGlsbGFycy1ncmlkLTRjb2wge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBORVhVUyBDWUJFUi1ERUNLIExBWU9VVFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmN5YmVyLWRlY2stc2VjdGlvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gIHBhZGRpbmctdG9wOiAxMDBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxufVxyXG5cclxuLyogRml4ZWQgQmFja2dyb3VuZCBNYXRyaXggKi9cclxuLmN5YmVyLXN0aWNreS1iZyB7XHJcbiAgcG9zaXRpb246IHN0aWNreTtcclxuICB0b3A6IDEwMHB4O1xyXG4gIHJpZ2h0OiAwO1xyXG4gIG1hcmdpbi1yaWdodDogNjRweDtcclxuICB3aWR0aDogY2FsYyg1MCUgLSA2NHB4KTtcclxuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxNDBweCk7XHJcbiAgei1pbmRleDogMTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBib3JkZXItcmFkaXVzOiAyNHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgMjBweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxyXG5cclxuLmN5YmVyLWJnLWxheWVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5jeWJlci1ncmlkIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IFxyXG4gICAgbGluZWFyLWdyYWRpZW50KHJnYmEoNiwgMTgyLCAyMTIsIDAuMikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLFxyXG4gICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDYsIDE4MiwgMjEyLCAwLjIpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDUwMHB4KSByb3RhdGVYKDYwZGVnKSBzY2FsZSgyKTtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xyXG4gIG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuLyogUGFydGljbGVzICovXHJcbi5jeWJlci1wYXJ0aWNsZXMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4ucGFydGljbGUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogNHB4OyBoZWlnaHQ6IDRweDtcclxuICBiYWNrZ3JvdW5kOiAjMDZiNmQ0O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBib3gtc2hhZG93OiAwIDAgMTVweCAycHggIzA2YjZkNDtcclxuICBhbmltYXRpb246IGZsb2F0LXBhcnRpY2xlIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG5Aa2V5ZnJhbWVzIGZsb2F0LXBhcnRpY2xlIHtcclxuICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDB2aCkgc2NhbGUoMCk7IG9wYWNpdHk6IDA7IH1cclxuICA1MCUgeyBvcGFjaXR5OiAxOyBzY2FsZTogMTsgfVxyXG4gIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KSBzY2FsZSgwKTsgb3BhY2l0eTogMDsgfVxyXG59XHJcblxyXG4vKiBDeWJlciBDb3JlICovXHJcbi5jeWJlci1jb3JlLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAzMDBweDtcclxuICBoZWlnaHQ6IDMwMHB4O1xyXG4gIHotaW5kZXg6IDI7XHJcbn1cclxuLmN5YmVyLWNvcmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTsgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XHJcbn1cclxuLnB1bHNlLWNvcmUge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMSk7XHJcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMzBweCByZ2JhKDIsIDU1LCAxNTksIDAuNikpO1xyXG59XHJcblxyXG4uY29yZS1yaW5nIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoNDksIDE2MiwgMjU0LCAwLjYpO1xyXG4gIGJvcmRlci10b3AtY29sb3I6ICMzMWEyZmU7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAyMzc5ZjtcclxufVxyXG4uY29yZS1yaW5nLTEge1xyXG4gIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XHJcbiAgYW5pbWF0aW9uOiBzcGluIDhzIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG4uY29yZS1yaW5nLTIge1xyXG4gIHdpZHRoOiA3NSU7IGhlaWdodDogNzUlO1xyXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDZiNmQ0O1xyXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGFuaW1hdGlvbjogc3Bpbi1yZXZlcnNlIDVzIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG4uY29yZS1yaW5nLTMge1xyXG4gIHdpZHRoOiA1MCU7IGhlaWdodDogNTAlO1xyXG4gIGJvcmRlci1zdHlsZTogZGFzaGVkO1xyXG4gIGFuaW1hdGlvbjogc3BpbiAxMHMgbGluZWFyIGluZmluaXRlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW4geyAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XHJcbkBrZXlmcmFtZXMgc3Bpbi1yZXZlcnNlIHsgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpOyB9IH1cclxuXHJcbi5jb3JlLWNlbnRlciB7XHJcbiAgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDtcclxuICB6LWluZGV4OiA1O1xyXG4gIGFuaW1hdGlvbjogcHVsc2UtZ2xvdyAycyBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcbn1cclxuQGtleWZyYW1lcyBwdWxzZS1nbG93IHtcclxuICAwJSB7IGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDEwcHggIzMxYTJmZSk7IH1cclxuICAxMDAlIHsgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMjVweCAjMDIzNzlmKTsgfVxyXG59XHJcblxyXG4uY3liZXItY29ubmVjdGlvbnMge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7IGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMHZ3OyBoZWlnaHQ6IDEwMHZoO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHotaW5kZXg6IDEwO1xyXG59XHJcbi5jeWJlci1saW5lLWFuaW0ge1xyXG4gIGFuaW1hdGlvbjogZHJhdy1saW5lIDAuNXMgZWFzZSBmb3J3YXJkcztcclxufVxyXG5Aa2V5ZnJhbWVzIGRyYXctbGluZSB7XHJcbiAgMCUgeyBzdHJva2UtZGFzaGFycmF5OiAwIDEwMDA7IH1cclxuICAxMDAlIHsgc3Ryb2tlLWRhc2hhcnJheTogNSA1OyB9XHJcbn1cclxuXHJcbi8qIFNjcm9sbCBDb250ZW50ICovXHJcbi5jeWJlci1zY3JvbGwtY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgei1pbmRleDogNTtcclxuICBwYWRkaW5nOiAwIDY0cHggMTUwcHggNjRweDtcclxufVxyXG5cclxuLmN5YmVyLWludHJvLXBhbmVsIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbn1cclxuLmN5YmVyLWJhZGdlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYmFja2dyb3VuZDogcmdiYSg2LCAxODIsIDIxMiwgMC4xKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDYsIDE4MiwgMjEyLCAwLjMpO1xyXG4gIGNvbG9yOiAjMDZiNmQ0O1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBwYWRkaW5nOiA2cHggMTJweDtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5jeWJlci1iYWRnZTo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7IGxlZnQ6IC0xMDAlO1xyXG4gIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSg2LCAxODIsIDIxMiwgMC41KSwgdHJhbnNwYXJlbnQpO1xyXG4gIGFuaW1hdGlvbjogc2NhbiAzcyBpbmZpbml0ZTtcclxufVxyXG5Aa2V5ZnJhbWVzIHNjYW4geyAxMDAlIHsgbGVmdDogMTAwJTsgfSB9XHJcblxyXG4uY3liZXItdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogNDhweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxufVxyXG4uaGlnaGxpZ2h0LWN5YW4geyBjb2xvcjogIzMxYTJmZTsgfVxyXG4uaGlnaGxpZ2h0LXJlZCB7IGNvbG9yOiAjMDIzNzlmOyB9XHJcblxyXG4uY3liZXItZGVzYyB7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgbWF4LXdpZHRoOiA1MDBweDtcclxuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG59XHJcbi5zY3JvbGwtaW5kaWNhdG9yIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiAxNXB4O1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBjb2xvcjogIzY0NzQ4YjtcclxufVxyXG4ubW91c2UtaWNvbiB7XHJcbiAgd2lkdGg6IDIwcHg7IGhlaWdodDogMzBweDtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjNjQ3NDhiO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5tb3VzZS1pY29uOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDVweDsgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICB3aWR0aDogNHB4OyBoZWlnaHQ6IDZweDtcclxuICBiYWNrZ3JvdW5kOiAjNjQ3NDhiO1xyXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICBhbmltYXRpb246IHNjcm9sbC13aGVlbCAxLjVzIGluZmluaXRlO1xyXG59XHJcbkBrZXlmcmFtZXMgc2Nyb2xsLXdoZWVsIHtcclxuICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApOyBvcGFjaXR5OiAxOyB9XHJcbiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwcHgpOyBvcGFjaXR5OiAwOyB9XHJcbn1cclxuXHJcbi8qIE1vZHVsZXMgKi9cclxuLmN5YmVyLW1vZHVsZSB7XHJcbiAgbWluLWhlaWdodDogNTB2aDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG9wYWNpdHk6IDAuMztcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuNnMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG4uY3liZXItbW9kdWxlLmFjdGl2ZS1tb2R1bGUge1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG59XHJcblxyXG4ubW9kdWxlLWdsYXNzLXBhbmVsIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xyXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZ2xhc3MpO1xyXG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzA2YjZkNDtcclxuICBwYWRkaW5nOiA0MHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBib3gtc2hhZG93OiAwIDIwcHggNDBweCByZ2JhKDAsMCwwLDAuMDYpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5hY3RpdmUtbW9kdWxlIC5tb2R1bGUtZ2xhc3MtcGFuZWwge1xyXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDIzNzlmO1xyXG4gIGJveC1zaGFkb3c6IDAgMjBweCA0MHB4IHJnYmEoMiwgNTUsIDE1OSwgMC4wNik7XHJcbn1cclxuLm1vZHVsZS1nbGFzcy1wYW5lbDo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwOyBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDFweDtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMzMWEyZmUsIHRyYW5zcGFyZW50KTtcclxufVxyXG5cclxuLm1vZHVsZS1oZWFkZXIge1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuLm1vZHVsZS1pZCB7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XHJcbiAgY29sb3I6ICMwMjM3OWY7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuLm1vZHVsZS10aXRsZSB7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xyXG59XHJcblxyXG4ubW9kdWxlLWJvZHkgcCB7XHJcbiAgZm9udC1zaXplOiAxNXB4O1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICBsaW5lLWhlaWdodDogMS43O1xyXG59XHJcblxyXG4ubW9kdWxlLXNwZWNzIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWdsYXNzKTtcclxuICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgcGFkZGluZzogMjBweDtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcbi5zcGVjLXJvdyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgcGFkZGluZzogOHB4IDA7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCB2YXIoLS1ib3JkZXItZ2xhc3MpO1xyXG4gIGZvbnQtc2l6ZTogMTMuNXB4O1xyXG59XHJcbi5zcGVjLXJvdzpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxyXG4uc3BlYy1sYWJlbCB7IGNvbG9yOiAjNjQ3NDhiOyBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsgfVxyXG4uc3BlYy12YWwgeyBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxyXG5cclxuLmN5YmVyLWJ0biB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBwYWRkaW5nOiAxMnB4IDI0cHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzA2YjZkNDtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG59XHJcbi5jeWJlci1idG46aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoNiwgMTgyLCAyMTIsIDAuMTUpO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxNXB4IHJnYmEoNiwgMTgyLCAyMTIsIDAuNCk7XHJcbn1cclxuLmJ0bi1nbGl0Y2gtdGV4dC5nbGl0Y2hpbmcge1xyXG4gIGFuaW1hdGlvbjogdGV4dC1nbGl0Y2ggMC4ycyAzO1xyXG59XHJcbkBrZXlmcmFtZXMgdGV4dC1nbGl0Y2gge1xyXG4gIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7IH1cclxuICAyNSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAycHgpOyBjb2xvcjogIzAwMDAzMzsgfVxyXG4gIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDJweCwgLTJweCk7IGNvbG9yOiAjMDZiNmQ0OyB9XHJcbiAgNzUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgLTJweCk7IGNvbG9yOiAjZmZmOyB9XHJcbiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDApOyB9XHJcbn1cclxuXHJcbi8qIE1vYmlsZSBSZXNwb25zaXZlbmVzcyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcclxuICAuY3liZXItZGVjay1zZWN0aW9uIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG4gIC5jeWJlci1zdGlja3ktYmcge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xyXG4gICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICBoZWlnaHQ6IDQwdmg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIH1cclxuICAuY3liZXItc2Nyb2xsLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgfVxyXG4gIC5jeWJlci1jb25uZWN0aW9ucyB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICAuY3liZXItbW9kdWxlIHtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XHJcbiAgLm5ldy1pbmR1c3RyaWVzLWdyaWQge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgfVxyXG59XHJcblxyXG4vKiDilIDilIAgQ3Jvc3MtUGFnZSBOYXZpZ2F0aW9uIEJ1dHRvbiDilIDilIAgKi9cclxuLnBhZ2Utc3dpdGNoLWJ0biB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDhweDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpO1xyXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMzUpO1xyXG4gIHBhZGRpbmc6IDlweCAyMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnBhZ2Utc3dpdGNoLWJ0bjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogIzFkNThkMTtcclxuICBib3JkZXItY29sb3I6ICMxZDU4ZDE7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG4gIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgyOSwgODgsIDIwOSwgMC40KTtcclxufVxyXG5cclxuLnBhZ2Utc3dpdGNoLWJ0biBzdmcge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbn1cclxuXHJcbi5wYWdlLXN3aXRjaC1idG46aG92ZXIgc3ZnIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcclxufVxyXG5cclxuLnNlcnZpY2VzLWhlcm8tdG9wLWJhciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gIC5zZXJ2aWNlcy1oZXJvLXRvcC1iYXIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIH1cclxufVxyXG5cclxuLnBhZ2Utc3dpdGNoLWJ0bi1zb2xpZCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDhweDtcclxuICBiYWNrZ3JvdW5kOiAjMWQ1OGQxO1xyXG4gIGNvbG9yOiAjZmZmZmZmO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcclxuICBwYWRkaW5nOiAxMnB4IDI0cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICBmb250LXNpemU6IDE1cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4ucGFnZS1zd2l0Y2gtYnRuLXNvbGlkOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiAjMDIzNzlmO1xyXG4gIGJvcmRlci1jb2xvcjogIzAyMzc5ZjtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDI5LCA4OCwgMjA5LCAwLjQpO1xyXG59XHJcblxyXG4ucGFnZS1zd2l0Y2gtYnRuLXNvbGlkIHN2ZyB7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxufVxyXG5cclxuLnBhZ2Utc3dpdGNoLWJ0bi1zb2xpZDpob3ZlciBzdmcge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xyXG59XHJcblxyXG4ucGFnZS1ib3R0b20tYmFyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgbWFyZ2luLXRvcDogNDBweDtcclxufVxyXG5cclxuXHJcbi8qIEVuc3VyZSB0ZXh0IGluIEV4cGxvcmUgU29sdXRpb25zIGJsdWUgbW9kYWxzIGlzIHdoaXRlICovXHJcbi5tb2RhbC1ib3hbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogIzI5QTRGOFwiXSBoMyxcclxuLm1vZGFsLWJveFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMjlBNEY4XCJdIGg0LFxyXG4ubW9kYWwtYm94W3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6ICMyOUE0RjhcIl0gcCxcclxuLm1vZGFsLWJveFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMjlBNEY4XCJdIHVsLFxyXG4ubW9kYWwtYm94W3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6ICMyOUE0RjhcIl0gbGksXHJcbi5tb2RhbC1ib3hbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogIzI5QTRGOFwiXSBzdHJvbmcsXHJcbi5tb2RhbC1ib3hbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogIzI5QTRGOFwiXSAubW9kYWwtY2xvc2Uge1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG4iXX0= */