/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/app.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
:root {
  --primary-color: #6366f1;
  --secondary-color: #8b5cf6;
  --accent-color: #ec4899;
  --dark-bg: #0f172a;
  --dark-light: #1e293b;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
  background-color: #ffffff;
  color: #343a40;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.2;
  color: #0f172a;
}

a {
  text-decoration: none;
  color: inherit;
  transition: color 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
a:hover {
  text-decoration: none !important;
  color: #6366f1;
}

.btn {
  border-radius: 0.75rem;
  padding: 1rem 2rem;
  font-weight: 600;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.navbar {
  padding: 1rem 0;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.navbar.scrolled {
  padding: 0.5rem 0;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.navbar-brand {
  font-weight: 800;
  font-size: 1.5rem;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.nav-link {
  font-weight: 500;
  padding: 0.5rem 1rem !important;
  transition: color 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-link:hover {
  color: #6366f1 !important;
}

.navbar-expand-md .nav-link {
  position: relative;
  transition: all 0.2s ease;
}
.navbar-expand-md .nav-link:hover {
  transform: translateY(-1px);
}
.navbar-expand-md .nav-link .icon {
  font-size: 1.25rem;
  vertical-align: middle;
}
.navbar-expand-md .badge-notification {
  font-size: 0.625rem;
  font-weight: 600;
}
.navbar-expand-md .badge-notification.badge-blink {
  animation: badge-blink 2s ease-in-out infinite;
}
.navbar-expand-md .nav-link .badge {
  transition: all 0.2s ease;
}
.navbar-expand-md .nav-link:hover .badge {
  transform: scale(1.1);
}

@keyframes badge-blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.navbar-vertical .nav-link {
  display: flex;
  align-items: center;
  position: relative;
}
.navbar-vertical .nav-link .badge {
  margin-left: auto;
  font-size: 0.65rem;
  padding: 0.25rem 0.5rem;
  transition: all 0.2s ease;
}
.navbar-vertical .nav-link:hover .badge {
  transform: scale(1.1);
}

.navbar-nav .dropdown-menu {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(0, 0, 0, 0.05);
}
.navbar-nav .dropdown-menu .dropdown-item {
  padding: 0.5rem 1rem;
  transition: all 0.2s ease;
}
.navbar-nav .dropdown-menu .dropdown-item:hover {
  background: linear-gradient(90deg, rgba(99, 102, 241, 0.1) 0%, transparent 100%);
  transform: translateX(2px);
}
.navbar-nav .dropdown-menu .dropdown-item i {
  width: 1.25rem;
  text-align: center;
}
.navbar-nav .dropdown-menu-card {
  min-width: 20rem;
  padding: 0;
}
.navbar-nav .dropdown-menu-card .card {
  margin: 0;
  border: none;
  box-shadow: none;
}
.navbar-nav .dropdown-menu-card .list-group-item {
  border-left: 0;
  border-right: 0;
}
.navbar-nav .dropdown-menu-card .list-group-item:first-child {
  border-top: 0;
}
.navbar-nav .dropdown-menu-card .list-group-item:last-child {
  border-bottom: 0;
}

.status-dot-animated {
  animation: status-pulse 2s ease-in-out infinite;
}

@keyframes status-pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.7;
    transform: scale(1.1);
  }
}
.alert-important {
  border-left: 4px solid;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
  animation: alert-slide-in 0.3s ease-out;
}
.alert-important.alert-warning {
  border-left-color: #f59e0b;
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.15) 0%, rgba(245, 158, 11, 0.05) 100%);
}
.alert-important .alert-icon {
  font-size: 2rem;
  margin-right: 1rem;
}
.alert-important .alert-title {
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.alert-important .btn-close {
  opacity: 0.6;
}
.alert-important .btn-close:hover {
  opacity: 1;
}

@keyframes alert-slide-in {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.gradient-bg {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

.gradient-bg-dark {
  background: linear-gradient(135deg, #1e3a8a 0%, #3b0764 100%);
}

.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.hero::before {
  z-index: -1;
  content: "";
  position: absolute;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.1) 0%, transparent 70%);
  animation: pulse 4s ease-in-out infinite;
}

.hero-content {
  position: relative;
  z-index: 1;
}

.hero h1 {
  font-size: 4rem;
  font-weight: 800;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
  animation: fadeInUp 1s ease;
  margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
  .hero h1 {
    font-size: 2.5rem;
  }
}

.hero p {
  font-size: 1.25rem;
  color: #6c757d;
  margin-bottom: 2rem;
  animation: fadeInUp 1s ease 0.2s both;
}

.feature-card {
  padding: 2rem;
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  height: 100%;
}
.feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.feature-icon {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
}

.feature-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #0f172a;
}

.feature-description {
  color: #6c757d;
  line-height: 1.8;
}

.stats-section {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  color: #ffffff;
  padding: 3rem 0;
}

.stat-card {
  text-align: center;
  padding: 2rem;
}

.stat-number {
  font-size: 3rem;
  font-weight: 800;
  background: linear-gradient(135deg, #ec4899 0%, #8b5cf6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.5rem;
}

.stat-label {
  font-size: 1.125rem;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.pricing-card {
  background: #ffffff;
  border-radius: 1rem;
  padding: 3rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  height: 100%;
  position: relative;
}
.pricing-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.pricing-card.featured {
  border: 3px solid #6366f1;
  transform: scale(1.05);
}
.pricing-card.featured::before {
  content: "Popular";
  position: absolute;
  top: -10px;
  right: 2rem;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  color: #ffffff;
  padding: 0.25rem 1.5rem;
  border-radius: 0.75rem;
  font-weight: 700;
  font-size: 0.875rem;
}

.price {
  font-size: 3rem;
  font-weight: 800;
  color: #6366f1;
  margin-bottom: 0.5rem;
}
.price .currency {
  font-size: 1.5rem;
  vertical-align: top;
}
.price .period {
  font-size: 1rem;
  color: #6c757d;
  font-weight: 400;
}

.price-features {
  list-style: none;
  margin: 2rem 0;
}
.price-features li {
  padding: 0.5rem 0;
  color: #343a40;
}
.price-features li::before {
  content: "✓";
  color: #6366f1;
  font-weight: 700;
  margin-right: 0.5rem;
}

.footer {
  background: #0f172a;
  color: #ffffff;
  padding: 1rem 0;
  margin-top: 1rem;
}

.footer-section {
  margin-bottom: 2rem;
}

.footer-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: #ffffff;
}

.footer-link {
  display: block;
  padding: 0.25rem 0;
  color: rgba(255, 255, 255, 0.5);
  transition: color 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.footer-link:hover {
  color: #6366f1;
  padding-left: 0.5rem;
}

.footer-social {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}

.social-icon {
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.social-icon:hover {
  background: #6366f1;
  transform: translateY(-3px);
}

body:has(.login-wrapper) .navbar,
body:has(.login-wrapper) footer {
  display: none !important;
}

.login-wrapper {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  min-height: 100vh;
  padding-top: 0;
  padding-bottom: 0;
}

.login-card {
  background: #ffffff;
  border-radius: 24px;
  padding: 2.5rem;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  animation: slideUp 0.5s ease;
  position: relative;
}

.login-header .btn-back-home {
  position: absolute;
  top: -50px;
  left: 0;
  color: #ffffff;
  text-decoration: none;
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0.9;
}
.login-header .btn-back-home:hover {
  opacity: 1;
  transform: translateX(-5px);
  color: #ffffff;
}
.login-header .btn-back-home i {
  font-size: 1.2rem;
}

.login-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #ffffff;
}

.login-form .form-control-lg {
  border-radius: 12px;
  border: 2px solid #e5e7eb;
  padding: 0.75rem 1rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.login-form .form-control-lg:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 0.25rem rgba(102, 126, 234, 0.1);
}

.password-input-wrapper {
  position: relative;
}
.password-input-wrapper .password-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #6b7280;
  cursor: pointer;
  padding: 0;
  transition: color 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.password-input-wrapper .password-toggle:hover {
  color: #6366f1;
}

.login-divider {
  position: relative;
  text-align: center;
}
.login-divider::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: #e5e7eb;
}
.login-divider span {
  background: #ffffff;
  padding: 0 1rem;
  color: #9ca3af;
  font-size: 0.875rem;
}

.quick-login-btn {
  border-radius: 8px;
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.quick-login-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

@media (max-width: 768px) {
  .login-card {
    padding: 2rem 1.5rem;
  }
  .login-header .btn-back-home {
    top: -45px;
    font-size: 0.8rem;
  }
  .login-icon {
    width: 60px;
    height: 60px;
    font-size: 1.5rem;
  }
}
.toast-container .toast {
  border-radius: 12px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  animation: slideInRight 0.3s ease;
}
.toast-container .toast .toast-header {
  background: white;
  border-bottom: 2px solid #f3f4f6;
  border-radius: 12px 12px 0 0;
}
.toast-container .toast .toast-header i {
  font-size: 1.2rem;
}
.toast-container .toast .toast-body {
  padding: 1rem;
  color: #dc3545;
  font-weight: 500;
}

@media (max-width: 576px) {
  .toast-container {
    padding: 1rem !important;
  }
  .toast-container .toast {
    max-width: 100%;
  }
}
@keyframes pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.3;
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-on-scroll {
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.animate-on-scroll.animated {
  opacity: 1;
  animation: fadeInUp 0.5s cubic-bezier(0.4, 0, 0.2, 1) ease;
}

.text-gradient {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-accent {
  color: #ec4899;
}

.bg-gradient {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

.bg-gradient-dark {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
}

.mt-section {
  margin-top: 3rem;
}

.mb-section {
  margin-bottom: 3rem;
}

.py-section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.btn-gradient {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  color: #ffffff;
  border: none;
}
.btn-gradient:hover {
  background: linear-gradient(135deg, rgb(52.2, 56.1, 236.8) 0%, rgb(104.6046511628, 43.6686046512, 243.3313953488) 100%);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.btn-outline-gradient {
  border: 2px solid transparent;
  background: linear-gradient(#ffffff, #ffffff) padding-box, linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%) border-box;
}
.btn-outline-gradient:hover {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  color: #ffffff;
}

.card-hover {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-hover:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.container-custom {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #f8f9fa;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(135deg, rgb(52.2, 56.1, 236.8) 0%, rgb(104.6046511628, 43.6686046512, 243.3313953488) 100%);
}

/* ============================================
   Dashboard Sidebar & Navigation Styles
   ============================================ */
/* Sidebar Improvements */
.navbar-vertical .navbar-nav .nav-link {
  transition: all 0.2s ease;
  border-radius: 0.375rem;
  margin: 0.125rem 0.5rem;
  padding: 0.5rem 0.75rem;
}

.navbar-vertical .navbar-nav .nav-link:hover {
  background-color: rgba(98, 102, 241, 0.1);
  transform: translateX(2px);
}

.navbar-vertical .navbar-nav .nav-link.active {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  color: white;
  font-weight: 600;
}

.navbar-vertical .navbar-nav .nav-link.active .nav-link-icon {
  color: white !important;
}

.navbar-vertical .dropdown-menu {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.navbar-vertical .dropdown-item {
  border-radius: 0.25rem;
  margin: 0.125rem 0.25rem;
  padding: 0.5rem 0.75rem;
  transition: all 0.2s ease;
}

.navbar-vertical .dropdown-item:hover {
  background-color: rgba(98, 102, 241, 0.1);
  transform: translateX(2px);
}

.navbar-vertical .dropdown-item.active {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  color: white;
}

.navbar-vertical .nav-item.dropdown-divider {
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
  margin: 0.5rem 1rem;
}

/* User Profile in Sidebar */
.navbar-vertical .navbar-nav.mt-auto .nav-link {
  margin: 0.25rem 0.5rem;
  padding: 0.75rem;
  border-radius: 0.5rem;
  background-color: rgba(98, 102, 241, 0.05);
  border: 1px solid rgba(98, 102, 241, 0.1);
}

.navbar-vertical .navbar-nav.mt-auto .nav-link:hover {
  background-color: rgba(98, 102, 241, 0.1);
  border-color: rgba(98, 102, 241, 0.2);
  transform: none;
}

/* Badge Styling */
.navbar-vertical .badge {
  font-size: 0.625rem;
  padding: 0.25rem 0.5rem;
  border-radius: 1rem;
}

/* Mobile header improvements */
@media (max-width: 991.98px) {
  body {
    padding-top: 3.5rem;
  }
  .navbar-vertical {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1035;
    background: var(--tblr-bg-surface) !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  }
  .navbar-vertical .container-fluid {
    padding: 0.5rem 1rem;
    background: var(--tblr-bg-surface);
  }
  .navbar-toggler {
    padding: 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0.375rem;
  }
  .navbar-toggler:focus {
    box-shadow: 0 0 0 0.25rem rgba(98, 102, 241, 0.25);
  }
  .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%280, 0, 0, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
  }
  /* Mobile profile styling */
  .d-lg-none.border-bottom {
    margin-top: 0;
    padding-top: 0.5rem;
  }
  .d-lg-none .dropdown-menu {
    width: calc(100% - 1rem) !important;
    margin: 0.5rem;
  }
  .page-wrapper {
    margin-top: 0 !important;
  }
}
/* Responsive improvements */
/* Dark mode adjustments */
[data-bs-theme=dark] .navbar-vertical .navbar-nav .nav-link:hover {
  background-color: rgba(98, 102, 241, 0.2);
}

[data-bs-theme=dark] .navbar-vertical .nav-item.dropdown-divider {
  background-color: rgba(255, 255, 255, 0.1);
}

[data-bs-theme=dark] .navbar-vertical .navbar-nav.mt-auto .nav-link {
  background-color: rgba(98, 102, 241, 0.1);
  border-color: rgba(98, 102, 241, 0.2);
}

[data-bs-theme=dark] .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.2);
}

[data-bs-theme=dark] .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");
}

[data-bs-theme=dark] .navbar-light .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.75);
}

[data-bs-theme=dark] .navbar-light .navbar-nav .nav-link:hover {
  color: rgb(98, 102, 241);
}

/* Header User Profile */
.nav-item.dropdown .avatar {
  width: 2rem;
  height: 2rem;
  font-size: 0.875rem;
}

.dropdown-header {
  padding: 0.75rem 1rem;
  background-color: rgba(98, 102, 241, 0.05);
}

/* Header icons styling */
.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.75);
}

.navbar-light .navbar-nav .nav-link:hover {
  color: rgb(98, 102, 241);
}

.navbar-nav .nav-item .icon {
  font-size: 1.25rem;
}

@media (max-width: 767.98px) {
  .navbar-nav .nav-item {
    margin: 0 0.15rem;
  }
  .navbar-nav .nav-item .icon {
    font-size: 1.125rem;
  }
  .navbar-nav .nav-item .nav-link {
    padding: 0.5rem 0.4rem;
  }
  .badge-notification {
    font-size: 0.5rem !important;
    padding: 0.15rem 0.3rem !important;
    min-width: 1rem !important;
    height: 1rem !important;
  }
  .avatar.avatar-sm {
    width: 1.75rem !important;
    height: 1.75rem !important;
    font-size: 0.75rem !important;
  }
  /* Hide user info text on mobile */
  .navbar-nav .d-none.d-xl-block {
    display: none !important;
  }
}
/* Backdrop for mobile menu */
/* Hamburger animation */
.navbar-toggler {
  position: relative;
  transition: all 0.3s ease;
}

.navbar-toggler:not(.collapsed) {
  transform: rotate(0deg);
}

.brand-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.brand-logo .brand-icon {
  font-size: 2rem;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-right: 0.5rem;
}
.brand-logo .brand-text {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
  font-size: 1.25rem;
}
.brand-logo:hover .brand-icon,
.brand-logo:hover .brand-text {
  opacity: 0.8;
}

.avatar-gradient {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

.user-profile-card {
  background-color: rgba(98, 102, 241, 0.1);
  border-radius: 0.5rem;
  transition: all 0.3s ease;
}
.user-profile-card:hover {
  background-color: rgba(98, 102, 241, 0.15);
}

.alert-switch-user {
  font-size: 0.75rem;
}
.alert-switch-user .btn {
  font-size: 0.75rem;
}

@media (max-width: 991.98px) {
  .alert-switch-user {
    margin-bottom: 0.5rem;
    padding: 0.5rem;
  }
  .alert-switch-user .btn {
    width: 100%;
    margin-top: 0.25rem;
  }
}
@media (min-width: 992px) {
  .alert-switch-user {
    margin: 0.5rem;
    padding: 0.5rem;
  }
  .alert-switch-user .text-truncate {
    font-size: 0.7rem;
  }
}
.badge-notification {
  position: absolute;
  top: 0;
  left: 100%;
  transform: translate(-50%, -50%);
  font-size: 0.65rem;
  padding: 0.25rem 0.4rem;
  min-width: 1.25rem;
  height: 1.25rem;
  line-height: 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dropdown-header {
  padding: 0.75rem 1rem;
  background-color: rgba(98, 102, 241, 0.05);
}
.dropdown-header .d-block.text-muted {
  font-size: 0.75rem;
}
.dropdown-header .d-block.fw-bold {
  font-size: 0.875rem;
}

[data-bs-theme=dark] .dropdown-header {
  background-color: rgba(98, 102, 241, 0.15);
}

#global-preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
#global-preloader .preloader-content {
  background: var(--app-surface-primary);
  padding: 2rem;
  border-radius: 0.5rem;
  text-align: center;
  box-shadow: 0 0.5rem 1rem var(--app-shadow-lg);
}

.sidebar-backdrop {
  position: fixed;
  top: 3.5rem;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1034;
  transition: opacity 0.3s ease;
  opacity: 0;
}
.sidebar-backdrop.show {
  opacity: 1;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5em 0.75em;
  border-radius: 0.5rem;
  font-weight: 600;
}
.status-badge.status-published {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
}
.status-badge.status-draft {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: white;
}
.status-badge.status-archived {
  background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%);
  color: white;
}

.btn-icon {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
}
.btn-icon.btn-icon-sm {
  width: 2rem;
  height: 2rem;
}
.btn-icon.btn-icon-lg {
  width: 3rem;
  height: 3rem;
}

.gradient-overlay {
  position: relative;
  overflow: hidden;
}
.gradient-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(102, 126, 234, 0.15), transparent);
  transition: left 0.5s ease;
}
.gradient-overlay:hover::before {
  left: 100%;
}

.stat-card .stat-icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  font-size: 1.5rem;
}
.stat-card .stat-icon.stat-icon-primary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}
.stat-card .stat-icon.stat-icon-success {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: white;
}
.stat-card .stat-icon.stat-icon-info {
  background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
  color: white;
}
.stat-card .stat-icon.stat-icon-warning {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: white;
}
.stat-card .stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--app-text-primary);
}
.stat-card .stat-label {
  font-size: 0.875rem;
  color: var(--app-text-secondary);
}

.empty-state {
  text-align: center;
  padding: 3rem 1rem;
}
.empty-state .empty-state-icon {
  font-size: 4rem;
  color: var(--app-text-tertiary);
  margin-bottom: 1rem;
}
.empty-state .empty-state-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--app-text-primary);
  margin-bottom: 0.5rem;
}
.empty-state .empty-state-description {
  color: var(--app-text-secondary);
  margin-bottom: 1.5rem;
}

.skeleton {
  background: linear-gradient(90deg, var(--app-surface-secondary) 25%, var(--app-surface-hover) 50%, var(--app-surface-secondary) 75%);
  background-size: 200% 100%;
  animation: skeleton-loading 1.5s ease-in-out infinite;
  border-radius: 0.5rem;
}

@keyframes skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.skeleton-text {
  height: 1rem;
  margin-bottom: 0.5rem;
}
.skeleton-text:last-child {
  margin-bottom: 0;
}

.skeleton-circle {
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
}

.skeleton-rect {
  width: 100%;
  height: 10rem;
}

.fab {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(102, 126, 234, 0.4);
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 1000;
}
.fab:hover {
  transform: translateY(-4px) scale(1.1);
  box-shadow: 0 12px 32px rgba(102, 126, 234, 0.6);
}
.fab i {
  font-size: 1.5rem;
}

.tooltip-custom {
  position: relative;
  display: inline-block;
}
.tooltip-custom:hover .tooltip-text {
  visibility: visible;
  opacity: 1;
}
.tooltip-custom .tooltip-text {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(0, 0, 0, 0.9);
  color: white;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  white-space: nowrap;
  transition: opacity 0.3s;
  z-index: 1000;
}
.tooltip-custom .tooltip-text::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: rgba(0, 0, 0, 0.9);
}

.custom-scrollbar::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.custom-scrollbar::-webkit-scrollbar-track {
  background: var(--app-scrollbar-track);
  border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
  background: var(--app-scrollbar-thumb);
  border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: var(--app-scrollbar-thumb-hover);
}

.maintenance-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: white;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 600;
}
.maintenance-badge svg, .maintenance-badge i {
  width: 14px;
  height: 14px;
}

.btn-theme-toggle {
  border: none !important;
  background: none !important;
}
.btn-theme-toggle:hover {
  background: var(--app-sidebar-hover-bg) !important;
}
.btn-theme-toggle:focus {
  box-shadow: none !important;
}

.card-link {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}
.card-link:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px var(--app-shadow-lg) !important;
}
.card-link .card-title {
  transition: color 0.3s ease;
}
.card-link:hover .card-title {
  color: #667eea;
}

.card-link-pop:hover {
  transform: translateY(-6px) scale(1.02);
}
.card-link-pop .avatar {
  transition: all 0.3s ease;
}
.card-link-pop:hover .avatar {
  transform: scale(1.1) rotate(5deg);
  box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4);
}

.settings-hero-svg {
  filter: drop-shadow(0 10px 20px rgba(102, 126, 234, 0.3));
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
.badge-pill {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: 700;
}

.datagrid .datagrid-item {
  padding: 0.75rem 0;
}
.datagrid .datagrid-item .datagrid-title {
  font-weight: 600;
  margin-bottom: 0.25rem;
  display: flex;
  align-items: center;
}
.datagrid .datagrid-item .datagrid-content {
  line-height: 1.5;
}

.divide-y > * + * {
  border-top: 1px solid var(--app-border-primary);
}

@media (max-width: 767.98px) {
  .hide-mobile {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .show-mobile-only {
    display: none !important;
  }
}
.component-navigation {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.component-navigation .navigation-desktop {
  display: flex;
  width: 100%;
}
.component-navigation .navigation-desktop .navbar-nav {
  display: flex;
  flex-direction: row;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  align-items: center;
}
.component-navigation .navigation-desktop .navbar-nav .nav-item {
  position: relative;
  margin: 0 0.25rem;
}
.component-navigation .navigation-desktop .navbar-nav .nav-item .nav-link {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  color: inherit;
  text-decoration: none;
  transition: all 0.2s ease;
  border-radius: 0.375rem;
  white-space: nowrap;
}
.component-navigation .navigation-desktop .navbar-nav .nav-item .nav-link:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.component-navigation .navigation-desktop .navbar-nav .nav-item .nav-link i {
  margin-right: 0.5rem;
}
.component-navigation .navigation-desktop .navbar-nav .nav-item.dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.375rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  padding: 0.5rem 0;
  margin-top: 0.25rem;
  z-index: 1000;
  display: none;
}
.component-navigation .navigation-desktop .navbar-nav .nav-item.dropdown .dropdown-menu .nav-item {
  margin: 0;
}
.component-navigation .navigation-desktop .navbar-nav .nav-item.dropdown .dropdown-menu .nav-item .nav-link {
  padding: 0.5rem 1rem;
  display: block;
  width: 100%;
}
.component-navigation .navigation-desktop .navbar-nav .nav-item.dropdown:hover .dropdown-menu {
  display: block;
}
.component-navigation .navigation-hamburger {
  display: none;
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.375rem;
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  transition: all 0.2s ease;
}
.component-navigation .navigation-hamburger:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.component-navigation .navigation-hamburger .navbar-toggler-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
}
.component-navigation .navigation-hamburger .navbar-toggler-icon i {
  font-size: 1.25rem;
}
.component-navigation .navigation-mobile {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.375rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  margin-top: 0.5rem;
  z-index: 1000;
  max-height: 80vh;
  overflow-y: auto;
}
.component-navigation .navigation-mobile .navbar-nav-mobile {
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
}
.component-navigation .navigation-mobile .navbar-nav-mobile .nav-item-mobile {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.component-navigation .navigation-mobile .navbar-nav-mobile .nav-item-mobile:last-child {
  border-bottom: none;
}
.component-navigation .navigation-mobile .navbar-nav-mobile .nav-item-mobile .nav-link-mobile {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  color: inherit;
  text-decoration: none;
  transition: all 0.2s ease;
  width: 100%;
}
.component-navigation .navigation-mobile .navbar-nav-mobile .nav-item-mobile .nav-link-mobile:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.component-navigation .navigation-mobile .navbar-nav-mobile .nav-item-mobile .nav-link-mobile i {
  margin-right: 0.5rem;
}
.component-navigation .navigation-mobile .navbar-nav-mobile .nav-item-mobile .nav-link-mobile i.ti-chevron-down {
  margin-right: 0;
  margin-left: auto;
  transition: transform 0.2s ease;
}
.component-navigation .navigation-mobile .navbar-nav-mobile .nav-item-mobile .nav-submenu {
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: rgba(0, 0, 0, 0.02);
  display: none;
}
.component-navigation .navigation-mobile .navbar-nav-mobile .nav-item-mobile .nav-submenu .nav-item-mobile .nav-link-mobile {
  padding-left: 2rem;
}
.component-navigation .navigation-mobile .navbar-nav-mobile .nav-item-mobile.expanded .nav-link-mobile .ti-chevron-down {
  transform: rotate(180deg);
}
.component-navigation .navigation-mobile .navbar-nav-mobile .nav-item-mobile.expanded .nav-submenu {
  display: block;
}

@media (max-width: 768px) {
  body {
    font-size: 1rem !important;
  }
  h1 {
    font-size: 2rem !important;
  }
  h2 {
    font-size: 1.75rem !important;
  }
  h3 {
    font-size: 1.5rem !important;
  }
  h4 {
    font-size: 1.25rem !important;
  }
  h5 {
    font-size: 1.125rem !important;
  }
  h6 {
    font-size: 1rem !important;
  }
  .btn {
    min-height: 48px !important;
    padding: 0.875rem 1.25rem !important;
    font-size: 1rem !important;
  }
  .btn-sm {
    min-height: 42px !important;
    padding: 0.625rem 1rem !important;
    font-size: 0.9375rem !important;
  }
  .card {
    margin-bottom: 1rem;
  }
  .card .card-header {
    padding: 1.25rem !important;
  }
  .card .card-header .card-title {
    font-size: 1.25rem !important;
  }
  .card .card-body {
    padding: 1.25rem !important;
  }
  .table {
    font-size: 1rem !important;
  }
  .table th, .table td {
    padding: 1rem 0.75rem !important;
  }
  .table th {
    font-size: 1rem !important;
  }
  .form-control,
  .form-select {
    font-size: 1rem !important;
    min-height: 48px !important;
    padding: 0.75rem 1rem !important;
  }
  .form-label {
    font-size: 1rem !important;
    margin-bottom: 0.5rem;
  }
  .modal-dialog {
    margin: 0.5rem;
  }
  .container,
  .container-fluid {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .page-header {
    padding: 1.5rem 0 !important;
    margin-bottom: 1.5rem !important;
  }
  .page-header .page-title {
    font-size: 1.75rem !important;
  }
  .page-header .page-pretitle {
    font-size: 0.875rem !important;
  }
  .badge {
    font-size: 0.875rem !important;
    padding: 0.4em 0.75em !important;
  }
  .dropdown-menu {
    font-size: 1rem !important;
  }
  .dropdown-menu .dropdown-item {
    padding: 0.875rem 1rem !important;
    font-size: 1rem !important;
  }
  .nav-link {
    font-size: 1rem !important;
    padding: 0.875rem 1rem !important;
  }
  .icon {
    font-size: 1.5rem !important;
  }
  .text-muted,
  .small {
    font-size: 0.9375rem !important;
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  .navbar-vertical {
    width: 240px;
  }
  .page-wrapper {
    margin-left: 240px;
  }
  .row-cards .col-12:not(:only-child) {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .navbar-vertical .nav-link:hover {
    transform: translateX(4px);
  }
  .card:hover {
    transform: translateY(-2px);
  }
}
@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
    margin: 0 auto;
  }
  .navbar-vertical {
    width: 300px;
  }
  .page-wrapper {
    margin-left: 300px;
  }
}
@media print {
  .navbar-vertical,
  .page-header,
  .btn,
  .dropdown,
  .d-print-none {
    display: none !important;
  }
  .page-wrapper {
    margin-left: 0 !important;
  }
  body {
    background: white !important;
    color: black !important;
  }
  .card {
    box-shadow: none !important;
    border: 1px solid #ddd !important;
    page-break-inside: avoid;
  }
  a[href]:after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: #666;
  }
}
@media (max-width: 768px) and (orientation: landscape) {
  .navbar-vertical .navbar-collapse {
    max-height: calc(100vh - 80px);
  }
}
@media (hover: none) and (pointer: coarse) {
  .card:hover {
    transform: none;
    box-shadow: 0 2px 8px var(--app-shadow-sm);
  }
  .nav-link:hover {
    transform: none;
  }
  .btn,
  .nav-link,
  .dropdown-item {
    min-height: 44px;
    padding: 0.75rem 1rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (prefers-contrast: high) {
  .card {
    border: 2px solid var(--app-border-primary) !important;
  }
  .btn {
    border: 2px solid currentColor;
  }
  a {
    text-decoration: underline;
  }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-bs-theme]) {
    --app-bg-primary: #0f172a;
    --app-bg-secondary: #1e293b;
    --app-surface-primary: #1e293b;
    --app-text-primary: #f1f5f9;
  }
}
@media (max-width: 768px) {
  .hide-on-mobile {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 992px) {
  .hide-on-tablet {
    display: none !important;
  }
}

@media (min-width: 992px) {
  .hide-on-desktop {
    display: none !important;
  }
}

.show-on-mobile {
  display: none !important;
}
@media (max-width: 768px) {
  .show-on-mobile {
    display: block !important;
  }
}

.show-on-tablet {
  display: none !important;
}
@media (min-width: 768px) and (max-width: 992px) {
  .show-on-tablet {
    display: block !important;
  }
}

.show-on-desktop {
  display: none !important;
}
@media (min-width: 992px) {
  .show-on-desktop {
    display: block !important;
  }
}

.container-responsive {
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 768px) {
  .container-responsive {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media (min-width: 992px) {
  .container-responsive {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media (max-width: 768px) {
  .text-mobile-center {
    text-align: center !important;
  }
}

@media (min-width: 992px) {
  .text-desktop-start {
    text-align: left !important;
  }
}

@media (max-width: 768px) {
  .mt-mobile-2 {
    margin-top: 0.5rem !important;
  }
}

@media (min-width: 768px) and (max-width: 992px) {
  .mt-tablet-3 {
    margin-top: 1rem !important;
  }
}

@media (min-width: 992px) {
  .mt-desktop-4 {
    margin-top: 1.5rem !important;
  }
}

@media (max-width: 767.98px) {
  input[type=text],
  input[type=email],
  input[type=password],
  input[type=tel],
  input[type=number],
  input[type=search],
  input[type=url],
  textarea,
  select,
  .form-control,
  .form-select {
    font-size: 16px !important;
  }
  .navbar-vertical .navbar-nav .nav-link {
    font-size: 1.125rem !important;
    padding: 1rem 1.25rem !important;
    min-height: 52px !important;
  }
  .navbar-vertical .navbar-nav .nav-link .nav-link-icon {
    font-size: 1.5rem !important;
    min-width: 2rem !important;
  }
  .navbar-vertical .navbar-nav .nav-link .nav-link-title {
    font-size: 1.125rem !important;
  }
  .navbar-vertical .text-muted {
    font-size: 0.875rem !important;
    padding: 0.75rem 1.25rem !important;
  }
  .navbar.navbar-expand-md .navbar-nav .nav-item .nav-link {
    min-height: 48px !important;
    padding: 0.875rem 1rem !important;
  }
  .page-body {
    padding-top: 1rem !important;
  }
  .page-body .container-fluid {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .row-cards {
    margin-left: -0.5rem !important;
    margin-right: -0.5rem !important;
  }
  .row-cards > [class*=col] {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .table-responsive {
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .table-responsive .table {
    min-width: 100%;
  }
  .table-responsive .table th, .table-responsive .table td {
    white-space: nowrap;
    font-size: 1rem !important;
  }
  .alert {
    font-size: 1rem !important;
    padding: 1rem !important;
  }
  .alert .btn {
    margin-top: 0.75rem;
  }
  .card-sm .card-body {
    padding: 1.25rem !important;
  }
  .card-sm .avatar {
    width: 3rem !important;
    height: 3rem !important;
    font-size: 1.5rem !important;
  }
  .card-sm .font-weight-medium {
    font-size: 1.125rem !important;
  }
  .dropdown-toggle {
    min-height: 48px !important;
    font-size: 1rem !important;
  }
  .dropdown-toggle::after {
    margin-left: 0.5em !important;
  }
  .list-group-item {
    padding: 1rem !important;
    font-size: 1rem !important;
  }
  .breadcrumb {
    font-size: 1rem !important;
  }
  .breadcrumb .breadcrumb-item {
    padding: 0.5rem 0 !important;
  }
  .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }
  .pagination .page-link {
    min-width: 44px !important;
    min-height: 44px !important;
    font-size: 1rem !important;
    padding: 0.5rem 0.75rem !important;
  }
  .d-flex.align-items-center .avatar {
    margin-right: 1rem !important;
  }
  .d-flex.align-items-center .fw-bold,
  .d-flex.align-items-center .fw-semibold {
    font-size: 1.125rem !important;
  }
  .empty-state {
    padding: 2rem 1rem !important;
  }
  .empty-state i {
    font-size: 4rem !important;
  }
  .empty-state .text-muted {
    font-size: 1rem !important;
  }
}
@media (max-width: 399.98px) {
  body {
    font-size: 15px !important;
  }
  .page-title {
    font-size: 1.5rem !important;
  }
  .card-title {
    font-size: 1.125rem !important;
  }
}
.navbar-vertical {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 280px;
  z-index: 1000;
  overflow-y: auto;
  overflow-x: hidden;
}
.navbar-vertical .nav-link {
  border-radius: 0.5rem;
  margin: 0.125rem 0.5rem;
  padding: 0.5rem 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 500;
  position: relative;
}
.navbar-vertical .nav-link:hover {
  transform: translateX(4px);
}
.navbar-vertical .nav-link.active {
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
}
.navbar-vertical .nav-link.active::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 0 4px 4px 0;
}
.navbar-vertical .nav-link .nav-link-icon {
  min-width: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}
.navbar-vertical .dropdown-menu {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  border-radius: 0.75rem;
  padding: 0.5rem;
}
.navbar-vertical .dropdown-menu .dropdown-item {
  border-radius: 0.5rem;
  margin: 0.125rem 0;
  padding: 0.5rem 0.75rem;
}
.navbar-vertical .dropdown-menu .dropdown-item:hover {
  transform: translateX(4px);
}
.navbar-vertical .navbar-brand {
  padding: 1.5rem 1.5rem 1rem;
}
.navbar-vertical .navbar-nav.mt-auto {
  padding-bottom: 1rem;
}
.navbar-vertical .navbar-nav.mt-auto .nav-link {
  background-color: var(--app-surface-secondary);
  border: 1px solid var(--app-border-primary);
}
.navbar-vertical .navbar-nav.mt-auto .nav-link:hover {
  transform: none;
}

.page-wrapper {
  margin-left: 280px;
  min-height: 100vh;
  transition: margin 0.3s ease;
}

.navbar.navbar-expand-md {
  position: sticky;
  top: 0;
  z-index: 999;
  padding: 1rem 2rem;
}
@media (max-width: 768px) {
  .navbar.navbar-expand-md {
    padding: 0.75rem 1rem;
  }
}
.navbar.navbar-expand-md .nav-link {
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.navbar.navbar-expand-md .nav-link:hover {
  transform: translateY(-2px);
}

.card {
  border-radius: 0.75rem;
  overflow: visible;
}
.card .card-header {
  padding: 1.5rem;
}
@media (max-width: 768px) {
  .card .card-header {
    padding: 1rem;
  }
}
.card .card-header h3, .card .card-header .card-title {
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.card .card-body {
  padding: 1.5rem;
}
@media (max-width: 768px) {
  .card .card-body {
    padding: 1rem;
  }
}

.table th {
  font-weight: 600;
  padding: 1rem;
}
@media (max-width: 768px) {
  .table th {
    padding: 0.75rem 0.5rem;
    font-size: 0.875rem;
  }
}
.table td {
  vertical-align: middle;
  padding: 1rem;
}
@media (max-width: 768px) {
  .table td {
    padding: 0.75rem 0.5rem;
    font-size: 0.875rem;
  }
}
.table tr {
  transition: all 0.2s ease;
}

.table-responsive.overflow-visible {
  overflow-y: visible;
}

.dropdown-menu {
  z-index: 1056;
  position: absolute;
}

.form-control,
.form-select {
  border-radius: 0.5rem;
  padding: 0.625rem 1rem;
}
.form-control:focus,
.form-select:focus {
  outline: none;
}

.form-label {
  font-weight: 500;
  margin-bottom: 0.5rem;
}

.btn {
  font-weight: 500;
  border-radius: 0.5rem;
  padding: 0.625rem 1.25rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.btn.btn-sm {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
}
.btn.btn-primary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: #667eea;
  color: #fff;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}
.btn.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5);
}
.btn.btn-primary:focus {
  box-shadow: 0 0 0 0.25rem rgba(102, 126, 234, 0.45);
}
.btn.btn-outline-primary {
  color: #667eea;
  border-color: #667eea;
}
.btn.btn-outline-primary:hover {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}

.badge {
  color: white;
  font-weight: 600;
  padding: 0.5em 0.75em;
  border-radius: 0.5rem;
}
.badge.bg-primary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  color: #fff !important;
}
.badge.bg-success {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  color: #fff !important;
}
.badge.bg-danger {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  color: #fff !important;
}
.badge.bg-warning {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  color: #fff !important;
}
.badge.bg-info {
  background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%) !important;
  color: #fff !important;
}

.avatar {
  transition: all 0.3s ease;
}
.avatar:hover {
  transform: scale(1.1) rotate(5deg);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.dropdown-menu {
  border-radius: 0.75rem;
  padding: 0.5rem;
  margin-top: 0.5rem;
}
.dropdown-menu .dropdown-item {
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0.125rem 0;
}
.dropdown-menu .dropdown-item i {
  font-size: 1.125rem;
}
.dropdown-menu .dropdown-item:hover {
  transform: translateX(4px);
}

.page-header {
  padding: 2rem 0;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .page-header {
    padding: 1.5rem 0;
    margin-bottom: 1.5rem;
  }
}
.page-header .page-title {
  font-weight: 700;
  font-size: 2rem;
  margin: 0;
}
@media (max-width: 768px) {
  .page-header .page-title {
    font-size: 1.5rem;
  }
}
.page-header .page-pretitle {
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  margin-bottom: 0.5rem;
  display: block;
}

@media (max-width: 991.98px) {
  body {
    padding-top: 3.5rem;
  }
  .navbar-vertical {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    z-index: 1035;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  }
  .navbar-vertical .container-fluid {
    padding: 0.5rem 1rem;
  }
  .navbar-vertical .navbar-collapse {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    max-height: calc(100vh - 60px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    z-index: 1036;
  }
  .navbar-vertical .navbar-collapse:not(.show) {
    visibility: hidden;
    height: 0;
    overflow: hidden;
  }
  .navbar-vertical .navbar-collapse.show {
    visibility: visible;
    height: auto;
    animation: slideDown 0.3s ease-in-out;
  }
  .navbar-vertical .navbar-nav {
    padding-bottom: 2rem !important;
  }
  .navbar-vertical .navbar-nav .nav-link {
    margin: 0.125rem 0.5rem;
    font-size: 0.9375rem;
  }
  .navbar-vertical .dropdown-menu {
    position: static !important;
    transform: none !important;
    border: none;
    box-shadow: none;
    padding: 0.25rem;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .page-wrapper {
    margin-left: 0;
    margin-top: 0;
  }
  .navbar-toggler {
    padding: 0.5rem;
    border-radius: 0.5rem;
  }
  .navbar-toggler:focus {
    box-shadow: 0 0 0 0.25rem rgba(98, 102, 241, 0.25);
  }
}
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 767.98px) {
  .navbar-nav .nav-item {
    margin: 0 0.25rem;
  }
  .navbar-nav .nav-item .icon {
    font-size: 1.5rem !important;
  }
  .navbar-nav .nav-item .nav-link {
    padding: 0.75rem 0.5rem !important;
    min-height: 48px !important;
  }
  .badge-notification {
    font-size: 0.75rem !important;
    padding: 0.25rem 0.5rem !important;
    min-width: 1.5rem !important;
    height: 1.5rem !important;
  }
  .avatar.avatar-sm {
    width: 2.5rem !important;
    height: 2.5rem !important;
    font-size: 1rem !important;
  }
  .navbar-brand .brand-icon {
    font-size: 2.5rem !important;
  }
  .navbar-brand .brand-text {
    font-size: 1.5rem !important;
  }
}
.overflow-visible {
  overflow: visible !important;
}

.brand-icon {
  font-size: 2rem;
}

.brand-text {
  font-weight: 700;
  font-size: 1.25rem;
}

.fade-in {
  animation: fadeIn 0.5s ease-out;
}

.slide-in {
  animation: slideIn 0.5s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.badge-blink {
  animation: blink 2s ease-in-out infinite;
}

@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxnQkFBZ0I7QUNBaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FER0o7O0FDQUE7RUFDSTtFQUNBO0VBQ0E7QURHSjs7QUNBQTtFQUNJLCtFQ2dCZTtFRGZmO0VBQ0EseUJDWEk7RURZSixjQ1JRO0VEU1I7QURHSjs7QUNBQTtFQUNJO0VBQ0E7RUFDQSxjQ3JCTTtBRndCVjs7QUNBQTtFQUNJO0VBQ0E7RUFDQTtBREdKO0FDREk7RUFDSTtFQUNBLGNDbENRO0FGcUNoQjs7QUNDQTtFQUNJLHNCQ0llO0VESGY7RUFDQTtFQUNBO0FERUo7QUNBSTtFQUNJO0VBQ0EsbUZDSUk7QUZGWjs7QUdqREE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxpRkQ4Q1E7RUM3Q1I7QUhvREo7QUdsREk7RUFDSTtFQUNBLG1GRDBDSTtBRlVaOztBR2hEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSG1ESjs7QUdoREE7RUFDSTtFQUNBO0VBQ0E7QUhtREo7QUdqREk7RUFDSTtBSG1EUjs7QUc3Q0k7RUFDSTtFQUNBO0FIZ0RSO0FHOUNRO0VBQ0k7QUhnRFo7QUc3Q1E7RUFDSTtFQUNBO0FIK0NaO0FHMUNJO0VBQ0k7RUFDQTtBSDRDUjtBRzFDUTtFQUNJO0FINENaO0FHdkNJO0VBQ0k7QUh5Q1I7QUd0Q0k7RUFDSTtBSHdDUjs7QUduQ0E7RUFDSTtJQUNJO0VIc0NOO0VHcENFO0lBQ0k7RUhzQ047QUFDRjtBR2pDSTtFQUNJO0VBQ0E7RUFDQTtBSG1DUjtBR2pDUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FIbUNaO0FHaENRO0VBQ0k7QUhrQ1o7O0FHM0JJO0VBQ0k7RUFDQTtBSDhCUjtBRzVCUTtFQUNJO0VBQ0E7QUg4Qlo7QUc1Qlk7RUFDSTtFQUNBO0FIOEJoQjtBRzNCWTtFQUNJO0VBQ0E7QUg2QmhCO0FHdkJJO0VBQ0k7RUFDQTtBSHlCUjtBR3ZCUTtFQUNJO0VBQ0E7RUFDQTtBSHlCWjtBR3RCUTtFQUNJO0VBQ0E7QUh3Qlo7QUd0Qlk7RUFDSTtBSHdCaEI7QUdyQlk7RUFDSTtBSHVCaEI7O0FHaEJBO0VBQ0k7QUhtQko7O0FHaEJBO0VBQ0k7SUFDSTtJQUNBO0VIbUJOO0VHakJFO0lBQ0k7SUFDQTtFSG1CTjtBQUNGO0FHZkE7RUFDSTtFQUNBO0VBQ0E7QUhpQko7QUdmSTtFQUNJO0VBQ0E7QUhpQlI7QUdkSTtFQUNJO0VBQ0E7QUhnQlI7QUdiSTtFQUNJO0VBQ0E7QUhlUjtBR1pJO0VBQ0k7QUhjUjtBR1pRO0VBQ0k7QUhjWjs7QUdUQTtFQUNJO0lBQ0k7SUFDQTtFSFlOO0VHVkU7SUFDSTtJQUNBO0VIWU47QUFDRjtBSXBOQTtFQUNJO0FKc05KOztBSW5OQTtFQUNJO0FKc05KOztBSW5OQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUpzTko7QUlwTkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSnNOUjs7QUlsTkE7RUFDSTtFQUNBO0FKcU5KOztBSWxOQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxxQkZIUztBRndOYjtBSW5OSTtFQVhKO0lBWVE7RUpzTk47QUFDRjs7QUluTkE7RUFDSTtFQUNBLGNGeENHO0VFeUNILG1CRlpTO0VFYVQ7QUpzTko7O0FLelFBO0VBQ0ksYUhxQ1M7RUdwQ1QsbUJISUk7RUdISixtQkgwQ2U7RUd6Q2YsaUZIOENRO0VHN0NSO0VBQ0E7QUw0UUo7QUsxUUk7RUFDSTtFQUNBLHFGSDBDSTtBRmtPWjs7QUt4UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxzQkgwQmU7RUd6QmY7RUFDQTtFQUNBO0VBQ0EsY0hoQkk7RUdpQko7RUFDQSxxQkhhUztBRjhQYjs7QUt4UUE7RUFDSTtFQUNBO0VBQ0EsbUJITVM7RUdMVCxjSDNCTTtBRnNTVjs7QUt4UUE7RUFDSSxjSDFCRztFRzJCSDtBTDJRSjs7QU0vU0E7RUFDSTtFQUNBLGNKSUk7RUlISjtBTmtUSjs7QU0vU0E7RUFDSTtFQUNBLGFKOEJTO0FGb1JiOztBTS9TQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHFCSmlCUztBRmlTYjs7QU0vU0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBTmtUSjs7QU8zVUE7RUFDSSxtQkxLSTtFS0pKLG1CTDJDZTtFSzFDZixhTG9DVTtFS25DVixtRkwrQ1E7RUs5Q1I7RUFDQTtFQUNBO0FQOFVKO0FPNVVJO0VBQ0k7RUFDQSxxRkx5Q0k7QUZxU1o7QU8zVUk7RUFDSTtFQUNBO0FQNlVSO0FPM1VRO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsV0xnQkM7RUtmRDtFQUNBLGNMbEJKO0VLbUJJO0VBQ0Esc0JMa0JPO0VLakJQO0VBQ0E7QVA2VVo7O0FPeFVBO0VBQ0k7RUFDQTtFQUNBLGNMbkNZO0VLb0NaLHFCTEZTO0FGNlViO0FPelVJO0VBQ0k7RUFDQTtBUDJVUjtBT3hVSTtFQUNJO0VBQ0EsY0xyQ0Q7RUtzQ0M7QVAwVVI7O0FPdFVBO0VBQ0k7RUFDQTtBUHlVSjtBT3ZVSTtFQUNJO0VBQ0EsY0wvQ0k7QUZ3WFo7QU92VVE7RUFDSTtFQUNBLGNMNURJO0VLNkRKO0VBQ0Esb0JMNUJDO0FGcVdiOztBUXhZQTtFQUNJLG1CTkdNO0VNRk4sY05JSTtFTUhKO0VBQ0EsZ0JOZ0NTO0FGMldiOztBUXhZQTtFQUNJLG1CTjhCUztBRjZXYjs7QVF4WUE7RUFDSTtFQUNBO0VBQ0EscUJOdUJTO0VNdEJULGNOVEk7QUZvWlI7O0FReFlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVIyWUo7QVF6WUk7RUFDSSxjTnhCUTtFTXlCUixvQk5TSztBRmtZYjs7QVF2WUE7RUFDSTtFQUNBLFNOSVM7RU1IVCxnQk5HUztBRnVZYjs7QVF2WUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSMFlKO0FReFlJO0VBQ0ksbUJOOUNRO0VNK0NSO0FSMFlSOztBU3hiSTs7RUFFSTtBVDJiUjs7QVN2YkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBVDBiSjs7QVN2YkE7RUFDSSxtQlBWSTtFT1dKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVQwYko7O0FTdGJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY1B2QkE7RU93QkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVR5YlI7QVN2YlE7RUFDSTtFQUNBO0VBQ0EsY1BuQ0o7QUY0ZFI7QVN0YlE7RUFDSTtBVHdiWjs7QVNuYkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjUHRESTtBRjRlUjs7QVNsYkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBVHFiUjtBU25iUTtFQUNJLHFCUHRFSTtFT3VFSjtBVHFiWjs7QVNoYkE7RUFDSTtBVG1iSjtBU2piSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUbWJSO0FTamJRO0VBQ0ksY1A1Rkk7QUYrZ0JoQjs7QVM5YUE7RUFDSTtFQUNBO0FUaWJKO0FTL2FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRpYlI7QVM5YUk7RUFDSSxtQlAzR0E7RU80R0E7RUFDQTtFQUNBO0FUZ2JSOztBUzVhQTtFQUNJO0VBQ0E7QVQrYUo7QVM3YUk7RUFDSTtFQUNBLGlGUDVFSTtBRjJmWjs7QVMzYUE7RUFDSTtJQUNJO0VUOGFOO0VTMWFNO0lBQ0k7SUFDQTtFVDRhVjtFU3hhRTtJQUNJO0lBQ0E7SUFDQTtFVDBhTjtBQUNGO0FTcmFJO0VBQ0k7RUFDQSxtRlB0R0k7RU91R0o7QVR1YVI7QVNyYVE7RUFDSTtFQUNBO0VBQ0E7QVR1YVo7QVNyYVk7RUFDSTtBVHVhaEI7QVNuYVE7RUFDSTtFQUNBO0VBQ0E7QVRxYVo7O0FTaGFBO0VBQ0k7SUFDSTtFVG1hTjtFU2phTTtJQUNJO0VUbWFWO0FBQ0Y7QVV2bEJBO0VBQ0k7SUFDSTtJQUNBO0VWeWxCTjtFVXZsQkU7SUFDSTtJQUNBO0VWeWxCTjtBQUNGO0FVdGxCQTtFQUNJO0lBQ0k7SUFDQTtFVndsQk47RVV0bEJFO0lBQ0k7SUFDQTtFVndsQk47QUFDRjtBVXJsQkE7RUFDSTtJQUNJO0VWdWxCTjtFVXJsQkU7SUFDSTtFVnVsQk47QUFDRjtBVXBsQkE7RUFDSTtJQUNJO0lBQ0E7RVZzbEJOO0VVcGxCRTtJQUNJO0lBQ0E7RVZzbEJOO0FBQ0Y7QVVubEJBO0VBQ0k7SUFDSTtJQUNBO0VWcWxCTjtFVW5sQkU7SUFDSTtJQUNBO0VWcWxCTjtBQUNGO0FVbGxCQTtFQUNJO0lBQ0k7SUFDQTtFVm9sQk47RVVsbEJFO0lBQ0k7SUFDQTtFVm9sQk47QUFDRjtBVWpsQkE7RUFDSTtJQUNJO0lBQ0E7RVZtbEJOO0VVamxCRTtJQUNJO0lBQ0E7RVZtbEJOO0FBQ0Y7QVVobEJBO0VBQ0k7RUFDQTtBVmtsQko7QVVobEJJO0VBQ0k7RUFDQTtBVmtsQlI7O0FXbHFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FYcXFCSjs7QVdscUJBO0VBQ0ksY1ROVztBRjJxQmY7O0FXanFCQTtFQUNJO0FYb3FCSjs7QVdqcUJBO0VBQ0k7QVhvcUJKOztBV2hxQkE7RUFDSSxnQlRnQlU7QUZtcEJkOztBV2hxQkE7RUFDSSxtQlRZVTtBRnVwQmQ7O0FXaHFCQTtFQUNJLGlCVFFVO0VTUFYsb0JUT1U7QUY0cEJkOztBVy9wQkE7RUFDSTtFQUNBLGNUaENJO0VTaUNKO0FYa3FCSjtBV2hxQkk7RUFDSTtFQUNBLGNUckNBO0VTc0NBO0VBQ0EscUZUT0k7QUYycEJaOztBVzlwQkE7RUFDSTtFQUNBO0FYaXFCSjtBVzlwQkk7RUFDSTtFQUNBLGNUbERBO0FGa3RCUjs7QVczcEJBO0VBQ0k7QVg4cEJKO0FXNXBCSTtFQUNJO0VBQ0EscUZUZEk7QUY0cUJaOztBV3pwQkE7RUFDSTtFQUNBO0VBQ0E7QVg0cEJKOztBV3hwQkE7RUFDSTtBWDJwQko7O0FXeHBCQTtFQUNJLG1CVDNFUztBRnN1QmI7O0FXeHBCQTtFQUNJO0VBQ0E7QVgycEJKO0FXenBCSTtFQUNJO0FYMnBCUjs7QVl0dkJBOztpREFBQTtBQUlBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBWnd2Qko7O0FZcnZCQTtFQUNJO0VBQ0E7QVp3dkJKOztBWXJ2QkE7RUFDSTtFQUNBO0VBQ0E7QVp3dkJKOztBWXJ2QkE7RUFDSTtBWnd2Qko7O0FZcnZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0Fad3ZCSjs7QVlydkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVp3dkJKOztBWXJ2QkE7RUFDSTtFQUNBO0Fad3ZCSjs7QVlydkJBO0VBQ0k7RUFDQTtBWnd2Qko7O0FZcnZCQTtFQUNJO0VBQ0E7RUFDQTtBWnd2Qko7O0FZcnZCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWnd2Qko7O0FZcnZCQTtFQUNJO0VBQ0E7RUFDQTtBWnd2Qko7O0FZcnZCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0Fad3ZCSjs7QVlydkJBO0FBQ0E7RUFDSTtJQUNJO0Vad3ZCTjtFWXJ2QkU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWnV2Qk47RVlwdkJFO0lBQ0k7SUFDQTtFWnN2Qk47RVludkJFO0lBQ0k7SUFDQTtJQUNBO0VacXZCTjtFWWx2QkU7SUFDSTtFWm92Qk47RVlqdkJFO0lBQ0k7RVptdkJOO0VZaHZCRTtFQUNBO0lBQ0k7SUFDQTtFWmt2Qk47RVkvdUJFO0lBQ0k7SUFDQTtFWml2Qk47RVk5dUJFO0lBQ0k7RVpndkJOO0FBQ0Y7QVk3dUJBO0FBTUE7QUFDQTtFQUNJO0FaMHVCSjs7QVl2dUJBO0VBQ0k7QVowdUJKOztBWXZ1QkE7RUFDSTtFQUNBO0FaMHVCSjs7QVl2dUJBO0VBQ0k7QVowdUJKOztBWXZ1QkE7RUFDSTtBWjB1Qko7O0FZdnVCQTtFQUNJO0FaMHVCSjs7QVl2dUJBO0VBQ0k7QVowdUJKOztBWXZ1QkE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBWjB1Qko7O0FZdnVCQTtFQUNJO0VBQ0E7QVowdUJKOztBWXZ1QkE7QUFDQTtFQUNJO0FaMHVCSjs7QVl2dUJBO0VBQ0k7QVowdUJKOztBWXZ1QkE7RUFDSTtBWjB1Qko7O0FZdnVCQTtFQUNJO0lBQ0k7RVowdUJOO0VZdnVCRTtJQUNJO0VaeXVCTjtFWXR1QkU7SUFDSTtFWnd1Qk47RVlydUJFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RVp1dUJOO0VZcHVCRTtJQUNJO0lBQ0E7SUFDQTtFWnN1Qk47RVludUJFO0VBQ0E7SUFDSTtFWnF1Qk47QUFDRjtBWWx1QkE7QUFLQTtBQUNBO0VBQ0k7RUFDQTtBWmd1Qko7O0FZN3RCQTtFQUNJO0FaZ3VCSjs7QWFoOEJBO0VBQ0k7RUFDQTtFQUNBO0FibThCSjtBYWo4Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJtOEJSO0FhaDhCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYms4QlI7QWE5N0JROztFQUVJO0FiZzhCWjs7QWF2N0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiMDdCSjs7QWFuN0JBO0VBQ0k7RUFDQTtFQUNBO0FiczdCSjtBYXA3Qkk7RUFDSTtBYnM3QlI7O0FhOTZCQTtFQUNJO0FiaTdCSjtBYS82Qkk7RUFDSTtBYmk3QlI7O0FhNTZCQTtFQUNJO0lBQ0k7SUFDQTtFYis2Qk47RWE3NkJNO0lBQ0k7SUFDQTtFYis2QlY7QUFDRjtBYTE2QkE7RUFDSTtJQUNJO0lBQ0E7RWI0NkJOO0VhMTZCTTtJQUNJO0ViNDZCVjtBQUNGO0FhcDZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiczZCSjs7QWEvNUJBO0VBQ0k7RUFDQTtBYms2Qko7QWEvNUJRO0VBQ0k7QWJpNkJaO0FhOTVCUTtFQUNJO0FiZzZCWjs7QWExNUJJO0VBQ0k7QWI2NUJSOztBYXI1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnc1Qko7QWF0NUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnc1QlI7O0FhaDVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYm01Qko7QWFqNUJJO0VBQ0k7QWJtNUJSOztBYTM0QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHFCWGxLZTtFV21LZjtBYjg0Qko7QWE1NEJJO0VBQ0k7RUFDQTtBYjg0QlI7QWEzNEJJO0VBQ0k7RUFDQTtBYjY0QlI7QWExNEJJO0VBQ0k7RUFDQTtBYjQ0QlI7O0FhcDRCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHFCWGhNZTtBRnVrQ25CO0FhcjRCSTtFQUNJO0VBQ0E7QWJ1NEJSO0FhcDRCSTtFQUNJO0VBQ0E7QWJzNEJSOztBYTkzQkE7RUFDSTtFQUNBO0FiaTRCSjtBYS8zQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiaTRCUjtBYTkzQkk7RUFDSTtBYmc0QlI7O0FhdjNCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQlgvT1c7RVdnUFg7QWIwM0JSO0FheDNCUTtFQUNJO0VBQ0E7QWIwM0JaO0FhdjNCUTtFQUNJO0VBQ0E7QWJ5M0JaO0FhdDNCUTtFQUNJO0VBQ0E7QWJ3M0JaO0FhcjNCUTtFQUNJO0VBQ0E7QWJ1M0JaO0FhbjNCSTtFQUNJO0VBQ0E7RUFDQTtBYnEzQlI7QWFsM0JJO0VBQ0k7RUFDQTtBYm8zQlI7O0FhNTJCQTtFQUNJO0VBQ0E7QWIrMkJKO0FhNzJCSTtFQUNJO0VBQ0E7RUFDQTtBYisyQlI7QWE1MkJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWI4MkJSO0FhMzJCSTtFQUNJO0VBQ0E7QWI2MkJSOztBYXIyQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxxQlh2VGU7QUYrcENuQjs7QWFyMkJBO0VBQ0k7SUFDSTtFYncyQk47RWF0MkJFO0lBQ0k7RWJ3MkJOO0FBQ0Y7QWFyMkJBO0VBQ0k7RUFDQTtBYnUyQko7QWFyMkJJO0VBQ0k7QWJ1MkJSOztBYW4yQkE7RUFDSTtFQUNBO0VBQ0E7QWJzMkJKOztBYW4yQkE7RUFDSTtFQUNBO0FiczJCSjs7QWEvMUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiazJCSjtBYWgyQkk7RUFDSTtFQUNBO0FiazJCUjtBYS8xQkk7RUFDSTtBYmkyQlI7O0FhejFCQTtFQUNJO0VBQ0E7QWI0MUJKO0FhMTFCSTtFQUNJO0VBQ0E7QWI0MUJSO0FhejFCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHFCWDdZVztFVzhZWDtFQUNBO0VBQ0E7RUFDQTtBYjIxQlI7QWF6MUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWIyMUJaOztBYWoxQkk7RUFDSTtFQUNBO0FibzFCUjtBYWoxQkk7RUFDSTtFQUNBO0FibTFCUjtBYWgxQkk7RUFDSTtFQUNBO0FiazFCUjtBYWgxQlE7RUFDSTtBYmsxQlo7O0FhejBCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHVCWHBjZTtFV3FjZjtFQUNBO0FiNDBCSjtBYTEwQkk7RUFDSTtFQUNBO0FiNDBCUjs7QWFwMEJBO0VBQ0k7RUFDQTtBYnUwQko7QWFyMEJJO0VBQ0k7QWJ1MEJSO0FhcDBCSTtFQUNJO0FiczBCUjs7QWE5ekJBO0VBQ0k7RUFDQTtBYmkwQko7QWEvekJJO0VBQ0k7RUFDQTtBYmkwQlI7QWE5ekJJO0VBQ0k7QWJnMEJSO0FhN3pCSTtFQUNJO0FiK3pCUjs7QWExekJJO0VBQ0k7QWI2ekJSO0FhMXpCSTtFQUNJO0FiNHpCUjtBYXp6Qkk7RUFDSTtFQUNBO0FiMnpCUjs7QWFuekJBO0VBQ0k7RUFDQTtBYnN6Qko7O0FhbnpCQTtFQUNJO0lBQ0k7RWJzekJOO0VhcHpCRTtJQUNJO0Vic3pCTjtBQUNGO0FhbHpCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fib3pCSjs7QWEveUJJO0VBQ0k7QWJrekJSO0FhaHpCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0Fia3pCWjtBYS95QlE7RUFDSTtBYml6Qlo7O0FhMXlCSTtFQUNJO0FiNnlCUjs7QWFyeUJBO0VBQ0k7SUFDSTtFYnd5Qk47QUFDRjtBYXJ5QkE7RUFDSTtJQUNJO0VidXlCTjtBQUNGO0FjbjVDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FkcTVDSjtBY2w1Q0k7RUFDSTtFQUNBO0FkbzVDUjtBY2w1Q1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZG81Q1o7QWNsNUNZO0VBQ0k7RUFDQTtBZG81Q2hCO0FjbDVDZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkbzVDcEI7QWNsNUNvQjtFQUNJO0FkbzVDeEI7QWNqNUNvQjtFQUNJO0FkbTVDeEI7QWM3NENvQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZCs0Q3hCO0FjNzRDd0I7RUFDSTtBZCs0QzVCO0FjNzRDNEI7RUFDSTtFQUNBO0VBQ0E7QWQrNENoQztBYzE0Q29CO0VBQ0k7QWQ0NEN4QjtBY3A0Q0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZHM0Q1I7QWNwNENRO0VBQ0k7QWRzNENaO0FjbjRDUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRxNENaO0FjbjRDWTtFQUNJO0FkcTRDaEI7QWMvM0NJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkaTRDUjtBYy8zQ1E7RUFDSTtFQUNBO0VBQ0E7QWRpNENaO0FjLzNDWTtFQUNJO0FkaTRDaEI7QWMvM0NnQjtFQUNJO0FkaTRDcEI7QWM5M0NnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkZzRDcEI7QWM5M0NvQjtFQUNJO0FkZzRDeEI7QWM3M0NvQjtFQUNJO0FkKzNDeEI7QWM3M0N3QjtFQUNJO0VBQ0E7RUFDQTtBZCszQzVCO0FjejNDZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkMjNDcEI7QWN4M0N3QjtFQUNJO0FkMDNDNUI7QWNsM0N3QjtFQUNJO0FkbzNDNUI7QWNoM0NvQjtFQUNJO0FkazNDeEI7O0FldmhEQTtFQUVJO0lBQ0k7RWZ5aEROO0VldGhERTtJQUFLO0VmeWhEUDtFZXhoREU7SUFBSztFZjJoRFA7RWUxaERFO0lBQUs7RWY2aERQO0VlNWhERTtJQUFLO0VmK2hEUDtFZTloREU7SUFBSztFZmlpRFA7RWVoaURFO0lBQUs7RWZtaURQO0VlaGlERTtJQUNJO0lBQ0E7SUFDQTtFZmtpRE47RWUvaERFO0lBQ0k7SUFDQTtJQUNBO0VmaWlETjtFZTdoREU7SUFDSTtFZitoRE47RWU3aERNO0lBQ0k7RWYraERWO0VlN2hEVTtJQUNJO0VmK2hEZDtFZTNoRE07SUFDSTtFZjZoRFY7RWV4aERFO0lBQ0k7RWYwaEROO0VleGhETTtJQUNJO0VmMGhEVjtFZXZoRE07SUFDSTtFZnloRFY7RWVwaERFOztJQUVJO0lBQ0E7SUFDQTtFZnNoRE47RWVuaERFO0lBQ0k7SUFDQTtFZnFoRE47RWVqaERFO0lBQ0k7RWZtaEROO0VlL2dERTs7SUFFSTtJQUNBO0VmaWhETjtFZTdnREU7SUFDSTtJQUNBO0VmK2dETjtFZTdnRE07SUFDSTtFZitnRFY7RWU1Z0RNO0lBQ0k7RWY4Z0RWO0VlemdERTtJQUNJO0lBQ0E7RWYyZ0ROO0VldmdERTtJQUNJO0VmeWdETjtFZXZnRE07SUFDSTtJQUNBO0VmeWdEVjtFZXBnREU7SUFDSTtJQUNBO0Vmc2dETjtFZWxnREU7SUFDSTtFZm9nRE47RWVoZ0RFOztJQUVJO0Vma2dETjtBQUNGO0FlMy9DQTtFQUNJO0lBQ0k7RWY2L0NOO0VlMS9DRTtJQUNJO0VmNC9DTjtFZXQvQ1U7SUFDSTtFZncvQ2Q7QUFDRjtBZS8rQ0E7RUFJWTtJQUNJO0VmOCtDZDtFZXYrQ007SUFDSTtFZnkrQ1Y7QUFDRjtBZWorQ0E7RUFDSTtJQUNJO0lBQ0E7RWZtK0NOO0VlaCtDRTtJQUNJO0VmaytDTjtFZS85Q0U7SUFDSTtFZmkrQ047QUFDRjtBZTE5Q0E7RUFDSTs7Ozs7SUFLSTtFZjQ5Q047RWV6OUNFO0lBQ0k7RWYyOUNOO0VleDlDRTtJQUNJO0lBQ0E7RWYwOUNOO0VldjlDRTtJQUNJO0lBQ0E7SUFDQTtFZnk5Q047RWV0OUNFO0lBQ0k7SUFDQTtJQUNBO0VmdzlDTjtBQUNGO0FlajlDQTtFQUVRO0lBQ0k7RWZrOUNWO0FBQ0Y7QWUxOENBO0VBRUk7SUFDSTtJQUNBO0VmMjhDTjtFZXg4Q0U7SUFDSTtFZjA4Q047RWV0OENFOzs7SUFHSTtJQUNBO0VmdzhDTjtBQUNGO0FlajhDQTtFQUNJOzs7SUFHSTtJQUNBO0lBQ0E7SUFDQTtFZm04Q047QUFDRjtBZTU3Q0E7RUFDSTtJQUNJO0VmODdDTjtFZTM3Q0U7SUFDSTtFZjY3Q047RWUxN0NFO0lBQ0k7RWY0N0NOO0FBQ0Y7QWVyN0NBO0VBRUk7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFZnM3Q047QUFDRjtBZTc2Q0k7RUFESjtJQUVRO0VmZzdDTjtBQUNGOztBZTU2Q0k7RUFESjtJQUVRO0VmZzdDTjtBQUNGOztBZTU2Q0k7RUFESjtJQUVRO0VmZzdDTjtBQUNGOztBZTc2Q0E7RUFDSTtBZmc3Q0o7QWU5NkNJO0VBSEo7SUFJUTtFZmk3Q047QUFDRjs7QWU5NkNBO0VBQ0k7QWZpN0NKO0FlLzZDSTtFQUhKO0lBSVE7RWZrN0NOO0FBQ0Y7O0FlLzZDQTtFQUNJO0FmazdDSjtBZWg3Q0k7RUFISjtJQUlRO0VmbTdDTjtBQUNGOztBZS82Q0E7RUFDSTtFQUNBO0FmazdDSjtBZWg3Q0k7RUFKSjtJQUtRO0lBQ0E7RWZtN0NOO0FBQ0Y7QWVqN0NJO0VBVEo7SUFVUTtJQUNBO0VmbzdDTjtBQUNGOztBZS82Q0k7RUFESjtJQUVRO0VmbTdDTjtBQUNGOztBZS82Q0k7RUFESjtJQUVRO0VmbTdDTjtBQUNGOztBZTk2Q0k7RUFESjtJQUVRO0VmazdDTjtBQUNGOztBZTk2Q0k7RUFESjtJQUVRO0VmazdDTjtBQUNGOztBZTk2Q0k7RUFESjtJQUVRO0VmazdDTjtBQUNGOztBZ0JwMURBO0VBRUk7Ozs7Ozs7Ozs7O0lBV0k7RWhCczFETjtFZ0JoMURVO0lBQ0k7SUFDQTtJQUNBO0VoQmsxRGQ7RWdCaDFEYztJQUNJO0lBQ0E7RWhCazFEbEI7RWdCLzBEYztJQUNJO0VoQmkxRGxCO0VnQjMwRE07SUFDSTtJQUNBO0VoQjYwRFY7RWdCcjBEYztJQUNJO0lBQ0E7RWhCdTBEbEI7RWdCaDBERTtJQUNJO0VoQmswRE47RWdCaDBETTtJQUNJO0lBQ0E7RWhCazBEVjtFZ0I3ekRFO0lBQ0k7SUFDQTtFaEIrekROO0VnQjd6RE07SUFDSTtJQUNBO0VoQit6RFY7RWdCMXpERTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VoQjR6RE47RWdCMXpETTtJQUNJO0VoQjR6RFY7RWdCMXpEVTtJQUNJO0lBQ0E7RWhCNHpEZDtFZ0J0ekRFO0lBQ0k7SUFDQTtFaEJ3ekROO0VnQnR6RE07SUFDSTtFaEJ3ekRWO0VnQmx6RE07SUFDSTtFaEJvekRWO0VnQmp6RE07SUFDSTtJQUNBO0lBQ0E7RWhCbXpEVjtFZ0JoekRNO0lBQ0k7RWhCa3pEVjtFZ0I3eURFO0lBQ0k7SUFDQTtFaEIreUROO0VnQjd5RE07SUFDSTtFaEIreURWO0VnQjF5REU7SUFDSTtJQUNBO0VoQjR5RE47RWdCeHlERTtJQUNJO0VoQjB5RE47RWdCeHlETTtJQUNJO0VoQjB5RFY7RWdCeHlEVTtJQUNJO0lBQ0E7RWhCMHlEZDtFZ0JueURNO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RWhCcXlEVjtFZ0IveERNO0lBQ0k7RWhCaXlEVjtFZ0I5eERNOztJQUVJO0VoQmd5RFY7RWdCM3hERTtJQUNJO0VoQjZ4RE47RWdCM3hETTtJQUNJO0VoQjZ4RFY7RWdCMXhETTtJQUNJO0VoQjR4RFY7QUFDRjtBZ0J2eERBO0VBQ0k7SUFDSTtFaEJ5eEROO0VnQnR4REU7SUFDSTtFaEJ3eEROO0VnQnJ4REU7SUFDSTtFaEJ1eEROO0FBQ0Y7QWlCdDlEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCdzlESjtBaUJ0OURJO0VBQ0kscUJmcUJXO0VlcEJYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQnc5RFI7QWlCdDlEUTtFQUNJO0FqQnc5RFo7QWlCcjlEUTtFQUNJO0VBQ0E7QWpCdTlEWjtBaUJyOURZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJ1OURoQjtBaUJuOURRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJxOURaO0FpQmo5REk7RUFDSTtFQUNBO0VBQ0Esc0JmbkJXO0Vlb0JYO0FqQm05RFI7QWlCajlEUTtFQUNJLHFCZnhCTztFZXlCUDtFQUNBO0FqQm05RFo7QWlCajlEWTtFQUNJO0FqQm05RGhCO0FpQjk4REk7RUFDSTtBakJnOURSO0FpQjU4REk7RUFDSTtBakI4OERSO0FpQjU4RFE7RUFDSTtFQUNBO0FqQjg4RFo7QWlCNThEWTtFQUNJO0FqQjg4RGhCOztBaUJwOERBO0VBQ0k7RUFDQTtFQUNBO0FqQnU4REo7O0FpQmg4REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakJtOERKO0FpQmo4REk7RUFOSjtJQU9RO0VqQm84RE47QUFDRjtBaUJsOERJO0VBQ0kscUJmOUVXO0VlK0VYO0VBQ0E7RUFDQTtFQUNBO0FqQm84RFI7QWlCbDhEUTtFQUNJO0FqQm84RFo7O0FpQjM3REE7RUFDSSxzQmY5RmU7RWUrRmY7QWpCODdESjtBaUI1N0RJO0VBQ0k7QWpCODdEUjtBaUI1N0RRO0VBSEo7SUFJUTtFakIrN0RWO0FBQ0Y7QWlCNzdEUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCKzdEWjtBaUIzN0RJO0VBQ0k7QWpCNjdEUjtBaUIzN0RRO0VBSEo7SUFJUTtFakI4N0RWO0FBQ0Y7O0FpQnI3REk7RUFDSTtFQUNBO0FqQnc3RFI7QWlCdDdEUTtFQUpKO0lBS1E7SUFDQTtFakJ5N0RWO0FBQ0Y7QWlCdDdESTtFQUNJO0VBQ0E7QWpCdzdEUjtBaUJ0N0RRO0VBSko7SUFLUTtJQUNBO0VqQnk3RFY7QUFDRjtBaUJ0N0RJO0VBQ0k7QWpCdzdEUjs7QWlCbDdESTtFQUNJO0FqQnE3RFI7O0FpQmg3REE7RUFDSTtFQUNBO0FqQm03REo7O0FpQjU2REE7O0VBRUkscUJmNUtlO0VlNktmO0FqQis2REo7QWlCNzZESTs7RUFDSTtBakJnN0RSOztBaUI1NkRBO0VBQ0k7RUFDQTtBakIrNkRKOztBaUJ4NkRBO0VBQ0k7RUFDQSxxQmYvTGU7RWVnTWY7RUFDQTtFQUNBO0VBQ0E7QWpCMjZESjtBaUJ6NkRJO0VBQ0k7RUFDQTtBakIyNkRSO0FpQng2REk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakIwNkRSO0FpQng2RFE7RUFDSTtFQUNBO0FqQjA2RFo7QWlCdjZEUTtFQUNJO0FqQnk2RFo7QWlCcjZESTtFQUNJO0VBQ0E7QWpCdTZEUjtBaUJyNkRRO0VBQ0k7RUFDQTtBakJ1NkRaOztBaUI5NURBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EscUJmN09lO0FGOG9FbkI7QWlCLzVESTtFQUNJO0VBQ0E7QWpCaTZEUjtBaUI5NURJO0VBQ0k7RUFDQTtBakJnNkRSO0FpQjc1REk7RUFDSTtFQUNBO0FqQis1RFI7QWlCNTVESTtFQUNJO0VBQ0E7QWpCODVEUjtBaUIzNURJO0VBQ0k7RUFDQTtBakI2NURSOztBaUJyNURBO0VBQ0k7QWpCdzVESjtBaUJ0NURJO0VBQ0k7RUFDQTtBakJ3NURSOztBaUJoNURBO0VBQ0ksc0JmMVJlO0VlMlJmO0VBQ0E7QWpCbTVESjtBaUJqNURJO0VBQ0kscUJmaFNXO0VlaVNYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCbTVEUjtBaUJqNURRO0VBQ0k7QWpCbTVEWjtBaUJoNURRO0VBQ0k7QWpCazVEWjs7QWlCejREQTtFQUNJO0VBQ0E7QWpCNDRESjtBaUIxNERJO0VBSko7SUFLUTtJQUNBO0VqQjY0RE47QUFDRjtBaUIzNERJO0VBQ0k7RUFDQTtFQUNBO0FqQjY0RFI7QWlCMzREUTtFQUxKO0lBTVE7RWpCODREVjtBQUNGO0FpQjM0REk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCNjREUjs7QWlCcjREQTtFQUNJO0lBQ0k7RWpCdzRETjtFaUJyNERFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFakJ1NEROO0VpQnI0RE07SUFDSTtFakJ1NERWO0VpQnA0RE07SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpCczREVjtFaUJuNERVO0lBQ0k7SUFDQTtJQUNBO0VqQnE0RGQ7RWlCbDREVTtJQUNJO0lBQ0E7SUFDQTtFakJvNERkO0VpQmg0RE07SUFDSTtFakJrNERWO0VpQmg0RFU7SUFDSTtJQUNBO0VqQms0RGQ7RWlCOTNETTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VqQmc0RFY7RWlCNTNERTtJQUNJO0lBQ0E7RWpCODNETjtFaUIzM0RFO0lBQ0k7SUFDQSxxQmY3Wlc7RUYweEVqQjtFaUIzM0RNO0lBQ0k7RWpCNjNEVjtBQUNGO0FpQnozREE7RUFDSTtJQUNJO0lBQ0E7RWpCMjNETjtFaUJ6M0RFO0lBQ0k7SUFDQTtFakIyM0ROO0FBQ0Y7QWlCcDNEQTtFQUNJO0lBQ0k7RWpCczNETjtFaUJwM0RNO0lBQ0k7RWpCczNEVjtFaUJuM0RNO0lBQ0k7SUFDQTtFakJxM0RWO0VpQmozREU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFakJtM0ROO0VpQmgzREU7SUFDSTtJQUNBO0lBQ0E7RWpCazNETjtFaUI3MkRNO0lBQ0k7RWpCKzJEVjtFaUI1MkRNO0lBQ0k7RWpCODJEVjtBQUNGO0FpQnIyREE7RUFDSTtBakJ1MkRKOztBaUJuMkRBO0VBQ0k7QWpCczJESjs7QWlCbjJEQTtFQUNJO0VBQ0E7QWpCczJESjs7QWlCLzFEQTtFQUNJO0FqQmsyREo7O0FpQi8xREE7RUFDSTtBakJrMkRKOztBaUIvMURBO0VBQ0k7SUFDSTtJQUNBO0VqQmsyRE47RWlCaDJERTtJQUNJO0lBQ0E7RWpCazJETjtBQUNGO0FpQi8xREE7RUFDSTtJQUNJO0lBQ0E7RWpCaTJETjtFaUIvMURFO0lBQ0k7SUFDQTtFakJpMkROO0FBQ0Y7QWlCNzFEQTtFQUNJO0FqQisxREo7O0FpQjUxREE7RUFDSTtJQUNJO0VqQisxRE47RWlCNzFERTtJQUNJO0VqQisxRE47QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fbmF2YmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9faGVyby5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFydGlhbHMvX2ZlYXR1cmVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fc3RhdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19wcmljaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fbG9naW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19hbmltYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fdXRpbGl0aWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fZGFzaGJvYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fY29tcG9uZW50cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFydGlhbHMvX25hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3BhcnRpYWxzL19yZXNwb25zaXZlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fbW9iaWxlLWZpeGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYXJ0aWFscy9fdGFibGVyLWN1c3RvbS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRhYmxlciBTdHlsZXNcbkBpbXBvcnQgXCJ+QHRhYmxlci9jb3JlL2Rpc3QvY3NzL3RhYmxlci5taW4uY3NzXCI7XG5cbi8vIFBhcnRpYWxzXG5AaW1wb3J0ICdwYXJ0aWFscy92YXJpYWJsZXMnO1xuQGltcG9ydCAncGFydGlhbHMvYmFzZSc7XG5AaW1wb3J0ICdwYXJ0aWFscy9uYXZiYXInO1xuQGltcG9ydCAncGFydGlhbHMvaGVybyc7XG5AaW1wb3J0ICdwYXJ0aWFscy9mZWF0dXJlcyc7XG5AaW1wb3J0ICdwYXJ0aWFscy9zdGF0cyc7XG5AaW1wb3J0ICdwYXJ0aWFscy9wcmljaW5nJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2Zvb3Rlcic7XG5AaW1wb3J0ICdwYXJ0aWFscy9sb2dpbic7XG5AaW1wb3J0ICdwYXJ0aWFscy9hbmltYXRpb25zJztcbkBpbXBvcnQgJ3BhcnRpYWxzL3V0aWxpdGllcyc7XG5AaW1wb3J0ICdwYXJ0aWFscy9kYXNoYm9hcmQnO1xuXG4vLyBUaGVtZSBTeXN0ZW0gKExpZ2h0ICYgRGFyayBNb2RlKVxuQGltcG9ydCAncGFydGlhbHMvdGhlbWUnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdwYXJ0aWFscy9jb21wb25lbnRzJztcbkBpbXBvcnQgJ3BhcnRpYWxzL25hdmlnYXRpb24nO1xuXG4vLyBSZXNwb25zaXZlIERlc2lnblxuQGltcG9ydCAncGFydGlhbHMvcmVzcG9uc2l2ZSc7XG5cbi8vIE1vYmlsZSBGaXhlc1xuQGltcG9ydCAncGFydGlhbHMvbW9iaWxlLWZpeGVzJztcblxuLy8gVGFibGVyIEN1c3RvbSBPdmVycmlkZXMgKExBU1QgLSB0byBvdmVycmlkZSBUYWJsZXIgZGVmYXVsdHMpXG5AaW1wb3J0ICdwYXJ0aWFscy90YWJsZXItY3VzdG9tJztcbiIsIjpyb290IHtcclxuICAgIC0tcHJpbWFyeS1jb2xvcjogI3skcHJpbWFyeS1jb2xvcn07XHJcbiAgICAtLXNlY29uZGFyeS1jb2xvcjogI3skc2Vjb25kYXJ5LWNvbG9yfTtcclxuICAgIC0tYWNjZW50LWNvbG9yOiAjeyRhY2NlbnQtY29sb3J9O1xyXG4gICAgLS1kYXJrLWJnOiAjeyRkYXJrLWJnfTtcclxuICAgIC0tZGFyay1saWdodDogI3skZGFyay1saWdodH07XHJcbn1cclxuXHJcbioge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgY29sb3I6ICRncmF5LWRhcms7XHJcbiAgICBsaW5lLWhlaWdodDogMS42O1xyXG59XHJcblxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgY29sb3I6ICRkYXJrLWJnO1xyXG59XHJcblxyXG5hIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZmFzdDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4ge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1tZCAkc3BhY2luZy14bDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tYmFzZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdy1sZztcclxuICAgIH1cclxufVxyXG4iLCIvLyBDb2xvcnNcclxuJHByaW1hcnktY29sb3I6ICM2MzY2ZjE7XHJcbiRzZWNvbmRhcnktY29sb3I6ICM4YjVjZjY7XHJcbiRhY2NlbnQtY29sb3I6ICNlYzQ4OTk7XHJcbiRkYXJrLWJnOiAjMGYxNzJhO1xyXG4kZGFyay1saWdodDogIzFlMjkzYjtcclxuJHdoaXRlOiAjZmZmZmZmO1xyXG4kYmxhY2s6ICMwMDAwMDA7XHJcbiRncmF5LWxpZ2h0OiAjZjhmOWZhO1xyXG4kZ3JheTogIzZjNzU3ZDtcclxuJGdyYXktZGFyazogIzM0M2E0MDtcclxuXHJcbi8vIE1vZGVybiBncmFkaWVudHNcclxuJGdyYWRpZW50LXByaW1hcnk6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XHJcbiRncmFkaWVudC1zZWNvbmRhcnk6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmMDkzZmIgMCUsICNmNTU3NmMgMTAwJSk7XHJcbiRncmFkaWVudC1hY2NlbnQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM0ZmFjZmUgMCUsICMwMGYyZmUgMTAwJSk7XHJcbiRncmFkaWVudC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNhOGVkZWEgMCUsICNmZWQ2ZTMgMTAwJSk7XHJcbiRncmFkaWVudC1ibHVlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNjY3ZWVhIDAlLCAjNzY0YmEyIDEwMCUpO1xyXG5cclxuLy8gTW9kZXJuIGNvbG9yc1xyXG4kc3VjY2Vzcy1tb2Rlcm46ICMxMGI5ODE7XHJcbiR3YXJuaW5nLW1vZGVybjogI2Y1OWUwYjtcclxuJGRhbmdlci1tb2Rlcm46ICNlZjQ0NDQ7XHJcbiRpbmZvLW1vZGVybjogIzNiODJmNjtcclxuXHJcbi8vIEdsYXNzbW9ycGhpc21cclxuJGdsYXNzLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiRnbGFzcy1ib3JkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuJGdsYXNzLXNoYWRvdzogMCA4cHggMzJweCAwIHJnYmEoMzEsIDM4LCAxMzUsIDAuMzcpO1xyXG5cclxuLy8gRm9udHNcclxuJGZvbnQtZmFtaWx5LWJhc2U6ICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjtcclxuXHJcbi8vIFNwYWNpbmdcclxuJHNwYWNpbmcteHM6IDAuMjVyZW07XHJcbiRzcGFjaW5nLXNtOiAwLjVyZW07XHJcbiRzcGFjaW5nLW1kOiAxcmVtO1xyXG4kc3BhY2luZy1sZzogMS41cmVtO1xyXG4kc3BhY2luZy14bDogMnJlbTtcclxuJHNwYWNpbmctMnhsOiAzcmVtO1xyXG5cclxuLy8gQm9yZGVyIHJhZGl1c1xyXG4kYm9yZGVyLXJhZGl1cy1zbTogMC4zNzVyZW07XHJcbiRib3JkZXItcmFkaXVzLW1kOiAwLjVyZW07XHJcbiRib3JkZXItcmFkaXVzLWxnOiAwLjc1cmVtO1xyXG4kYm9yZGVyLXJhZGl1cy14bDogMXJlbTtcclxuJGJvcmRlci1yYWRpdXMtMnhsOiAxLjVyZW07XHJcblxyXG4vLyBTaGFkb3dzIC0gTW9kZXJuXHJcbiRzaGFkb3ctc206IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiRzaGFkb3ctbWQ6IDAgNHB4IDZweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcclxuJHNoYWRvdy1sZzogMCAxMHB4IDE1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgNHB4IDZweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiRzaGFkb3cteGw6IDAgMjBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDEwcHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XHJcbiRzaGFkb3ctMnhsOiAwIDI1cHggNTBweCAtMTJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG5cclxuLy8gR2xvdyBlZmZlY3RzXHJcbiRnbG93LXByaW1hcnk6IDAgMCAyMHB4IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC40KTtcclxuJGdsb3ctc3VjY2VzczogMCAwIDIwcHggcmdiYSgxNiwgMTg1LCAxMjksIDAuNCk7XHJcbiRnbG93LWRhbmdlcjogMCAwIDIwcHggcmdiYSgyMzksIDY4LCA2OCwgMC40KTtcclxuXHJcbi8vIFRyYW5zaXRpb25zXHJcbiR0cmFuc2l0aW9uLWZhc3Q6IDAuMTVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcbiR0cmFuc2l0aW9uLWJhc2U6IDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuJHRyYW5zaXRpb24tc2xvdzogMC41cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG5cclxuLy8gQmFja2Ryb3AgYmx1clxyXG4kYmFja2Ryb3AtYmx1ci1zbTogYmx1cig0cHgpO1xyXG4kYmFja2Ryb3AtYmx1ci1tZDogYmx1cig4cHgpO1xyXG4kYmFja2Ryb3AtYmx1ci1sZzogYmx1cigxNnB4KTtcclxuIiwiLm5hdmJhciB7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1tZCAwO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOTUpO1xyXG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xyXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdy1tZDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1iYXNlO1xyXG4gICAgXHJcbiAgICAmLnNjcm9sbGVkIHtcclxuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy1zbSAwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3ctbGc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uYXZiYXItYnJhbmQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJHByaW1hcnktY29sb3IgMCUsICRzZWNvbmRhcnktY29sb3IgMTAwJSk7XHJcbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcclxufVxyXG5cclxuLm5hdi1saW5rIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1zbSAkc3BhY2luZy1tZCAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZmFzdDtcclxuICAgIFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIERhc2hib2FyZCBuYXZiYXIgZW5oYW5jZW1lbnRzXHJcbi5uYXZiYXItZXhwYW5kLW1kIHtcclxuICAgIC5uYXYtbGluayB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQmFkZ2Ugbm90aWZpY2F0aW9uIHN0eWxlc1xyXG4gICAgLmJhZGdlLW5vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIFxyXG4gICAgICAgICYuYmFkZ2UtYmxpbmsge1xyXG4gICAgICAgICAgICBhbmltYXRpb246IGJhZGdlLWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTdXBwb3J0IGJhZGdlIG9uIG5hdiBsaW5rXHJcbiAgICAubmF2LWxpbmsgLmJhZGdlIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXYtbGluazpob3ZlciAuYmFkZ2Uge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQmFkZ2UgYmxpbmsgYW5pbWF0aW9uXHJcbkBrZXlmcmFtZXMgYmFkZ2UtYmxpbmsge1xyXG4gICAgMCUsIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gU2lkZWJhciBiYWRnZSBzdHlsZXNcclxuLm5hdmJhci12ZXJ0aWNhbCB7XHJcbiAgICAubmF2LWxpbmsge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC5iYWRnZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuNjVyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciAuYmFkZ2Uge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBEcm9wZG93biBpbXByb3ZlbWVudHMgZm9yIG5hdmJhclxyXG4ubmF2YmFyLW5hdiB7XHJcbiAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmRyb3Bkb3duLWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDk5LCAxMDIsIDI0MSwgMC4xKSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBOb3RpZmljYXRpb24gZHJvcGRvd24gY2FyZFxyXG4gICAgLmRyb3Bkb3duLW1lbnUtY2FyZCB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyMHJlbTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAuY2FyZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxpc3QtZ3JvdXAtaXRlbSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTdGF0dXMgZG90IGFuaW1hdGlvblxyXG4uc3RhdHVzLWRvdC1hbmltYXRlZCB7XHJcbiAgICBhbmltYXRpb246IHN0YXR1cy1wdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzdGF0dXMtcHVsc2Uge1xyXG4gICAgMCUsIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSW1wZXJzb25hdGlvbiBhbGVydCBzdHlsZXNcclxuLmFsZXJ0LWltcG9ydGFudCB7XHJcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkO1xyXG4gICAgYm94LXNoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICBhbmltYXRpb246IGFsZXJ0LXNsaWRlLWluIDAuM3MgZWFzZS1vdXQ7XHJcblxyXG4gICAgJi5hbGVydC13YXJuaW5nIHtcclxuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI2Y1OWUwYjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjQ1LCAxNTgsIDExLCAwLjE1KSAwJSwgcmdiYSgyNDUsIDE1OCwgMTEsIDAuMDUpIDEwMCUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGVydC1pY29uIHtcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGVydC10aXRsZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bi1jbG9zZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgIFxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbGVydC1zbGlkZS1pbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbn0iLCIuZ3JhZGllbnQtYmcge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJHByaW1hcnktY29sb3IgMCUsICRzZWNvbmRhcnktY29sb3IgMTAwJSk7XHJcbn1cclxuXHJcbi5ncmFkaWVudC1iZy1kYXJrIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxZTNhOGEgMCUsICMzYjA3NjQgMTAwJSk7XHJcbn1cclxuXHJcbi5oZXJvIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMjAwJTtcclxuICAgICAgICBoZWlnaHQ6IDIwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgkcHJpbWFyeS1jb2xvciwgMC4xKSAwJSwgdHJhbnNwYXJlbnQgNzAlKTtcclxuICAgICAgICBhbmltYXRpb246IHB1bHNlIDRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaGVyby1jb250ZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5oZXJvIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogNHJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkcHJpbWFyeS1jb2xvciAwJSwgJHNlY29uZGFyeS1jb2xvciAxMDAlKTtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgZWFzZTtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWxnO1xyXG4gICAgXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLmhlcm8gcCB7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBjb2xvcjogJGdyYXk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy14bDtcclxuICAgIGFuaW1hdGlvbjogZmFkZUluVXAgMXMgZWFzZSAwLjJzIGJvdGg7XHJcbn1cclxuIiwiLmZlYXR1cmUtY2FyZCB7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy14bDtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXhsO1xyXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdy1tZDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1iYXNlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdy14bDtcclxuICAgIH1cclxufVxyXG5cclxuLmZlYXR1cmUtaWNvbiB7XHJcbiAgICB3aWR0aDogNjBweDtcclxuICAgIGhlaWdodDogNjBweDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICRwcmltYXJ5LWNvbG9yIDAlLCAkc2Vjb25kYXJ5LWNvbG9yIDEwMCUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbGc7XHJcbn1cclxuXHJcbi5mZWF0dXJlLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLW1kO1xyXG4gICAgY29sb3I6ICRkYXJrLWJnO1xyXG59XHJcblxyXG4uZmVhdHVyZS1kZXNjcmlwdGlvbiB7XHJcbiAgICBjb2xvcjogJGdyYXk7XHJcbiAgICBsaW5lLWhlaWdodDogMS44O1xyXG59XHJcbiIsIi5zdGF0cy1zZWN0aW9uIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICRkYXJrLWJnIDAlLCAkZGFyay1saWdodCAxMDAlKTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy0yeGwgMDtcclxufVxyXG5cclxuLnN0YXQtY2FyZCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy14bDtcclxufVxyXG5cclxuLnN0YXQtbnVtYmVyIHtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkYWNjZW50LWNvbG9yIDAlLCAkc2Vjb25kYXJ5LWNvbG9yIDEwMCUpO1xyXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zbTtcclxufVxyXG5cclxuLnN0YXQtbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcclxuICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC44KTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG59XHJcbiIsIi5wcmljaW5nLWNhcmQge1xyXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMteGw7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy0yeGw7XHJcbiAgICBib3gtc2hhZG93OiAkc2hhZG93LWxnO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWJhc2U7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdy14bDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJi5mZWF0dXJlZCB7XHJcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgICAgICBcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnUG9wdWxhcic7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtMTBweDtcclxuICAgICAgICAgICAgcmlnaHQ6ICRzcGFjaW5nLXhsO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkcHJpbWFyeS1jb2xvciAwJSwgJHNlY29uZGFyeS1jb2xvciAxMDAlKTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmcteHMgJHNwYWNpbmctbGc7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnByaWNlIHtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zbTtcclxuICAgIFxyXG4gICAgLmN1cnJlbmN5IHtcclxuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAucGVyaW9kIHtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgY29sb3I6ICRncmF5O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcmljZS1mZWF0dXJlcyB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAkc3BhY2luZy14bCAwO1xyXG4gICAgXHJcbiAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctc20gMDtcclxuICAgICAgICBjb2xvcjogJGdyYXktZGFyaztcclxuICAgICAgICBcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAn4pyTJztcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXNtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuZm9vdGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRkYXJrLWJnO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLW1kIDA7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy1tZDtcclxufVxyXG5cclxuLmZvb3Rlci1zZWN0aW9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXhsO1xyXG59XHJcblxyXG4uZm9vdGVyLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1sZztcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi5mb290ZXItbGluayB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLXhzIDA7XHJcbiAgICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuNSk7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbi1mYXN0O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXNtO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLXNvY2lhbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAkc3BhY2luZy1tZDtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLW1kO1xyXG59XHJcblxyXG4uc29jaWFsLWljb24ge1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4xKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tYmFzZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gSGlkZSBuYXZiYXIgYW5kIGZvb3RlciBvbiBsb2dpbiBwYWdlXHJcbmJvZHk6aGFzKC5sb2dpbi13cmFwcGVyKSB7XHJcbiAgICAubmF2YmFyLFxyXG4gICAgZm9vdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5sb2dpbi13cmFwcGVyIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICRwcmltYXJ5LWNvbG9yIDAlLCAkc2Vjb25kYXJ5LWNvbG9yIDEwMCUpO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG59XHJcblxyXG4ubG9naW4tY2FyZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xyXG4gICAgcGFkZGluZzogMi41cmVtO1xyXG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICAgIGFuaW1hdGlvbjogc2xpZGVVcCAwLjVzIGVhc2U7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5sb2dpbi1oZWFkZXIge1xyXG4gICAgLmJ0bi1iYWNrLWhvbWUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC01MHB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAwLjVyZW07XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWZhc3Q7XHJcbiAgICAgICAgb3BhY2l0eTogMC45O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmxvZ2luLWljb24ge1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICRwcmltYXJ5LWNvbG9yIDAlLCAkc2Vjb25kYXJ5LWNvbG9yIDEwMCUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi5sb2dpbi1mb3JtIHtcclxuICAgIC5mb3JtLWNvbnRyb2wtbGcge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2U1ZTdlYjtcclxuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWJhc2U7XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEoMTAyLCAxMjYsIDIzNCwgMC4xKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYXNzd29yZC1pbnB1dC13cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAucGFzc3dvcmQtdG9nZ2xlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAjNmI3MjgwO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLWZhc3Q7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubG9naW4tZGl2aWRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZTVlN2ViO1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XHJcbiAgICAgICAgY29sb3I6ICM5Y2EzYWY7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLnF1aWNrLWxvZ2luLWJ0biB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZmFzdDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdy1tZDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAubG9naW4tY2FyZCB7XHJcbiAgICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luLWhlYWRlciB7XHJcbiAgICAgICAgLmJ0bi1iYWNrLWhvbWUge1xyXG4gICAgICAgICAgICB0b3A6IC00NXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luLWljb24ge1xyXG4gICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gVG9hc3Qgc3R5bGVzXHJcbi50b2FzdC1jb250YWluZXIge1xyXG4gICAgLnRvYXN0IHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3ctbGc7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBzbGlkZUluUmlnaHQgMC4zcyBlYXNlO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC50b2FzdC1oZWFkZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmM2Y0ZjY7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggMTJweCAwIDA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC50b2FzdC1ib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICNkYzM1NDU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcclxuICAgIC50b2FzdC1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcclxuICAgICAgICBcclxuICAgICAgICAudG9hc3Qge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gICAgMCUsIDEwMCUgeyBcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyBcclxuICAgICAgICBvcGFjaXR5OiAwLjU7IFxyXG4gICAgfVxyXG4gICAgNTAlIHsgXHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyBcclxuICAgICAgICBvcGFjaXR5OiAwLjM7IFxyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZVVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlRG93biB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hbmltYXRlLW9uLXNjcm9sbCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLXNsb3c7XHJcbiAgICBcclxuICAgICYuYW5pbWF0ZWQge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAkdHJhbnNpdGlvbi1zbG93IGVhc2U7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gVGV4dFxyXG4udGV4dC1ncmFkaWVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkcHJpbWFyeS1jb2xvciAwJSwgJHNlY29uZGFyeS1jb2xvciAxMDAlKTtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG59XHJcblxyXG4udGV4dC1hY2NlbnQge1xyXG4gICAgY29sb3I6ICRhY2NlbnQtY29sb3I7XHJcbn1cclxuXHJcbi8vIEJhY2tncm91bmRzXHJcbi5iZy1ncmFkaWVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkcHJpbWFyeS1jb2xvciAwJSwgJHNlY29uZGFyeS1jb2xvciAxMDAlKTtcclxufVxyXG5cclxuLmJnLWdyYWRpZW50LWRhcmsge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJGRhcmstYmcgMCUsICRkYXJrLWxpZ2h0IDEwMCUpO1xyXG59XHJcblxyXG4vLyBTcGFjaW5nXHJcbi5tdC1zZWN0aW9uIHtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTJ4bDtcclxufVxyXG5cclxuLm1iLXNlY3Rpb24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMnhsO1xyXG59XHJcblxyXG4ucHktc2VjdGlvbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctMnhsO1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTJ4bDtcclxufVxyXG5cclxuLy8gQnV0dG9uc1xyXG4uYnRuLWdyYWRpZW50IHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICRwcmltYXJ5LWNvbG9yIDAlLCAkc2Vjb25kYXJ5LWNvbG9yIDEwMCUpO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAxMCUpIDAlLCBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwgMTAlKSAxMDAlKTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93LXhsO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLW91dGxpbmUtZ3JhZGllbnQge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJHdoaXRlLCAkd2hpdGUpIHBhZGRpbmctYm94LFxyXG4gICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJHByaW1hcnktY29sb3IgMCUsICRzZWNvbmRhcnktY29sb3IgMTAwJSkgYm9yZGVyLWJveDtcclxuICAgIFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJHByaW1hcnktY29sb3IgMCUsICRzZWNvbmRhcnktY29sb3IgMTAwJSk7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQ2FyZHNcclxuLmNhcmQtaG92ZXIge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWJhc2U7XHJcbiAgICBcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93LXhsO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDb250YWluZXJzXHJcbi5jb250YWluZXItY3VzdG9tIHtcclxuICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLXhsO1xyXG59XHJcblxyXG4vLyBTY3JvbGxiYXJcclxuOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogOHB4O1xyXG59XHJcblxyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0O1xyXG59XHJcblxyXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICRwcmltYXJ5LWNvbG9yIDAlLCAkc2Vjb25kYXJ5LWNvbG9yIDEwMCUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBkYXJrZW4oJHByaW1hcnktY29sb3IsIDEwJSkgMCUsIGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCAxMCUpIDEwMCUpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEYXNoYm9hcmQgU2lkZWJhciAmIE5hdmlnYXRpb24gU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBTaWRlYmFyIEltcHJvdmVtZW50cyAqL1xuLm5hdmJhci12ZXJ0aWNhbCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgbWFyZ2luOiAwLjEyNXJlbSAwLjVyZW07XG4gICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG59XG5cbi5uYXZiYXItdmVydGljYWwgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk4LCAxMDIsIDI0MSwgMC4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTtcbn1cblxuLm5hdmJhci12ZXJ0aWNhbCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNjM2NmYxIDAlLCAjOGI1Y2Y2IDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubmF2YmFyLXZlcnRpY2FsIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUgLm5hdi1saW5rLWljb24ge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4ubmF2YmFyLXZlcnRpY2FsIC5kcm9wZG93bi1tZW51IHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi5uYXZiYXItdmVydGljYWwgLmRyb3Bkb3duLWl0ZW0ge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgbWFyZ2luOiAwLjEyNXJlbSAwLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5uYXZiYXItdmVydGljYWwgLmRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTgsIDEwMiwgMjQxLCAwLjEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpO1xufVxuXG4ubmF2YmFyLXZlcnRpY2FsIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzYzNjZmMSAwJSwgIzhiNWNmNiAxMDAlKTtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5uYXZiYXItdmVydGljYWwgLm5hdi1pdGVtLmRyb3Bkb3duLWRpdmlkZXIge1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBtYXJnaW46IDAuNXJlbSAxcmVtO1xufVxuXG4vKiBVc2VyIFByb2ZpbGUgaW4gU2lkZWJhciAqL1xuLm5hdmJhci12ZXJ0aWNhbCAubmF2YmFyLW5hdi5tdC1hdXRvIC5uYXYtbGluayB7XG4gICAgbWFyZ2luOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk4LCAxMDIsIDI0MSwgMC4wNSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg5OCwgMTAyLCAyNDEsIDAuMSk7XG59XG5cbi5uYXZiYXItdmVydGljYWwgLm5hdmJhci1uYXYubXQtYXV0byAubmF2LWxpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTgsIDEwMiwgMjQxLCAwLjEpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg5OCwgMTAyLCAyNDEsIDAuMik7XG4gICAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKiBCYWRnZSBTdHlsaW5nICovXG4ubmF2YmFyLXZlcnRpY2FsIC5iYWRnZSB7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuXG4vKiBNb2JpbGUgaGVhZGVyIGltcHJvdmVtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgYm9keSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjVyZW07XG4gICAgfVxuXG4gICAgLm5hdmJhci12ZXJ0aWNhbCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDM1O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10YmxyLWJnLXN1cmZhY2UpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgICB9XG5cbiAgICAubmF2YmFyLXZlcnRpY2FsIC5jb250YWluZXItZmx1aWQge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGJsci1iZy1zdXJmYWNlKTtcbiAgICB9XG5cbiAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgfVxuXG4gICAgLm5hdmJhci10b2dnbGVyOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDk4LCAxMDIsIDI0MSwgMC4yNSk7XG4gICAgfVxuXG4gICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhKDAsIDAsIDAsIDAuNzUpJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICB9XG5cbiAgICAvKiBNb2JpbGUgcHJvZmlsZSBzdHlsaW5nICovXG4gICAgLmQtbGctbm9uZS5ib3JkZXItYm90dG9tIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICB9XG5cbiAgICAuZC1sZy1ub25lIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMC41cmVtO1xuICAgIH1cblxuICAgIC5wYWdlLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBSZXNwb25zaXZlIGltcHJvdmVtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLy8gU3R5bGUgbW9iaWxuZSBzxIUgdGVyYXogdyBfdGFibGVyLWN1c3RvbS5zY3NzXG4gICAgLy8gWm9zdGF3aWFteSB0eWxrbyB1bmlxdWUgc3R5bGVzIHR1dGFqIGplxZtsaSBwb3RyemVibmVcbn1cblxuLyogRGFyayBtb2RlIGFkanVzdG1lbnRzICovXG5bZGF0YS1icy10aGVtZT1cImRhcmtcIl0gLm5hdmJhci12ZXJ0aWNhbCAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTgsIDEwMiwgMjQxLCAwLjIpO1xufVxuXG5bZGF0YS1icy10aGVtZT1cImRhcmtcIl0gLm5hdmJhci12ZXJ0aWNhbCAubmF2LWl0ZW0uZHJvcGRvd24tZGl2aWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuXG5bZGF0YS1icy10aGVtZT1cImRhcmtcIl0gLm5hdmJhci12ZXJ0aWNhbCAubmF2YmFyLW5hdi5tdC1hdXRvIC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5OCwgMTAyLCAyNDEsIDAuMSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDk4LCAxMDIsIDI0MSwgMC4yKTtcbn1cblxuW2RhdGEtYnMtdGhlbWU9XCJkYXJrXCJdIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbltkYXRhLWJzLXRoZW1lPVwiZGFya1wiXSAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCclM2UlM2NwYXRoIHN0cm9rZT0ncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbltkYXRhLWJzLXRoZW1lPVwiZGFya1wiXSAubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG59XG5cbltkYXRhLWJzLXRoZW1lPVwiZGFya1wiXSAubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoOTgsIDEwMiwgMjQxLCAxKTtcbn1cblxuLyogSGVhZGVyIFVzZXIgUHJvZmlsZSAqL1xuLm5hdi1pdGVtLmRyb3Bkb3duIC5hdmF0YXIge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5OCwgMTAyLCAyNDEsIDAuMDUpO1xufVxuXG4vKiBIZWFkZXIgaWNvbnMgc3R5bGluZyAqL1xuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xufVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoOTgsIDEwMiwgMjQxLCAxKTtcbn1cblxuLm5hdmJhci1uYXYgLm5hdi1pdGVtIC5pY29uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCAwLjE1cmVtO1xuICAgIH1cblxuICAgIC5uYXZiYXItbmF2IC5uYXYtaXRlbSAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgfVxuXG4gICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIC5uYXYtbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjRyZW07XG4gICAgfVxuXG4gICAgLmJhZGdlLW5vdGlmaWNhdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAuMTVyZW0gMC4zcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYXZhdGFyLmF2YXRhci1zbSB7XG4gICAgICAgIHdpZHRoOiAxLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMS43NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBIaWRlIHVzZXIgaW5mbyB0ZXh0IG9uIG1vYmlsZSAqL1xuICAgIC5uYXZiYXItbmF2IC5kLW5vbmUuZC14bC1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIEJhY2tkcm9wIGZvciBtb2JpbGUgbWVudSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLy8gQW5pbWFjamEgc2xpZGVEb3duIGplc3QganXFvCB3IF90YWJsZXItY3VzdG9tLnNjc3Ncbn1cblxuLyogSGFtYnVyZ2VyIGFuaW1hdGlvbiAqL1xuLm5hdmJhci10b2dnbGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLm5hdmJhci10b2dnbGVyOm5vdCguY29sbGFwc2VkKSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG59XG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSRVVTQUJMRSBDT01QT05FTlRTICYgSEVMUEVSIENMQVNTRVNcbi8vIE1vZGVybiBVSSBDb21wb25lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQlJBTkQgU1RZTElOR1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmJyYW5kLWxvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgXG4gICAgLmJyYW5kLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2MzY2ZjEgMCUsICM4YjVjZjYgMTAwJSk7XG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgfVxuICAgIFxuICAgIC5icmFuZC10ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzYzNjZmMSAwJSwgIzhiNWNmNiAxMDAlKTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICAuYnJhbmQtaWNvbixcbiAgICAgICAgLmJyYW5kLXRleHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVZBVEFSIFdJVEggR1JBRElFTlRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5hdmF0YXItZ3JhZGllbnQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2MzY2ZjEgMCUsICM4YjVjZjYgMTAwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVVNFUiBQUk9GSUxFIENBUkRTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4udXNlci1wcm9maWxlLWNhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTgsIDEwMiwgMjQxLCAwLjEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk4LCAxMDIsIDI0MSwgMC4xNSk7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQUxFUlQgVkFSSUFOVFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5hbGVydC1zd2l0Y2gtdXNlciB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIFxuICAgIC5idG4ge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgfVxufVxuXG4vLyBNb2JpbGUgYWxlcnQgc3R5bGluZ1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLmFsZXJ0LXN3aXRjaC11c2VyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgIFxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gRGVza3RvcCBhbGVydCBpbiBzaWRlYmFyXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuYWxlcnQtc3dpdGNoLXVzZXIge1xuICAgICAgICBtYXJnaW46IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICBcbiAgICAgICAgLnRleHQtdHJ1bmNhdGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCQURHRSBOT1RJRklDQVRJT05cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iYWRnZS1ub3RpZmljYXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjRyZW07XG4gICAgbWluLXdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRFJPUERPV04gSEVBREVSXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5OCwgMTAyLCAyNDEsIDAuMDUpO1xuICAgIFxuICAgIC5kLWJsb2NrIHtcbiAgICAgICAgJi50ZXh0LW11dGVkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5mdy1ib2xkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbltkYXRhLWJzLXRoZW1lPVwiZGFya1wiXSB7XG4gICAgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTgsIDEwMiwgMjQxLCAwLjE1KTtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQUkVMT0FERVJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiNnbG9iYWwtcHJlbG9hZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBcbiAgICAucHJlbG9hZGVyLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hcHAtc3VyZmFjZS1wcmltYXJ5KTtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gdmFyKC0tYXBwLXNoYWRvdy1sZyk7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0lERUJBUiBCQUNLRFJPUCAoTW9iaWxlKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnNpZGViYXItYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDMuNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgei1pbmRleDogMTAzNDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIFxuICAgICYuc2hvdyB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU1RBVFVTIEJBREdFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnN0YXR1cy1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbWQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBcbiAgICAmLnN0YXR1cy1wdWJsaXNoZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTBiOTgxIDAlLCAjMDU5NjY5IDEwMCUpO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICAgIFxuICAgICYuc3RhdHVzLWRyYWZ0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y1OWUwYiAwJSwgI2Q5NzcwNiAxMDAlKTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgICBcbiAgICAmLnN0YXR1cy1hcmNoaXZlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2Yzc1N2QgMCUsICM1YTYyNjggMTAwJSk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBJQ09OIEJVVFRPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5idG4taWNvbiB7XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbWQ7XG4gICAgXG4gICAgJi5idG4taWNvbi1zbSB7XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgfVxuICAgIFxuICAgICYuYnRuLWljb24tbGcge1xuICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdSQURJRU5UIE9WRVJMQVlTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZ3JhZGllbnQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjE1KSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuNXMgZWFzZTtcbiAgICB9XG4gICAgXG4gICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDQVJEIFNUQVRTIChEYXNoYm9hcmQpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc3RhdC1jYXJkIHtcbiAgICAuc3RhdC1pY29uIHtcbiAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgXG4gICAgICAgICYuc3RhdC1pY29uLXByaW1hcnkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzY2N2VlYSAwJSwgIzc2NGJhMiAxMDAlKTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5zdGF0LWljb24tc3VjY2VzcyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTBiOTgxIDAlLCAjMDU5NjY5IDEwMCUpO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLnN0YXQtaWNvbi1pbmZvIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwNmI2ZDQgMCUsICMwODkxYjIgMTAwJSk7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuc3RhdC1pY29uLXdhcm5pbmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y1OWUwYiAwJSwgI2Q5NzcwNiAxMDAlKTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuc3RhdC12YWx1ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tYXBwLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuICAgIFxuICAgIC5zdGF0LWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWFwcC10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRU1QVFkgU1RBVEVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZW1wdHktc3RhdGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzcmVtIDFyZW07XG4gICAgXG4gICAgLmVtcHR5LXN0YXRlLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1hcHAtdGV4dC10ZXJ0aWFyeSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuICAgIFxuICAgIC5lbXB0eS1zdGF0ZS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWFwcC10ZXh0LXByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuICAgIFxuICAgIC5lbXB0eS1zdGF0ZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1hcHAtdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTE9BRElORyBTVEFURVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5za2VsZXRvbiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1hcHAtc3VyZmFjZS1zZWNvbmRhcnkpIDI1JSwgdmFyKC0tYXBwLXN1cmZhY2UtaG92ZXIpIDUwJSwgdmFyKC0tYXBwLXN1cmZhY2Utc2Vjb25kYXJ5KSA3NSUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICAgIGFuaW1hdGlvbjogc2tlbGV0b24tbG9hZGluZyAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLW1kO1xufVxuXG5Aa2V5ZnJhbWVzIHNrZWxldG9uLWxvYWRpbmcge1xuICAgIDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMCUgMDtcbiAgICB9XG59XG5cbi5za2VsZXRvbi10ZXh0IHtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIFxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4uc2tlbGV0b24tY2lyY2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xufVxuXG4uc2tlbGV0b24tcmVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMHJlbTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZMT0FUSU5HIEFDVElPTiBCVVRUT05cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5mYWIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDJyZW07XG4gICAgcmlnaHQ6IDJyZW07XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzY2N2VlYSAwJSwgIzc2NGJhMiAxMDAlKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSBzY2FsZSgxLjEpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDEycHggMzJweCByZ2JhKDEwMiwgMTI2LCAyMzQsIDAuNik7XG4gICAgfVxuICAgIFxuICAgIGkge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUT09MVElQIENVU1RPTVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnRvb2x0aXAtY3VzdG9tIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFxuICAgICY6aG92ZXIgLnRvb2x0aXAtdGV4dCB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIFxuICAgIC50b29sdGlwLXRleHQge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAxMjUlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tZDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNDUk9MTEJBUiBDVVNUT01cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jdXN0b20tc2Nyb2xsYmFyIHtcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgIH1cbiAgICBcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFwcC1zY3JvbGxiYXItdHJhY2spO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgfVxuICAgIFxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXBwLXNjcm9sbGJhci10aHVtYik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXBwLXNjcm9sbGJhci10aHVtYi1ob3Zlcik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNQUlOVEVOQU5DRSBNT0RFIEJBREdFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubWFpbnRlbmFuY2UtYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmNTllMGIgMCUsICNkOTc3MDYgMTAwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIFxuICAgIHN2ZywgaSB7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVEhFTUUgVE9HR0xFIEJVVFRPTlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmJ0bi10aGVtZS10b2dnbGUge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXBwLXNpZGViYXItaG92ZXItYmcpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ0FSRCBMSU5LIChDbGlja2FibGUgQ2FyZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY2FyZC1saW5rIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDEycHggMjhweCB2YXIoLS1hcHAtc2hhZG93LWxnKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuY2FyZC10aXRsZSB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciAuY2FyZC10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjNjY3ZWVhO1xuICAgIH1cbn1cblxuLmNhcmQtbGluay1wb3Age1xuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCkgc2NhbGUoMS4wMik7XG4gICAgfVxuICAgIFxuICAgIC5hdmF0YXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIC5hdmF0YXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDVkZWcpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC40KTtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTRVRUSU5HUyBQQUdFIFNQRUNJRklDXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc2V0dGluZ3MtaGVyby1zdmcge1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxMHB4IDIwcHggcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjMpKTtcbiAgICBhbmltYXRpb246IGZsb2F0IDNzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGZsb2F0IHtcbiAgICAwJSwgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB9XG59XG5cbi8vIEJhZGdlIHBpbGwgZm9yIG51bWJlcmVkIHN0ZXBzXG4uYmFkZ2UtcGlsbCB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLy8gRGF0YWdyaWQgaW1wcm92ZW1lbnRzXG4uZGF0YWdyaWQge1xuICAgIC5kYXRhZ3JpZC1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAwO1xuICAgICAgICBcbiAgICAgICAgLmRhdGFncmlkLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5kYXRhZ3JpZC1jb250ZW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIERpdmlkZS15IHV0aWxpdHlcbi5kaXZpZGUteSB7XG4gICAgPiAqICsgKiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hcHAtYm9yZGVyLXByaW1hcnkpO1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJFU1BPTlNJVkUgVVRJTElUSUVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAuaGlkZS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2hvdy1tb2JpbGUtb25seSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIE5BVklHQVRJT04gQ09NUE9ORU5UIFNUWUxFU1xyXG4vLyBSZXNwb25zeXduZSBtZW51IGRsYSBrb21wb25lbnTDs3cgaGVhZGVyXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4uY29tcG9uZW50LW5hdmlnYXRpb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAvLyBNZW51IGRlc2t0b3AgKHBvemlvbWUpXHJcbiAgICAubmF2aWdhdGlvbi1kZXNrdG9wIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAubmF2YmFyLW5hdiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuMjVyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgLm5hdi1saW5rIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8vIERyb3Bkb3duIG1lbnVcclxuICAgICAgICAgICAgICAgICYuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5uYXYtbGluayB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGFtYnVyZ2VyIGJ1dHRvblxyXG4gICAgLm5hdmlnYXRpb24taGFtYnVyZ2VyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogMS41cmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcclxuXHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE1lbnUgbW9iaWxuZSAoY29sbGFwc2UpXHJcbiAgICAubmF2aWdhdGlvbi1tb2JpbGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgICAgICAubmF2YmFyLW5hdi1tb2JpbGUge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xyXG5cclxuICAgICAgICAgICAgLm5hdi1pdGVtLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm5hdi1saW5rLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLnRpLWNoZXZyb24tZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gU3VibWVudVxyXG4gICAgICAgICAgICAgICAgLm5hdi1zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm5hdi1pdGVtLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5uYXYtbGluay1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8vIEV4cGFuZGVkIHN0YXRlXHJcbiAgICAgICAgICAgICAgICAmLmV4cGFuZGVkIHtcclxuICAgICAgICAgICAgICAgICAgICAubmF2LWxpbmstbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRpLWNoZXZyb24tZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAubmF2LXN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFJlc3BvbnN5d25lIHN0eWxlIHPEhSBnZW5lcm93YW5lIGR5bmFtaWN6bmllIHByemV6IGdlbmVyYXRlTmF2aWdhdGlvblJlc3BvbnNpdmVTdHlsZXMoKVxyXG4vLyB3IFRlbXBsYXRlRXh0ZW5zaW9uLnBocCBuYSBwb2RzdGF3aWUgdXN0YXdpZcWEIHNob3dNb2JpbGVNZW51IHBlciB3aWRva1xyXG5cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJFU1BPTlNJVkUgREVTSUdOICYgVVggRU5IQU5DRU1FTlRTXG4vLyBNb2Rlcm4gTW9iaWxlLUZpcnN0IEFwcHJvYWNoXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQlJFQUtQT0lOVFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRicmVha3BvaW50LW1vYmlsZTogNzY4cHg7XG4kYnJlYWtwb2ludC10YWJsZXQ6IDk5MnB4O1xuJGJyZWFrcG9pbnQtZGVza3RvcDogMTIwMHB4O1xuJGJyZWFrcG9pbnQtd2lkZTogMTQwMHB4O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTU9CSUxFIE9QVElNSVpBVElPTlMgKDwgNzY4cHgpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgLy8gVHlwb2dyYXBoeSBzY2FsaW5nIC0gV0nEmEtTWkUgRk9OVFlcbiAgICBib2R5IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7IC8vIFp3acSZa3N6b255IHogMC45Mzc1cmVtXG4gICAgfVxuICAgIFxuICAgIGgxIHsgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgICBoMiB7IGZvbnQtc2l6ZTogMS43NXJlbSAhaW1wb3J0YW50OyB9XG4gICAgaDMgeyBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgaDQgeyBmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIGg1IHsgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgaDYgeyBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsgfVxuICAgIFxuICAgIC8vIFRvdWNoLWZyaWVuZGx5IGJ1dHRvbnMgLSBXScSYS1NaRVxuICAgIC5idG4ge1xuICAgICAgICBtaW4taGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7IC8vIFp3acSZa3N6b255IHogNDRweFxuICAgICAgICBwYWRkaW5nOiAwLjg3NXJlbSAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuYnRuLXNtIHtcbiAgICAgICAgbWluLWhlaWdodDogNDJweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC8vIENhcmRzIC0gV0nEmEtTWlkgUEFERElOR1xuICAgIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgXG4gICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gVGFibGVzIC0gV0nEmEtTWlkgRk9OVFxuICAgIC50YWJsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OyAvLyBad2nEmWtzem9ueSB6IDAuODc1cmVtXG4gICAgICAgIFxuICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwLjc1cmVtICFpbXBvcnRhbnQ7IC8vIFp3acSZa3N6b255IHBhZGRpbmdcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gRm9ybXMgLSBXScSYS1NaRVxuICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDsgLy8gWndpxJlrc3pvbnkgeiA0NHB4XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZm9ybS1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OyAvLyBad2nEmWtzem9ueSB6IDAuODc1cmVtXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9XG4gICAgXG4gICAgLy8gTW9kYWxcbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW07XG4gICAgfVxuICAgIFxuICAgIC8vIFNwYWNpbmcgLSBXScSYS1NaWVxuICAgIC5jb250YWluZXIsXG4gICAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC8vIFBhZ2UgaGVhZGVyIC0gV0nEmEtTWllcbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgXG4gICAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAucGFnZS1wcmV0aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gQmFkZ2VzIC0gV0nEmEtTWkVcbiAgICAuYmFkZ2Uge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtICFpbXBvcnRhbnQ7IC8vIFp3acSZa3N6b255IHogMC43NXJlbVxuICAgICAgICBwYWRkaW5nOiAwLjRlbSAwLjc1ZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLy8gRHJvcGRvd24gbWVudXMgLSBXScSYS1NaRVxuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIFxuICAgICAgICAuZHJvcGRvd24taXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjg3NXJlbSAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvLyBOYXZpZ2F0aW9uIGxpbmtzIC0gV0nEmEtTWkVcbiAgICAubmF2LWxpbmsge1xuICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMC44NzVyZW0gMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAvLyBJY29ucyAtIFdJxJhLU1pFXG4gICAgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAvLyBUZXh0IGNsYXNzZXNcbiAgICAudGV4dC1tdXRlZCxcbiAgICAuc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRBQkxFVCBPUFRJTUlaQVRJT05TICg3NjhweCAtIDk5MnB4KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXRhYmxldCkge1xuICAgIC5uYXZiYXItdmVydGljYWwge1xuICAgICAgICB3aWR0aDogMjQwcHg7XG4gICAgfVxuXG4gICAgLnBhZ2Utd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNDBweDtcbiAgICB9XG5cbiAgICAvLyBUd28tY29sdW1uIGxheW91dCBmb3IgY2FyZHNcbiAgICAucm93LWNhcmRzIHtcbiAgICAgICAgLmNvbC0xMiB7XG4gICAgICAgICAgICAmOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBERVNLVE9QIE9QVElNSVpBVElPTlMgKD4gOTkycHgpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtdGFibGV0KSB7XG4gICAgLy8gU2lkZWJhciBob3ZlciBlZmZlY3RzXG4gICAgLm5hdmJhci12ZXJ0aWNhbCB7XG4gICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhcmQgaG92ZXIgZWZmZWN0c1xuICAgIC5jYXJkIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBXSURFIFNDUkVFTiBPUFRJTUlaQVRJT05TICg+IDE0MDBweClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC13aWRlKSB7XG4gICAgLmNvbnRhaW5lcntcbiAgICAgICAgbWF4LXdpZHRoOiAxMzIwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIC5uYXZiYXItdmVydGljYWwge1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgfVxuXG4gICAgLnBhZ2Utd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMDBweDtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQUklOVCBTVFlMRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSBwcmludCB7XG4gICAgLm5hdmJhci12ZXJ0aWNhbCxcbiAgICAucGFnZS1oZWFkZXIsXG4gICAgLmJ0bixcbiAgICAuZHJvcGRvd24sXG4gICAgLmQtcHJpbnQtbm9uZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucGFnZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIGFbaHJlZl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTEFORFNDQVBFIE1PREVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5uYXZiYXItdmVydGljYWwge1xuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA4MHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRPVUNIIERFVklDRSBPUFRJTUlaQVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgKGhvdmVyOiBub25lKSBhbmQgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC8vIFJlbW92ZSBob3ZlciBlZmZlY3RzIG9uIHRvdWNoIGRldmljZXNcbiAgICAuY2FyZDpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHZhcigtLWFwcC1zaGFkb3ctc20pO1xuICAgIH1cblxuICAgIC5uYXYtbGluazpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXJnZXIgdG91Y2ggdGFyZ2V0c1xuICAgIC5idG4sXG4gICAgLm5hdi1saW5rLFxuICAgIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJFRFVDRUQgTU9USU9OXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSElHSCBDT05UUkFTVCBNT0RFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcbiAgICAuY2FyZCB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWFwcC1ib3JkZXItcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEQVJLIE1PREUgUFJFRkVSRU5DRVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIC8vIEF1dG8tYXBwbHkgZGFyayBtb2RlIGlmIHVzZXIgaGFzbid0IHNldCBwcmVmZXJlbmNlXG4gICAgOnJvb3Q6bm90KFtkYXRhLWJzLXRoZW1lXSkge1xuICAgICAgICAtLWFwcC1iZy1wcmltYXJ5OiAjMGYxNzJhO1xuICAgICAgICAtLWFwcC1iZy1zZWNvbmRhcnk6ICMxZTI5M2I7XG4gICAgICAgIC0tYXBwLXN1cmZhY2UtcHJpbWFyeTogIzFlMjkzYjtcbiAgICAgICAgLS1hcHAtdGV4dC1wcmltYXJ5OiAjZjFmNWY5O1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFVUSUxJVFkgQ0xBU1NFUyBGT1IgUkVTUE9OU0lWRSBERVNJR05cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEhpZGUvU2hvdyBiYXNlZCBvbiBzY3JlZW4gc2l6ZVxuLmhpZGUtb24tbW9iaWxlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5oaWRlLW9uLXRhYmxldCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uaGlkZS1vbi1kZXNrdG9wIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtdGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5zaG93LW9uLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnNob3ctb24tdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtdGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uc2hvdy1vbi1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtdGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBDb250YWluZXIgcmVzcG9uc2l2ZSBwYWRkaW5nXG4uY29udGFpbmVyLXJlc3BvbnNpdmUge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSB0ZXh0IGFsaWdubWVudFxuLnRleHQtbW9iaWxlLWNlbnRlciB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi50ZXh0LWRlc2t0b3Atc3RhcnQge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBzcGFjaW5nXG4ubXQtbW9iaWxlLTIge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubXQtdGFibGV0LTMge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLm10LWRlc2t0b3AtNCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIE1PQklMRSBGSVhFUyAtIFBvcHJhd2tpIGRsYSBsZXBzemVqIGN6eXRlbG5vxZtjaVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy8gWmFwb2JpZWdhbmllIHpvb21vd2FuaXUgbmEgaU9TXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xyXG4gICAgLy8gV3N6eXN0a2llIGlucHV0eSBtdXN6xIUgbWllxIcgbWluIDE2cHggxbxlYnkgaU9TIG5pZSB6b29tb3dhxYJcclxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInVybFwiXSxcclxuICAgIHRleHRhcmVhLFxyXG4gICAgc2VsZWN0LFxyXG4gICAgLmZvcm0tY29udHJvbCxcclxuICAgIC5mb3JtLXNlbGVjdCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IC8vIEtyeXR5Y3puZSBkbGEgaU9TXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIFNpZGViYXIgbWVudSBuYSBtb2JpbGUgLSB3acSZa3N6ZSBlbGVtZW50eVxyXG4gICAgLm5hdmJhci12ZXJ0aWNhbCB7XHJcbiAgICAgICAgLm5hdmJhci1uYXYge1xyXG4gICAgICAgICAgICAubmF2LWxpbmsge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1MnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC5uYXYtbGluay1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMnJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAubmF2LWxpbmstdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAvLyBTZWtjamUgbWVudSAtIHdpxJlrc3plXHJcbiAgICAgICAgLnRleHQtbXV0ZWQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gSGVhZGVyIG5hdmJhciAtIHdpxJlrc3plIGVsZW1lbnR5XHJcbiAgICAubmF2YmFyLm5hdmJhci1leHBhbmQtbWQge1xyXG4gICAgICAgIC5uYXZiYXItbmF2IHtcclxuICAgICAgICAgICAgLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIC5uYXYtbGluayB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNDhweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuODc1cmVtIDFyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gUGFnZSBib2R5IC0gbGVwc3plIG9kc3TEmXB5XHJcbiAgICAucGFnZS1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5jb250YWluZXItZmx1aWQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gUm93IGNhcmRzIC0gbGVwc3plIG9kc3TEmXB5XHJcbiAgICAucm93LWNhcmRzIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIFxyXG4gICAgICAgID4gW2NsYXNzKj1cImNvbFwiXSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gVGFiZWxlIC0gbGVwc3plIG5hIG1vYmlsZVxyXG4gICAgLnRhYmxlLXJlc3BvbnNpdmUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC50YWJsZSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEFsZXJ0eSAtIGxlcHN6ZSBuYSBtb2JpbGVcclxuICAgIC5hbGVydCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gU3RhdHMgY2FyZHMgLSBsZXBzemUgcHJvcG9yY2plXHJcbiAgICAuY2FyZC1zbSB7XHJcbiAgICAgICAgLmNhcmQtYm9keSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmF2YXRhciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogM3JlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAuZm9udC13ZWlnaHQtbWVkaXVtIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gRHJvcGRvd24gdG9nZ2xlIC0gd2nEmWtzenlcclxuICAgIC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcclxuICAgICAgICBcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gTGlzdCBncm91cCBpdGVtcyAtIHdpxJlrc3plXHJcbiAgICAubGlzdC1ncm91cC1pdGVtIHtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEJyZWFkY3J1bWIgLSB3acSZa3N6eVxyXG4gICAgLmJyZWFkY3J1bWIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5icmVhZGNydW1iLWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC43NXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIFBhZ2luYXRpb24gLSB3acSZa3N6ZVxyXG4gICAgLnBhZ2luYXRpb24ge1xyXG4gICAgICAgIC5wYWdlLWxpbmsge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDQ0cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNDRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIFVzZXIgcHJvZmlsZSBpbmZvIC0gd2nEmWtzemVcclxuICAgIC5kLWZsZXguYWxpZ24taXRlbXMtY2VudGVyIHtcclxuICAgICAgICAuYXZhdGFyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5mdy1ib2xkLFxyXG4gICAgICAgIC5mdy1zZW1pYm9sZCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEVtcHR5IHN0YXRlcyAtIGxlcHN6ZVxyXG4gICAgLmVtcHR5LXN0YXRlIHtcclxuICAgICAgICBwYWRkaW5nOiAycmVtIDFyZW0gIWltcG9ydGFudDtcclxuICAgICAgICBcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC50ZXh0LW11dGVkIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBCYXJkem8gbWHFgmUgZWtyYW55ICg8IDQwMHB4KVxyXG5AbWVkaWEgKG1heC13aWR0aDogMzk5Ljk4cHgpIHtcclxuICAgIGJvZHkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAucGFnZS10aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNhcmQtdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRBQkxFUiBDVVNUT00gT1ZFUlJJREVTXG4vLyBFbmhhbmNlZCBzdHlsZXMgZm9yIFRhYmxlciBmcmFtZXdvcmtcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTSURFQkFSIEVOSEFOQ0VNRU5UU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLm5hdmJhci12ZXJ0aWNhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IDI4MHB4O1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgICAubmF2LWxpbmsge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tZDtcbiAgICAgICAgbWFyZ2luOiAwLjEyNXJlbSAwLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjIpO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2LWxpbmstaWNvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuXG4gICAgICAgIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLW1kO1xuICAgICAgICAgICAgbWFyZ2luOiAwLjEyNXJlbSAwO1xuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci1icmFuZCB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMXJlbTtcbiAgICB9XG5cbiAgICAvLyBVc2VyIHByb2ZpbGUgYXQgYm90dG9tXG4gICAgLm5hdmJhci1uYXYubXQtYXV0byB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuXG4gICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hcHAtc3VyZmFjZS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYXBwLWJvcmRlci1wcmltYXJ5KTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUEFHRSBXUkFQUEVSXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucGFnZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjgwcHg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luIDAuM3MgZWFzZTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhFQURFUiBOQVZCQVJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5uYXZiYXIubmF2YmFyLWV4cGFuZC1tZCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgfVxuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbWQ7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNXJlbTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENBUkRTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY2FyZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMsIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMC43NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVEFCTEVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4udGFibGUge1xuICAgIHRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMC41cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRkIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMC41cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICB9XG59XG5cbi8vIEFsbG93IGRyb3Bkb3ducyB0byBvdmVyZmxvdyB3aGlsZSBrZWVwaW5nIGRlZmF1bHQgc2Nyb2xsIGZvciBYXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gICAgJi5vdmVyZmxvdy12aXNpYmxlIHtcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICB9XG59XG5cbi8vIEVuc3VyZSBkcm9wZG93biBvdmVybGF5cyBhYm92ZSB0YWJsZSBjb250ZW50XG4uZHJvcGRvd24tbWVudSB7XG4gICAgei1pbmRleDogMTA1NjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGT1JNIEVMRU1FTlRTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZm9ybS1jb250cm9sLFxuLmZvcm0tc2VsZWN0IHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tZDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxcmVtO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG4uZm9ybS1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCVVRUT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYnRuIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLW1kO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcblxuICAgICYuYnRuLXNtIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgfVxuXG4gICAgJi5idG4tcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY2N2VlYTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjMpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDEwMiwgMTI2LCAyMzQsIDAuNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjQ1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnRuLW91dGxpbmUtcHJpbWFyeSB7XG4gICAgICAgIGNvbG9yOiAjNjY3ZWVhO1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NjdlZWE7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNjY3ZWVhIDAlLCAjNzY0YmEyIDEwMCUpO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCQURHRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iYWRnZSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogMC41ZW0gMC43NWVtO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLW1kO1xuXG4gICAgJi5iZy1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzY2N2VlYSAwJSwgIzc2NGJhMiAxMDAlKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuYmctc3VjY2VzcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxMGI5ODEgMCUsICMwNTk2NjkgMTAwJSkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmJnLWRhbmdlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNlZjQ0NDQgMCUsICNkYzI2MjYgMTAwJSkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmJnLXdhcm5pbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjU5ZTBiIDAlLCAjZDk3NzA2IDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5iZy1pbmZvIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzA2YjZkNCAwJSwgIzA4OTFiMiAxMDAlKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFWQVRBUlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5hdmF0YXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSg1ZGVnKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDEwMiwgMTI2LCAyMzQsIDAuMyk7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRFJPUERPV04gTUVOVVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5kcm9wZG93bi1tZW51IHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuXG4gICAgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tZDtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgIG1hcmdpbjogMC4xMjVyZW0gMDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUEFHRSBIRUFERVJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZzogMnJlbSAwO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG5cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1wcmV0aXRsZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNT0JJTEUgUkVTUE9OU0lWRU5FU1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIGJvZHkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMy41cmVtO1xuICAgIH1cblxuICAgIC5uYXZiYXItdmVydGljYWwge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgei1pbmRleDogMTAzNTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuXG4gICAgICAgIC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA2MHB4KTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDM2O1xuXG4gICAgICAgICAgICAvLyBJbXBvcnRhbnQ6IE5pZSB1xbx5d2FteSBkaXNwbGF5OiBub25lLCB0eWxrbyBjb2xsYXBzZSB6IHZpc2liaWxpdHlcbiAgICAgICAgICAgICY6bm90KC5zaG93KSB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNob3cge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogc2xpZGVEb3duIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMC4xMjVyZW0gMC41cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2Utd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbWQ7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEoOTgsIDEwMiwgMjQxLCAwLjI1KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZURvd24ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNT0JJTEUgU1BFQ0lGSUMgQURKVVNUTUVOVFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCAwLjI1cmVtO1xuICAgICAgICBcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDsgLy8gWndpxJlrc3pvbnlcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMC41cmVtICFpbXBvcnRhbnQ7IC8vIFp3acSZa3N6b255XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmJhZGdlLW5vdGlmaWNhdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbSAhaW1wb3J0YW50OyAvLyBad2nEmWtzem9ueVxuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuYXZhdGFyLmF2YXRhci1zbSB7XG4gICAgICAgIHdpZHRoOiAyLjVyZW0gIWltcG9ydGFudDsgLy8gWndpxJlrc3pvbnlcbiAgICAgICAgaGVpZ2h0OiAyLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7IC8vIFp3acSZa3N6b255XG4gICAgfVxuICAgIFxuICAgIC8vIE5hdmJhciBicmFuZCAobG9nbykgLSB3acSZa3N6eSBuYSBtb2JpbGVcbiAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgICAgLmJyYW5kLWljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmJyYW5kLXRleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFVUSUxJVFkgQ0xBU1NFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gT3ZlcmZsb3cgdmlzaWJsZSBmb3IgdGFibGVzIHdpdGggZHJvcGRvd25zXG4ub3ZlcmZsb3ctdmlzaWJsZSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLy8gQnJhbmQgc3R5bGluZ1xuLmJyYW5kLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuLmJyYW5kLXRleHQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQU5JTUFUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZhZGUtaW4ge1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuNXMgZWFzZS1vdXQ7XG59XG5cbi5zbGlkZS1pbiB7XG4gICAgYW5pbWF0aW9uOiBzbGlkZUluIDAuNXMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLy8gQmFkZ2Ugbm90aWZpY2F0aW9uIGJsaW5rIGFuaW1hdGlvblxuLmJhZGdlLWJsaW5rIHtcbiAgICBhbmltYXRpb246IGJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcbiAgICAwJSwgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/